shapelib-1.6.1/0000775000175000017500000000000014657064715010330 500000000000000shapelib-1.6.1/ltmain.sh0000644000175000017500000117716714656616446012115 00000000000000#! /bin/sh ## DO NOT EDIT - This file generated from ./build-aux/ltmain.in ## by inline-source v2014-01-03.01 # libtool (GNU libtool) 2.4.6 # Provide generalized library-building support services. # Written by Gordon Matzigkeit , 1996 # Copyright (C) 1996-2015 Free Software Foundation, Inc. # This is free software; see the source for copying conditions. There is NO # warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. # GNU Libtool 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. # # As a special exception to the GNU General Public License, # if you distribute this file as part of a program or library that # is built using GNU Libtool, you may include this file under the # same distribution terms that you use for the rest of that program. # # GNU Libtool 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 . PROGRAM=libtool PACKAGE=libtool VERSION="2.4.6 Debian-2.4.6-14" package_revision=2.4.6 ## ------ ## ## Usage. ## ## ------ ## # Run './libtool --help' for help with using this script from the # command line. ## ------------------------------- ## ## User overridable command paths. ## ## ------------------------------- ## # After configure completes, it has a better idea of some of the # shell tools we need than the defaults used by the functions shared # with bootstrap, so set those here where they can still be over- # ridden by the user, but otherwise take precedence. : ${AUTOCONF="autoconf"} : ${AUTOMAKE="automake"} ## -------------------------- ## ## Source external libraries. ## ## -------------------------- ## # Much of our low-level functionality needs to be sourced from external # libraries, which are installed to $pkgauxdir. # Set a version string for this script. scriptversion=2015-01-20.17; # UTC # General shell script boiler plate, and helper functions. # Written by Gary V. Vaughan, 2004 # Copyright (C) 2004-2015 Free Software Foundation, Inc. # This is free software; see the source for copying conditions. There is NO # warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. # 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 3 of the License, or # (at your option) any later version. # As a special exception to the GNU General Public License, if you distribute # this file as part of a program or library that is built using GNU Libtool, # you may include this file under the same distribution terms that you use # for the rest of that program. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNES 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 . # Please report bugs or propose patches to gary@gnu.org. ## ------ ## ## Usage. ## ## ------ ## # Evaluate this file near the top of your script to gain access to # the functions and variables defined here: # # . `echo "$0" | ${SED-sed} 's|[^/]*$||'`/build-aux/funclib.sh # # If you need to override any of the default environment variable # settings, do that before evaluating this file. ## -------------------- ## ## Shell normalisation. ## ## -------------------- ## # Some shells need a little help to be as Bourne compatible as possible. # Before doing anything else, make sure all that help has been provided! DUALCASE=1; export DUALCASE # for MKS sh if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in *posix*) set -o posix ;; esac fi # NLS nuisances: We save the old values in case they are required later. _G_user_locale= _G_safe_locale= for _G_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES do eval "if test set = \"\${$_G_var+set}\"; then save_$_G_var=\$$_G_var $_G_var=C export $_G_var _G_user_locale=\"$_G_var=\\\$save_\$_G_var; \$_G_user_locale\" _G_safe_locale=\"$_G_var=C; \$_G_safe_locale\" fi" done # CDPATH. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH # Make sure IFS has a sensible default sp=' ' nl=' ' IFS="$sp $nl" # There are apparently some retarded systems that use ';' as a PATH separator! if test "${PATH_SEPARATOR+set}" != set; then PATH_SEPARATOR=: (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || PATH_SEPARATOR=';' } fi ## ------------------------- ## ## Locate command utilities. ## ## ------------------------- ## # func_executable_p FILE # ---------------------- # Check that FILE is an executable regular file. func_executable_p () { test -f "$1" && test -x "$1" } # func_path_progs PROGS_LIST CHECK_FUNC [PATH] # -------------------------------------------- # Search for either a program that responds to --version with output # containing "GNU", or else returned by CHECK_FUNC otherwise, by # trying all the directories in PATH with each of the elements of # PROGS_LIST. # # CHECK_FUNC should accept the path to a candidate program, and # set $func_check_prog_result if it truncates its output less than # $_G_path_prog_max characters. func_path_progs () { _G_progs_list=$1 _G_check_func=$2 _G_PATH=${3-"$PATH"} _G_path_prog_max=0 _G_path_prog_found=false _G_save_IFS=$IFS; IFS=${PATH_SEPARATOR-:} for _G_dir in $_G_PATH; do IFS=$_G_save_IFS test -z "$_G_dir" && _G_dir=. for _G_prog_name in $_G_progs_list; do for _exeext in '' .EXE; do _G_path_prog=$_G_dir/$_G_prog_name$_exeext func_executable_p "$_G_path_prog" || continue case `"$_G_path_prog" --version 2>&1` in *GNU*) func_path_progs_result=$_G_path_prog _G_path_prog_found=: ;; *) $_G_check_func $_G_path_prog func_path_progs_result=$func_check_prog_result ;; esac $_G_path_prog_found && break 3 done done done IFS=$_G_save_IFS test -z "$func_path_progs_result" && { echo "no acceptable sed could be found in \$PATH" >&2 exit 1 } } # We want to be able to use the functions in this file before configure # has figured out where the best binaries are kept, which means we have # to search for them ourselves - except when the results are already set # where we skip the searches. # Unless the user overrides by setting SED, search the path for either GNU # sed, or the sed that truncates its output the least. test -z "$SED" && { _G_sed_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/ for _G_i in 1 2 3 4 5 6 7; do _G_sed_script=$_G_sed_script$nl$_G_sed_script done echo "$_G_sed_script" 2>/dev/null | sed 99q >conftest.sed _G_sed_script= func_check_prog_sed () { _G_path_prog=$1 _G_count=0 printf 0123456789 >conftest.in while : do cat conftest.in conftest.in >conftest.tmp mv conftest.tmp conftest.in cp conftest.in conftest.nl echo '' >> conftest.nl "$_G_path_prog" -f conftest.sed conftest.out 2>/dev/null || break diff conftest.out conftest.nl >/dev/null 2>&1 || break _G_count=`expr $_G_count + 1` if test "$_G_count" -gt "$_G_path_prog_max"; then # Best one so far, save it but keep looking for a better one func_check_prog_result=$_G_path_prog _G_path_prog_max=$_G_count fi # 10*(2^10) chars as input seems more than enough test 10 -lt "$_G_count" && break done rm -f conftest.in conftest.tmp conftest.nl conftest.out } func_path_progs "sed gsed" func_check_prog_sed $PATH:/usr/xpg4/bin rm -f conftest.sed SED=$func_path_progs_result } # Unless the user overrides by setting GREP, search the path for either GNU # grep, or the grep that truncates its output the least. test -z "$GREP" && { func_check_prog_grep () { _G_path_prog=$1 _G_count=0 _G_path_prog_max=0 printf 0123456789 >conftest.in while : do cat conftest.in conftest.in >conftest.tmp mv conftest.tmp conftest.in cp conftest.in conftest.nl echo 'GREP' >> conftest.nl "$_G_path_prog" -e 'GREP$' -e '-(cannot match)-' conftest.out 2>/dev/null || break diff conftest.out conftest.nl >/dev/null 2>&1 || break _G_count=`expr $_G_count + 1` if test "$_G_count" -gt "$_G_path_prog_max"; then # Best one so far, save it but keep looking for a better one func_check_prog_result=$_G_path_prog _G_path_prog_max=$_G_count fi # 10*(2^10) chars as input seems more than enough test 10 -lt "$_G_count" && break done rm -f conftest.in conftest.tmp conftest.nl conftest.out } func_path_progs "grep ggrep" func_check_prog_grep $PATH:/usr/xpg4/bin GREP=$func_path_progs_result } ## ------------------------------- ## ## User overridable command paths. ## ## ------------------------------- ## # All uppercase variable names are used for environment variables. These # variables can be overridden by the user before calling a script that # uses them if a suitable command of that name is not already available # in the command search PATH. : ${CP="cp -f"} : ${ECHO="printf %s\n"} : ${EGREP="$GREP -E"} : ${FGREP="$GREP -F"} : ${LN_S="ln -s"} : ${MAKE="make"} : ${MKDIR="mkdir"} : ${MV="mv -f"} : ${RM="rm -f"} : ${SHELL="${CONFIG_SHELL-/bin/sh}"} ## -------------------- ## ## Useful sed snippets. ## ## -------------------- ## sed_dirname='s|/[^/]*$||' sed_basename='s|^.*/||' # Sed substitution that helps us do robust quoting. It backslashifies # metacharacters that are still active within double-quoted strings. sed_quote_subst='s|\([`"$\\]\)|\\\1|g' # Same as above, but do not quote variable references. sed_double_quote_subst='s/\(["`\\]\)/\\\1/g' # Sed substitution that turns a string into a regex matching for the # string literally. sed_make_literal_regex='s|[].[^$\\*\/]|\\&|g' # Sed substitution that converts a w32 file name or path # that contains forward slashes, into one that contains # (escaped) backslashes. A very naive implementation. sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g' # Re-'\' parameter expansions in output of sed_double_quote_subst that # were '\'-ed in input to the same. If an odd number of '\' preceded a # '$' in input to sed_double_quote_subst, that '$' was protected from # expansion. Since each input '\' is now two '\'s, look for any number # of runs of four '\'s followed by two '\'s and then a '$'. '\' that '$'. _G_bs='\\' _G_bs2='\\\\' _G_bs4='\\\\\\\\' _G_dollar='\$' sed_double_backslash="\ s/$_G_bs4/&\\ /g s/^$_G_bs2$_G_dollar/$_G_bs&/ s/\\([^$_G_bs]\\)$_G_bs2$_G_dollar/\\1$_G_bs2$_G_bs$_G_dollar/g s/\n//g" ## ----------------- ## ## Global variables. ## ## ----------------- ## # Except for the global variables explicitly listed below, the following # functions in the '^func_' namespace, and the '^require_' namespace # variables initialised in the 'Resource management' section, sourcing # this file will not pollute your global namespace with anything # else. There's no portable way to scope variables in Bourne shell # though, so actually running these functions will sometimes place # results into a variable named after the function, and often use # temporary variables in the '^_G_' namespace. If you are careful to # avoid using those namespaces casually in your sourcing script, things # should continue to work as you expect. And, of course, you can freely # overwrite any of the functions or variables defined here before # calling anything to customize them. EXIT_SUCCESS=0 EXIT_FAILURE=1 EXIT_MISMATCH=63 # $? = 63 is used to indicate version mismatch to missing. EXIT_SKIP=77 # $? = 77 is used to indicate a skipped test to automake. # Allow overriding, eg assuming that you follow the convention of # putting '$debug_cmd' at the start of all your functions, you can get # bash to show function call trace with: # # debug_cmd='echo "${FUNCNAME[0]} $*" >&2' bash your-script-name debug_cmd=${debug_cmd-":"} exit_cmd=: # By convention, finish your script with: # # exit $exit_status # # so that you can set exit_status to non-zero if you want to indicate # something went wrong during execution without actually bailing out at # the point of failure. exit_status=$EXIT_SUCCESS # Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh # is ksh but when the shell is invoked as "sh" and the current value of # the _XPG environment variable is not equal to 1 (one), the special # positional parameter $0, within a function call, is the name of the # function. progpath=$0 # The name of this program. progname=`$ECHO "$progpath" |$SED "$sed_basename"` # Make sure we have an absolute progpath for reexecution: case $progpath in [\\/]*|[A-Za-z]:\\*) ;; *[\\/]*) progdir=`$ECHO "$progpath" |$SED "$sed_dirname"` progdir=`cd "$progdir" && pwd` progpath=$progdir/$progname ;; *) _G_IFS=$IFS IFS=${PATH_SEPARATOR-:} for progdir in $PATH; do IFS=$_G_IFS test -x "$progdir/$progname" && break done IFS=$_G_IFS test -n "$progdir" || progdir=`pwd` progpath=$progdir/$progname ;; esac ## ----------------- ## ## Standard options. ## ## ----------------- ## # The following options affect the operation of the functions defined # below, and should be set appropriately depending on run-time para- # meters passed on the command line. opt_dry_run=false opt_quiet=false opt_verbose=false # Categories 'all' and 'none' are always available. Append any others # you will pass as the first argument to func_warning from your own # code. warning_categories= # By default, display warnings according to 'opt_warning_types'. Set # 'warning_func' to ':' to elide all warnings, or func_fatal_error to # treat the next displayed warning as a fatal error. warning_func=func_warn_and_continue # Set to 'all' to display all warnings, 'none' to suppress all # warnings, or a space delimited list of some subset of # 'warning_categories' to display only the listed warnings. opt_warning_types=all ## -------------------- ## ## Resource management. ## ## -------------------- ## # This section contains definitions for functions that each ensure a # particular resource (a file, or a non-empty configuration variable for # example) is available, and if appropriate to extract default values # from pertinent package files. Call them using their associated # 'require_*' variable to ensure that they are executed, at most, once. # # It's entirely deliberate that calling these functions can set # variables that don't obey the namespace limitations obeyed by the rest # of this file, in order that that they be as useful as possible to # callers. # require_term_colors # ------------------- # Allow display of bold text on terminals that support it. require_term_colors=func_require_term_colors func_require_term_colors () { $debug_cmd test -t 1 && { # COLORTERM and USE_ANSI_COLORS environment variables take # precedence, because most terminfo databases neglect to describe # whether color sequences are supported. test -n "${COLORTERM+set}" && : ${USE_ANSI_COLORS="1"} if test 1 = "$USE_ANSI_COLORS"; then # Standard ANSI escape sequences tc_reset='' tc_bold=''; tc_standout='' tc_red=''; tc_green='' tc_blue=''; tc_cyan='' else # Otherwise trust the terminfo database after all. test -n "`tput sgr0 2>/dev/null`" && { tc_reset=`tput sgr0` test -n "`tput bold 2>/dev/null`" && tc_bold=`tput bold` tc_standout=$tc_bold test -n "`tput smso 2>/dev/null`" && tc_standout=`tput smso` test -n "`tput setaf 1 2>/dev/null`" && tc_red=`tput setaf 1` test -n "`tput setaf 2 2>/dev/null`" && tc_green=`tput setaf 2` test -n "`tput setaf 4 2>/dev/null`" && tc_blue=`tput setaf 4` test -n "`tput setaf 5 2>/dev/null`" && tc_cyan=`tput setaf 5` } fi } require_term_colors=: } ## ----------------- ## ## Function library. ## ## ----------------- ## # This section contains a variety of useful functions to call in your # scripts. Take note of the portable wrappers for features provided by # some modern shells, which will fall back to slower equivalents on # less featureful shells. # func_append VAR VALUE # --------------------- # Append VALUE onto the existing contents of VAR. # We should try to minimise forks, especially on Windows where they are # unreasonably slow, so skip the feature probes when bash or zsh are # being used: if test set = "${BASH_VERSION+set}${ZSH_VERSION+set}"; then : ${_G_HAVE_ARITH_OP="yes"} : ${_G_HAVE_XSI_OPS="yes"} # The += operator was introduced in bash 3.1 case $BASH_VERSION in [12].* | 3.0 | 3.0*) ;; *) : ${_G_HAVE_PLUSEQ_OP="yes"} ;; esac fi # _G_HAVE_PLUSEQ_OP # Can be empty, in which case the shell is probed, "yes" if += is # useable or anything else if it does not work. test -z "$_G_HAVE_PLUSEQ_OP" \ && (eval 'x=a; x+=" b"; test "a b" = "$x"') 2>/dev/null \ && _G_HAVE_PLUSEQ_OP=yes if test yes = "$_G_HAVE_PLUSEQ_OP" then # This is an XSI compatible shell, allowing a faster implementation... eval 'func_append () { $debug_cmd eval "$1+=\$2" }' else # ...otherwise fall back to using expr, which is often a shell builtin. func_append () { $debug_cmd eval "$1=\$$1\$2" } fi # func_append_quoted VAR VALUE # ---------------------------- # Quote VALUE and append to the end of shell variable VAR, separated # by a space. if test yes = "$_G_HAVE_PLUSEQ_OP"; then eval 'func_append_quoted () { $debug_cmd func_quote_for_eval "$2" eval "$1+=\\ \$func_quote_for_eval_result" }' else func_append_quoted () { $debug_cmd func_quote_for_eval "$2" eval "$1=\$$1\\ \$func_quote_for_eval_result" } fi # func_append_uniq VAR VALUE # -------------------------- # Append unique VALUE onto the existing contents of VAR, assuming # entries are delimited by the first character of VALUE. For example: # # func_append_uniq options " --another-option option-argument" # # will only append to $options if " --another-option option-argument " # is not already present somewhere in $options already (note spaces at # each end implied by leading space in second argument). func_append_uniq () { $debug_cmd eval _G_current_value='`$ECHO $'$1'`' _G_delim=`expr "$2" : '\(.\)'` case $_G_delim$_G_current_value$_G_delim in *"$2$_G_delim"*) ;; *) func_append "$@" ;; esac } # func_arith TERM... # ------------------ # Set func_arith_result to the result of evaluating TERMs. test -z "$_G_HAVE_ARITH_OP" \ && (eval 'test 2 = $(( 1 + 1 ))') 2>/dev/null \ && _G_HAVE_ARITH_OP=yes if test yes = "$_G_HAVE_ARITH_OP"; then eval 'func_arith () { $debug_cmd func_arith_result=$(( $* )) }' else func_arith () { $debug_cmd func_arith_result=`expr "$@"` } fi # func_basename FILE # ------------------ # Set func_basename_result to FILE with everything up to and including # the last / stripped. if test yes = "$_G_HAVE_XSI_OPS"; then # If this shell supports suffix pattern removal, then use it to avoid # forking. Hide the definitions single quotes in case the shell chokes # on unsupported syntax... _b='func_basename_result=${1##*/}' _d='case $1 in */*) func_dirname_result=${1%/*}$2 ;; * ) func_dirname_result=$3 ;; esac' else # ...otherwise fall back to using sed. _b='func_basename_result=`$ECHO "$1" |$SED "$sed_basename"`' _d='func_dirname_result=`$ECHO "$1" |$SED "$sed_dirname"` if test "X$func_dirname_result" = "X$1"; then func_dirname_result=$3 else func_append func_dirname_result "$2" fi' fi eval 'func_basename () { $debug_cmd '"$_b"' }' # func_dirname FILE APPEND NONDIR_REPLACEMENT # ------------------------------------------- # Compute the dirname of FILE. If nonempty, add APPEND to the result, # otherwise set result to NONDIR_REPLACEMENT. eval 'func_dirname () { $debug_cmd '"$_d"' }' # func_dirname_and_basename FILE APPEND NONDIR_REPLACEMENT # -------------------------------------------------------- # Perform func_basename and func_dirname in a single function # call: # dirname: Compute the dirname of FILE. If nonempty, # add APPEND to the result, otherwise set result # to NONDIR_REPLACEMENT. # value returned in "$func_dirname_result" # basename: Compute filename of FILE. # value retuned in "$func_basename_result" # For efficiency, we do not delegate to the functions above but instead # duplicate the functionality here. eval 'func_dirname_and_basename () { $debug_cmd '"$_b"' '"$_d"' }' # func_echo ARG... # ---------------- # Echo program name prefixed message. func_echo () { $debug_cmd _G_message=$* func_echo_IFS=$IFS IFS=$nl for _G_line in $_G_message; do IFS=$func_echo_IFS $ECHO "$progname: $_G_line" done IFS=$func_echo_IFS } # func_echo_all ARG... # -------------------- # Invoke $ECHO with all args, space-separated. func_echo_all () { $ECHO "$*" } # func_echo_infix_1 INFIX ARG... # ------------------------------ # Echo program name, followed by INFIX on the first line, with any # additional lines not showing INFIX. func_echo_infix_1 () { $debug_cmd $require_term_colors _G_infix=$1; shift _G_indent=$_G_infix _G_prefix="$progname: $_G_infix: " _G_message=$* # Strip color escape sequences before counting printable length for _G_tc in "$tc_reset" "$tc_bold" "$tc_standout" "$tc_red" "$tc_green" "$tc_blue" "$tc_cyan" do test -n "$_G_tc" && { _G_esc_tc=`$ECHO "$_G_tc" | $SED "$sed_make_literal_regex"` _G_indent=`$ECHO "$_G_indent" | $SED "s|$_G_esc_tc||g"` } done _G_indent="$progname: "`echo "$_G_indent" | $SED 's|.| |g'`" " ## exclude from sc_prohibit_nested_quotes func_echo_infix_1_IFS=$IFS IFS=$nl for _G_line in $_G_message; do IFS=$func_echo_infix_1_IFS $ECHO "$_G_prefix$tc_bold$_G_line$tc_reset" >&2 _G_prefix=$_G_indent done IFS=$func_echo_infix_1_IFS } # func_error ARG... # ----------------- # Echo program name prefixed message to standard error. func_error () { $debug_cmd $require_term_colors func_echo_infix_1 " $tc_standout${tc_red}error$tc_reset" "$*" >&2 } # func_fatal_error ARG... # ----------------------- # Echo program name prefixed message to standard error, and exit. func_fatal_error () { $debug_cmd func_error "$*" exit $EXIT_FAILURE } # func_grep EXPRESSION FILENAME # ----------------------------- # Check whether EXPRESSION matches any line of FILENAME, without output. func_grep () { $debug_cmd $GREP "$1" "$2" >/dev/null 2>&1 } # func_len STRING # --------------- # Set func_len_result to the length of STRING. STRING may not # start with a hyphen. test -z "$_G_HAVE_XSI_OPS" \ && (eval 'x=a/b/c; test 5aa/bb/cc = "${#x}${x%%/*}${x%/*}${x#*/}${x##*/}"') 2>/dev/null \ && _G_HAVE_XSI_OPS=yes if test yes = "$_G_HAVE_XSI_OPS"; then eval 'func_len () { $debug_cmd func_len_result=${#1} }' else func_len () { $debug_cmd func_len_result=`expr "$1" : ".*" 2>/dev/null || echo $max_cmd_len` } fi # func_mkdir_p DIRECTORY-PATH # --------------------------- # Make sure the entire path to DIRECTORY-PATH is available. func_mkdir_p () { $debug_cmd _G_directory_path=$1 _G_dir_list= if test -n "$_G_directory_path" && test : != "$opt_dry_run"; then # Protect directory names starting with '-' case $_G_directory_path in -*) _G_directory_path=./$_G_directory_path ;; esac # While some portion of DIR does not yet exist... while test ! -d "$_G_directory_path"; do # ...make a list in topmost first order. Use a colon delimited # list incase some portion of path contains whitespace. _G_dir_list=$_G_directory_path:$_G_dir_list # If the last portion added has no slash in it, the list is done case $_G_directory_path in */*) ;; *) break ;; esac # ...otherwise throw away the child directory and loop _G_directory_path=`$ECHO "$_G_directory_path" | $SED -e "$sed_dirname"` done _G_dir_list=`$ECHO "$_G_dir_list" | $SED 's|:*$||'` func_mkdir_p_IFS=$IFS; IFS=: for _G_dir in $_G_dir_list; do IFS=$func_mkdir_p_IFS # mkdir can fail with a 'File exist' error if two processes # try to create one of the directories concurrently. Don't # stop in that case! $MKDIR "$_G_dir" 2>/dev/null || : done IFS=$func_mkdir_p_IFS # Bail out if we (or some other process) failed to create a directory. test -d "$_G_directory_path" || \ func_fatal_error "Failed to create '$1'" fi } # func_mktempdir [BASENAME] # ------------------------- # Make a temporary directory that won't clash with other running # libtool processes, and avoids race conditions if possible. If # given, BASENAME is the basename for that directory. func_mktempdir () { $debug_cmd _G_template=${TMPDIR-/tmp}/${1-$progname} if test : = "$opt_dry_run"; then # Return a directory name, but don't create it in dry-run mode _G_tmpdir=$_G_template-$$ else # If mktemp works, use that first and foremost _G_tmpdir=`mktemp -d "$_G_template-XXXXXXXX" 2>/dev/null` if test ! -d "$_G_tmpdir"; then # Failing that, at least try and use $RANDOM to avoid a race _G_tmpdir=$_G_template-${RANDOM-0}$$ func_mktempdir_umask=`umask` umask 0077 $MKDIR "$_G_tmpdir" umask $func_mktempdir_umask fi # If we're not in dry-run mode, bomb out on failure test -d "$_G_tmpdir" || \ func_fatal_error "cannot create temporary directory '$_G_tmpdir'" fi $ECHO "$_G_tmpdir" } # func_normal_abspath PATH # ------------------------ # Remove doubled-up and trailing slashes, "." path components, # and cancel out any ".." path components in PATH after making # it an absolute path. func_normal_abspath () { $debug_cmd # These SED scripts presuppose an absolute path with a trailing slash. _G_pathcar='s|^/\([^/]*\).*$|\1|' _G_pathcdr='s|^/[^/]*||' _G_removedotparts=':dotsl s|/\./|/|g t dotsl s|/\.$|/|' _G_collapseslashes='s|/\{1,\}|/|g' _G_finalslash='s|/*$|/|' # Start from root dir and reassemble the path. func_normal_abspath_result= func_normal_abspath_tpath=$1 func_normal_abspath_altnamespace= case $func_normal_abspath_tpath in "") # Empty path, that just means $cwd. func_stripname '' '/' "`pwd`" func_normal_abspath_result=$func_stripname_result return ;; # The next three entries are used to spot a run of precisely # two leading slashes without using negated character classes; # we take advantage of case's first-match behaviour. ///*) # Unusual form of absolute path, do nothing. ;; //*) # Not necessarily an ordinary path; POSIX reserves leading '//' # and for example Cygwin uses it to access remote file shares # over CIFS/SMB, so we conserve a leading double slash if found. func_normal_abspath_altnamespace=/ ;; /*) # Absolute path, do nothing. ;; *) # Relative path, prepend $cwd. func_normal_abspath_tpath=`pwd`/$func_normal_abspath_tpath ;; esac # Cancel out all the simple stuff to save iterations. We also want # the path to end with a slash for ease of parsing, so make sure # there is one (and only one) here. func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \ -e "$_G_removedotparts" -e "$_G_collapseslashes" -e "$_G_finalslash"` while :; do # Processed it all yet? if test / = "$func_normal_abspath_tpath"; then # If we ascended to the root using ".." the result may be empty now. if test -z "$func_normal_abspath_result"; then func_normal_abspath_result=/ fi break fi func_normal_abspath_tcomponent=`$ECHO "$func_normal_abspath_tpath" | $SED \ -e "$_G_pathcar"` func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \ -e "$_G_pathcdr"` # Figure out what to do with it case $func_normal_abspath_tcomponent in "") # Trailing empty path component, ignore it. ;; ..) # Parent dir; strip last assembled component from result. func_dirname "$func_normal_abspath_result" func_normal_abspath_result=$func_dirname_result ;; *) # Actual path component, append it. func_append func_normal_abspath_result "/$func_normal_abspath_tcomponent" ;; esac done # Restore leading double-slash if one was found on entry. func_normal_abspath_result=$func_normal_abspath_altnamespace$func_normal_abspath_result } # func_notquiet ARG... # -------------------- # Echo program name prefixed message only when not in quiet mode. func_notquiet () { $debug_cmd $opt_quiet || func_echo ${1+"$@"} # A bug in bash halts the script if the last line of a function # fails when set -e is in force, so we need another command to # work around that: : } # func_relative_path SRCDIR DSTDIR # -------------------------------- # Set func_relative_path_result to the relative path from SRCDIR to DSTDIR. func_relative_path () { $debug_cmd func_relative_path_result= func_normal_abspath "$1" func_relative_path_tlibdir=$func_normal_abspath_result func_normal_abspath "$2" func_relative_path_tbindir=$func_normal_abspath_result # Ascend the tree starting from libdir while :; do # check if we have found a prefix of bindir case $func_relative_path_tbindir in $func_relative_path_tlibdir) # found an exact match func_relative_path_tcancelled= break ;; $func_relative_path_tlibdir*) # found a matching prefix func_stripname "$func_relative_path_tlibdir" '' "$func_relative_path_tbindir" func_relative_path_tcancelled=$func_stripname_result if test -z "$func_relative_path_result"; then func_relative_path_result=. fi break ;; *) func_dirname $func_relative_path_tlibdir func_relative_path_tlibdir=$func_dirname_result if test -z "$func_relative_path_tlibdir"; then # Have to descend all the way to the root! func_relative_path_result=../$func_relative_path_result func_relative_path_tcancelled=$func_relative_path_tbindir break fi func_relative_path_result=../$func_relative_path_result ;; esac done # Now calculate path; take care to avoid doubling-up slashes. func_stripname '' '/' "$func_relative_path_result" func_relative_path_result=$func_stripname_result func_stripname '/' '/' "$func_relative_path_tcancelled" if test -n "$func_stripname_result"; then func_append func_relative_path_result "/$func_stripname_result" fi # Normalisation. If bindir is libdir, return '.' else relative path. if test -n "$func_relative_path_result"; then func_stripname './' '' "$func_relative_path_result" func_relative_path_result=$func_stripname_result fi test -n "$func_relative_path_result" || func_relative_path_result=. : } # func_quote_for_eval ARG... # -------------------------- # Aesthetically quote ARGs to be evaled later. # This function returns two values: # i) func_quote_for_eval_result # double-quoted, suitable for a subsequent eval # ii) func_quote_for_eval_unquoted_result # has all characters that are still active within double # quotes backslashified. func_quote_for_eval () { $debug_cmd func_quote_for_eval_unquoted_result= func_quote_for_eval_result= while test 0 -lt $#; do case $1 in *[\\\`\"\$]*) _G_unquoted_arg=`printf '%s\n' "$1" |$SED "$sed_quote_subst"` ;; *) _G_unquoted_arg=$1 ;; esac if test -n "$func_quote_for_eval_unquoted_result"; then func_append func_quote_for_eval_unquoted_result " $_G_unquoted_arg" else func_append func_quote_for_eval_unquoted_result "$_G_unquoted_arg" fi case $_G_unquoted_arg in # Double-quote args containing shell metacharacters to delay # word splitting, command substitution and variable expansion # for a subsequent eval. # Many Bourne shells cannot handle close brackets correctly # in scan sets, so we specify it separately. *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") _G_quoted_arg=\"$_G_unquoted_arg\" ;; *) _G_quoted_arg=$_G_unquoted_arg ;; esac if test -n "$func_quote_for_eval_result"; then func_append func_quote_for_eval_result " $_G_quoted_arg" else func_append func_quote_for_eval_result "$_G_quoted_arg" fi shift done } # func_quote_for_expand ARG # ------------------------- # Aesthetically quote ARG to be evaled later; same as above, # but do not quote variable references. func_quote_for_expand () { $debug_cmd case $1 in *[\\\`\"]*) _G_arg=`$ECHO "$1" | $SED \ -e "$sed_double_quote_subst" -e "$sed_double_backslash"` ;; *) _G_arg=$1 ;; esac case $_G_arg in # Double-quote args containing shell metacharacters to delay # word splitting and command substitution for a subsequent eval. # Many Bourne shells cannot handle close brackets correctly # in scan sets, so we specify it separately. *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") _G_arg=\"$_G_arg\" ;; esac func_quote_for_expand_result=$_G_arg } # func_stripname PREFIX SUFFIX NAME # --------------------------------- # strip PREFIX and SUFFIX from NAME, and store in func_stripname_result. # PREFIX and SUFFIX must not contain globbing or regex special # characters, hashes, percent signs, but SUFFIX may contain a leading # dot (in which case that matches only a dot). if test yes = "$_G_HAVE_XSI_OPS"; then eval 'func_stripname () { $debug_cmd # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are # positional parameters, so assign one to ordinary variable first. func_stripname_result=$3 func_stripname_result=${func_stripname_result#"$1"} func_stripname_result=${func_stripname_result%"$2"} }' else func_stripname () { $debug_cmd case $2 in .*) func_stripname_result=`$ECHO "$3" | $SED -e "s%^$1%%" -e "s%\\\\$2\$%%"`;; *) func_stripname_result=`$ECHO "$3" | $SED -e "s%^$1%%" -e "s%$2\$%%"`;; esac } fi # func_show_eval CMD [FAIL_EXP] # ----------------------------- # Unless opt_quiet is true, then output CMD. Then, if opt_dryrun is # not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP # is given, then evaluate it. func_show_eval () { $debug_cmd _G_cmd=$1 _G_fail_exp=${2-':'} func_quote_for_expand "$_G_cmd" eval "func_notquiet $func_quote_for_expand_result" $opt_dry_run || { eval "$_G_cmd" _G_status=$? if test 0 -ne "$_G_status"; then eval "(exit $_G_status); $_G_fail_exp" fi } } # func_show_eval_locale CMD [FAIL_EXP] # ------------------------------------ # Unless opt_quiet is true, then output CMD. Then, if opt_dryrun is # not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP # is given, then evaluate it. Use the saved locale for evaluation. func_show_eval_locale () { $debug_cmd _G_cmd=$1 _G_fail_exp=${2-':'} $opt_quiet || { func_quote_for_expand "$_G_cmd" eval "func_echo $func_quote_for_expand_result" } $opt_dry_run || { eval "$_G_user_locale $_G_cmd" _G_status=$? eval "$_G_safe_locale" if test 0 -ne "$_G_status"; then eval "(exit $_G_status); $_G_fail_exp" fi } } # func_tr_sh # ---------- # Turn $1 into a string suitable for a shell variable name. # Result is stored in $func_tr_sh_result. All characters # not in the set a-zA-Z0-9_ are replaced with '_'. Further, # if $1 begins with a digit, a '_' is prepended as well. func_tr_sh () { $debug_cmd case $1 in [0-9]* | *[!a-zA-Z0-9_]*) func_tr_sh_result=`$ECHO "$1" | $SED -e 's/^\([0-9]\)/_\1/' -e 's/[^a-zA-Z0-9_]/_/g'` ;; * ) func_tr_sh_result=$1 ;; esac } # func_verbose ARG... # ------------------- # Echo program name prefixed message in verbose mode only. func_verbose () { $debug_cmd $opt_verbose && func_echo "$*" : } # func_warn_and_continue ARG... # ----------------------------- # Echo program name prefixed warning message to standard error. func_warn_and_continue () { $debug_cmd $require_term_colors func_echo_infix_1 "${tc_red}warning$tc_reset" "$*" >&2 } # func_warning CATEGORY ARG... # ---------------------------- # Echo program name prefixed warning message to standard error. Warning # messages can be filtered according to CATEGORY, where this function # elides messages where CATEGORY is not listed in the global variable # 'opt_warning_types'. func_warning () { $debug_cmd # CATEGORY must be in the warning_categories list! case " $warning_categories " in *" $1 "*) ;; *) func_internal_error "invalid warning category '$1'" ;; esac _G_category=$1 shift case " $opt_warning_types " in *" $_G_category "*) $warning_func ${1+"$@"} ;; esac } # func_sort_ver VER1 VER2 # ----------------------- # 'sort -V' is not generally available. # Note this deviates from the version comparison in automake # in that it treats 1.5 < 1.5.0, and treats 1.4.4a < 1.4-p3a # but this should suffice as we won't be specifying old # version formats or redundant trailing .0 in bootstrap.conf. # If we did want full compatibility then we should probably # use m4_version_compare from autoconf. func_sort_ver () { $debug_cmd printf '%s\n%s\n' "$1" "$2" \ | sort -t. -k 1,1n -k 2,2n -k 3,3n -k 4,4n -k 5,5n -k 6,6n -k 7,7n -k 8,8n -k 9,9n } # func_lt_ver PREV CURR # --------------------- # Return true if PREV and CURR are in the correct order according to # func_sort_ver, otherwise false. Use it like this: # # func_lt_ver "$prev_ver" "$proposed_ver" || func_fatal_error "..." func_lt_ver () { $debug_cmd test "x$1" = x`func_sort_ver "$1" "$2" | $SED 1q` } # Local variables: # mode: shell-script # sh-indentation: 2 # eval: (add-hook 'before-save-hook 'time-stamp) # time-stamp-pattern: "10/scriptversion=%:y-%02m-%02d.%02H; # UTC" # time-stamp-time-zone: "UTC" # End: #! /bin/sh # Set a version string for this script. scriptversion=2015-10-07.11; # UTC # A portable, pluggable option parser for Bourne shell. # Written by Gary V. Vaughan, 2010 # Copyright (C) 2010-2015 Free Software Foundation, Inc. # This is free software; see the source for copying conditions. There is NO # warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. # 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 3 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 . # Please report bugs or propose patches to gary@gnu.org. ## ------ ## ## Usage. ## ## ------ ## # This file is a library for parsing options in your shell scripts along # with assorted other useful supporting features that you can make use # of too. # # For the simplest scripts you might need only: # # #!/bin/sh # . relative/path/to/funclib.sh # . relative/path/to/options-parser # scriptversion=1.0 # func_options ${1+"$@"} # eval set dummy "$func_options_result"; shift # ...rest of your script... # # In order for the '--version' option to work, you will need to have a # suitably formatted comment like the one at the top of this file # starting with '# Written by ' and ending with '# warranty; '. # # For '-h' and '--help' to work, you will also need a one line # description of your script's purpose in a comment directly above the # '# Written by ' line, like the one at the top of this file. # # The default options also support '--debug', which will turn on shell # execution tracing (see the comment above debug_cmd below for another # use), and '--verbose' and the func_verbose function to allow your script # to display verbose messages only when your user has specified # '--verbose'. # # After sourcing this file, you can plug processing for additional # options by amending the variables from the 'Configuration' section # below, and following the instructions in the 'Option parsing' # section further down. ## -------------- ## ## Configuration. ## ## -------------- ## # You should override these variables in your script after sourcing this # file so that they reflect the customisations you have added to the # option parser. # The usage line for option parsing errors and the start of '-h' and # '--help' output messages. You can embed shell variables for delayed # expansion at the time the message is displayed, but you will need to # quote other shell meta-characters carefully to prevent them being # expanded when the contents are evaled. usage='$progpath [OPTION]...' # Short help message in response to '-h' and '--help'. Add to this or # override it after sourcing this library to reflect the full set of # options your script accepts. usage_message="\ --debug enable verbose shell tracing -W, --warnings=CATEGORY report the warnings falling in CATEGORY [all] -v, --verbose verbosely report processing --version print version information and exit -h, --help print short or long help message and exit " # Additional text appended to 'usage_message' in response to '--help'. long_help_message=" Warning categories include: 'all' show all warnings 'none' turn off all the warnings 'error' warnings are treated as fatal errors" # Help message printed before fatal option parsing errors. fatal_help="Try '\$progname --help' for more information." ## ------------------------- ## ## Hook function management. ## ## ------------------------- ## # This section contains functions for adding, removing, and running hooks # to the main code. A hook is just a named list of of function, that can # be run in order later on. # func_hookable FUNC_NAME # ----------------------- # Declare that FUNC_NAME will run hooks added with # 'func_add_hook FUNC_NAME ...'. func_hookable () { $debug_cmd func_append hookable_fns " $1" } # func_add_hook FUNC_NAME HOOK_FUNC # --------------------------------- # Request that FUNC_NAME call HOOK_FUNC before it returns. FUNC_NAME must # first have been declared "hookable" by a call to 'func_hookable'. func_add_hook () { $debug_cmd case " $hookable_fns " in *" $1 "*) ;; *) func_fatal_error "'$1' does not accept hook functions." ;; esac eval func_append ${1}_hooks '" $2"' } # func_remove_hook FUNC_NAME HOOK_FUNC # ------------------------------------ # Remove HOOK_FUNC from the list of functions called by FUNC_NAME. func_remove_hook () { $debug_cmd eval ${1}_hooks='`$ECHO "\$'$1'_hooks" |$SED "s| '$2'||"`' } # func_run_hooks FUNC_NAME [ARG]... # --------------------------------- # Run all hook functions registered to FUNC_NAME. # It is assumed that the list of hook functions contains nothing more # than a whitespace-delimited list of legal shell function names, and # no effort is wasted trying to catch shell meta-characters or preserve # whitespace. func_run_hooks () { $debug_cmd _G_rc_run_hooks=false case " $hookable_fns " in *" $1 "*) ;; *) func_fatal_error "'$1' does not support hook funcions.n" ;; esac eval _G_hook_fns=\$$1_hooks; shift for _G_hook in $_G_hook_fns; do if eval $_G_hook '"$@"'; then # store returned options list back into positional # parameters for next 'cmd' execution. eval _G_hook_result=\$${_G_hook}_result eval set dummy "$_G_hook_result"; shift _G_rc_run_hooks=: fi done $_G_rc_run_hooks && func_run_hooks_result=$_G_hook_result } ## --------------- ## ## Option parsing. ## ## --------------- ## # In order to add your own option parsing hooks, you must accept the # full positional parameter list in your hook function, you may remove/edit # any options that you action, and then pass back the remaining unprocessed # options in '_result', escaped suitably for # 'eval'. In this case you also must return $EXIT_SUCCESS to let the # hook's caller know that it should pay attention to # '_result'. Returning $EXIT_FAILURE signalizes that # arguments are left untouched by the hook and therefore caller will ignore the # result variable. # # Like this: # # my_options_prep () # { # $debug_cmd # # # Extend the existing usage message. # usage_message=$usage_message' # -s, --silent don'\''t print informational messages # ' # # No change in '$@' (ignored completely by this hook). There is # # no need to do the equivalent (but slower) action: # # func_quote_for_eval ${1+"$@"} # # my_options_prep_result=$func_quote_for_eval_result # false # } # func_add_hook func_options_prep my_options_prep # # # my_silent_option () # { # $debug_cmd # # args_changed=false # # # Note that for efficiency, we parse as many options as we can # # recognise in a loop before passing the remainder back to the # # caller on the first unrecognised argument we encounter. # while test $# -gt 0; do # opt=$1; shift # case $opt in # --silent|-s) opt_silent=: # args_changed=: # ;; # # Separate non-argument short options: # -s*) func_split_short_opt "$_G_opt" # set dummy "$func_split_short_opt_name" \ # "-$func_split_short_opt_arg" ${1+"$@"} # shift # args_changed=: # ;; # *) # Make sure the first unrecognised option "$_G_opt" # # is added back to "$@", we could need that later # # if $args_changed is true. # set dummy "$_G_opt" ${1+"$@"}; shift; break ;; # esac # done # # if $args_changed; then # func_quote_for_eval ${1+"$@"} # my_silent_option_result=$func_quote_for_eval_result # fi # # $args_changed # } # func_add_hook func_parse_options my_silent_option # # # my_option_validation () # { # $debug_cmd # # $opt_silent && $opt_verbose && func_fatal_help "\ # '--silent' and '--verbose' options are mutually exclusive." # # false # } # func_add_hook func_validate_options my_option_validation # # You'll also need to manually amend $usage_message to reflect the extra # options you parse. It's preferable to append if you can, so that # multiple option parsing hooks can be added safely. # func_options_finish [ARG]... # ---------------------------- # Finishing the option parse loop (call 'func_options' hooks ATM). func_options_finish () { $debug_cmd _G_func_options_finish_exit=false if func_run_hooks func_options ${1+"$@"}; then func_options_finish_result=$func_run_hooks_result _G_func_options_finish_exit=: fi $_G_func_options_finish_exit } # func_options [ARG]... # --------------------- # All the functions called inside func_options are hookable. See the # individual implementations for details. func_hookable func_options func_options () { $debug_cmd _G_rc_options=false for my_func in options_prep parse_options validate_options options_finish do if eval func_$my_func '${1+"$@"}'; then eval _G_res_var='$'"func_${my_func}_result" eval set dummy "$_G_res_var" ; shift _G_rc_options=: fi done # Save modified positional parameters for caller. As a top-level # options-parser function we always need to set the 'func_options_result' # variable (regardless the $_G_rc_options value). if $_G_rc_options; then func_options_result=$_G_res_var else func_quote_for_eval ${1+"$@"} func_options_result=$func_quote_for_eval_result fi $_G_rc_options } # func_options_prep [ARG]... # -------------------------- # All initialisations required before starting the option parse loop. # Note that when calling hook functions, we pass through the list of # positional parameters. If a hook function modifies that list, and # needs to propagate that back to rest of this script, then the complete # modified list must be put in 'func_run_hooks_result' before # returning $EXIT_SUCCESS (otherwise $EXIT_FAILURE is returned). func_hookable func_options_prep func_options_prep () { $debug_cmd # Option defaults: opt_verbose=false opt_warning_types= _G_rc_options_prep=false if func_run_hooks func_options_prep ${1+"$@"}; then _G_rc_options_prep=: # save modified positional parameters for caller func_options_prep_result=$func_run_hooks_result fi $_G_rc_options_prep } # func_parse_options [ARG]... # --------------------------- # The main option parsing loop. func_hookable func_parse_options func_parse_options () { $debug_cmd func_parse_options_result= _G_rc_parse_options=false # this just eases exit handling while test $# -gt 0; do # Defer to hook functions for initial option parsing, so they # get priority in the event of reusing an option name. if func_run_hooks func_parse_options ${1+"$@"}; then eval set dummy "$func_run_hooks_result"; shift _G_rc_parse_options=: fi # Break out of the loop if we already parsed every option. test $# -gt 0 || break _G_match_parse_options=: _G_opt=$1 shift case $_G_opt in --debug|-x) debug_cmd='set -x' func_echo "enabling shell trace mode" $debug_cmd ;; --no-warnings|--no-warning|--no-warn) set dummy --warnings none ${1+"$@"} shift ;; --warnings|--warning|-W) if test $# = 0 && func_missing_arg $_G_opt; then _G_rc_parse_options=: break fi case " $warning_categories $1" in *" $1 "*) # trailing space prevents matching last $1 above func_append_uniq opt_warning_types " $1" ;; *all) opt_warning_types=$warning_categories ;; *none) opt_warning_types=none warning_func=: ;; *error) opt_warning_types=$warning_categories warning_func=func_fatal_error ;; *) func_fatal_error \ "unsupported warning category: '$1'" ;; esac shift ;; --verbose|-v) opt_verbose=: ;; --version) func_version ;; -\?|-h) func_usage ;; --help) func_help ;; # Separate optargs to long options (plugins may need this): --*=*) func_split_equals "$_G_opt" set dummy "$func_split_equals_lhs" \ "$func_split_equals_rhs" ${1+"$@"} shift ;; # Separate optargs to short options: -W*) func_split_short_opt "$_G_opt" set dummy "$func_split_short_opt_name" \ "$func_split_short_opt_arg" ${1+"$@"} shift ;; # Separate non-argument short options: -\?*|-h*|-v*|-x*) func_split_short_opt "$_G_opt" set dummy "$func_split_short_opt_name" \ "-$func_split_short_opt_arg" ${1+"$@"} shift ;; --) _G_rc_parse_options=: ; break ;; -*) func_fatal_help "unrecognised option: '$_G_opt'" ;; *) set dummy "$_G_opt" ${1+"$@"}; shift _G_match_parse_options=false break ;; esac $_G_match_parse_options && _G_rc_parse_options=: done if $_G_rc_parse_options; then # save modified positional parameters for caller func_quote_for_eval ${1+"$@"} func_parse_options_result=$func_quote_for_eval_result fi $_G_rc_parse_options } # func_validate_options [ARG]... # ------------------------------ # Perform any sanity checks on option settings and/or unconsumed # arguments. func_hookable func_validate_options func_validate_options () { $debug_cmd _G_rc_validate_options=false # Display all warnings if -W was not given. test -n "$opt_warning_types" || opt_warning_types=" $warning_categories" if func_run_hooks func_validate_options ${1+"$@"}; then # save modified positional parameters for caller func_validate_options_result=$func_run_hooks_result _G_rc_validate_options=: fi # Bail if the options were screwed! $exit_cmd $EXIT_FAILURE $_G_rc_validate_options } ## ----------------- ## ## Helper functions. ## ## ----------------- ## # This section contains the helper functions used by the rest of the # hookable option parser framework in ascii-betical order. # func_fatal_help ARG... # ---------------------- # Echo program name prefixed message to standard error, followed by # a help hint, and exit. func_fatal_help () { $debug_cmd eval \$ECHO \""Usage: $usage"\" eval \$ECHO \""$fatal_help"\" func_error ${1+"$@"} exit $EXIT_FAILURE } # func_help # --------- # Echo long help message to standard output and exit. func_help () { $debug_cmd func_usage_message $ECHO "$long_help_message" exit 0 } # func_missing_arg ARGNAME # ------------------------ # Echo program name prefixed message to standard error and set global # exit_cmd. func_missing_arg () { $debug_cmd func_error "Missing argument for '$1'." exit_cmd=exit } # func_split_equals STRING # ------------------------ # Set func_split_equals_lhs and func_split_equals_rhs shell variables after # splitting STRING at the '=' sign. test -z "$_G_HAVE_XSI_OPS" \ && (eval 'x=a/b/c; test 5aa/bb/cc = "${#x}${x%%/*}${x%/*}${x#*/}${x##*/}"') 2>/dev/null \ && _G_HAVE_XSI_OPS=yes if test yes = "$_G_HAVE_XSI_OPS" then # This is an XSI compatible shell, allowing a faster implementation... eval 'func_split_equals () { $debug_cmd func_split_equals_lhs=${1%%=*} func_split_equals_rhs=${1#*=} test "x$func_split_equals_lhs" = "x$1" \ && func_split_equals_rhs= }' else # ...otherwise fall back to using expr, which is often a shell builtin. func_split_equals () { $debug_cmd func_split_equals_lhs=`expr "x$1" : 'x\([^=]*\)'` func_split_equals_rhs= test "x$func_split_equals_lhs" = "x$1" \ || func_split_equals_rhs=`expr "x$1" : 'x[^=]*=\(.*\)$'` } fi #func_split_equals # func_split_short_opt SHORTOPT # ----------------------------- # Set func_split_short_opt_name and func_split_short_opt_arg shell # variables after splitting SHORTOPT after the 2nd character. if test yes = "$_G_HAVE_XSI_OPS" then # This is an XSI compatible shell, allowing a faster implementation... eval 'func_split_short_opt () { $debug_cmd func_split_short_opt_arg=${1#??} func_split_short_opt_name=${1%"$func_split_short_opt_arg"} }' else # ...otherwise fall back to using expr, which is often a shell builtin. func_split_short_opt () { $debug_cmd func_split_short_opt_name=`expr "x$1" : 'x-\(.\)'` func_split_short_opt_arg=`expr "x$1" : 'x-.\(.*\)$'` } fi #func_split_short_opt # func_usage # ---------- # Echo short help message to standard output and exit. func_usage () { $debug_cmd func_usage_message $ECHO "Run '$progname --help |${PAGER-more}' for full usage" exit 0 } # func_usage_message # ------------------ # Echo short help message to standard output. func_usage_message () { $debug_cmd eval \$ECHO \""Usage: $usage"\" echo $SED -n 's|^# || /^Written by/{ x;p;x } h /^Written by/q' < "$progpath" echo eval \$ECHO \""$usage_message"\" } # func_version # ------------ # Echo version message to standard output and exit. func_version () { $debug_cmd printf '%s\n' "$progname $scriptversion" $SED -n ' /(C)/!b go :more /\./!{ N s|\n# | | b more } :go /^# Written by /,/# warranty; / { s|^# || s|^# *$|| s|\((C)\)[ 0-9,-]*[ ,-]\([1-9][0-9]* \)|\1 \2| p } /^# Written by / { s|^# || p } /^warranty; /q' < "$progpath" exit $? } # Local variables: # mode: shell-script # sh-indentation: 2 # eval: (add-hook 'before-save-hook 'time-stamp) # time-stamp-pattern: "10/scriptversion=%:y-%02m-%02d.%02H; # UTC" # time-stamp-time-zone: "UTC" # End: # Set a version string. scriptversion='(GNU libtool) 2.4.6' # func_echo ARG... # ---------------- # Libtool also displays the current mode in messages, so override # funclib.sh func_echo with this custom definition. func_echo () { $debug_cmd _G_message=$* func_echo_IFS=$IFS IFS=$nl for _G_line in $_G_message; do IFS=$func_echo_IFS $ECHO "$progname${opt_mode+: $opt_mode}: $_G_line" done IFS=$func_echo_IFS } # func_warning ARG... # ------------------- # Libtool warnings are not categorized, so override funclib.sh # func_warning with this simpler definition. func_warning () { $debug_cmd $warning_func ${1+"$@"} } ## ---------------- ## ## Options parsing. ## ## ---------------- ## # Hook in the functions to make sure our own options are parsed during # the option parsing loop. usage='$progpath [OPTION]... [MODE-ARG]...' # Short help message in response to '-h'. usage_message="Options: --config show all configuration variables --debug enable verbose shell tracing -n, --dry-run display commands without modifying any files --features display basic configuration information and exit --mode=MODE use operation mode MODE --no-warnings equivalent to '-Wnone' --preserve-dup-deps don't remove duplicate dependency libraries --quiet, --silent don't print informational messages --tag=TAG use configuration variables from tag TAG -v, --verbose print more informational messages than default --version print version information -W, --warnings=CATEGORY report the warnings falling in CATEGORY [all] -h, --help, --help-all print short, long, or detailed help message " # Additional text appended to 'usage_message' in response to '--help'. func_help () { $debug_cmd func_usage_message $ECHO "$long_help_message MODE must be one of the following: clean remove files from the build directory compile compile a source file into a libtool object execute automatically set library path, then run a program finish complete the installation of libtool libraries install install libraries or executables link create a library or an executable uninstall remove libraries from an installed directory MODE-ARGS vary depending on the MODE. When passed as first option, '--mode=MODE' may be abbreviated as 'MODE' or a unique abbreviation of that. Try '$progname --help --mode=MODE' for a more detailed description of MODE. When reporting a bug, please describe a test case to reproduce it and include the following information: host-triplet: $host shell: $SHELL compiler: $LTCC compiler flags: $LTCFLAGS linker: $LD (gnu? $with_gnu_ld) version: $progname $scriptversion Debian-2.4.6-14 automake: `($AUTOMAKE --version) 2>/dev/null |$SED 1q` autoconf: `($AUTOCONF --version) 2>/dev/null |$SED 1q` Report bugs to . GNU libtool home page: . General help using GNU software: ." exit 0 } # func_lo2o OBJECT-NAME # --------------------- # Transform OBJECT-NAME from a '.lo' suffix to the platform specific # object suffix. lo2o=s/\\.lo\$/.$objext/ o2lo=s/\\.$objext\$/.lo/ if test yes = "$_G_HAVE_XSI_OPS"; then eval 'func_lo2o () { case $1 in *.lo) func_lo2o_result=${1%.lo}.$objext ;; * ) func_lo2o_result=$1 ;; esac }' # func_xform LIBOBJ-OR-SOURCE # --------------------------- # Transform LIBOBJ-OR-SOURCE from a '.o' or '.c' (or otherwise) # suffix to a '.lo' libtool-object suffix. eval 'func_xform () { func_xform_result=${1%.*}.lo }' else # ...otherwise fall back to using sed. func_lo2o () { func_lo2o_result=`$ECHO "$1" | $SED "$lo2o"` } func_xform () { func_xform_result=`$ECHO "$1" | $SED 's|\.[^.]*$|.lo|'` } fi # func_fatal_configuration ARG... # ------------------------------- # Echo program name prefixed message to standard error, followed by # a configuration failure hint, and exit. func_fatal_configuration () { func__fatal_error ${1+"$@"} \ "See the $PACKAGE documentation for more information." \ "Fatal configuration error." } # func_config # ----------- # Display the configuration for all the tags in this script. func_config () { re_begincf='^# ### BEGIN LIBTOOL' re_endcf='^# ### END LIBTOOL' # Default configuration. $SED "1,/$re_begincf CONFIG/d;/$re_endcf CONFIG/,\$d" < "$progpath" # Now print the configurations for the tags. for tagname in $taglist; do $SED -n "/$re_begincf TAG CONFIG: $tagname\$/,/$re_endcf TAG CONFIG: $tagname\$/p" < "$progpath" done exit $? } # func_features # ------------- # Display the features supported by this script. func_features () { echo "host: $host" if test yes = "$build_libtool_libs"; then echo "enable shared libraries" else echo "disable shared libraries" fi if test yes = "$build_old_libs"; then echo "enable static libraries" else echo "disable static libraries" fi exit $? } # func_enable_tag TAGNAME # ----------------------- # Verify that TAGNAME is valid, and either flag an error and exit, or # enable the TAGNAME tag. We also add TAGNAME to the global $taglist # variable here. func_enable_tag () { # Global variable: tagname=$1 re_begincf="^# ### BEGIN LIBTOOL TAG CONFIG: $tagname\$" re_endcf="^# ### END LIBTOOL TAG CONFIG: $tagname\$" sed_extractcf=/$re_begincf/,/$re_endcf/p # Validate tagname. case $tagname in *[!-_A-Za-z0-9,/]*) func_fatal_error "invalid tag name: $tagname" ;; esac # Don't test for the "default" C tag, as we know it's # there but not specially marked. case $tagname in CC) ;; *) if $GREP "$re_begincf" "$progpath" >/dev/null 2>&1; then taglist="$taglist $tagname" # Evaluate the configuration. Be careful to quote the path # and the sed script, to avoid splitting on whitespace, but # also don't use non-portable quotes within backquotes within # quotes we have to do it in 2 steps: extractedcf=`$SED -n -e "$sed_extractcf" < "$progpath"` eval "$extractedcf" else func_error "ignoring unknown tag $tagname" fi ;; esac } # func_check_version_match # ------------------------ # Ensure that we are using m4 macros, and libtool script from the same # release of libtool. func_check_version_match () { if test "$package_revision" != "$macro_revision"; then if test "$VERSION" != "$macro_version"; then if test -z "$macro_version"; then cat >&2 <<_LT_EOF $progname: Version mismatch error. This is $PACKAGE $VERSION, but the $progname: definition of this LT_INIT comes from an older release. $progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION $progname: and run autoconf again. _LT_EOF else cat >&2 <<_LT_EOF $progname: Version mismatch error. This is $PACKAGE $VERSION, but the $progname: definition of this LT_INIT comes from $PACKAGE $macro_version. $progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION $progname: and run autoconf again. _LT_EOF fi else cat >&2 <<_LT_EOF $progname: Version mismatch error. This is $PACKAGE $VERSION, revision $package_revision, $progname: but the definition of this LT_INIT comes from revision $macro_revision. $progname: You should recreate aclocal.m4 with macros from revision $package_revision $progname: of $PACKAGE $VERSION and run autoconf again. _LT_EOF fi exit $EXIT_MISMATCH fi } # libtool_options_prep [ARG]... # ----------------------------- # Preparation for options parsed by libtool. libtool_options_prep () { $debug_mode # Option defaults: opt_config=false opt_dlopen= opt_dry_run=false opt_help=false opt_mode= opt_preserve_dup_deps=false opt_quiet=false nonopt= preserve_args= _G_rc_lt_options_prep=: # Shorthand for --mode=foo, only valid as the first argument case $1 in clean|clea|cle|cl) shift; set dummy --mode clean ${1+"$@"}; shift ;; compile|compil|compi|comp|com|co|c) shift; set dummy --mode compile ${1+"$@"}; shift ;; execute|execut|execu|exec|exe|ex|e) shift; set dummy --mode execute ${1+"$@"}; shift ;; finish|finis|fini|fin|fi|f) shift; set dummy --mode finish ${1+"$@"}; shift ;; install|instal|insta|inst|ins|in|i) shift; set dummy --mode install ${1+"$@"}; shift ;; link|lin|li|l) shift; set dummy --mode link ${1+"$@"}; shift ;; uninstall|uninstal|uninsta|uninst|unins|unin|uni|un|u) shift; set dummy --mode uninstall ${1+"$@"}; shift ;; *) _G_rc_lt_options_prep=false ;; esac if $_G_rc_lt_options_prep; then # Pass back the list of options. func_quote_for_eval ${1+"$@"} libtool_options_prep_result=$func_quote_for_eval_result fi $_G_rc_lt_options_prep } func_add_hook func_options_prep libtool_options_prep # libtool_parse_options [ARG]... # --------------------------------- # Provide handling for libtool specific options. libtool_parse_options () { $debug_cmd _G_rc_lt_parse_options=false # Perform our own loop to consume as many options as possible in # each iteration. while test $# -gt 0; do _G_match_lt_parse_options=: _G_opt=$1 shift case $_G_opt in --dry-run|--dryrun|-n) opt_dry_run=: ;; --config) func_config ;; --dlopen|-dlopen) opt_dlopen="${opt_dlopen+$opt_dlopen }$1" shift ;; --preserve-dup-deps) opt_preserve_dup_deps=: ;; --features) func_features ;; --finish) set dummy --mode finish ${1+"$@"}; shift ;; --help) opt_help=: ;; --help-all) opt_help=': help-all' ;; --mode) test $# = 0 && func_missing_arg $_G_opt && break opt_mode=$1 case $1 in # Valid mode arguments: clean|compile|execute|finish|install|link|relink|uninstall) ;; # Catch anything else as an error *) func_error "invalid argument for $_G_opt" exit_cmd=exit break ;; esac shift ;; --no-silent|--no-quiet) opt_quiet=false func_append preserve_args " $_G_opt" ;; --no-warnings|--no-warning|--no-warn) opt_warning=false func_append preserve_args " $_G_opt" ;; --no-verbose) opt_verbose=false func_append preserve_args " $_G_opt" ;; --silent|--quiet) opt_quiet=: opt_verbose=false func_append preserve_args " $_G_opt" ;; --tag) test $# = 0 && func_missing_arg $_G_opt && break opt_tag=$1 func_append preserve_args " $_G_opt $1" func_enable_tag "$1" shift ;; --verbose|-v) opt_quiet=false opt_verbose=: func_append preserve_args " $_G_opt" ;; # An option not handled by this hook function: *) set dummy "$_G_opt" ${1+"$@"} ; shift _G_match_lt_parse_options=false break ;; esac $_G_match_lt_parse_options && _G_rc_lt_parse_options=: done if $_G_rc_lt_parse_options; then # save modified positional parameters for caller func_quote_for_eval ${1+"$@"} libtool_parse_options_result=$func_quote_for_eval_result fi $_G_rc_lt_parse_options } func_add_hook func_parse_options libtool_parse_options # libtool_validate_options [ARG]... # --------------------------------- # Perform any sanity checks on option settings and/or unconsumed # arguments. libtool_validate_options () { # save first non-option argument if test 0 -lt $#; then nonopt=$1 shift fi # preserve --debug test : = "$debug_cmd" || func_append preserve_args " --debug" case $host in # Solaris2 added to fix http://debbugs.gnu.org/cgi/bugreport.cgi?bug=16452 # see also: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59788 *cygwin* | *mingw* | *pw32* | *cegcc* | *solaris2* | *os2*) # don't eliminate duplications in $postdeps and $predeps opt_duplicate_compiler_generated_deps=: ;; *) opt_duplicate_compiler_generated_deps=$opt_preserve_dup_deps ;; esac $opt_help || { # Sanity checks first: func_check_version_match test yes != "$build_libtool_libs" \ && test yes != "$build_old_libs" \ && func_fatal_configuration "not configured to build any kind of library" # Darwin sucks eval std_shrext=\"$shrext_cmds\" # Only execute mode is allowed to have -dlopen flags. if test -n "$opt_dlopen" && test execute != "$opt_mode"; then func_error "unrecognized option '-dlopen'" $ECHO "$help" 1>&2 exit $EXIT_FAILURE fi # Change the help message to a mode-specific one. generic_help=$help help="Try '$progname --help --mode=$opt_mode' for more information." } # Pass back the unparsed argument list func_quote_for_eval ${1+"$@"} libtool_validate_options_result=$func_quote_for_eval_result } func_add_hook func_validate_options libtool_validate_options # Process options as early as possible so that --help and --version # can return quickly. func_options ${1+"$@"} eval set dummy "$func_options_result"; shift ## ----------- ## ## Main. ## ## ----------- ## magic='%%%MAGIC variable%%%' magic_exe='%%%MAGIC EXE variable%%%' # Global variables. extracted_archives= extracted_serial=0 # If this variable is set in any of the actions, the command in it # will be execed at the end. This prevents here-documents from being # left over by shells. exec_cmd= # A function that is used when there is no print builtin or printf. func_fallback_echo () { eval 'cat <<_LTECHO_EOF $1 _LTECHO_EOF' } # func_generated_by_libtool # True iff stdin has been generated by Libtool. This function is only # a basic sanity check; it will hardly flush out determined imposters. func_generated_by_libtool_p () { $GREP "^# Generated by .*$PACKAGE" > /dev/null 2>&1 } # func_lalib_p file # True iff FILE is a libtool '.la' library or '.lo' object file. # This function is only a basic sanity check; it will hardly flush out # determined imposters. func_lalib_p () { test -f "$1" && $SED -e 4q "$1" 2>/dev/null | func_generated_by_libtool_p } # func_lalib_unsafe_p file # True iff FILE is a libtool '.la' library or '.lo' object file. # This function implements the same check as func_lalib_p without # resorting to external programs. To this end, it redirects stdin and # closes it afterwards, without saving the original file descriptor. # As a safety measure, use it only where a negative result would be # fatal anyway. Works if 'file' does not exist. func_lalib_unsafe_p () { lalib_p=no if test -f "$1" && test -r "$1" && exec 5<&0 <"$1"; then for lalib_p_l in 1 2 3 4 do read lalib_p_line case $lalib_p_line in \#\ Generated\ by\ *$PACKAGE* ) lalib_p=yes; break;; esac done exec 0<&5 5<&- fi test yes = "$lalib_p" } # func_ltwrapper_script_p file # True iff FILE is a libtool wrapper script # This function is only a basic sanity check; it will hardly flush out # determined imposters. func_ltwrapper_script_p () { test -f "$1" && $lt_truncate_bin < "$1" 2>/dev/null | func_generated_by_libtool_p } # func_ltwrapper_executable_p file # True iff FILE is a libtool wrapper executable # This function is only a basic sanity check; it will hardly flush out # determined imposters. func_ltwrapper_executable_p () { func_ltwrapper_exec_suffix= case $1 in *.exe) ;; *) func_ltwrapper_exec_suffix=.exe ;; esac $GREP "$magic_exe" "$1$func_ltwrapper_exec_suffix" >/dev/null 2>&1 } # func_ltwrapper_scriptname file # Assumes file is an ltwrapper_executable # uses $file to determine the appropriate filename for a # temporary ltwrapper_script. func_ltwrapper_scriptname () { func_dirname_and_basename "$1" "" "." func_stripname '' '.exe' "$func_basename_result" func_ltwrapper_scriptname_result=$func_dirname_result/$objdir/${func_stripname_result}_ltshwrapper } # func_ltwrapper_p file # True iff FILE is a libtool wrapper script or wrapper executable # This function is only a basic sanity check; it will hardly flush out # determined imposters. func_ltwrapper_p () { func_ltwrapper_script_p "$1" || func_ltwrapper_executable_p "$1" } # func_execute_cmds commands fail_cmd # Execute tilde-delimited COMMANDS. # If FAIL_CMD is given, eval that upon failure. # FAIL_CMD may read-access the current command in variable CMD! func_execute_cmds () { $debug_cmd save_ifs=$IFS; IFS='~' for cmd in $1; do IFS=$sp$nl eval cmd=\"$cmd\" IFS=$save_ifs func_show_eval "$cmd" "${2-:}" done IFS=$save_ifs } # func_source file # Source FILE, adding directory component if necessary. # Note that it is not necessary on cygwin/mingw to append a dot to # FILE even if both FILE and FILE.exe exist: automatic-append-.exe # behavior happens only for exec(3), not for open(2)! Also, sourcing # 'FILE.' does not work on cygwin managed mounts. func_source () { $debug_cmd case $1 in */* | *\\*) . "$1" ;; *) . "./$1" ;; esac } # func_resolve_sysroot PATH # Replace a leading = in PATH with a sysroot. Store the result into # func_resolve_sysroot_result func_resolve_sysroot () { func_resolve_sysroot_result=$1 case $func_resolve_sysroot_result in =*) func_stripname '=' '' "$func_resolve_sysroot_result" func_resolve_sysroot_result=$lt_sysroot$func_stripname_result ;; esac } # func_replace_sysroot PATH # If PATH begins with the sysroot, replace it with = and # store the result into func_replace_sysroot_result. func_replace_sysroot () { case $lt_sysroot:$1 in ?*:"$lt_sysroot"*) func_stripname "$lt_sysroot" '' "$1" func_replace_sysroot_result='='$func_stripname_result ;; *) # Including no sysroot. func_replace_sysroot_result=$1 ;; esac } # func_infer_tag arg # Infer tagged configuration to use if any are available and # if one wasn't chosen via the "--tag" command line option. # Only attempt this if the compiler in the base compile # command doesn't match the default compiler. # arg is usually of the form 'gcc ...' func_infer_tag () { $debug_cmd if test -n "$available_tags" && test -z "$tagname"; then CC_quoted= for arg in $CC; do func_append_quoted CC_quoted "$arg" done CC_expanded=`func_echo_all $CC` CC_quoted_expanded=`func_echo_all $CC_quoted` case $@ in # Blanks in the command may have been stripped by the calling shell, # but not from the CC environment variable when configure was run. " $CC "* | "$CC "* | " $CC_expanded "* | "$CC_expanded "* | \ " $CC_quoted"* | "$CC_quoted "* | " $CC_quoted_expanded "* | "$CC_quoted_expanded "*) ;; # Blanks at the start of $base_compile will cause this to fail # if we don't check for them as well. *) for z in $available_tags; do if $GREP "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then # Evaluate the configuration. eval "`$SED -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`" CC_quoted= for arg in $CC; do # Double-quote args containing other shell metacharacters. func_append_quoted CC_quoted "$arg" done CC_expanded=`func_echo_all $CC` CC_quoted_expanded=`func_echo_all $CC_quoted` case "$@ " in " $CC "* | "$CC "* | " $CC_expanded "* | "$CC_expanded "* | \ " $CC_quoted"* | "$CC_quoted "* | " $CC_quoted_expanded "* | "$CC_quoted_expanded "*) # The compiler in the base compile command matches # the one in the tagged configuration. # Assume this is the tagged configuration we want. tagname=$z break ;; esac fi done # If $tagname still isn't set, then no tagged configuration # was found and let the user know that the "--tag" command # line option must be used. if test -z "$tagname"; then func_echo "unable to infer tagged configuration" func_fatal_error "specify a tag with '--tag'" # else # func_verbose "using $tagname tagged configuration" fi ;; esac fi } # func_write_libtool_object output_name pic_name nonpic_name # Create a libtool object file (analogous to a ".la" file), # but don't create it if we're doing a dry run. func_write_libtool_object () { write_libobj=$1 if test yes = "$build_libtool_libs"; then write_lobj=\'$2\' else write_lobj=none fi if test yes = "$build_old_libs"; then write_oldobj=\'$3\' else write_oldobj=none fi $opt_dry_run || { cat >${write_libobj}T </dev/null` if test "$?" -eq 0 && test -n "$func_convert_core_file_wine_to_w32_tmp"; then func_convert_core_file_wine_to_w32_result=`$ECHO "$func_convert_core_file_wine_to_w32_tmp" | $SED -e "$sed_naive_backslashify"` else func_convert_core_file_wine_to_w32_result= fi fi } # end: func_convert_core_file_wine_to_w32 # func_convert_core_path_wine_to_w32 ARG # Helper function used by path conversion functions when $build is *nix, and # $host is mingw, cygwin, or some other w32 environment. Relies on a correctly # configured wine environment available, with the winepath program in $build's # $PATH. Assumes ARG has no leading or trailing path separator characters. # # ARG is path to be converted from $build format to win32. # Result is available in $func_convert_core_path_wine_to_w32_result. # Unconvertible file (directory) names in ARG are skipped; if no directory names # are convertible, then the result may be empty. func_convert_core_path_wine_to_w32 () { $debug_cmd # unfortunately, winepath doesn't convert paths, only file names func_convert_core_path_wine_to_w32_result= if test -n "$1"; then oldIFS=$IFS IFS=: for func_convert_core_path_wine_to_w32_f in $1; do IFS=$oldIFS func_convert_core_file_wine_to_w32 "$func_convert_core_path_wine_to_w32_f" if test -n "$func_convert_core_file_wine_to_w32_result"; then if test -z "$func_convert_core_path_wine_to_w32_result"; then func_convert_core_path_wine_to_w32_result=$func_convert_core_file_wine_to_w32_result else func_append func_convert_core_path_wine_to_w32_result ";$func_convert_core_file_wine_to_w32_result" fi fi done IFS=$oldIFS fi } # end: func_convert_core_path_wine_to_w32 # func_cygpath ARGS... # Wrapper around calling the cygpath program via LT_CYGPATH. This is used when # when (1) $build is *nix and Cygwin is hosted via a wine environment; or (2) # $build is MSYS and $host is Cygwin, or (3) $build is Cygwin. In case (1) or # (2), returns the Cygwin file name or path in func_cygpath_result (input # file name or path is assumed to be in w32 format, as previously converted # from $build's *nix or MSYS format). In case (3), returns the w32 file name # or path in func_cygpath_result (input file name or path is assumed to be in # Cygwin format). Returns an empty string on error. # # ARGS are passed to cygpath, with the last one being the file name or path to # be converted. # # Specify the absolute *nix (or w32) name to cygpath in the LT_CYGPATH # environment variable; do not put it in $PATH. func_cygpath () { $debug_cmd if test -n "$LT_CYGPATH" && test -f "$LT_CYGPATH"; then func_cygpath_result=`$LT_CYGPATH "$@" 2>/dev/null` if test "$?" -ne 0; then # on failure, ensure result is empty func_cygpath_result= fi else func_cygpath_result= func_error "LT_CYGPATH is empty or specifies non-existent file: '$LT_CYGPATH'" fi } #end: func_cygpath # func_convert_core_msys_to_w32 ARG # Convert file name or path ARG from MSYS format to w32 format. Return # result in func_convert_core_msys_to_w32_result. func_convert_core_msys_to_w32 () { $debug_cmd # awkward: cmd appends spaces to result func_convert_core_msys_to_w32_result=`( cmd //c echo "$1" ) 2>/dev/null | $SED -e 's/[ ]*$//' -e "$sed_naive_backslashify"` } #end: func_convert_core_msys_to_w32 # func_convert_file_check ARG1 ARG2 # Verify that ARG1 (a file name in $build format) was converted to $host # format in ARG2. Otherwise, emit an error message, but continue (resetting # func_to_host_file_result to ARG1). func_convert_file_check () { $debug_cmd if test -z "$2" && test -n "$1"; then func_error "Could not determine host file name corresponding to" func_error " '$1'" func_error "Continuing, but uninstalled executables may not work." # Fallback: func_to_host_file_result=$1 fi } # end func_convert_file_check # func_convert_path_check FROM_PATHSEP TO_PATHSEP FROM_PATH TO_PATH # Verify that FROM_PATH (a path in $build format) was converted to $host # format in TO_PATH. Otherwise, emit an error message, but continue, resetting # func_to_host_file_result to a simplistic fallback value (see below). func_convert_path_check () { $debug_cmd if test -z "$4" && test -n "$3"; then func_error "Could not determine the host path corresponding to" func_error " '$3'" func_error "Continuing, but uninstalled executables may not work." # Fallback. This is a deliberately simplistic "conversion" and # should not be "improved". See libtool.info. if test "x$1" != "x$2"; then lt_replace_pathsep_chars="s|$1|$2|g" func_to_host_path_result=`echo "$3" | $SED -e "$lt_replace_pathsep_chars"` else func_to_host_path_result=$3 fi fi } # end func_convert_path_check # func_convert_path_front_back_pathsep FRONTPAT BACKPAT REPL ORIG # Modifies func_to_host_path_result by prepending REPL if ORIG matches FRONTPAT # and appending REPL if ORIG matches BACKPAT. func_convert_path_front_back_pathsep () { $debug_cmd case $4 in $1 ) func_to_host_path_result=$3$func_to_host_path_result ;; esac case $4 in $2 ) func_append func_to_host_path_result "$3" ;; esac } # end func_convert_path_front_back_pathsep ################################################## # $build to $host FILE NAME CONVERSION FUNCTIONS # ################################################## # invoked via '$to_host_file_cmd ARG' # # In each case, ARG is the path to be converted from $build to $host format. # Result will be available in $func_to_host_file_result. # func_to_host_file ARG # Converts the file name ARG from $build format to $host format. Return result # in func_to_host_file_result. func_to_host_file () { $debug_cmd $to_host_file_cmd "$1" } # end func_to_host_file # func_to_tool_file ARG LAZY # converts the file name ARG from $build format to toolchain format. Return # result in func_to_tool_file_result. If the conversion in use is listed # in (the comma separated) LAZY, no conversion takes place. func_to_tool_file () { $debug_cmd case ,$2, in *,"$to_tool_file_cmd",*) func_to_tool_file_result=$1 ;; *) $to_tool_file_cmd "$1" func_to_tool_file_result=$func_to_host_file_result ;; esac } # end func_to_tool_file # func_convert_file_noop ARG # Copy ARG to func_to_host_file_result. func_convert_file_noop () { func_to_host_file_result=$1 } # end func_convert_file_noop # func_convert_file_msys_to_w32 ARG # Convert file name ARG from (mingw) MSYS to (mingw) w32 format; automatic # conversion to w32 is not available inside the cwrapper. Returns result in # func_to_host_file_result. func_convert_file_msys_to_w32 () { $debug_cmd func_to_host_file_result=$1 if test -n "$1"; then func_convert_core_msys_to_w32 "$1" func_to_host_file_result=$func_convert_core_msys_to_w32_result fi func_convert_file_check "$1" "$func_to_host_file_result" } # end func_convert_file_msys_to_w32 # func_convert_file_cygwin_to_w32 ARG # Convert file name ARG from Cygwin to w32 format. Returns result in # func_to_host_file_result. func_convert_file_cygwin_to_w32 () { $debug_cmd func_to_host_file_result=$1 if test -n "$1"; then # because $build is cygwin, we call "the" cygpath in $PATH; no need to use # LT_CYGPATH in this case. func_to_host_file_result=`cygpath -m "$1"` fi func_convert_file_check "$1" "$func_to_host_file_result" } # end func_convert_file_cygwin_to_w32 # func_convert_file_nix_to_w32 ARG # Convert file name ARG from *nix to w32 format. Requires a wine environment # and a working winepath. Returns result in func_to_host_file_result. func_convert_file_nix_to_w32 () { $debug_cmd func_to_host_file_result=$1 if test -n "$1"; then func_convert_core_file_wine_to_w32 "$1" func_to_host_file_result=$func_convert_core_file_wine_to_w32_result fi func_convert_file_check "$1" "$func_to_host_file_result" } # end func_convert_file_nix_to_w32 # func_convert_file_msys_to_cygwin ARG # Convert file name ARG from MSYS to Cygwin format. Requires LT_CYGPATH set. # Returns result in func_to_host_file_result. func_convert_file_msys_to_cygwin () { $debug_cmd func_to_host_file_result=$1 if test -n "$1"; then func_convert_core_msys_to_w32 "$1" func_cygpath -u "$func_convert_core_msys_to_w32_result" func_to_host_file_result=$func_cygpath_result fi func_convert_file_check "$1" "$func_to_host_file_result" } # end func_convert_file_msys_to_cygwin # func_convert_file_nix_to_cygwin ARG # Convert file name ARG from *nix to Cygwin format. Requires Cygwin installed # in a wine environment, working winepath, and LT_CYGPATH set. Returns result # in func_to_host_file_result. func_convert_file_nix_to_cygwin () { $debug_cmd func_to_host_file_result=$1 if test -n "$1"; then # convert from *nix to w32, then use cygpath to convert from w32 to cygwin. func_convert_core_file_wine_to_w32 "$1" func_cygpath -u "$func_convert_core_file_wine_to_w32_result" func_to_host_file_result=$func_cygpath_result fi func_convert_file_check "$1" "$func_to_host_file_result" } # end func_convert_file_nix_to_cygwin ############################################# # $build to $host PATH CONVERSION FUNCTIONS # ############################################# # invoked via '$to_host_path_cmd ARG' # # In each case, ARG is the path to be converted from $build to $host format. # The result will be available in $func_to_host_path_result. # # Path separators are also converted from $build format to $host format. If # ARG begins or ends with a path separator character, it is preserved (but # converted to $host format) on output. # # All path conversion functions are named using the following convention: # file name conversion function : func_convert_file_X_to_Y () # path conversion function : func_convert_path_X_to_Y () # where, for any given $build/$host combination the 'X_to_Y' value is the # same. If conversion functions are added for new $build/$host combinations, # the two new functions must follow this pattern, or func_init_to_host_path_cmd # will break. # func_init_to_host_path_cmd # Ensures that function "pointer" variable $to_host_path_cmd is set to the # appropriate value, based on the value of $to_host_file_cmd. to_host_path_cmd= func_init_to_host_path_cmd () { $debug_cmd if test -z "$to_host_path_cmd"; then func_stripname 'func_convert_file_' '' "$to_host_file_cmd" to_host_path_cmd=func_convert_path_$func_stripname_result fi } # func_to_host_path ARG # Converts the path ARG from $build format to $host format. Return result # in func_to_host_path_result. func_to_host_path () { $debug_cmd func_init_to_host_path_cmd $to_host_path_cmd "$1" } # end func_to_host_path # func_convert_path_noop ARG # Copy ARG to func_to_host_path_result. func_convert_path_noop () { func_to_host_path_result=$1 } # end func_convert_path_noop # func_convert_path_msys_to_w32 ARG # Convert path ARG from (mingw) MSYS to (mingw) w32 format; automatic # conversion to w32 is not available inside the cwrapper. Returns result in # func_to_host_path_result. func_convert_path_msys_to_w32 () { $debug_cmd func_to_host_path_result=$1 if test -n "$1"; then # Remove leading and trailing path separator characters from ARG. MSYS # behavior is inconsistent here; cygpath turns them into '.;' and ';.'; # and winepath ignores them completely. func_stripname : : "$1" func_to_host_path_tmp1=$func_stripname_result func_convert_core_msys_to_w32 "$func_to_host_path_tmp1" func_to_host_path_result=$func_convert_core_msys_to_w32_result func_convert_path_check : ";" \ "$func_to_host_path_tmp1" "$func_to_host_path_result" func_convert_path_front_back_pathsep ":*" "*:" ";" "$1" fi } # end func_convert_path_msys_to_w32 # func_convert_path_cygwin_to_w32 ARG # Convert path ARG from Cygwin to w32 format. Returns result in # func_to_host_file_result. func_convert_path_cygwin_to_w32 () { $debug_cmd func_to_host_path_result=$1 if test -n "$1"; then # See func_convert_path_msys_to_w32: func_stripname : : "$1" func_to_host_path_tmp1=$func_stripname_result func_to_host_path_result=`cygpath -m -p "$func_to_host_path_tmp1"` func_convert_path_check : ";" \ "$func_to_host_path_tmp1" "$func_to_host_path_result" func_convert_path_front_back_pathsep ":*" "*:" ";" "$1" fi } # end func_convert_path_cygwin_to_w32 # func_convert_path_nix_to_w32 ARG # Convert path ARG from *nix to w32 format. Requires a wine environment and # a working winepath. Returns result in func_to_host_file_result. func_convert_path_nix_to_w32 () { $debug_cmd func_to_host_path_result=$1 if test -n "$1"; then # See func_convert_path_msys_to_w32: func_stripname : : "$1" func_to_host_path_tmp1=$func_stripname_result func_convert_core_path_wine_to_w32 "$func_to_host_path_tmp1" func_to_host_path_result=$func_convert_core_path_wine_to_w32_result func_convert_path_check : ";" \ "$func_to_host_path_tmp1" "$func_to_host_path_result" func_convert_path_front_back_pathsep ":*" "*:" ";" "$1" fi } # end func_convert_path_nix_to_w32 # func_convert_path_msys_to_cygwin ARG # Convert path ARG from MSYS to Cygwin format. Requires LT_CYGPATH set. # Returns result in func_to_host_file_result. func_convert_path_msys_to_cygwin () { $debug_cmd func_to_host_path_result=$1 if test -n "$1"; then # See func_convert_path_msys_to_w32: func_stripname : : "$1" func_to_host_path_tmp1=$func_stripname_result func_convert_core_msys_to_w32 "$func_to_host_path_tmp1" func_cygpath -u -p "$func_convert_core_msys_to_w32_result" func_to_host_path_result=$func_cygpath_result func_convert_path_check : : \ "$func_to_host_path_tmp1" "$func_to_host_path_result" func_convert_path_front_back_pathsep ":*" "*:" : "$1" fi } # end func_convert_path_msys_to_cygwin # func_convert_path_nix_to_cygwin ARG # Convert path ARG from *nix to Cygwin format. Requires Cygwin installed in a # a wine environment, working winepath, and LT_CYGPATH set. Returns result in # func_to_host_file_result. func_convert_path_nix_to_cygwin () { $debug_cmd func_to_host_path_result=$1 if test -n "$1"; then # Remove leading and trailing path separator characters from # ARG. msys behavior is inconsistent here, cygpath turns them # into '.;' and ';.', and winepath ignores them completely. func_stripname : : "$1" func_to_host_path_tmp1=$func_stripname_result func_convert_core_path_wine_to_w32 "$func_to_host_path_tmp1" func_cygpath -u -p "$func_convert_core_path_wine_to_w32_result" func_to_host_path_result=$func_cygpath_result func_convert_path_check : : \ "$func_to_host_path_tmp1" "$func_to_host_path_result" func_convert_path_front_back_pathsep ":*" "*:" : "$1" fi } # end func_convert_path_nix_to_cygwin # func_dll_def_p FILE # True iff FILE is a Windows DLL '.def' file. # Keep in sync with _LT_DLL_DEF_P in libtool.m4 func_dll_def_p () { $debug_cmd func_dll_def_p_tmp=`$SED -n \ -e 's/^[ ]*//' \ -e '/^\(;.*\)*$/d' \ -e 's/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p' \ -e q \ "$1"` test DEF = "$func_dll_def_p_tmp" } # func_mode_compile arg... func_mode_compile () { $debug_cmd # Get the compilation command and the source file. base_compile= srcfile=$nonopt # always keep a non-empty value in "srcfile" suppress_opt=yes suppress_output= arg_mode=normal libobj= later= pie_flag= for arg do case $arg_mode in arg ) # do not "continue". Instead, add this to base_compile lastarg=$arg arg_mode=normal ;; target ) libobj=$arg arg_mode=normal continue ;; normal ) # Accept any command-line options. case $arg in -o) test -n "$libobj" && \ func_fatal_error "you cannot specify '-o' more than once" arg_mode=target continue ;; -pie | -fpie | -fPIE) func_append pie_flag " $arg" continue ;; -shared | -static | -prefer-pic | -prefer-non-pic) func_append later " $arg" continue ;; -no-suppress) suppress_opt=no continue ;; -Xcompiler) arg_mode=arg # the next one goes into the "base_compile" arg list continue # The current "srcfile" will either be retained or ;; # replaced later. I would guess that would be a bug. -Wc,*) func_stripname '-Wc,' '' "$arg" args=$func_stripname_result lastarg= save_ifs=$IFS; IFS=, for arg in $args; do IFS=$save_ifs func_append_quoted lastarg "$arg" done IFS=$save_ifs func_stripname ' ' '' "$lastarg" lastarg=$func_stripname_result # Add the arguments to base_compile. func_append base_compile " $lastarg" continue ;; *) # Accept the current argument as the source file. # The previous "srcfile" becomes the current argument. # lastarg=$srcfile srcfile=$arg ;; esac # case $arg ;; esac # case $arg_mode # Aesthetically quote the previous argument. func_append_quoted base_compile "$lastarg" done # for arg case $arg_mode in arg) func_fatal_error "you must specify an argument for -Xcompile" ;; target) func_fatal_error "you must specify a target with '-o'" ;; *) # Get the name of the library object. test -z "$libobj" && { func_basename "$srcfile" libobj=$func_basename_result } ;; esac # Recognize several different file suffixes. # If the user specifies -o file.o, it is replaced with file.lo case $libobj in *.[cCFSifmso] | \ *.ada | *.adb | *.ads | *.asm | \ *.c++ | *.cc | *.ii | *.class | *.cpp | *.cxx | \ *.[fF][09]? | *.for | *.java | *.go | *.obj | *.sx | *.cu | *.cup) func_xform "$libobj" libobj=$func_xform_result ;; esac case $libobj in *.lo) func_lo2o "$libobj"; obj=$func_lo2o_result ;; *) func_fatal_error "cannot determine name of library object from '$libobj'" ;; esac func_infer_tag $base_compile for arg in $later; do case $arg in -shared) test yes = "$build_libtool_libs" \ || func_fatal_configuration "cannot build a shared library" build_old_libs=no continue ;; -static) build_libtool_libs=no build_old_libs=yes continue ;; -prefer-pic) pic_mode=yes continue ;; -prefer-non-pic) pic_mode=no continue ;; esac done func_quote_for_eval "$libobj" test "X$libobj" != "X$func_quote_for_eval_result" \ && $ECHO "X$libobj" | $GREP '[]~#^*{};<>?"'"'"' &()|`$[]' \ && func_warning "libobj name '$libobj' may not contain shell special characters." func_dirname_and_basename "$obj" "/" "" objname=$func_basename_result xdir=$func_dirname_result lobj=$xdir$objdir/$objname test -z "$base_compile" && \ func_fatal_help "you must specify a compilation command" # Delete any leftover library objects. if test yes = "$build_old_libs"; then removelist="$obj $lobj $libobj ${libobj}T" else removelist="$lobj $libobj ${libobj}T" fi # On Cygwin there's no "real" PIC flag so we must build both object types case $host_os in cygwin* | mingw* | pw32* | os2* | cegcc*) pic_mode=default ;; esac if test no = "$pic_mode" && test pass_all != "$deplibs_check_method"; then # non-PIC code in shared libraries is not supported pic_mode=default fi # Calculate the filename of the output object if compiler does # not support -o with -c if test no = "$compiler_c_o"; then output_obj=`$ECHO "$srcfile" | $SED 's%^.*/%%; s%\.[^.]*$%%'`.$objext lockfile=$output_obj.lock else output_obj= need_locks=no lockfile= fi # Lock this critical section if it is needed # We use this script file to make the link, it avoids creating a new file if test yes = "$need_locks"; then until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do func_echo "Waiting for $lockfile to be removed" sleep 2 done elif test warn = "$need_locks"; then if test -f "$lockfile"; then $ECHO "\ *** ERROR, $lockfile exists and contains: `cat $lockfile 2>/dev/null` This indicates that another process is trying to use the same temporary object file, and libtool could not work around it because your compiler does not support '-c' and '-o' together. If you repeat this compilation, it may succeed, by chance, but you had better avoid parallel builds (make -j) in this platform, or get a better compiler." $opt_dry_run || $RM $removelist exit $EXIT_FAILURE fi func_append removelist " $output_obj" $ECHO "$srcfile" > "$lockfile" fi $opt_dry_run || $RM $removelist func_append removelist " $lockfile" trap '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' 1 2 15 func_to_tool_file "$srcfile" func_convert_file_msys_to_w32 srcfile=$func_to_tool_file_result func_quote_for_eval "$srcfile" qsrcfile=$func_quote_for_eval_result # Only build a PIC object if we are building libtool libraries. if test yes = "$build_libtool_libs"; then # Without this assignment, base_compile gets emptied. fbsd_hideous_sh_bug=$base_compile if test no != "$pic_mode"; then command="$base_compile $qsrcfile $pic_flag" else # Don't build PIC code command="$base_compile $qsrcfile" fi func_mkdir_p "$xdir$objdir" if test -z "$output_obj"; then # Place PIC objects in $objdir func_append command " -o $lobj" fi func_show_eval_locale "$command" \ 'test -n "$output_obj" && $RM $removelist; exit $EXIT_FAILURE' if test warn = "$need_locks" && test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then $ECHO "\ *** ERROR, $lockfile contains: `cat $lockfile 2>/dev/null` but it should contain: $srcfile This indicates that another process is trying to use the same temporary object file, and libtool could not work around it because your compiler does not support '-c' and '-o' together. If you repeat this compilation, it may succeed, by chance, but you had better avoid parallel builds (make -j) in this platform, or get a better compiler." $opt_dry_run || $RM $removelist exit $EXIT_FAILURE fi # Just move the object if needed, then go on to compile the next one if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then func_show_eval '$MV "$output_obj" "$lobj"' \ 'error=$?; $opt_dry_run || $RM $removelist; exit $error' fi # Allow error messages only from the first compilation. if test yes = "$suppress_opt"; then suppress_output=' >/dev/null 2>&1' fi fi # Only build a position-dependent object if we build old libraries. if test yes = "$build_old_libs"; then if test yes != "$pic_mode"; then # Don't build PIC code command="$base_compile $qsrcfile$pie_flag" else command="$base_compile $qsrcfile $pic_flag" fi if test yes = "$compiler_c_o"; then func_append command " -o $obj" fi # Suppress compiler output if we already did a PIC compilation. func_append command "$suppress_output" func_show_eval_locale "$command" \ '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' if test warn = "$need_locks" && test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then $ECHO "\ *** ERROR, $lockfile contains: `cat $lockfile 2>/dev/null` but it should contain: $srcfile This indicates that another process is trying to use the same temporary object file, and libtool could not work around it because your compiler does not support '-c' and '-o' together. If you repeat this compilation, it may succeed, by chance, but you had better avoid parallel builds (make -j) in this platform, or get a better compiler." $opt_dry_run || $RM $removelist exit $EXIT_FAILURE fi # Just move the object if needed if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then func_show_eval '$MV "$output_obj" "$obj"' \ 'error=$?; $opt_dry_run || $RM $removelist; exit $error' fi fi $opt_dry_run || { func_write_libtool_object "$libobj" "$objdir/$objname" "$objname" # Unlock the critical section if it was locked if test no != "$need_locks"; then removelist=$lockfile $RM "$lockfile" fi } exit $EXIT_SUCCESS } $opt_help || { test compile = "$opt_mode" && func_mode_compile ${1+"$@"} } func_mode_help () { # We need to display help for each of the modes. case $opt_mode in "") # Generic help is extracted from the usage comments # at the start of this file. func_help ;; clean) $ECHO \ "Usage: $progname [OPTION]... --mode=clean RM [RM-OPTION]... FILE... Remove files from the build directory. RM is the name of the program to use to delete files associated with each FILE (typically '/bin/rm'). RM-OPTIONS are options (such as '-f') to be passed to RM. If FILE is a libtool library, object or program, all the files associated with it are deleted. Otherwise, only FILE itself is deleted using RM." ;; compile) $ECHO \ "Usage: $progname [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE Compile a source file into a libtool library object. This mode accepts the following additional options: -o OUTPUT-FILE set the output file name to OUTPUT-FILE -no-suppress do not suppress compiler output for multiple passes -prefer-pic try to build PIC objects only -prefer-non-pic try to build non-PIC objects only -shared do not build a '.o' file suitable for static linking -static only build a '.o' file suitable for static linking -Wc,FLAG pass FLAG directly to the compiler COMPILE-COMMAND is a command to be used in creating a 'standard' object file from the given SOURCEFILE. The output file name is determined by removing the directory component from SOURCEFILE, then substituting the C source code suffix '.c' with the library object suffix, '.lo'." ;; execute) $ECHO \ "Usage: $progname [OPTION]... --mode=execute COMMAND [ARGS]... Automatically set library path, then run a program. This mode accepts the following additional options: -dlopen FILE add the directory containing FILE to the library path This mode sets the library path environment variable according to '-dlopen' flags. If any of the ARGS are libtool executable wrappers, then they are translated into their corresponding uninstalled binary, and any of their required library directories are added to the library path. Then, COMMAND is executed, with ARGS as arguments." ;; finish) $ECHO \ "Usage: $progname [OPTION]... --mode=finish [LIBDIR]... Complete the installation of libtool libraries. Each LIBDIR is a directory that contains libtool libraries. The commands that this mode executes may require superuser privileges. Use the '--dry-run' option if you just want to see what would be executed." ;; install) $ECHO \ "Usage: $progname [OPTION]... --mode=install INSTALL-COMMAND... Install executables or libraries. INSTALL-COMMAND is the installation command. The first component should be either the 'install' or 'cp' program. The following components of INSTALL-COMMAND are treated specially: -inst-prefix-dir PREFIX-DIR Use PREFIX-DIR as a staging area for installation The rest of the components are interpreted as arguments to that command (only BSD-compatible install options are recognized)." ;; link) $ECHO \ "Usage: $progname [OPTION]... --mode=link LINK-COMMAND... Link object files or libraries together to form another library, or to create an executable program. LINK-COMMAND is a command using the C compiler that you would use to create a program from several object files. The following components of LINK-COMMAND are treated specially: -all-static do not do any dynamic linking at all -avoid-version do not add a version suffix if possible -bindir BINDIR specify path to binaries directory (for systems where libraries must be found in the PATH setting at runtime) -dlopen FILE '-dlpreopen' FILE if it cannot be dlopened at runtime -dlpreopen FILE link in FILE and add its symbols to lt_preloaded_symbols -export-dynamic allow symbols from OUTPUT-FILE to be resolved with dlsym(3) -export-symbols SYMFILE try to export only the symbols listed in SYMFILE -export-symbols-regex REGEX try to export only the symbols matching REGEX -LLIBDIR search LIBDIR for required installed libraries -lNAME OUTPUT-FILE requires the installed library libNAME -module build a library that can dlopened -no-fast-install disable the fast-install mode -no-install link a not-installable executable -no-undefined declare that a library does not refer to external symbols -o OUTPUT-FILE create OUTPUT-FILE from the specified objects -objectlist FILE use a list of object files found in FILE to specify objects -os2dllname NAME force a short DLL name on OS/2 (no effect on other OSes) -precious-files-regex REGEX don't remove output files matching REGEX -release RELEASE specify package release information -rpath LIBDIR the created library will eventually be installed in LIBDIR -R[ ]LIBDIR add LIBDIR to the runtime path of programs and libraries -shared only do dynamic linking of libtool libraries -shrext SUFFIX override the standard shared library file extension -static do not do any dynamic linking of uninstalled libtool libraries -static-libtool-libs do not do any dynamic linking of libtool libraries -version-info CURRENT[:REVISION[:AGE]] specify library version info [each variable defaults to 0] -weak LIBNAME declare that the target provides the LIBNAME interface -Wc,FLAG -Xcompiler FLAG pass linker-specific FLAG directly to the compiler -Wl,FLAG -Xlinker FLAG pass linker-specific FLAG directly to the linker -XCClinker FLAG pass link-specific FLAG to the compiler driver (CC) All other options (arguments beginning with '-') are ignored. Every other argument is treated as a filename. Files ending in '.la' are treated as uninstalled libtool libraries, other files are standard or library object files. If the OUTPUT-FILE ends in '.la', then a libtool library is created, only library objects ('.lo' files) may be specified, and '-rpath' is required, except when creating a convenience library. If OUTPUT-FILE ends in '.a' or '.lib', then a standard library is created using 'ar' and 'ranlib', or on Windows using 'lib'. If OUTPUT-FILE ends in '.lo' or '.$objext', then a reloadable object file is created, otherwise an executable program is created." ;; uninstall) $ECHO \ "Usage: $progname [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE... Remove libraries from an installation directory. RM is the name of the program to use to delete files associated with each FILE (typically '/bin/rm'). RM-OPTIONS are options (such as '-f') to be passed to RM. If FILE is a libtool library, all the files associated with it are deleted. Otherwise, only FILE itself is deleted using RM." ;; *) func_fatal_help "invalid operation mode '$opt_mode'" ;; esac echo $ECHO "Try '$progname --help' for more information about other modes." } # Now that we've collected a possible --mode arg, show help if necessary if $opt_help; then if test : = "$opt_help"; then func_mode_help else { func_help noexit for opt_mode in compile link execute install finish uninstall clean; do func_mode_help done } | $SED -n '1p; 2,$s/^Usage:/ or: /p' { func_help noexit for opt_mode in compile link execute install finish uninstall clean; do echo func_mode_help done } | $SED '1d /^When reporting/,/^Report/{ H d } $x /information about other modes/d /more detailed .*MODE/d s/^Usage:.*--mode=\([^ ]*\) .*/Description of \1 mode:/' fi exit $? fi # func_mode_execute arg... func_mode_execute () { $debug_cmd # The first argument is the command name. cmd=$nonopt test -z "$cmd" && \ func_fatal_help "you must specify a COMMAND" # Handle -dlopen flags immediately. for file in $opt_dlopen; do test -f "$file" \ || func_fatal_help "'$file' is not a file" dir= case $file in *.la) func_resolve_sysroot "$file" file=$func_resolve_sysroot_result # Check to see that this really is a libtool archive. func_lalib_unsafe_p "$file" \ || func_fatal_help "'$lib' is not a valid libtool archive" # Read the libtool library. dlname= library_names= func_source "$file" # Skip this library if it cannot be dlopened. if test -z "$dlname"; then # Warn if it was a shared library. test -n "$library_names" && \ func_warning "'$file' was not linked with '-export-dynamic'" continue fi func_dirname "$file" "" "." dir=$func_dirname_result if test -f "$dir/$objdir/$dlname"; then func_append dir "/$objdir" else if test ! -f "$dir/$dlname"; then func_fatal_error "cannot find '$dlname' in '$dir' or '$dir/$objdir'" fi fi ;; *.lo) # Just add the directory containing the .lo file. func_dirname "$file" "" "." dir=$func_dirname_result ;; *) func_warning "'-dlopen' is ignored for non-libtool libraries and objects" continue ;; esac # Get the absolute pathname. absdir=`cd "$dir" && pwd` test -n "$absdir" && dir=$absdir # Now add the directory to shlibpath_var. if eval "test -z \"\$$shlibpath_var\""; then eval "$shlibpath_var=\"\$dir\"" else eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\"" fi done # This variable tells wrapper scripts just to set shlibpath_var # rather than running their programs. libtool_execute_magic=$magic # Check if any of the arguments is a wrapper script. args= for file do case $file in -* | *.la | *.lo ) ;; *) # Do a test to see if this is really a libtool program. if func_ltwrapper_script_p "$file"; then func_source "$file" # Transform arg to wrapped name. file=$progdir/$program elif func_ltwrapper_executable_p "$file"; then func_ltwrapper_scriptname "$file" func_source "$func_ltwrapper_scriptname_result" # Transform arg to wrapped name. file=$progdir/$program fi ;; esac # Quote arguments (to preserve shell metacharacters). func_append_quoted args "$file" done if $opt_dry_run; then # Display what would be done. if test -n "$shlibpath_var"; then eval "\$ECHO \"\$shlibpath_var=\$$shlibpath_var\"" echo "export $shlibpath_var" fi $ECHO "$cmd$args" exit $EXIT_SUCCESS else if test -n "$shlibpath_var"; then # Export the shlibpath_var. eval "export $shlibpath_var" fi # Restore saved environment variables for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES do eval "if test \"\${save_$lt_var+set}\" = set; then $lt_var=\$save_$lt_var; export $lt_var else $lt_unset $lt_var fi" done # Now prepare to actually exec the command. exec_cmd=\$cmd$args fi } test execute = "$opt_mode" && func_mode_execute ${1+"$@"} # func_mode_finish arg... func_mode_finish () { $debug_cmd libs= libdirs= admincmds= for opt in "$nonopt" ${1+"$@"} do if test -d "$opt"; then func_append libdirs " $opt" elif test -f "$opt"; then if func_lalib_unsafe_p "$opt"; then func_append libs " $opt" else func_warning "'$opt' is not a valid libtool archive" fi else func_fatal_error "invalid argument '$opt'" fi done if test -n "$libs"; then if test -n "$lt_sysroot"; then sysroot_regex=`$ECHO "$lt_sysroot" | $SED "$sed_make_literal_regex"` sysroot_cmd="s/\([ ']\)$sysroot_regex/\1/g;" else sysroot_cmd= fi # Remove sysroot references if $opt_dry_run; then for lib in $libs; do echo "removing references to $lt_sysroot and '=' prefixes from $lib" done else tmpdir=`func_mktempdir` for lib in $libs; do $SED -e "$sysroot_cmd s/\([ ']-[LR]\)=/\1/g; s/\([ ']\)=/\1/g" $lib \ > $tmpdir/tmp-la mv -f $tmpdir/tmp-la $lib done ${RM}r "$tmpdir" fi fi if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then for libdir in $libdirs; do if test -n "$finish_cmds"; then # Do each command in the finish commands. func_execute_cmds "$finish_cmds" 'admincmds="$admincmds '"$cmd"'"' fi if test -n "$finish_eval"; then # Do the single finish_eval. eval cmds=\"$finish_eval\" $opt_dry_run || eval "$cmds" || func_append admincmds " $cmds" fi done fi # Exit here if they wanted silent mode. $opt_quiet && exit $EXIT_SUCCESS if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then echo "----------------------------------------------------------------------" echo "Libraries have been installed in:" for libdir in $libdirs; do $ECHO " $libdir" done echo echo "If you ever happen to want to link against installed libraries" echo "in a given directory, LIBDIR, you must either use libtool, and" echo "specify the full pathname of the library, or use the '-LLIBDIR'" echo "flag during linking and do at least one of the following:" if test -n "$shlibpath_var"; then echo " - add LIBDIR to the '$shlibpath_var' environment variable" echo " during execution" fi if test -n "$runpath_var"; then echo " - add LIBDIR to the '$runpath_var' environment variable" echo " during linking" fi if test -n "$hardcode_libdir_flag_spec"; then libdir=LIBDIR eval flag=\"$hardcode_libdir_flag_spec\" $ECHO " - use the '$flag' linker flag" fi if test -n "$admincmds"; then $ECHO " - have your system administrator run these commands:$admincmds" fi if test -f /etc/ld.so.conf; then echo " - have your system administrator add LIBDIR to '/etc/ld.so.conf'" fi echo echo "See any operating system documentation about shared libraries for" case $host in solaris2.[6789]|solaris2.1[0-9]) echo "more information, such as the ld(1), crle(1) and ld.so(8) manual" echo "pages." ;; *) echo "more information, such as the ld(1) and ld.so(8) manual pages." ;; esac echo "----------------------------------------------------------------------" fi exit $EXIT_SUCCESS } test finish = "$opt_mode" && func_mode_finish ${1+"$@"} # func_mode_install arg... func_mode_install () { $debug_cmd # There may be an optional sh(1) argument at the beginning of # install_prog (especially on Windows NT). if test "$SHELL" = "$nonopt" || test /bin/sh = "$nonopt" || # Allow the use of GNU shtool's install command. case $nonopt in *shtool*) :;; *) false;; esac then # Aesthetically quote it. func_quote_for_eval "$nonopt" install_prog="$func_quote_for_eval_result " arg=$1 shift else install_prog= arg=$nonopt fi # The real first argument should be the name of the installation program. # Aesthetically quote it. func_quote_for_eval "$arg" func_append install_prog "$func_quote_for_eval_result" install_shared_prog=$install_prog case " $install_prog " in *[\\\ /]cp\ *) install_cp=: ;; *) install_cp=false ;; esac # We need to accept at least all the BSD install flags. dest= files= opts= prev= install_type= isdir=false stripme= no_mode=: for arg do arg2= if test -n "$dest"; then func_append files " $dest" dest=$arg continue fi case $arg in -d) isdir=: ;; -f) if $install_cp; then :; else prev=$arg fi ;; -g | -m | -o) prev=$arg ;; -s) stripme=" -s" continue ;; -*) ;; *) # If the previous option needed an argument, then skip it. if test -n "$prev"; then if test X-m = "X$prev" && test -n "$install_override_mode"; then arg2=$install_override_mode no_mode=false fi prev= else dest=$arg continue fi ;; esac # Aesthetically quote the argument. func_quote_for_eval "$arg" func_append install_prog " $func_quote_for_eval_result" if test -n "$arg2"; then func_quote_for_eval "$arg2" fi func_append install_shared_prog " $func_quote_for_eval_result" done test -z "$install_prog" && \ func_fatal_help "you must specify an install program" test -n "$prev" && \ func_fatal_help "the '$prev' option requires an argument" if test -n "$install_override_mode" && $no_mode; then if $install_cp; then :; else func_quote_for_eval "$install_override_mode" func_append install_shared_prog " -m $func_quote_for_eval_result" fi fi if test -z "$files"; then if test -z "$dest"; then func_fatal_help "no file or destination specified" else func_fatal_help "you must specify a destination" fi fi # Strip any trailing slash from the destination. func_stripname '' '/' "$dest" dest=$func_stripname_result # Check to see that the destination is a directory. test -d "$dest" && isdir=: if $isdir; then destdir=$dest destname= else func_dirname_and_basename "$dest" "" "." destdir=$func_dirname_result destname=$func_basename_result # Not a directory, so check to see that there is only one file specified. set dummy $files; shift test "$#" -gt 1 && \ func_fatal_help "'$dest' is not a directory" fi case $destdir in [\\/]* | [A-Za-z]:[\\/]*) ;; *) for file in $files; do case $file in *.lo) ;; *) func_fatal_help "'$destdir' must be an absolute directory name" ;; esac done ;; esac # This variable tells wrapper scripts just to set variables rather # than running their programs. libtool_install_magic=$magic staticlibs= future_libdirs= current_libdirs= for file in $files; do # Do each installation. case $file in *.$libext) # Do the static libraries later. func_append staticlibs " $file" ;; *.la) func_resolve_sysroot "$file" file=$func_resolve_sysroot_result # Check to see that this really is a libtool archive. func_lalib_unsafe_p "$file" \ || func_fatal_help "'$file' is not a valid libtool archive" library_names= old_library= relink_command= func_source "$file" # Add the libdir to current_libdirs if it is the destination. if test "X$destdir" = "X$libdir"; then case "$current_libdirs " in *" $libdir "*) ;; *) func_append current_libdirs " $libdir" ;; esac else # Note the libdir as a future libdir. case "$future_libdirs " in *" $libdir "*) ;; *) func_append future_libdirs " $libdir" ;; esac fi func_dirname "$file" "/" "" dir=$func_dirname_result func_append dir "$objdir" if test -n "$relink_command"; then # Determine the prefix the user has applied to our future dir. inst_prefix_dir=`$ECHO "$destdir" | $SED -e "s%$libdir\$%%"` # Don't allow the user to place us outside of our expected # location b/c this prevents finding dependent libraries that # are installed to the same prefix. # At present, this check doesn't affect windows .dll's that # are installed into $libdir/../bin (currently, that works fine) # but it's something to keep an eye on. test "$inst_prefix_dir" = "$destdir" && \ func_fatal_error "error: cannot install '$file' to a directory not ending in $libdir" if test -n "$inst_prefix_dir"; then # Stick the inst_prefix_dir data into the link command. relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"` else relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@%%"` fi func_warning "relinking '$file'" func_show_eval "$relink_command" \ 'func_fatal_error "error: relink '\''$file'\'' with the above command before installing it"' fi # See the names of the shared library. set dummy $library_names; shift if test -n "$1"; then realname=$1 shift srcname=$realname test -n "$relink_command" && srcname=${realname}T # Install the shared library and build the symlinks. func_show_eval "$install_shared_prog $dir/$srcname $destdir/$realname" \ 'exit $?' tstripme=$stripme case $host_os in cygwin* | mingw* | pw32* | cegcc*) case $realname in *.dll.a) tstripme= ;; esac ;; os2*) case $realname in *_dll.a) tstripme= ;; esac ;; esac if test -n "$tstripme" && test -n "$striplib"; then func_show_eval "$striplib $destdir/$realname" 'exit $?' fi if test "$#" -gt 0; then # Delete the old symlinks, and create new ones. # Try 'ln -sf' first, because the 'ln' binary might depend on # the symlink we replace! Solaris /bin/ln does not understand -f, # so we also need to try rm && ln -s. for linkname do test "$linkname" != "$realname" \ && func_show_eval "(cd $destdir && { $LN_S -f $realname $linkname || { $RM $linkname && $LN_S $realname $linkname; }; })" done fi # Do each command in the postinstall commands. lib=$destdir/$realname func_execute_cmds "$postinstall_cmds" 'exit $?' fi # Install the pseudo-library for information purposes. func_basename "$file" name=$func_basename_result instname=$dir/${name}i func_show_eval "$install_prog $instname $destdir/$name" 'exit $?' # Maybe install the static library, too. test -n "$old_library" && func_append staticlibs " $dir/$old_library" ;; *.lo) # Install (i.e. copy) a libtool object. # Figure out destination file name, if it wasn't already specified. if test -n "$destname"; then destfile=$destdir/$destname else func_basename "$file" destfile=$func_basename_result destfile=$destdir/$destfile fi # Deduce the name of the destination old-style object file. case $destfile in *.lo) func_lo2o "$destfile" staticdest=$func_lo2o_result ;; *.$objext) staticdest=$destfile destfile= ;; *) func_fatal_help "cannot copy a libtool object to '$destfile'" ;; esac # Install the libtool object if requested. test -n "$destfile" && \ func_show_eval "$install_prog $file $destfile" 'exit $?' # Install the old object if enabled. if test yes = "$build_old_libs"; then # Deduce the name of the old-style object file. func_lo2o "$file" staticobj=$func_lo2o_result func_show_eval "$install_prog \$staticobj \$staticdest" 'exit $?' fi exit $EXIT_SUCCESS ;; *) # Figure out destination file name, if it wasn't already specified. if test -n "$destname"; then destfile=$destdir/$destname else func_basename "$file" destfile=$func_basename_result destfile=$destdir/$destfile fi # If the file is missing, and there is a .exe on the end, strip it # because it is most likely a libtool script we actually want to # install stripped_ext= case $file in *.exe) if test ! -f "$file"; then func_stripname '' '.exe' "$file" file=$func_stripname_result stripped_ext=.exe fi ;; esac # Do a test to see if this is really a libtool program. case $host in *cygwin* | *mingw*) if func_ltwrapper_executable_p "$file"; then func_ltwrapper_scriptname "$file" wrapper=$func_ltwrapper_scriptname_result else func_stripname '' '.exe' "$file" wrapper=$func_stripname_result fi ;; *) wrapper=$file ;; esac if func_ltwrapper_script_p "$wrapper"; then notinst_deplibs= relink_command= func_source "$wrapper" # Check the variables that should have been set. test -z "$generated_by_libtool_version" && \ func_fatal_error "invalid libtool wrapper script '$wrapper'" finalize=: for lib in $notinst_deplibs; do # Check to see that each library is installed. libdir= if test -f "$lib"; then func_source "$lib" fi libfile=$libdir/`$ECHO "$lib" | $SED 's%^.*/%%g'` if test -n "$libdir" && test ! -f "$libfile"; then func_warning "'$lib' has not been installed in '$libdir'" finalize=false fi done relink_command= func_source "$wrapper" outputname= if test no = "$fast_install" && test -n "$relink_command"; then $opt_dry_run || { if $finalize; then tmpdir=`func_mktempdir` func_basename "$file$stripped_ext" file=$func_basename_result outputname=$tmpdir/$file # Replace the output file specification. relink_command=`$ECHO "$relink_command" | $SED 's%@OUTPUT@%'"$outputname"'%g'` $opt_quiet || { func_quote_for_expand "$relink_command" eval "func_echo $func_quote_for_expand_result" } if eval "$relink_command"; then : else func_error "error: relink '$file' with the above command before installing it" $opt_dry_run || ${RM}r "$tmpdir" continue fi file=$outputname else func_warning "cannot relink '$file'" fi } else # Install the binary that we compiled earlier. file=`$ECHO "$file$stripped_ext" | $SED "s%\([^/]*\)$%$objdir/\1%"` fi fi # remove .exe since cygwin /usr/bin/install will append another # one anyway case $install_prog,$host in */usr/bin/install*,*cygwin*) case $file:$destfile in *.exe:*.exe) # this is ok ;; *.exe:*) destfile=$destfile.exe ;; *:*.exe) func_stripname '' '.exe' "$destfile" destfile=$func_stripname_result ;; esac ;; esac func_show_eval "$install_prog\$stripme \$file \$destfile" 'exit $?' $opt_dry_run || if test -n "$outputname"; then ${RM}r "$tmpdir" fi ;; esac done for file in $staticlibs; do func_basename "$file" name=$func_basename_result # Set up the ranlib parameters. oldlib=$destdir/$name func_to_tool_file "$oldlib" func_convert_file_msys_to_w32 tool_oldlib=$func_to_tool_file_result func_show_eval "$install_prog \$file \$oldlib" 'exit $?' if test -n "$stripme" && test -n "$old_striplib"; then func_show_eval "$old_striplib $tool_oldlib" 'exit $?' fi # Do each command in the postinstall commands. func_execute_cmds "$old_postinstall_cmds" 'exit $?' done test -n "$future_libdirs" && \ func_warning "remember to run '$progname --finish$future_libdirs'" if test -n "$current_libdirs"; then # Maybe just do a dry run. $opt_dry_run && current_libdirs=" -n$current_libdirs" exec_cmd='$SHELL "$progpath" $preserve_args --finish$current_libdirs' else exit $EXIT_SUCCESS fi } test install = "$opt_mode" && func_mode_install ${1+"$@"} # func_generate_dlsyms outputname originator pic_p # Extract symbols from dlprefiles and create ${outputname}S.o with # a dlpreopen symbol table. func_generate_dlsyms () { $debug_cmd my_outputname=$1 my_originator=$2 my_pic_p=${3-false} my_prefix=`$ECHO "$my_originator" | $SED 's%[^a-zA-Z0-9]%_%g'` my_dlsyms= if test -n "$dlfiles$dlprefiles" || test no != "$dlself"; then if test -n "$NM" && test -n "$global_symbol_pipe"; then my_dlsyms=${my_outputname}S.c else func_error "not configured to extract global symbols from dlpreopened files" fi fi if test -n "$my_dlsyms"; then case $my_dlsyms in "") ;; *.c) # Discover the nlist of each of the dlfiles. nlist=$output_objdir/$my_outputname.nm func_show_eval "$RM $nlist ${nlist}S ${nlist}T" # Parse the name list into a source file. func_verbose "creating $output_objdir/$my_dlsyms" $opt_dry_run || $ECHO > "$output_objdir/$my_dlsyms" "\ /* $my_dlsyms - symbol resolution table for '$my_outputname' dlsym emulation. */ /* Generated by $PROGRAM (GNU $PACKAGE) $VERSION */ #ifdef __cplusplus extern \"C\" { #endif #if defined __GNUC__ && (((__GNUC__ == 4) && (__GNUC_MINOR__ >= 4)) || (__GNUC__ > 4)) #pragma GCC diagnostic ignored \"-Wstrict-prototypes\" #endif /* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ #if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE /* DATA imports from DLLs on WIN32 can't be const, because runtime relocations are performed -- see ld's documentation on pseudo-relocs. */ # define LT_DLSYM_CONST #elif defined __osf__ /* This system does not cope well with relocations in const data. */ # define LT_DLSYM_CONST #else # define LT_DLSYM_CONST const #endif #define STREQ(s1, s2) (strcmp ((s1), (s2)) == 0) /* External symbol declarations for the compiler. */\ " if test yes = "$dlself"; then func_verbose "generating symbol list for '$output'" $opt_dry_run || echo ': @PROGRAM@ ' > "$nlist" # Add our own program objects to the symbol list. progfiles=`$ECHO "$objs$old_deplibs" | $SP2NL | $SED "$lo2o" | $NL2SP` for progfile in $progfiles; do func_to_tool_file "$progfile" func_convert_file_msys_to_w32 func_verbose "extracting global C symbols from '$func_to_tool_file_result'" $opt_dry_run || eval "$NM $func_to_tool_file_result | $global_symbol_pipe >> '$nlist'" done if test -n "$exclude_expsyms"; then $opt_dry_run || { eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T' eval '$MV "$nlist"T "$nlist"' } fi if test -n "$export_symbols_regex"; then $opt_dry_run || { eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T' eval '$MV "$nlist"T "$nlist"' } fi # Prepare the list of exported symbols if test -z "$export_symbols"; then export_symbols=$output_objdir/$outputname.exp $opt_dry_run || { $RM $export_symbols eval "$SED -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"' case $host in *cygwin* | *mingw* | *cegcc* ) eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"' ;; esac } else $opt_dry_run || { eval "$SED -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"' eval '$GREP -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T' eval '$MV "$nlist"T "$nlist"' case $host in *cygwin* | *mingw* | *cegcc* ) eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' eval 'cat "$nlist" >> "$output_objdir/$outputname.def"' ;; esac } fi fi for dlprefile in $dlprefiles; do func_verbose "extracting global C symbols from '$dlprefile'" func_basename "$dlprefile" name=$func_basename_result case $host in *cygwin* | *mingw* | *cegcc* ) # if an import library, we need to obtain dlname if func_win32_import_lib_p "$dlprefile"; then func_tr_sh "$dlprefile" eval "curr_lafile=\$libfile_$func_tr_sh_result" dlprefile_dlbasename= if test -n "$curr_lafile" && func_lalib_p "$curr_lafile"; then # Use subshell, to avoid clobbering current variable values dlprefile_dlname=`source "$curr_lafile" && echo "$dlname"` if test -n "$dlprefile_dlname"; then func_basename "$dlprefile_dlname" dlprefile_dlbasename=$func_basename_result else # no lafile. user explicitly requested -dlpreopen . $sharedlib_from_linklib_cmd "$dlprefile" dlprefile_dlbasename=$sharedlib_from_linklib_result fi fi $opt_dry_run || { if test -n "$dlprefile_dlbasename"; then eval '$ECHO ": $dlprefile_dlbasename" >> "$nlist"' else func_warning "Could not compute DLL name from $name" eval '$ECHO ": $name " >> "$nlist"' fi func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32 eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe | $SED -e '/I __imp/d' -e 's/I __nm_/D /;s/_nm__//' >> '$nlist'" } else # not an import lib $opt_dry_run || { eval '$ECHO ": $name " >> "$nlist"' func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32 eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe >> '$nlist'" } fi ;; *) $opt_dry_run || { eval '$ECHO ": $name " >> "$nlist"' func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32 eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe >> '$nlist'" } ;; esac done $opt_dry_run || { # Make sure we have at least an empty file. test -f "$nlist" || : > "$nlist" if test -n "$exclude_expsyms"; then $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T $MV "$nlist"T "$nlist" fi # Try sorting and uniquifying the output. if $GREP -v "^: " < "$nlist" | if sort -k 3 /dev/null 2>&1; then sort -k 3 else sort +2 fi | uniq > "$nlist"S; then : else $GREP -v "^: " < "$nlist" > "$nlist"S fi if test -f "$nlist"S; then eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$my_dlsyms"' else echo '/* NONE */' >> "$output_objdir/$my_dlsyms" fi func_show_eval '$RM "${nlist}I"' if test -n "$global_symbol_to_import"; then eval "$global_symbol_to_import"' < "$nlist"S > "$nlist"I' fi echo >> "$output_objdir/$my_dlsyms" "\ /* The mapping between symbol names and symbols. */ typedef struct { const char *name; void *address; } lt_dlsymlist; extern LT_DLSYM_CONST lt_dlsymlist lt_${my_prefix}_LTX_preloaded_symbols[];\ " if test -s "$nlist"I; then echo >> "$output_objdir/$my_dlsyms" "\ static void lt_syminit(void) { LT_DLSYM_CONST lt_dlsymlist *symbol = lt_${my_prefix}_LTX_preloaded_symbols; for (; symbol->name; ++symbol) {" $SED 's/.*/ if (STREQ (symbol->name, \"&\")) symbol->address = (void *) \&&;/' < "$nlist"I >> "$output_objdir/$my_dlsyms" echo >> "$output_objdir/$my_dlsyms" "\ } }" fi echo >> "$output_objdir/$my_dlsyms" "\ LT_DLSYM_CONST lt_dlsymlist lt_${my_prefix}_LTX_preloaded_symbols[] = { {\"$my_originator\", (void *) 0}," if test -s "$nlist"I; then echo >> "$output_objdir/$my_dlsyms" "\ {\"@INIT@\", (void *) <_syminit}," fi case $need_lib_prefix in no) eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$my_dlsyms" ;; *) eval "$global_symbol_to_c_name_address_lib_prefix" < "$nlist" >> "$output_objdir/$my_dlsyms" ;; esac echo >> "$output_objdir/$my_dlsyms" "\ {0, (void *) 0} }; /* This works around a problem in FreeBSD linker */ #ifdef FREEBSD_WORKAROUND static const void *lt_preloaded_setup() { return lt_${my_prefix}_LTX_preloaded_symbols; } #endif #ifdef __cplusplus } #endif\ " } # !$opt_dry_run pic_flag_for_symtable= case "$compile_command " in *" -static "*) ;; *) case $host in # compiling the symbol table file with pic_flag works around # a FreeBSD bug that causes programs to crash when -lm is # linked before any other PIC object. But we must not use # pic_flag when linking with -static. The problem exists in # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1. *-*-freebsd2.*|*-*-freebsd3.0*|*-*-freebsdelf3.0*) pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND" ;; *-*-hpux*) pic_flag_for_symtable=" $pic_flag" ;; *) $my_pic_p && pic_flag_for_symtable=" $pic_flag" ;; esac ;; esac symtab_cflags= for arg in $LTCFLAGS; do case $arg in -pie | -fpie | -fPIE) ;; *) func_append symtab_cflags " $arg" ;; esac done # Now compile the dynamic symbol file. func_show_eval '(cd $output_objdir && $LTCC$symtab_cflags -c$no_builtin_flag$pic_flag_for_symtable "$my_dlsyms")' 'exit $?' # Clean up the generated files. func_show_eval '$RM "$output_objdir/$my_dlsyms" "$nlist" "${nlist}S" "${nlist}T" "${nlist}I"' # Transform the symbol file into the correct name. symfileobj=$output_objdir/${my_outputname}S.$objext case $host in *cygwin* | *mingw* | *cegcc* ) if test -f "$output_objdir/$my_outputname.def"; then compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"` finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"` else compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$symfileobj%"` finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$symfileobj%"` fi ;; *) compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$symfileobj%"` finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$symfileobj%"` ;; esac ;; *) func_fatal_error "unknown suffix for '$my_dlsyms'" ;; esac else # We keep going just in case the user didn't refer to # lt_preloaded_symbols. The linker will fail if global_symbol_pipe # really was required. # Nullify the symbol file. compile_command=`$ECHO "$compile_command" | $SED "s% @SYMFILE@%%"` finalize_command=`$ECHO "$finalize_command" | $SED "s% @SYMFILE@%%"` fi } # func_cygming_gnu_implib_p ARG # This predicate returns with zero status (TRUE) if # ARG is a GNU/binutils-style import library. Returns # with nonzero status (FALSE) otherwise. func_cygming_gnu_implib_p () { $debug_cmd func_to_tool_file "$1" func_convert_file_msys_to_w32 func_cygming_gnu_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $EGREP ' (_head_[A-Za-z0-9_]+_[ad]l*|[A-Za-z0-9_]+_[ad]l*_iname)$'` test -n "$func_cygming_gnu_implib_tmp" } # func_cygming_ms_implib_p ARG # This predicate returns with zero status (TRUE) if # ARG is an MS-style import library. Returns # with nonzero status (FALSE) otherwise. func_cygming_ms_implib_p () { $debug_cmd func_to_tool_file "$1" func_convert_file_msys_to_w32 func_cygming_ms_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $GREP '_NULL_IMPORT_DESCRIPTOR'` test -n "$func_cygming_ms_implib_tmp" } # func_win32_libid arg # return the library type of file 'arg' # # Need a lot of goo to handle *both* DLLs and import libs # Has to be a shell function in order to 'eat' the argument # that is supplied when $file_magic_command is called. # Despite the name, also deal with 64 bit binaries. func_win32_libid () { $debug_cmd win32_libid_type=unknown win32_fileres=`file -L $1 2>/dev/null` case $win32_fileres in *ar\ archive\ import\ library*) # definitely import win32_libid_type="x86 archive import" ;; *ar\ archive*) # could be an import, or static # Keep the egrep pattern in sync with the one in _LT_CHECK_MAGIC_METHOD. if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null | $EGREP 'file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' >/dev/null; then case $nm_interface in "MS dumpbin") if func_cygming_ms_implib_p "$1" || func_cygming_gnu_implib_p "$1" then win32_nmres=import else win32_nmres= fi ;; *) func_to_tool_file "$1" func_convert_file_msys_to_w32 win32_nmres=`eval $NM -f posix -A \"$func_to_tool_file_result\" | $SED -n -e ' 1,100{ / I /{ s|.*|import| p q } }'` ;; esac case $win32_nmres in import*) win32_libid_type="x86 archive import";; *) win32_libid_type="x86 archive static";; esac fi ;; *DLL*) win32_libid_type="x86 DLL" ;; *executable*) # but shell scripts are "executable" too... case $win32_fileres in *MS\ Windows\ PE\ Intel*) win32_libid_type="x86 DLL" ;; esac ;; esac $ECHO "$win32_libid_type" } # func_cygming_dll_for_implib ARG # # Platform-specific function to extract the # name of the DLL associated with the specified # import library ARG. # Invoked by eval'ing the libtool variable # $sharedlib_from_linklib_cmd # Result is available in the variable # $sharedlib_from_linklib_result func_cygming_dll_for_implib () { $debug_cmd sharedlib_from_linklib_result=`$DLLTOOL --identify-strict --identify "$1"` } # func_cygming_dll_for_implib_fallback_core SECTION_NAME LIBNAMEs # # The is the core of a fallback implementation of a # platform-specific function to extract the name of the # DLL associated with the specified import library LIBNAME. # # SECTION_NAME is either .idata$6 or .idata$7, depending # on the platform and compiler that created the implib. # # Echos the name of the DLL associated with the # specified import library. func_cygming_dll_for_implib_fallback_core () { $debug_cmd match_literal=`$ECHO "$1" | $SED "$sed_make_literal_regex"` $OBJDUMP -s --section "$1" "$2" 2>/dev/null | $SED '/^Contents of section '"$match_literal"':/{ # Place marker at beginning of archive member dllname section s/.*/====MARK====/ p d } # These lines can sometimes be longer than 43 characters, but # are always uninteresting /:[ ]*file format pe[i]\{,1\}-/d /^In archive [^:]*:/d # Ensure marker is printed /^====MARK====/p # Remove all lines with less than 43 characters /^.\{43\}/!d # From remaining lines, remove first 43 characters s/^.\{43\}//' | $SED -n ' # Join marker and all lines until next marker into a single line /^====MARK====/ b para H $ b para b :para x s/\n//g # Remove the marker s/^====MARK====// # Remove trailing dots and whitespace s/[\. \t]*$// # Print /./p' | # we now have a list, one entry per line, of the stringified # contents of the appropriate section of all members of the # archive that possess that section. Heuristic: eliminate # all those that have a first or second character that is # a '.' (that is, objdump's representation of an unprintable # character.) This should work for all archives with less than # 0x302f exports -- but will fail for DLLs whose name actually # begins with a literal '.' or a single character followed by # a '.'. # # Of those that remain, print the first one. $SED -e '/^\./d;/^.\./d;q' } # func_cygming_dll_for_implib_fallback ARG # Platform-specific function to extract the # name of the DLL associated with the specified # import library ARG. # # This fallback implementation is for use when $DLLTOOL # does not support the --identify-strict option. # Invoked by eval'ing the libtool variable # $sharedlib_from_linklib_cmd # Result is available in the variable # $sharedlib_from_linklib_result func_cygming_dll_for_implib_fallback () { $debug_cmd if func_cygming_gnu_implib_p "$1"; then # binutils import library sharedlib_from_linklib_result=`func_cygming_dll_for_implib_fallback_core '.idata$7' "$1"` elif func_cygming_ms_implib_p "$1"; then # ms-generated import library sharedlib_from_linklib_result=`func_cygming_dll_for_implib_fallback_core '.idata$6' "$1"` else # unknown sharedlib_from_linklib_result= fi } # func_extract_an_archive dir oldlib func_extract_an_archive () { $debug_cmd f_ex_an_ar_dir=$1; shift f_ex_an_ar_oldlib=$1 if test yes = "$lock_old_archive_extraction"; then lockfile=$f_ex_an_ar_oldlib.lock until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do func_echo "Waiting for $lockfile to be removed" sleep 2 done fi func_show_eval "(cd \$f_ex_an_ar_dir && $AR x \"\$f_ex_an_ar_oldlib\")" \ 'stat=$?; rm -f "$lockfile"; exit $stat' if test yes = "$lock_old_archive_extraction"; then $opt_dry_run || rm -f "$lockfile" fi if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then : else func_fatal_error "object name conflicts in archive: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib" fi } # func_extract_archives gentop oldlib ... func_extract_archives () { $debug_cmd my_gentop=$1; shift my_oldlibs=${1+"$@"} my_oldobjs= my_xlib= my_xabs= my_xdir= for my_xlib in $my_oldlibs; do # Extract the objects. case $my_xlib in [\\/]* | [A-Za-z]:[\\/]*) my_xabs=$my_xlib ;; *) my_xabs=`pwd`"/$my_xlib" ;; esac func_basename "$my_xlib" my_xlib=$func_basename_result my_xlib_u=$my_xlib while :; do case " $extracted_archives " in *" $my_xlib_u "*) func_arith $extracted_serial + 1 extracted_serial=$func_arith_result my_xlib_u=lt$extracted_serial-$my_xlib ;; *) break ;; esac done extracted_archives="$extracted_archives $my_xlib_u" my_xdir=$my_gentop/$my_xlib_u func_mkdir_p "$my_xdir" case $host in *-darwin*) func_verbose "Extracting $my_xabs" # Do not bother doing anything if just a dry run $opt_dry_run || { darwin_orig_dir=`pwd` cd $my_xdir || exit $? darwin_archive=$my_xabs darwin_curdir=`pwd` func_basename "$darwin_archive" darwin_base_archive=$func_basename_result darwin_arches=`$LIPO -info "$darwin_archive" 2>/dev/null | $GREP Architectures 2>/dev/null || true` if test -n "$darwin_arches"; then darwin_arches=`$ECHO "$darwin_arches" | $SED -e 's/.*are://'` darwin_arch= func_verbose "$darwin_base_archive has multiple architectures $darwin_arches" for darwin_arch in $darwin_arches; do func_mkdir_p "unfat-$$/$darwin_base_archive-$darwin_arch" $LIPO -thin $darwin_arch -output "unfat-$$/$darwin_base_archive-$darwin_arch/$darwin_base_archive" "$darwin_archive" cd "unfat-$$/$darwin_base_archive-$darwin_arch" func_extract_an_archive "`pwd`" "$darwin_base_archive" cd "$darwin_curdir" $RM "unfat-$$/$darwin_base_archive-$darwin_arch/$darwin_base_archive" done # $darwin_arches ## Okay now we've a bunch of thin objects, gotta fatten them up :) darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print | $SED -e "$sed_basename" | sort -u` darwin_file= darwin_files= for darwin_file in $darwin_filelist; do darwin_files=`find unfat-$$ -name $darwin_file -print | sort | $NL2SP` $LIPO -create -output "$darwin_file" $darwin_files done # $darwin_filelist $RM -rf unfat-$$ cd "$darwin_orig_dir" else cd $darwin_orig_dir func_extract_an_archive "$my_xdir" "$my_xabs" fi # $darwin_arches } # !$opt_dry_run ;; *) func_extract_an_archive "$my_xdir" "$my_xabs" ;; esac my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | sort | $NL2SP` done func_extract_archives_result=$my_oldobjs } # func_emit_wrapper [arg=no] # # Emit a libtool wrapper script on stdout. # Don't directly open a file because we may want to # incorporate the script contents within a cygwin/mingw # wrapper executable. Must ONLY be called from within # func_mode_link because it depends on a number of variables # set therein. # # ARG is the value that the WRAPPER_SCRIPT_BELONGS_IN_OBJDIR # variable will take. If 'yes', then the emitted script # will assume that the directory where it is stored is # the $objdir directory. This is a cygwin/mingw-specific # behavior. func_emit_wrapper () { func_emit_wrapper_arg1=${1-no} $ECHO "\ #! $SHELL # $output - temporary wrapper script for $objdir/$outputname # Generated by $PROGRAM (GNU $PACKAGE) $VERSION # # The $output program cannot be directly executed until all the libtool # libraries that it depends on are installed. # # This wrapper script should never be moved out of the build directory. # If it is, it will not operate correctly. # Sed substitution that helps us do robust quoting. It backslashifies # metacharacters that are still active within double-quoted strings. sed_quote_subst='$sed_quote_subst' # Be Bourne compatible if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: # Zsh 3.x and 4.x performs word splitting on \${1+\"\$@\"}, which # is contrary to our usage. Disable this feature. alias -g '\${1+\"\$@\"}'='\"\$@\"' setopt NO_GLOB_SUBST else case \`(set -o) 2>/dev/null\` in *posix*) set -o posix;; esac fi BIN_SH=xpg4; export BIN_SH # for Tru64 DUALCASE=1; export DUALCASE # for MKS sh # The HP-UX ksh and POSIX shell print the target directory to stdout # if CDPATH is set. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH relink_command=\"$relink_command\" # This environment variable determines our operation mode. if test \"\$libtool_install_magic\" = \"$magic\"; then # install mode needs the following variables: generated_by_libtool_version='$macro_version' notinst_deplibs='$notinst_deplibs' else # When we are sourced in execute mode, \$file and \$ECHO are already set. if test \"\$libtool_execute_magic\" != \"$magic\"; then file=\"\$0\"" qECHO=`$ECHO "$ECHO" | $SED "$sed_quote_subst"` $ECHO "\ # A function that is used when there is no print builtin or printf. func_fallback_echo () { eval 'cat <<_LTECHO_EOF \$1 _LTECHO_EOF' } ECHO=\"$qECHO\" fi # Very basic option parsing. These options are (a) specific to # the libtool wrapper, (b) are identical between the wrapper # /script/ and the wrapper /executable/ that is used only on # windows platforms, and (c) all begin with the string "--lt-" # (application programs are unlikely to have options that match # this pattern). # # There are only two supported options: --lt-debug and # --lt-dump-script. There is, deliberately, no --lt-help. # # The first argument to this parsing function should be the # script's $0 value, followed by "$@". lt_option_debug= func_parse_lt_options () { lt_script_arg0=\$0 shift for lt_opt do case \"\$lt_opt\" in --lt-debug) lt_option_debug=1 ;; --lt-dump-script) lt_dump_D=\`\$ECHO \"X\$lt_script_arg0\" | $SED -e 's/^X//' -e 's%/[^/]*$%%'\` test \"X\$lt_dump_D\" = \"X\$lt_script_arg0\" && lt_dump_D=. lt_dump_F=\`\$ECHO \"X\$lt_script_arg0\" | $SED -e 's/^X//' -e 's%^.*/%%'\` cat \"\$lt_dump_D/\$lt_dump_F\" exit 0 ;; --lt-*) \$ECHO \"Unrecognized --lt- option: '\$lt_opt'\" 1>&2 exit 1 ;; esac done # Print the debug banner immediately: if test -n \"\$lt_option_debug\"; then echo \"$outputname:$output:\$LINENO: libtool wrapper (GNU $PACKAGE) $VERSION\" 1>&2 fi } # Used when --lt-debug. Prints its arguments to stdout # (redirection is the responsibility of the caller) func_lt_dump_args () { lt_dump_args_N=1; for lt_arg do \$ECHO \"$outputname:$output:\$LINENO: newargv[\$lt_dump_args_N]: \$lt_arg\" lt_dump_args_N=\`expr \$lt_dump_args_N + 1\` done } # Core function for launching the target application func_exec_program_core () { " case $host in # Backslashes separate directories on plain windows *-*-mingw | *-*-os2* | *-cegcc*) $ECHO "\ if test -n \"\$lt_option_debug\"; then \$ECHO \"$outputname:$output:\$LINENO: newargv[0]: \$progdir\\\\\$program\" 1>&2 func_lt_dump_args \${1+\"\$@\"} 1>&2 fi exec \"\$progdir\\\\\$program\" \${1+\"\$@\"} " ;; *) $ECHO "\ if test -n \"\$lt_option_debug\"; then \$ECHO \"$outputname:$output:\$LINENO: newargv[0]: \$progdir/\$program\" 1>&2 func_lt_dump_args \${1+\"\$@\"} 1>&2 fi exec \"\$progdir/\$program\" \${1+\"\$@\"} " ;; esac $ECHO "\ \$ECHO \"\$0: cannot exec \$program \$*\" 1>&2 exit 1 } # A function to encapsulate launching the target application # Strips options in the --lt-* namespace from \$@ and # launches target application with the remaining arguments. func_exec_program () { case \" \$* \" in *\\ --lt-*) for lt_wr_arg do case \$lt_wr_arg in --lt-*) ;; *) set x \"\$@\" \"\$lt_wr_arg\"; shift;; esac shift done ;; esac func_exec_program_core \${1+\"\$@\"} } # Parse options func_parse_lt_options \"\$0\" \${1+\"\$@\"} # Find the directory that this script lives in. thisdir=\`\$ECHO \"\$file\" | $SED 's%/[^/]*$%%'\` test \"x\$thisdir\" = \"x\$file\" && thisdir=. # Follow symbolic links until we get to the real thisdir. file=\`ls -ld \"\$file\" | $SED -n 's/.*-> //p'\` while test -n \"\$file\"; do destdir=\`\$ECHO \"\$file\" | $SED 's%/[^/]*\$%%'\` # If there was a directory component, then change thisdir. if test \"x\$destdir\" != \"x\$file\"; then case \"\$destdir\" in [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;; *) thisdir=\"\$thisdir/\$destdir\" ;; esac fi file=\`\$ECHO \"\$file\" | $SED 's%^.*/%%'\` file=\`ls -ld \"\$thisdir/\$file\" | $SED -n 's/.*-> //p'\` done # Usually 'no', except on cygwin/mingw when embedded into # the cwrapper. WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=$func_emit_wrapper_arg1 if test \"\$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR\" = \"yes\"; then # special case for '.' if test \"\$thisdir\" = \".\"; then thisdir=\`pwd\` fi # remove .libs from thisdir case \"\$thisdir\" in *[\\\\/]$objdir ) thisdir=\`\$ECHO \"\$thisdir\" | $SED 's%[\\\\/][^\\\\/]*$%%'\` ;; $objdir ) thisdir=. ;; esac fi # Try to get the absolute directory name. absdir=\`cd \"\$thisdir\" && pwd\` test -n \"\$absdir\" && thisdir=\"\$absdir\" " if test yes = "$fast_install"; then $ECHO "\ program=lt-'$outputname'$exeext progdir=\"\$thisdir/$objdir\" if test ! -f \"\$progdir/\$program\" || { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | $SED 1q\`; \\ test \"X\$file\" != \"X\$progdir/\$program\"; }; then file=\"\$\$-\$program\" if test ! -d \"\$progdir\"; then $MKDIR \"\$progdir\" else $RM \"\$progdir/\$file\" fi" $ECHO "\ # relink executable if necessary if test -n \"\$relink_command\"; then if relink_command_output=\`eval \$relink_command 2>&1\`; then : else \$ECHO \"\$relink_command_output\" >&2 $RM \"\$progdir/\$file\" exit 1 fi fi $MV \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null || { $RM \"\$progdir/\$program\"; $MV \"\$progdir/\$file\" \"\$progdir/\$program\"; } $RM \"\$progdir/\$file\" fi" else $ECHO "\ program='$outputname' progdir=\"\$thisdir/$objdir\" " fi $ECHO "\ if test -f \"\$progdir/\$program\"; then" # fixup the dll searchpath if we need to. # # Fix the DLL searchpath if we need to. Do this before prepending # to shlibpath, because on Windows, both are PATH and uninstalled # libraries must come first. if test -n "$dllsearchpath"; then $ECHO "\ # Add the dll search path components to the executable PATH PATH=$dllsearchpath:\$PATH " fi # Export our shlibpath_var if we have one. if test yes = "$shlibpath_overrides_runpath" && test -n "$shlibpath_var" && test -n "$temp_rpath"; then $ECHO "\ # Add our own library path to $shlibpath_var $shlibpath_var=\"$temp_rpath\$$shlibpath_var\" # Some systems cannot cope with colon-terminated $shlibpath_var # The second colon is a workaround for a bug in BeOS R4 sed $shlibpath_var=\`\$ECHO \"\$$shlibpath_var\" | $SED 's/::*\$//'\` export $shlibpath_var " fi $ECHO "\ if test \"\$libtool_execute_magic\" != \"$magic\"; then # Run the actual program with our arguments. func_exec_program \${1+\"\$@\"} fi else # The program doesn't exist. \$ECHO \"\$0: error: '\$progdir/\$program' does not exist\" 1>&2 \$ECHO \"This script is just a wrapper for \$program.\" 1>&2 \$ECHO \"See the $PACKAGE documentation for more information.\" 1>&2 exit 1 fi fi\ " } # func_emit_cwrapperexe_src # emit the source code for a wrapper executable on stdout # Must ONLY be called from within func_mode_link because # it depends on a number of variable set therein. func_emit_cwrapperexe_src () { cat < #include #ifdef _MSC_VER # include # include # include #else # include # include # ifdef __CYGWIN__ # include # endif #endif #include #include #include #include #include #include #include #include #define STREQ(s1, s2) (strcmp ((s1), (s2)) == 0) /* declarations of non-ANSI functions */ #if defined __MINGW32__ # ifdef __STRICT_ANSI__ int _putenv (const char *); # endif #elif defined __CYGWIN__ # ifdef __STRICT_ANSI__ char *realpath (const char *, char *); int putenv (char *); int setenv (const char *, const char *, int); # endif /* #elif defined other_platform || defined ... */ #endif /* portability defines, excluding path handling macros */ #if defined _MSC_VER # define setmode _setmode # define stat _stat # define chmod _chmod # define getcwd _getcwd # define putenv _putenv # define S_IXUSR _S_IEXEC #elif defined __MINGW32__ # define setmode _setmode # define stat _stat # define chmod _chmod # define getcwd _getcwd # define putenv _putenv #elif defined __CYGWIN__ # define HAVE_SETENV # define FOPEN_WB "wb" /* #elif defined other platforms ... */ #endif #if defined PATH_MAX # define LT_PATHMAX PATH_MAX #elif defined MAXPATHLEN # define LT_PATHMAX MAXPATHLEN #else # define LT_PATHMAX 1024 #endif #ifndef S_IXOTH # define S_IXOTH 0 #endif #ifndef S_IXGRP # define S_IXGRP 0 #endif /* path handling portability macros */ #ifndef DIR_SEPARATOR # define DIR_SEPARATOR '/' # define PATH_SEPARATOR ':' #endif #if defined _WIN32 || defined __MSDOS__ || defined __DJGPP__ || \ defined __OS2__ # define HAVE_DOS_BASED_FILE_SYSTEM # define FOPEN_WB "wb" # ifndef DIR_SEPARATOR_2 # define DIR_SEPARATOR_2 '\\' # endif # ifndef PATH_SEPARATOR_2 # define PATH_SEPARATOR_2 ';' # endif #endif #ifndef DIR_SEPARATOR_2 # define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR) #else /* DIR_SEPARATOR_2 */ # define IS_DIR_SEPARATOR(ch) \ (((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2)) #endif /* DIR_SEPARATOR_2 */ #ifndef PATH_SEPARATOR_2 # define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR) #else /* PATH_SEPARATOR_2 */ # define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2) #endif /* PATH_SEPARATOR_2 */ #ifndef FOPEN_WB # define FOPEN_WB "w" #endif #ifndef _O_BINARY # define _O_BINARY 0 #endif #define XMALLOC(type, num) ((type *) xmalloc ((num) * sizeof(type))) #define XFREE(stale) do { \ if (stale) { free (stale); stale = 0; } \ } while (0) #if defined LT_DEBUGWRAPPER static int lt_debug = 1; #else static int lt_debug = 0; #endif const char *program_name = "libtool-wrapper"; /* in case xstrdup fails */ void *xmalloc (size_t num); char *xstrdup (const char *string); const char *base_name (const char *name); char *find_executable (const char *wrapper); char *chase_symlinks (const char *pathspec); int make_executable (const char *path); int check_executable (const char *path); char *strendzap (char *str, const char *pat); void lt_debugprintf (const char *file, int line, const char *fmt, ...); void lt_fatal (const char *file, int line, const char *message, ...); static const char *nonnull (const char *s); static const char *nonempty (const char *s); void lt_setenv (const char *name, const char *value); char *lt_extend_str (const char *orig_value, const char *add, int to_end); void lt_update_exe_path (const char *name, const char *value); void lt_update_lib_path (const char *name, const char *value); char **prepare_spawn (char **argv); void lt_dump_script (FILE *f); EOF cat <= 0) && (st.st_mode & (S_IXUSR | S_IXGRP | S_IXOTH))) return 1; else return 0; } int make_executable (const char *path) { int rval = 0; struct stat st; lt_debugprintf (__FILE__, __LINE__, "(make_executable): %s\n", nonempty (path)); if ((!path) || (!*path)) return 0; if (stat (path, &st) >= 0) { rval = chmod (path, st.st_mode | S_IXOTH | S_IXGRP | S_IXUSR); } return rval; } /* Searches for the full path of the wrapper. Returns newly allocated full path name if found, NULL otherwise Does not chase symlinks, even on platforms that support them. */ char * find_executable (const char *wrapper) { int has_slash = 0; const char *p; const char *p_next; /* static buffer for getcwd */ char tmp[LT_PATHMAX + 1]; size_t tmp_len; char *concat_name; lt_debugprintf (__FILE__, __LINE__, "(find_executable): %s\n", nonempty (wrapper)); if ((wrapper == NULL) || (*wrapper == '\0')) return NULL; /* Absolute path? */ #if defined HAVE_DOS_BASED_FILE_SYSTEM if (isalpha ((unsigned char) wrapper[0]) && wrapper[1] == ':') { concat_name = xstrdup (wrapper); if (check_executable (concat_name)) return concat_name; XFREE (concat_name); } else { #endif if (IS_DIR_SEPARATOR (wrapper[0])) { concat_name = xstrdup (wrapper); if (check_executable (concat_name)) return concat_name; XFREE (concat_name); } #if defined HAVE_DOS_BASED_FILE_SYSTEM } #endif for (p = wrapper; *p; p++) if (*p == '/') { has_slash = 1; break; } if (!has_slash) { /* no slashes; search PATH */ const char *path = getenv ("PATH"); if (path != NULL) { for (p = path; *p; p = p_next) { const char *q; size_t p_len; for (q = p; *q; q++) if (IS_PATH_SEPARATOR (*q)) break; p_len = (size_t) (q - p); p_next = (*q == '\0' ? q : q + 1); if (p_len == 0) { /* empty path: current directory */ if (getcwd (tmp, LT_PATHMAX) == NULL) lt_fatal (__FILE__, __LINE__, "getcwd failed: %s", nonnull (strerror (errno))); tmp_len = strlen (tmp); concat_name = XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1); memcpy (concat_name, tmp, tmp_len); concat_name[tmp_len] = '/'; strcpy (concat_name + tmp_len + 1, wrapper); } else { concat_name = XMALLOC (char, p_len + 1 + strlen (wrapper) + 1); memcpy (concat_name, p, p_len); concat_name[p_len] = '/'; strcpy (concat_name + p_len + 1, wrapper); } if (check_executable (concat_name)) return concat_name; XFREE (concat_name); } } /* not found in PATH; assume curdir */ } /* Relative path | not found in path: prepend cwd */ if (getcwd (tmp, LT_PATHMAX) == NULL) lt_fatal (__FILE__, __LINE__, "getcwd failed: %s", nonnull (strerror (errno))); tmp_len = strlen (tmp); concat_name = XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1); memcpy (concat_name, tmp, tmp_len); concat_name[tmp_len] = '/'; strcpy (concat_name + tmp_len + 1, wrapper); if (check_executable (concat_name)) return concat_name; XFREE (concat_name); return NULL; } char * chase_symlinks (const char *pathspec) { #ifndef S_ISLNK return xstrdup (pathspec); #else char buf[LT_PATHMAX]; struct stat s; char *tmp_pathspec = xstrdup (pathspec); char *p; int has_symlinks = 0; while (strlen (tmp_pathspec) && !has_symlinks) { lt_debugprintf (__FILE__, __LINE__, "checking path component for symlinks: %s\n", tmp_pathspec); if (lstat (tmp_pathspec, &s) == 0) { if (S_ISLNK (s.st_mode) != 0) { has_symlinks = 1; break; } /* search backwards for last DIR_SEPARATOR */ p = tmp_pathspec + strlen (tmp_pathspec) - 1; while ((p > tmp_pathspec) && (!IS_DIR_SEPARATOR (*p))) p--; if ((p == tmp_pathspec) && (!IS_DIR_SEPARATOR (*p))) { /* no more DIR_SEPARATORS left */ break; } *p = '\0'; } else { lt_fatal (__FILE__, __LINE__, "error accessing file \"%s\": %s", tmp_pathspec, nonnull (strerror (errno))); } } XFREE (tmp_pathspec); if (!has_symlinks) { return xstrdup (pathspec); } tmp_pathspec = realpath (pathspec, buf); if (tmp_pathspec == 0) { lt_fatal (__FILE__, __LINE__, "could not follow symlinks for %s", pathspec); } return xstrdup (tmp_pathspec); #endif } char * strendzap (char *str, const char *pat) { size_t len, patlen; assert (str != NULL); assert (pat != NULL); len = strlen (str); patlen = strlen (pat); if (patlen <= len) { str += len - patlen; if (STREQ (str, pat)) *str = '\0'; } return str; } void lt_debugprintf (const char *file, int line, const char *fmt, ...) { va_list args; if (lt_debug) { (void) fprintf (stderr, "%s:%s:%d: ", program_name, file, line); va_start (args, fmt); (void) vfprintf (stderr, fmt, args); va_end (args); } } static void lt_error_core (int exit_status, const char *file, int line, const char *mode, const char *message, va_list ap) { fprintf (stderr, "%s:%s:%d: %s: ", program_name, file, line, mode); vfprintf (stderr, message, ap); fprintf (stderr, ".\n"); if (exit_status >= 0) exit (exit_status); } void lt_fatal (const char *file, int line, const char *message, ...) { va_list ap; va_start (ap, message); lt_error_core (EXIT_FAILURE, file, line, "FATAL", message, ap); va_end (ap); } static const char * nonnull (const char *s) { return s ? s : "(null)"; } static const char * nonempty (const char *s) { return (s && !*s) ? "(empty)" : nonnull (s); } void lt_setenv (const char *name, const char *value) { lt_debugprintf (__FILE__, __LINE__, "(lt_setenv) setting '%s' to '%s'\n", nonnull (name), nonnull (value)); { #ifdef HAVE_SETENV /* always make a copy, for consistency with !HAVE_SETENV */ char *str = xstrdup (value); setenv (name, str, 1); #else size_t len = strlen (name) + 1 + strlen (value) + 1; char *str = XMALLOC (char, len); sprintf (str, "%s=%s", name, value); if (putenv (str) != EXIT_SUCCESS) { XFREE (str); } #endif } } char * lt_extend_str (const char *orig_value, const char *add, int to_end) { char *new_value; if (orig_value && *orig_value) { size_t orig_value_len = strlen (orig_value); size_t add_len = strlen (add); new_value = XMALLOC (char, add_len + orig_value_len + 1); if (to_end) { strcpy (new_value, orig_value); strcpy (new_value + orig_value_len, add); } else { strcpy (new_value, add); strcpy (new_value + add_len, orig_value); } } else { new_value = xstrdup (add); } return new_value; } void lt_update_exe_path (const char *name, const char *value) { lt_debugprintf (__FILE__, __LINE__, "(lt_update_exe_path) modifying '%s' by prepending '%s'\n", nonnull (name), nonnull (value)); if (name && *name && value && *value) { char *new_value = lt_extend_str (getenv (name), value, 0); /* some systems can't cope with a ':'-terminated path #' */ size_t len = strlen (new_value); while ((len > 0) && IS_PATH_SEPARATOR (new_value[len-1])) { new_value[--len] = '\0'; } lt_setenv (name, new_value); XFREE (new_value); } } void lt_update_lib_path (const char *name, const char *value) { lt_debugprintf (__FILE__, __LINE__, "(lt_update_lib_path) modifying '%s' by prepending '%s'\n", nonnull (name), nonnull (value)); if (name && *name && value && *value) { char *new_value = lt_extend_str (getenv (name), value, 0); lt_setenv (name, new_value); XFREE (new_value); } } EOF case $host_os in mingw*) cat <<"EOF" /* Prepares an argument vector before calling spawn(). Note that spawn() does not by itself call the command interpreter (getenv ("COMSPEC") != NULL ? getenv ("COMSPEC") : ({ OSVERSIONINFO v; v.dwOSVersionInfoSize = sizeof(OSVERSIONINFO); GetVersionEx(&v); v.dwPlatformId == VER_PLATFORM_WIN32_NT; }) ? "cmd.exe" : "command.com"). Instead it simply concatenates the arguments, separated by ' ', and calls CreateProcess(). We must quote the arguments since Win32 CreateProcess() interprets characters like ' ', '\t', '\\', '"' (but not '<' and '>') in a special way: - Space and tab are interpreted as delimiters. They are not treated as delimiters if they are surrounded by double quotes: "...". - Unescaped double quotes are removed from the input. Their only effect is that within double quotes, space and tab are treated like normal characters. - Backslashes not followed by double quotes are not special. - But 2*n+1 backslashes followed by a double quote become n backslashes followed by a double quote (n >= 0): \" -> " \\\" -> \" \\\\\" -> \\" */ #define SHELL_SPECIAL_CHARS "\"\\ \001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037" #define SHELL_SPACE_CHARS " \001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037" char ** prepare_spawn (char **argv) { size_t argc; char **new_argv; size_t i; /* Count number of arguments. */ for (argc = 0; argv[argc] != NULL; argc++) ; /* Allocate new argument vector. */ new_argv = XMALLOC (char *, argc + 1); /* Put quoted arguments into the new argument vector. */ for (i = 0; i < argc; i++) { const char *string = argv[i]; if (string[0] == '\0') new_argv[i] = xstrdup ("\"\""); else if (strpbrk (string, SHELL_SPECIAL_CHARS) != NULL) { int quote_around = (strpbrk (string, SHELL_SPACE_CHARS) != NULL); size_t length; unsigned int backslashes; const char *s; char *quoted_string; char *p; length = 0; backslashes = 0; if (quote_around) length++; for (s = string; *s != '\0'; s++) { char c = *s; if (c == '"') length += backslashes + 1; length++; if (c == '\\') backslashes++; else backslashes = 0; } if (quote_around) length += backslashes + 1; quoted_string = XMALLOC (char, length + 1); p = quoted_string; backslashes = 0; if (quote_around) *p++ = '"'; for (s = string; *s != '\0'; s++) { char c = *s; if (c == '"') { unsigned int j; for (j = backslashes + 1; j > 0; j--) *p++ = '\\'; } *p++ = c; if (c == '\\') backslashes++; else backslashes = 0; } if (quote_around) { unsigned int j; for (j = backslashes; j > 0; j--) *p++ = '\\'; *p++ = '"'; } *p = '\0'; new_argv[i] = quoted_string; } else new_argv[i] = (char *) string; } new_argv[argc] = NULL; return new_argv; } EOF ;; esac cat <<"EOF" void lt_dump_script (FILE* f) { EOF func_emit_wrapper yes | $SED -n -e ' s/^\(.\{79\}\)\(..*\)/\1\ \2/ h s/\([\\"]\)/\\\1/g s/$/\\n/ s/\([^\n]*\).*/ fputs ("\1", f);/p g D' cat <<"EOF" } EOF } # end: func_emit_cwrapperexe_src # func_win32_import_lib_p ARG # True if ARG is an import lib, as indicated by $file_magic_cmd func_win32_import_lib_p () { $debug_cmd case `eval $file_magic_cmd \"\$1\" 2>/dev/null | $SED -e 10q` in *import*) : ;; *) false ;; esac } # func_suncc_cstd_abi # !!ONLY CALL THIS FOR SUN CC AFTER $compile_command IS FULLY EXPANDED!! # Several compiler flags select an ABI that is incompatible with the # Cstd library. Avoid specifying it if any are in CXXFLAGS. func_suncc_cstd_abi () { $debug_cmd case " $compile_command " in *" -compat=g "*|*\ -std=c++[0-9][0-9]\ *|*" -library=stdcxx4 "*|*" -library=stlport4 "*) suncc_use_cstd_abi=no ;; *) suncc_use_cstd_abi=yes ;; esac } # func_mode_link arg... func_mode_link () { $debug_cmd case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) # It is impossible to link a dll without this setting, and # we shouldn't force the makefile maintainer to figure out # what system we are compiling for in order to pass an extra # flag for every libtool invocation. # allow_undefined=no # FIXME: Unfortunately, there are problems with the above when trying # to make a dll that has undefined symbols, in which case not # even a static library is built. For now, we need to specify # -no-undefined on the libtool link line when we can be certain # that all symbols are satisfied, otherwise we get a static library. allow_undefined=yes ;; *) allow_undefined=yes ;; esac libtool_args=$nonopt base_compile="$nonopt $@" compile_command=$nonopt finalize_command=$nonopt compile_rpath= finalize_rpath= compile_shlibpath= finalize_shlibpath= convenience= old_convenience= deplibs= old_deplibs= compiler_flags= linker_flags= dllsearchpath= lib_search_path=`pwd` inst_prefix_dir= new_inherited_linker_flags= avoid_version=no bindir= dlfiles= dlprefiles= dlself=no export_dynamic=no export_symbols= export_symbols_regex= generated= libobjs= ltlibs= module=no no_install=no objs= os2dllname= non_pic_objects= precious_files_regex= prefer_static_libs=no preload=false prev= prevarg= release= rpath= xrpath= perm_rpath= temp_rpath= thread_safe=no vinfo= vinfo_number=no weak_libs= single_module=$wl-single_module func_infer_tag $base_compile # We need to know -static, to get the right output filenames. for arg do case $arg in -shared) test yes != "$build_libtool_libs" \ && func_fatal_configuration "cannot build a shared library" build_old_libs=no break ;; -all-static | -static | -static-libtool-libs) case $arg in -all-static) if test yes = "$build_libtool_libs" && test -z "$link_static_flag"; then func_warning "complete static linking is impossible in this configuration" fi if test -n "$link_static_flag"; then dlopen_self=$dlopen_self_static fi prefer_static_libs=yes ;; -static) if test -z "$pic_flag" && test -n "$link_static_flag"; then dlopen_self=$dlopen_self_static fi prefer_static_libs=built ;; -static-libtool-libs) if test -z "$pic_flag" && test -n "$link_static_flag"; then dlopen_self=$dlopen_self_static fi prefer_static_libs=yes ;; esac build_libtool_libs=no build_old_libs=yes break ;; esac done # See if our shared archives depend on static archives. test -n "$old_archive_from_new_cmds" && build_old_libs=yes # Go through the arguments, transforming them on the way. while test "$#" -gt 0; do arg=$1 shift func_quote_for_eval "$arg" qarg=$func_quote_for_eval_unquoted_result func_append libtool_args " $func_quote_for_eval_result" # If the previous option needs an argument, assign it. if test -n "$prev"; then case $prev in output) func_append compile_command " @OUTPUT@" func_append finalize_command " @OUTPUT@" ;; esac case $prev in bindir) bindir=$arg prev= continue ;; dlfiles|dlprefiles) $preload || { # Add the symbol object into the linking commands. func_append compile_command " @SYMFILE@" func_append finalize_command " @SYMFILE@" preload=: } case $arg in *.la | *.lo) ;; # We handle these cases below. force) if test no = "$dlself"; then dlself=needless export_dynamic=yes fi prev= continue ;; self) if test dlprefiles = "$prev"; then dlself=yes elif test dlfiles = "$prev" && test yes != "$dlopen_self"; then dlself=yes else dlself=needless export_dynamic=yes fi prev= continue ;; *) if test dlfiles = "$prev"; then func_append dlfiles " $arg" else func_append dlprefiles " $arg" fi prev= continue ;; esac ;; expsyms) export_symbols=$arg test -f "$arg" \ || func_fatal_error "symbol file '$arg' does not exist" prev= continue ;; expsyms_regex) export_symbols_regex=$arg prev= continue ;; framework) case $host in *-*-darwin*) case "$deplibs " in *" $qarg.ltframework "*) ;; *) func_append deplibs " $qarg.ltframework" # this is fixed later ;; esac ;; esac prev= continue ;; inst_prefix) inst_prefix_dir=$arg prev= continue ;; mllvm) # Clang does not use LLVM to link, so we can simply discard any # '-mllvm $arg' options when doing the link step. prev= continue ;; objectlist) if test -f "$arg"; then save_arg=$arg moreargs= for fil in `cat "$save_arg"` do # func_append moreargs " $fil" arg=$fil # A libtool-controlled object. # Check to see that this really is a libtool object. if func_lalib_unsafe_p "$arg"; then pic_object= non_pic_object= # Read the .lo file func_source "$arg" if test -z "$pic_object" || test -z "$non_pic_object" || test none = "$pic_object" && test none = "$non_pic_object"; then func_fatal_error "cannot find name of object for '$arg'" fi # Extract subdirectory from the argument. func_dirname "$arg" "/" "" xdir=$func_dirname_result if test none != "$pic_object"; then # Prepend the subdirectory the object is found in. pic_object=$xdir$pic_object if test dlfiles = "$prev"; then if test yes = "$build_libtool_libs" && test yes = "$dlopen_support"; then func_append dlfiles " $pic_object" prev= continue else # If libtool objects are unsupported, then we need to preload. prev=dlprefiles fi fi # CHECK ME: I think I busted this. -Ossama if test dlprefiles = "$prev"; then # Preload the old-style object. func_append dlprefiles " $pic_object" prev= fi # A PIC object. func_append libobjs " $pic_object" arg=$pic_object fi # Non-PIC object. if test none != "$non_pic_object"; then # Prepend the subdirectory the object is found in. non_pic_object=$xdir$non_pic_object # A standard non-PIC object func_append non_pic_objects " $non_pic_object" if test -z "$pic_object" || test none = "$pic_object"; then arg=$non_pic_object fi else # If the PIC object exists, use it instead. # $xdir was prepended to $pic_object above. non_pic_object=$pic_object func_append non_pic_objects " $non_pic_object" fi else # Only an error if not doing a dry-run. if $opt_dry_run; then # Extract subdirectory from the argument. func_dirname "$arg" "/" "" xdir=$func_dirname_result func_lo2o "$arg" pic_object=$xdir$objdir/$func_lo2o_result non_pic_object=$xdir$func_lo2o_result func_append libobjs " $pic_object" func_append non_pic_objects " $non_pic_object" else func_fatal_error "'$arg' is not a valid libtool object" fi fi done else func_fatal_error "link input file '$arg' does not exist" fi arg=$save_arg prev= continue ;; os2dllname) os2dllname=$arg prev= continue ;; precious_regex) precious_files_regex=$arg prev= continue ;; release) release=-$arg prev= continue ;; rpath | xrpath) # We need an absolute path. case $arg in [\\/]* | [A-Za-z]:[\\/]*) ;; *) func_fatal_error "only absolute run-paths are allowed" ;; esac if test rpath = "$prev"; then case "$rpath " in *" $arg "*) ;; *) func_append rpath " $arg" ;; esac else case "$xrpath " in *" $arg "*) ;; *) func_append xrpath " $arg" ;; esac fi prev= continue ;; shrext) shrext_cmds=$arg prev= continue ;; weak) func_append weak_libs " $arg" prev= continue ;; xcclinker) func_append linker_flags " $qarg" func_append compiler_flags " $qarg" prev= func_append compile_command " $qarg" func_append finalize_command " $qarg" continue ;; xcompiler) func_append compiler_flags " $qarg" prev= func_append compile_command " $qarg" func_append finalize_command " $qarg" continue ;; xlinker) func_append linker_flags " $qarg" func_append compiler_flags " $wl$qarg" prev= func_append compile_command " $wl$qarg" func_append finalize_command " $wl$qarg" continue ;; *) eval "$prev=\"\$arg\"" prev= continue ;; esac fi # test -n "$prev" prevarg=$arg case $arg in -all-static) if test -n "$link_static_flag"; then # See comment for -static flag below, for more details. func_append compile_command " $link_static_flag" func_append finalize_command " $link_static_flag" fi continue ;; -allow-undefined) # FIXME: remove this flag sometime in the future. func_fatal_error "'-allow-undefined' must not be used because it is the default" ;; -avoid-version) avoid_version=yes continue ;; -bindir) prev=bindir continue ;; -dlopen) prev=dlfiles continue ;; -dlpreopen) prev=dlprefiles continue ;; -export-dynamic) export_dynamic=yes continue ;; -export-symbols | -export-symbols-regex) if test -n "$export_symbols" || test -n "$export_symbols_regex"; then func_fatal_error "more than one -exported-symbols argument is not allowed" fi if test X-export-symbols = "X$arg"; then prev=expsyms else prev=expsyms_regex fi continue ;; -framework) prev=framework continue ;; -inst-prefix-dir) prev=inst_prefix continue ;; # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:* # so, if we see these flags be careful not to treat them like -L -L[A-Z][A-Z]*:*) case $with_gcc/$host in no/*-*-irix* | /*-*-irix*) func_append compile_command " $arg" func_append finalize_command " $arg" ;; esac continue ;; -L*) func_stripname "-L" '' "$arg" if test -z "$func_stripname_result"; then if test "$#" -gt 0; then func_fatal_error "require no space between '-L' and '$1'" else func_fatal_error "need path for '-L' option" fi fi func_resolve_sysroot "$func_stripname_result" dir=$func_resolve_sysroot_result # We need an absolute path. case $dir in [\\/]* | [A-Za-z]:[\\/]*) ;; *) absdir=`cd "$dir" && pwd` test -z "$absdir" && \ func_fatal_error "cannot determine absolute directory name of '$dir'" dir=$absdir ;; esac case "$deplibs " in *" -L$dir "* | *" $arg "*) # Will only happen for absolute or sysroot arguments ;; *) # Preserve sysroot, but never include relative directories case $dir in [\\/]* | [A-Za-z]:[\\/]* | =*) func_append deplibs " $arg" ;; *) func_append deplibs " -L$dir" ;; esac func_append lib_search_path " $dir" ;; esac case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) testbindir=`$ECHO "$dir" | $SED 's*/lib$*/bin*'` case :$dllsearchpath: in *":$dir:"*) ;; ::) dllsearchpath=$dir;; *) func_append dllsearchpath ":$dir";; esac case :$dllsearchpath: in *":$testbindir:"*) ;; ::) dllsearchpath=$testbindir;; *) func_append dllsearchpath ":$testbindir";; esac ;; esac continue ;; -l*) if test X-lc = "X$arg" || test X-lm = "X$arg"; then case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos* | *-cegcc* | *-*-haiku*) # These systems don't actually have a C or math library (as such) continue ;; *-*-os2*) # These systems don't actually have a C library (as such) test X-lc = "X$arg" && continue ;; *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-bitrig*) # Do not include libc due to us having libc/libc_r. test X-lc = "X$arg" && continue ;; *-*-rhapsody* | *-*-darwin1.[012]) # Rhapsody C and math libraries are in the System framework func_append deplibs " System.ltframework" continue ;; *-*-sco3.2v5* | *-*-sco5v6*) # Causes problems with __ctype test X-lc = "X$arg" && continue ;; *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) # Compiler inserts libc in the correct place for threads to work test X-lc = "X$arg" && continue ;; esac elif test X-lc_r = "X$arg"; then case $host in *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-bitrig*) # Do not include libc_r directly, use -pthread flag. continue ;; esac fi func_append deplibs " $arg" continue ;; -mllvm) prev=mllvm continue ;; -module) module=yes continue ;; # Tru64 UNIX uses -model [arg] to determine the layout of C++ # classes, name mangling, and exception handling. # Darwin uses the -arch flag to determine output architecture. -model|-arch|-isysroot|--sysroot) func_append compiler_flags " $arg" func_append compile_command " $arg" func_append finalize_command " $arg" prev=xcompiler continue ;; -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe \ |-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*) func_append compiler_flags " $arg" func_append compile_command " $arg" func_append finalize_command " $arg" case "$new_inherited_linker_flags " in *" $arg "*) ;; * ) func_append new_inherited_linker_flags " $arg" ;; esac continue ;; -multi_module) single_module=$wl-multi_module continue ;; -no-fast-install) fast_install=no continue ;; -no-install) case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-darwin* | *-cegcc*) # The PATH hackery in wrapper scripts is required on Windows # and Darwin in order for the loader to find any dlls it needs. func_warning "'-no-install' is ignored for $host" func_warning "assuming '-no-fast-install' instead" fast_install=no ;; *) no_install=yes ;; esac continue ;; -no-undefined) allow_undefined=no continue ;; -objectlist) prev=objectlist continue ;; -os2dllname) prev=os2dllname continue ;; -o) prev=output ;; -precious-files-regex) prev=precious_regex continue ;; -release) prev=release continue ;; -rpath) prev=rpath continue ;; -R) prev=xrpath continue ;; -R*) func_stripname '-R' '' "$arg" dir=$func_stripname_result # We need an absolute path. case $dir in [\\/]* | [A-Za-z]:[\\/]*) ;; =*) func_stripname '=' '' "$dir" dir=$lt_sysroot$func_stripname_result ;; *) func_fatal_error "only absolute run-paths are allowed" ;; esac case "$xrpath " in *" $dir "*) ;; *) func_append xrpath " $dir" ;; esac continue ;; -shared) # The effects of -shared are defined in a previous loop. continue ;; -shrext) prev=shrext continue ;; -static | -static-libtool-libs) # The effects of -static are defined in a previous loop. # We used to do the same as -all-static on platforms that # didn't have a PIC flag, but the assumption that the effects # would be equivalent was wrong. It would break on at least # Digital Unix and AIX. continue ;; -thread-safe) thread_safe=yes continue ;; -version-info) prev=vinfo continue ;; -version-number) prev=vinfo vinfo_number=yes continue ;; -weak) prev=weak continue ;; -Wc,*) func_stripname '-Wc,' '' "$arg" args=$func_stripname_result arg= save_ifs=$IFS; IFS=, for flag in $args; do IFS=$save_ifs func_quote_for_eval "$flag" func_append arg " $func_quote_for_eval_result" func_append compiler_flags " $func_quote_for_eval_result" done IFS=$save_ifs func_stripname ' ' '' "$arg" arg=$func_stripname_result ;; -Wl,*) func_stripname '-Wl,' '' "$arg" args=$func_stripname_result arg= save_ifs=$IFS; IFS=, for flag in $args; do IFS=$save_ifs func_quote_for_eval "$flag" func_append arg " $wl$func_quote_for_eval_result" func_append compiler_flags " $wl$func_quote_for_eval_result" func_append linker_flags " $func_quote_for_eval_result" done IFS=$save_ifs func_stripname ' ' '' "$arg" arg=$func_stripname_result ;; -Xcompiler) prev=xcompiler continue ;; -Xlinker) prev=xlinker continue ;; -XCClinker) prev=xcclinker continue ;; # -msg_* for osf cc -msg_*) func_quote_for_eval "$arg" arg=$func_quote_for_eval_result ;; # Flags to be passed through unchanged, with rationale: # -64, -mips[0-9] enable 64-bit mode for the SGI compiler # -r[0-9][0-9]* specify processor for the SGI compiler # -xarch=*, -xtarget=* enable 64-bit mode for the Sun compiler # +DA*, +DD* enable 64-bit mode for the HP compiler # -q* compiler args for the IBM compiler # -m*, -t[45]*, -txscale* architecture-specific flags for GCC # -F/path path to uninstalled frameworks, gcc on darwin # -p, -pg, --coverage, -fprofile-* profiling flags for GCC # -fstack-protector* stack protector flags for GCC # @file GCC response files # -tp=* Portland pgcc target processor selection # --sysroot=* for sysroot support # -O*, -g*, -flto*, -fwhopr*, -fuse-linker-plugin GCC link-time optimization # -specs=* GCC specs files # -stdlib=* select c++ std lib with clang # -fsanitize=* Clang/GCC memory and address sanitizer # -fuse-ld=* Linker select flags for GCC # -static-* direct GCC to link specific libraries statically # -fcilkplus Cilk Plus language extension features for C/C++ -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \ -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \ -O*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*|-stdlib=*| \ -specs=*|-fsanitize=*|-fuse-ld=*|-static-*|-fcilkplus) func_quote_for_eval "$arg" arg=$func_quote_for_eval_result func_append compile_command " $arg" func_append finalize_command " $arg" func_append compiler_flags " $arg" continue ;; -Z*) if test os2 = "`expr $host : '.*\(os2\)'`"; then # OS/2 uses -Zxxx to specify OS/2-specific options compiler_flags="$compiler_flags $arg" func_append compile_command " $arg" func_append finalize_command " $arg" case $arg in -Zlinker | -Zstack) prev=xcompiler ;; esac continue else # Otherwise treat like 'Some other compiler flag' below func_quote_for_eval "$arg" arg=$func_quote_for_eval_result fi ;; # Some other compiler flag. -* | +*) func_quote_for_eval "$arg" arg=$func_quote_for_eval_result ;; *.$objext) # A standard object. func_append objs " $arg" ;; *.lo) # A libtool-controlled object. # Check to see that this really is a libtool object. if func_lalib_unsafe_p "$arg"; then pic_object= non_pic_object= # Read the .lo file func_source "$arg" if test -z "$pic_object" || test -z "$non_pic_object" || test none = "$pic_object" && test none = "$non_pic_object"; then func_fatal_error "cannot find name of object for '$arg'" fi # Extract subdirectory from the argument. func_dirname "$arg" "/" "" xdir=$func_dirname_result test none = "$pic_object" || { # Prepend the subdirectory the object is found in. pic_object=$xdir$pic_object if test dlfiles = "$prev"; then if test yes = "$build_libtool_libs" && test yes = "$dlopen_support"; then func_append dlfiles " $pic_object" prev= continue else # If libtool objects are unsupported, then we need to preload. prev=dlprefiles fi fi # CHECK ME: I think I busted this. -Ossama if test dlprefiles = "$prev"; then # Preload the old-style object. func_append dlprefiles " $pic_object" prev= fi # A PIC object. func_append libobjs " $pic_object" arg=$pic_object } # Non-PIC object. if test none != "$non_pic_object"; then # Prepend the subdirectory the object is found in. non_pic_object=$xdir$non_pic_object # A standard non-PIC object func_append non_pic_objects " $non_pic_object" if test -z "$pic_object" || test none = "$pic_object"; then arg=$non_pic_object fi else # If the PIC object exists, use it instead. # $xdir was prepended to $pic_object above. non_pic_object=$pic_object func_append non_pic_objects " $non_pic_object" fi else # Only an error if not doing a dry-run. if $opt_dry_run; then # Extract subdirectory from the argument. func_dirname "$arg" "/" "" xdir=$func_dirname_result func_lo2o "$arg" pic_object=$xdir$objdir/$func_lo2o_result non_pic_object=$xdir$func_lo2o_result func_append libobjs " $pic_object" func_append non_pic_objects " $non_pic_object" else func_fatal_error "'$arg' is not a valid libtool object" fi fi ;; *.$libext) # An archive. func_append deplibs " $arg" func_append old_deplibs " $arg" continue ;; *.la) # A libtool-controlled library. func_resolve_sysroot "$arg" if test dlfiles = "$prev"; then # This library was specified with -dlopen. func_append dlfiles " $func_resolve_sysroot_result" prev= elif test dlprefiles = "$prev"; then # The library was specified with -dlpreopen. func_append dlprefiles " $func_resolve_sysroot_result" prev= else func_append deplibs " $func_resolve_sysroot_result" fi continue ;; # Some other compiler argument. *) # Unknown arguments in both finalize_command and compile_command need # to be aesthetically quoted because they are evaled later. func_quote_for_eval "$arg" arg=$func_quote_for_eval_result ;; esac # arg # Now actually substitute the argument into the commands. if test -n "$arg"; then func_append compile_command " $arg" func_append finalize_command " $arg" fi done # argument parsing loop test -n "$prev" && \ func_fatal_help "the '$prevarg' option requires an argument" if test yes = "$export_dynamic" && test -n "$export_dynamic_flag_spec"; then eval arg=\"$export_dynamic_flag_spec\" func_append compile_command " $arg" func_append finalize_command " $arg" fi oldlibs= # calculate the name of the file, without its directory func_basename "$output" outputname=$func_basename_result libobjs_save=$libobjs if test -n "$shlibpath_var"; then # get the directories listed in $shlibpath_var eval shlib_search_path=\`\$ECHO \"\$$shlibpath_var\" \| \$SED \'s/:/ /g\'\` else shlib_search_path= fi eval sys_lib_search_path=\"$sys_lib_search_path_spec\" eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\" # Definition is injected by LT_CONFIG during libtool generation. func_munge_path_list sys_lib_dlsearch_path "$LT_SYS_LIBRARY_PATH" func_dirname "$output" "/" "" output_objdir=$func_dirname_result$objdir func_to_tool_file "$output_objdir/" tool_output_objdir=$func_to_tool_file_result # Create the object directory. func_mkdir_p "$output_objdir" # Determine the type of output case $output in "") func_fatal_help "you must specify an output file" ;; *.$libext) linkmode=oldlib ;; *.lo | *.$objext) linkmode=obj ;; *.la) linkmode=lib ;; *) linkmode=prog ;; # Anything else should be a program. esac specialdeplibs= libs= # Find all interdependent deplibs by searching for libraries # that are linked more than once (e.g. -la -lb -la) for deplib in $deplibs; do if $opt_preserve_dup_deps; then case "$libs " in *" $deplib "*) func_append specialdeplibs " $deplib" ;; esac fi func_append libs " $deplib" done if test lib = "$linkmode"; then libs="$predeps $libs $compiler_lib_search_path $postdeps" # Compute libraries that are listed more than once in $predeps # $postdeps and mark them as special (i.e., whose duplicates are # not to be eliminated). pre_post_deps= if $opt_duplicate_compiler_generated_deps; then for pre_post_dep in $predeps $postdeps; do case "$pre_post_deps " in *" $pre_post_dep "*) func_append specialdeplibs " $pre_post_deps" ;; esac func_append pre_post_deps " $pre_post_dep" done fi pre_post_deps= fi deplibs= newdependency_libs= newlib_search_path= need_relink=no # whether we're linking any uninstalled libtool libraries notinst_deplibs= # not-installed libtool libraries notinst_path= # paths that contain not-installed libtool libraries case $linkmode in lib) passes="conv dlpreopen link" for file in $dlfiles $dlprefiles; do case $file in *.la) ;; *) func_fatal_help "libraries can '-dlopen' only libtool libraries: $file" ;; esac done ;; prog) compile_deplibs= finalize_deplibs= alldeplibs=false newdlfiles= newdlprefiles= passes="conv scan dlopen dlpreopen link" ;; *) passes="conv" ;; esac for pass in $passes; do # The preopen pass in lib mode reverses $deplibs; put it back here # so that -L comes before libs that need it for instance... if test lib,link = "$linkmode,$pass"; then ## FIXME: Find the place where the list is rebuilt in the wrong ## order, and fix it there properly tmp_deplibs= for deplib in $deplibs; do tmp_deplibs="$deplib $tmp_deplibs" done deplibs=$tmp_deplibs fi if test lib,link = "$linkmode,$pass" || test prog,scan = "$linkmode,$pass"; then libs=$deplibs deplibs= fi if test prog = "$linkmode"; then case $pass in dlopen) libs=$dlfiles ;; dlpreopen) libs=$dlprefiles ;; link) libs="$deplibs %DEPLIBS%" test "X$link_all_deplibs" != Xno && libs="$libs $dependency_libs" ;; esac fi if test lib,dlpreopen = "$linkmode,$pass"; then # Collect and forward deplibs of preopened libtool libs for lib in $dlprefiles; do # Ignore non-libtool-libs dependency_libs= func_resolve_sysroot "$lib" case $lib in *.la) func_source "$func_resolve_sysroot_result" ;; esac # Collect preopened libtool deplibs, except any this library # has declared as weak libs for deplib in $dependency_libs; do func_basename "$deplib" deplib_base=$func_basename_result case " $weak_libs " in *" $deplib_base "*) ;; *) func_append deplibs " $deplib" ;; esac done done libs=$dlprefiles fi if test dlopen = "$pass"; then # Collect dlpreopened libraries save_deplibs=$deplibs deplibs= fi for deplib in $libs; do lib= found=false case $deplib in -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe \ |-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*) if test prog,link = "$linkmode,$pass"; then compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" else func_append compiler_flags " $deplib" if test lib = "$linkmode"; then case "$new_inherited_linker_flags " in *" $deplib "*) ;; * ) func_append new_inherited_linker_flags " $deplib" ;; esac fi fi continue ;; -l*) if test lib != "$linkmode" && test prog != "$linkmode"; then func_warning "'-l' is ignored for archives/objects" continue fi func_stripname '-l' '' "$deplib" name=$func_stripname_result if test lib = "$linkmode"; then searchdirs="$newlib_search_path $lib_search_path $compiler_lib_search_dirs $sys_lib_search_path $shlib_search_path" else searchdirs="$newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path" fi for searchdir in $searchdirs; do for search_ext in .la $std_shrext .so .a; do # Search the libtool library lib=$searchdir/lib$name$search_ext if test -f "$lib"; then if test .la = "$search_ext"; then found=: else found=false fi break 2 fi done done if $found; then # deplib is a libtool library # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib, # We need to do some special things here, and not later. if test yes = "$allow_libtool_libs_with_static_runtimes"; then case " $predeps $postdeps " in *" $deplib "*) if func_lalib_p "$lib"; then library_names= old_library= func_source "$lib" for l in $old_library $library_names; do ll=$l done if test "X$ll" = "X$old_library"; then # only static version available found=false func_dirname "$lib" "" "." ladir=$func_dirname_result lib=$ladir/$old_library if test prog,link = "$linkmode,$pass"; then compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" else deplibs="$deplib $deplibs" test lib = "$linkmode" && newdependency_libs="$deplib $newdependency_libs" fi continue fi fi ;; *) ;; esac fi else # deplib doesn't seem to be a libtool library if test prog,link = "$linkmode,$pass"; then compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" else deplibs="$deplib $deplibs" test lib = "$linkmode" && newdependency_libs="$deplib $newdependency_libs" fi continue fi ;; # -l *.ltframework) if test prog,link = "$linkmode,$pass"; then compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" else deplibs="$deplib $deplibs" if test lib = "$linkmode"; then case "$new_inherited_linker_flags " in *" $deplib "*) ;; * ) func_append new_inherited_linker_flags " $deplib" ;; esac fi fi continue ;; -L*) case $linkmode in lib) deplibs="$deplib $deplibs" test conv = "$pass" && continue newdependency_libs="$deplib $newdependency_libs" func_stripname '-L' '' "$deplib" func_resolve_sysroot "$func_stripname_result" func_append newlib_search_path " $func_resolve_sysroot_result" ;; prog) if test conv = "$pass"; then deplibs="$deplib $deplibs" continue fi if test scan = "$pass"; then deplibs="$deplib $deplibs" else compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" fi func_stripname '-L' '' "$deplib" func_resolve_sysroot "$func_stripname_result" func_append newlib_search_path " $func_resolve_sysroot_result" ;; *) func_warning "'-L' is ignored for archives/objects" ;; esac # linkmode continue ;; # -L -R*) if test link = "$pass"; then func_stripname '-R' '' "$deplib" func_resolve_sysroot "$func_stripname_result" dir=$func_resolve_sysroot_result # Make sure the xrpath contains only unique directories. case "$xrpath " in *" $dir "*) ;; *) func_append xrpath " $dir" ;; esac fi deplibs="$deplib $deplibs" continue ;; *.la) func_resolve_sysroot "$deplib" lib=$func_resolve_sysroot_result ;; *.$libext) if test conv = "$pass"; then deplibs="$deplib $deplibs" continue fi case $linkmode in lib) # Linking convenience modules into shared libraries is allowed, # but linking other static libraries is non-portable. case " $dlpreconveniencelibs " in *" $deplib "*) ;; *) valid_a_lib=false case $deplibs_check_method in match_pattern*) set dummy $deplibs_check_method; shift match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"` if eval "\$ECHO \"$deplib\"" 2>/dev/null | $SED 10q \ | $EGREP "$match_pattern_regex" > /dev/null; then valid_a_lib=: fi ;; pass_all) valid_a_lib=: ;; esac if $valid_a_lib; then echo $ECHO "*** Warning: Linking the shared library $output against the" $ECHO "*** static library $deplib is not portable!" deplibs="$deplib $deplibs" else echo $ECHO "*** Warning: Trying to link with static lib archive $deplib." echo "*** I have the capability to make that library automatically link in when" echo "*** you link to this library. But I can only do this if you have a" echo "*** shared version of the library, which you do not appear to have" echo "*** because the file extensions .$libext of this argument makes me believe" echo "*** that it is just a static archive that I should not use here." fi ;; esac continue ;; prog) if test link != "$pass"; then deplibs="$deplib $deplibs" else compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" fi continue ;; esac # linkmode ;; # *.$libext *.lo | *.$objext) if test conv = "$pass"; then deplibs="$deplib $deplibs" elif test prog = "$linkmode"; then if test dlpreopen = "$pass" || test yes != "$dlopen_support" || test no = "$build_libtool_libs"; then # If there is no dlopen support or we're linking statically, # we need to preload. func_append newdlprefiles " $deplib" compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" else func_append newdlfiles " $deplib" fi fi continue ;; %DEPLIBS%) alldeplibs=: continue ;; esac # case $deplib $found || test -f "$lib" \ || func_fatal_error "cannot find the library '$lib' or unhandled argument '$deplib'" # Check to see that this really is a libtool archive. func_lalib_unsafe_p "$lib" \ || func_fatal_error "'$lib' is not a valid libtool archive" func_dirname "$lib" "" "." ladir=$func_dirname_result dlname= dlopen= dlpreopen= libdir= library_names= old_library= inherited_linker_flags= # If the library was installed with an old release of libtool, # it will not redefine variables installed, or shouldnotlink installed=yes shouldnotlink=no avoidtemprpath= # Read the .la file func_source "$lib" # Convert "-framework foo" to "foo.ltframework" if test -n "$inherited_linker_flags"; then tmp_inherited_linker_flags=`$ECHO "$inherited_linker_flags" | $SED 's/-framework \([^ $]*\)/\1.ltframework/g'` for tmp_inherited_linker_flag in $tmp_inherited_linker_flags; do case " $new_inherited_linker_flags " in *" $tmp_inherited_linker_flag "*) ;; *) func_append new_inherited_linker_flags " $tmp_inherited_linker_flag";; esac done fi dependency_libs=`$ECHO " $dependency_libs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` if test lib,link = "$linkmode,$pass" || test prog,scan = "$linkmode,$pass" || { test prog != "$linkmode" && test lib != "$linkmode"; }; then test -n "$dlopen" && func_append dlfiles " $dlopen" test -n "$dlpreopen" && func_append dlprefiles " $dlpreopen" fi if test conv = "$pass"; then # Only check for convenience libraries deplibs="$lib $deplibs" if test -z "$libdir"; then if test -z "$old_library"; then func_fatal_error "cannot find name of link library for '$lib'" fi # It is a libtool convenience library, so add in its objects. func_append convenience " $ladir/$objdir/$old_library" func_append old_convenience " $ladir/$objdir/$old_library" tmp_libs= for deplib in $dependency_libs; do deplibs="$deplib $deplibs" if $opt_preserve_dup_deps; then case "$tmp_libs " in *" $deplib "*) func_append specialdeplibs " $deplib" ;; esac fi func_append tmp_libs " $deplib" done elif test prog != "$linkmode" && test lib != "$linkmode"; then func_fatal_error "'$lib' is not a convenience library" fi continue fi # $pass = conv # Get the name of the library we link against. linklib= if test -n "$old_library" && { test yes = "$prefer_static_libs" || test built,no = "$prefer_static_libs,$installed"; }; then linklib=$old_library else for l in $old_library $library_names; do linklib=$l done fi if test -z "$linklib"; then func_fatal_error "cannot find name of link library for '$lib'" fi # This library was specified with -dlopen. if test dlopen = "$pass"; then test -z "$libdir" \ && func_fatal_error "cannot -dlopen a convenience library: '$lib'" if test -z "$dlname" || test yes != "$dlopen_support" || test no = "$build_libtool_libs" then # If there is no dlname, no dlopen support or we're linking # statically, we need to preload. We also need to preload any # dependent libraries so libltdl's deplib preloader doesn't # bomb out in the load deplibs phase. func_append dlprefiles " $lib $dependency_libs" else func_append newdlfiles " $lib" fi continue fi # $pass = dlopen # We need an absolute path. case $ladir in [\\/]* | [A-Za-z]:[\\/]*) abs_ladir=$ladir ;; *) abs_ladir=`cd "$ladir" && pwd` if test -z "$abs_ladir"; then func_warning "cannot determine absolute directory name of '$ladir'" func_warning "passing it literally to the linker, although it might fail" abs_ladir=$ladir fi ;; esac func_basename "$lib" laname=$func_basename_result # Find the relevant object directory and library name. if test yes = "$installed"; then if test ! -f "$lt_sysroot$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then func_warning "library '$lib' was moved." dir=$ladir absdir=$abs_ladir libdir=$abs_ladir else dir=$lt_sysroot$libdir absdir=$lt_sysroot$libdir fi test yes = "$hardcode_automatic" && avoidtemprpath=yes else if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then dir=$ladir absdir=$abs_ladir # Remove this search path later func_append notinst_path " $abs_ladir" else dir=$ladir/$objdir absdir=$abs_ladir/$objdir # Remove this search path later func_append notinst_path " $abs_ladir" fi fi # $installed = yes func_stripname 'lib' '.la' "$laname" name=$func_stripname_result # This library was specified with -dlpreopen. if test dlpreopen = "$pass"; then if test -z "$libdir" && test prog = "$linkmode"; then func_fatal_error "only libraries may -dlpreopen a convenience library: '$lib'" fi case $host in # special handling for platforms with PE-DLLs. *cygwin* | *mingw* | *cegcc* ) # Linker will automatically link against shared library if both # static and shared are present. Therefore, ensure we extract # symbols from the import library if a shared library is present # (otherwise, the dlopen module name will be incorrect). We do # this by putting the import library name into $newdlprefiles. # We recover the dlopen module name by 'saving' the la file # name in a special purpose variable, and (later) extracting the # dlname from the la file. if test -n "$dlname"; then func_tr_sh "$dir/$linklib" eval "libfile_$func_tr_sh_result=\$abs_ladir/\$laname" func_append newdlprefiles " $dir/$linklib" else func_append newdlprefiles " $dir/$old_library" # Keep a list of preopened convenience libraries to check # that they are being used correctly in the link pass. test -z "$libdir" && \ func_append dlpreconveniencelibs " $dir/$old_library" fi ;; * ) # Prefer using a static library (so that no silly _DYNAMIC symbols # are required to link). if test -n "$old_library"; then func_append newdlprefiles " $dir/$old_library" # Keep a list of preopened convenience libraries to check # that they are being used correctly in the link pass. test -z "$libdir" && \ func_append dlpreconveniencelibs " $dir/$old_library" # Otherwise, use the dlname, so that lt_dlopen finds it. elif test -n "$dlname"; then func_append newdlprefiles " $dir/$dlname" else func_append newdlprefiles " $dir/$linklib" fi ;; esac fi # $pass = dlpreopen if test -z "$libdir"; then # Link the convenience library if test lib = "$linkmode"; then deplibs="$dir/$old_library $deplibs" elif test prog,link = "$linkmode,$pass"; then compile_deplibs="$dir/$old_library $compile_deplibs" finalize_deplibs="$dir/$old_library $finalize_deplibs" else deplibs="$lib $deplibs" # used for prog,scan pass fi continue fi if test prog = "$linkmode" && test link != "$pass"; then func_append newlib_search_path " $ladir" deplibs="$lib $deplibs" linkalldeplibs=false if test no != "$link_all_deplibs" || test -z "$library_names" || test no = "$build_libtool_libs"; then linkalldeplibs=: fi tmp_libs= for deplib in $dependency_libs; do case $deplib in -L*) func_stripname '-L' '' "$deplib" func_resolve_sysroot "$func_stripname_result" func_append newlib_search_path " $func_resolve_sysroot_result" ;; esac # Need to link against all dependency_libs? if $linkalldeplibs; then deplibs="$deplib $deplibs" else # Need to hardcode shared library paths # or/and link against static libraries newdependency_libs="$deplib $newdependency_libs" fi if $opt_preserve_dup_deps; then case "$tmp_libs " in *" $deplib "*) func_append specialdeplibs " $deplib" ;; esac fi func_append tmp_libs " $deplib" done # for deplib continue fi # $linkmode = prog... if test prog,link = "$linkmode,$pass"; then if test -n "$library_names" && { { test no = "$prefer_static_libs" || test built,yes = "$prefer_static_libs,$installed"; } || test -z "$old_library"; }; then # We need to hardcode the library path if test -n "$shlibpath_var" && test -z "$avoidtemprpath"; then # Make sure the rpath contains only unique directories. case $temp_rpath: in *"$absdir:"*) ;; *) func_append temp_rpath "$absdir:" ;; esac fi # Hardcode the library path. # Skip directories that are in the system default run-time # search path. case " $sys_lib_dlsearch_path " in *" $absdir "*) ;; *) case "$compile_rpath " in *" $absdir "*) ;; *) func_append compile_rpath " $absdir" ;; esac ;; esac case " $sys_lib_dlsearch_path " in *" $libdir "*) ;; *) case "$finalize_rpath " in *" $libdir "*) ;; *) func_append finalize_rpath " $libdir" ;; esac ;; esac fi # $linkmode,$pass = prog,link... if $alldeplibs && { test pass_all = "$deplibs_check_method" || { test yes = "$build_libtool_libs" && test -n "$library_names"; }; }; then # We only need to search for static libraries continue fi fi link_static=no # Whether the deplib will be linked statically use_static_libs=$prefer_static_libs if test built = "$use_static_libs" && test yes = "$installed"; then use_static_libs=no fi if test -n "$library_names" && { test no = "$use_static_libs" || test -z "$old_library"; }; then case $host in *cygwin* | *mingw* | *cegcc* | *os2*) # No point in relinking DLLs because paths are not encoded func_append notinst_deplibs " $lib" need_relink=no ;; *) if test no = "$installed"; then func_append notinst_deplibs " $lib" need_relink=yes fi ;; esac # This is a shared library # Warn about portability, can't link against -module's on some # systems (darwin). Don't bleat about dlopened modules though! dlopenmodule= for dlpremoduletest in $dlprefiles; do if test "X$dlpremoduletest" = "X$lib"; then dlopenmodule=$dlpremoduletest break fi done if test -z "$dlopenmodule" && test yes = "$shouldnotlink" && test link = "$pass"; then echo if test prog = "$linkmode"; then $ECHO "*** Warning: Linking the executable $output against the loadable module" else $ECHO "*** Warning: Linking the shared library $output against the loadable module" fi $ECHO "*** $linklib is not portable!" fi if test lib = "$linkmode" && test yes = "$hardcode_into_libs"; then # Hardcode the library path. # Skip directories that are in the system default run-time # search path. case " $sys_lib_dlsearch_path " in *" $absdir "*) ;; *) case "$compile_rpath " in *" $absdir "*) ;; *) func_append compile_rpath " $absdir" ;; esac ;; esac case " $sys_lib_dlsearch_path " in *" $libdir "*) ;; *) case "$finalize_rpath " in *" $libdir "*) ;; *) func_append finalize_rpath " $libdir" ;; esac ;; esac fi if test -n "$old_archive_from_expsyms_cmds"; then # figure out the soname set dummy $library_names shift realname=$1 shift libname=`eval "\\$ECHO \"$libname_spec\""` # use dlname if we got it. it's perfectly good, no? if test -n "$dlname"; then soname=$dlname elif test -n "$soname_spec"; then # bleh windows case $host in *cygwin* | mingw* | *cegcc* | *os2*) func_arith $current - $age major=$func_arith_result versuffix=-$major ;; esac eval soname=\"$soname_spec\" else soname=$realname fi # Make a new name for the extract_expsyms_cmds to use soroot=$soname func_basename "$soroot" soname=$func_basename_result func_stripname 'lib' '.dll' "$soname" newlib=libimp-$func_stripname_result.a # If the library has no export list, then create one now if test -f "$output_objdir/$soname-def"; then : else func_verbose "extracting exported symbol list from '$soname'" func_execute_cmds "$extract_expsyms_cmds" 'exit $?' fi # Create $newlib if test -f "$output_objdir/$newlib"; then :; else func_verbose "generating import library for '$soname'" func_execute_cmds "$old_archive_from_expsyms_cmds" 'exit $?' fi # make sure the library variables are pointing to the new library dir=$output_objdir linklib=$newlib fi # test -n "$old_archive_from_expsyms_cmds" if test prog = "$linkmode" || test relink != "$opt_mode"; then add_shlibpath= add_dir= add= lib_linked=yes case $hardcode_action in immediate | unsupported) if test no = "$hardcode_direct"; then add=$dir/$linklib case $host in *-*-sco3.2v5.0.[024]*) add_dir=-L$dir ;; *-*-sysv4*uw2*) add_dir=-L$dir ;; *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \ *-*-unixware7*) add_dir=-L$dir ;; *-*-darwin* ) # if the lib is a (non-dlopened) module then we cannot # link against it, someone is ignoring the earlier warnings if /usr/bin/file -L $add 2> /dev/null | $GREP ": [^:]* bundle" >/dev/null; then if test "X$dlopenmodule" != "X$lib"; then $ECHO "*** Warning: lib $linklib is a module, not a shared library" if test -z "$old_library"; then echo echo "*** And there doesn't seem to be a static archive available" echo "*** The link will probably fail, sorry" else add=$dir/$old_library fi elif test -n "$old_library"; then add=$dir/$old_library fi fi esac elif test no = "$hardcode_minus_L"; then case $host in *-*-sunos*) add_shlibpath=$dir ;; esac add_dir=-L$dir add=-l$name elif test no = "$hardcode_shlibpath_var"; then add_shlibpath=$dir add=-l$name else lib_linked=no fi ;; relink) if test yes = "$hardcode_direct" && test no = "$hardcode_direct_absolute"; then add=$dir/$linklib elif test yes = "$hardcode_minus_L"; then add_dir=-L$absdir # Try looking first in the location we're being installed to. if test -n "$inst_prefix_dir"; then case $libdir in [\\/]*) func_append add_dir " -L$inst_prefix_dir$libdir" ;; esac fi add=-l$name elif test yes = "$hardcode_shlibpath_var"; then add_shlibpath=$dir add=-l$name else lib_linked=no fi ;; *) lib_linked=no ;; esac if test yes != "$lib_linked"; then func_fatal_configuration "unsupported hardcode properties" fi if test -n "$add_shlibpath"; then case :$compile_shlibpath: in *":$add_shlibpath:"*) ;; *) func_append compile_shlibpath "$add_shlibpath:" ;; esac fi if test prog = "$linkmode"; then test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs" test -n "$add" && compile_deplibs="$add $compile_deplibs" else test -n "$add_dir" && deplibs="$add_dir $deplibs" test -n "$add" && deplibs="$add $deplibs" if test yes != "$hardcode_direct" && test yes != "$hardcode_minus_L" && test yes = "$hardcode_shlibpath_var"; then case :$finalize_shlibpath: in *":$libdir:"*) ;; *) func_append finalize_shlibpath "$libdir:" ;; esac fi fi fi if test prog = "$linkmode" || test relink = "$opt_mode"; then add_shlibpath= add_dir= add= # Finalize command for both is simple: just hardcode it. if test yes = "$hardcode_direct" && test no = "$hardcode_direct_absolute"; then add=$libdir/$linklib elif test yes = "$hardcode_minus_L"; then add_dir=-L$libdir add=-l$name elif test yes = "$hardcode_shlibpath_var"; then case :$finalize_shlibpath: in *":$libdir:"*) ;; *) func_append finalize_shlibpath "$libdir:" ;; esac add=-l$name elif test yes = "$hardcode_automatic"; then if test -n "$inst_prefix_dir" && test -f "$inst_prefix_dir$libdir/$linklib"; then add=$inst_prefix_dir$libdir/$linklib else add=$libdir/$linklib fi else # We cannot seem to hardcode it, guess we'll fake it. add_dir=-L$libdir # Try looking first in the location we're being installed to. if test -n "$inst_prefix_dir"; then case $libdir in [\\/]*) func_append add_dir " -L$inst_prefix_dir$libdir" ;; esac fi add=-l$name fi if test prog = "$linkmode"; then test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs" test -n "$add" && finalize_deplibs="$add $finalize_deplibs" else test -n "$add_dir" && deplibs="$add_dir $deplibs" test -n "$add" && deplibs="$add $deplibs" fi fi elif test prog = "$linkmode"; then # Here we assume that one of hardcode_direct or hardcode_minus_L # is not unsupported. This is valid on all known static and # shared platforms. if test unsupported != "$hardcode_direct"; then test -n "$old_library" && linklib=$old_library compile_deplibs="$dir/$linklib $compile_deplibs" finalize_deplibs="$dir/$linklib $finalize_deplibs" else compile_deplibs="-l$name -L$dir $compile_deplibs" finalize_deplibs="-l$name -L$dir $finalize_deplibs" fi elif test yes = "$build_libtool_libs"; then # Not a shared library if test pass_all != "$deplibs_check_method"; then # We're trying link a shared library against a static one # but the system doesn't support it. # Just print a warning and add the library to dependency_libs so # that the program can be linked against the static library. echo $ECHO "*** Warning: This system cannot link to static lib archive $lib." echo "*** I have the capability to make that library automatically link in when" echo "*** you link to this library. But I can only do this if you have a" echo "*** shared version of the library, which you do not appear to have." if test yes = "$module"; then echo "*** But as you try to build a module library, libtool will still create " echo "*** a static module, that should work as long as the dlopening application" echo "*** is linked with the -dlopen flag to resolve symbols at runtime." if test -z "$global_symbol_pipe"; then echo echo "*** However, this would only work if libtool was able to extract symbol" echo "*** lists from a program, using 'nm' or equivalent, but libtool could" echo "*** not find such a program. So, this module is probably useless." echo "*** 'nm' from GNU binutils and a full rebuild may help." fi if test no = "$build_old_libs"; then build_libtool_libs=module build_old_libs=yes else build_libtool_libs=no fi fi else deplibs="$dir/$old_library $deplibs" link_static=yes fi fi # link shared/static library? if test lib = "$linkmode"; then if test -n "$dependency_libs" && { test yes != "$hardcode_into_libs" || test yes = "$build_old_libs" || test yes = "$link_static"; }; then # Extract -R from dependency_libs temp_deplibs= for libdir in $dependency_libs; do case $libdir in -R*) func_stripname '-R' '' "$libdir" temp_xrpath=$func_stripname_result case " $xrpath " in *" $temp_xrpath "*) ;; *) func_append xrpath " $temp_xrpath";; esac;; *) func_append temp_deplibs " $libdir";; esac done dependency_libs=$temp_deplibs fi func_append newlib_search_path " $absdir" # Link against this library test no = "$link_static" && newdependency_libs="$abs_ladir/$laname $newdependency_libs" # ... and its dependency_libs tmp_libs= for deplib in $dependency_libs; do newdependency_libs="$deplib $newdependency_libs" case $deplib in -L*) func_stripname '-L' '' "$deplib" func_resolve_sysroot "$func_stripname_result";; *) func_resolve_sysroot "$deplib" ;; esac if $opt_preserve_dup_deps; then case "$tmp_libs " in *" $func_resolve_sysroot_result "*) func_append specialdeplibs " $func_resolve_sysroot_result" ;; esac fi func_append tmp_libs " $func_resolve_sysroot_result" done if test no != "$link_all_deplibs"; then # Add the search paths of all dependency libraries for deplib in $dependency_libs; do path= case $deplib in -L*) path=$deplib ;; *.la) func_resolve_sysroot "$deplib" deplib=$func_resolve_sysroot_result func_dirname "$deplib" "" "." dir=$func_dirname_result # We need an absolute path. case $dir in [\\/]* | [A-Za-z]:[\\/]*) absdir=$dir ;; *) absdir=`cd "$dir" && pwd` if test -z "$absdir"; then func_warning "cannot determine absolute directory name of '$dir'" absdir=$dir fi ;; esac if $GREP "^installed=no" $deplib > /dev/null; then case $host in *-*-darwin*) depdepl= eval deplibrary_names=`$SED -n -e 's/^library_names=\(.*\)$/\1/p' $deplib` if test -n "$deplibrary_names"; then for tmp in $deplibrary_names; do depdepl=$tmp done if test -f "$absdir/$objdir/$depdepl"; then depdepl=$absdir/$objdir/$depdepl darwin_install_name=`$OTOOL -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'` if test -z "$darwin_install_name"; then darwin_install_name=`$OTOOL64 -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'` fi func_append compiler_flags " $wl-dylib_file $wl$darwin_install_name:$depdepl" func_append linker_flags " -dylib_file $darwin_install_name:$depdepl" path= fi fi ;; *) path=-L$absdir/$objdir ;; esac else eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` test -z "$libdir" && \ func_fatal_error "'$deplib' is not a valid libtool archive" test "$absdir" != "$libdir" && \ func_warning "'$deplib' seems to be moved" path=-L$absdir fi ;; esac case " $deplibs " in *" $path "*) ;; *) deplibs="$path $deplibs" ;; esac done fi # link_all_deplibs != no fi # linkmode = lib done # for deplib in $libs if test link = "$pass"; then if test prog = "$linkmode"; then compile_deplibs="$new_inherited_linker_flags $compile_deplibs" finalize_deplibs="$new_inherited_linker_flags $finalize_deplibs" else compiler_flags="$compiler_flags "`$ECHO " $new_inherited_linker_flags" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` fi fi dependency_libs=$newdependency_libs if test dlpreopen = "$pass"; then # Link the dlpreopened libraries before other libraries for deplib in $save_deplibs; do deplibs="$deplib $deplibs" done fi if test dlopen != "$pass"; then test conv = "$pass" || { # Make sure lib_search_path contains only unique directories. lib_search_path= for dir in $newlib_search_path; do case "$lib_search_path " in *" $dir "*) ;; *) func_append lib_search_path " $dir" ;; esac done newlib_search_path= } if test prog,link = "$linkmode,$pass"; then vars="compile_deplibs finalize_deplibs" else vars=deplibs fi for var in $vars dependency_libs; do # Add libraries to $var in reverse order eval tmp_libs=\"\$$var\" new_libs= for deplib in $tmp_libs; do # FIXME: Pedantically, this is the right thing to do, so # that some nasty dependency loop isn't accidentally # broken: #new_libs="$deplib $new_libs" # Pragmatically, this seems to cause very few problems in # practice: case $deplib in -L*) new_libs="$deplib $new_libs" ;; -R*) ;; *) # And here is the reason: when a library appears more # than once as an explicit dependence of a library, or # is implicitly linked in more than once by the # compiler, it is considered special, and multiple # occurrences thereof are not removed. Compare this # with having the same library being listed as a # dependency of multiple other libraries: in this case, # we know (pedantically, we assume) the library does not # need to be listed more than once, so we keep only the # last copy. This is not always right, but it is rare # enough that we require users that really mean to play # such unportable linking tricks to link the library # using -Wl,-lname, so that libtool does not consider it # for duplicate removal. case " $specialdeplibs " in *" $deplib "*) new_libs="$deplib $new_libs" ;; *) case " $new_libs " in *" $deplib "*) ;; *) new_libs="$deplib $new_libs" ;; esac ;; esac ;; esac done tmp_libs= for deplib in $new_libs; do case $deplib in -L*) case " $tmp_libs " in *" $deplib "*) ;; *) func_append tmp_libs " $deplib" ;; esac ;; *) func_append tmp_libs " $deplib" ;; esac done eval $var=\"$tmp_libs\" done # for var fi # Add Sun CC postdeps if required: test CXX = "$tagname" && { case $host_os in linux*) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C++ 5.9 func_suncc_cstd_abi if test no != "$suncc_use_cstd_abi"; then func_append postdeps ' -library=Cstd -library=Crun' fi ;; esac ;; solaris*) func_cc_basename "$CC" case $func_cc_basename_result in CC* | sunCC*) func_suncc_cstd_abi if test no != "$suncc_use_cstd_abi"; then func_append postdeps ' -library=Cstd -library=Crun' fi ;; esac ;; esac } # Last step: remove runtime libs from dependency_libs # (they stay in deplibs) tmp_libs= for i in $dependency_libs; do case " $predeps $postdeps $compiler_lib_search_path " in *" $i "*) i= ;; esac if test -n "$i"; then func_append tmp_libs " $i" fi done dependency_libs=$tmp_libs done # for pass if test prog = "$linkmode"; then dlfiles=$newdlfiles fi if test prog = "$linkmode" || test lib = "$linkmode"; then dlprefiles=$newdlprefiles fi case $linkmode in oldlib) if test -n "$dlfiles$dlprefiles" || test no != "$dlself"; then func_warning "'-dlopen' is ignored for archives" fi case " $deplibs" in *\ -l* | *\ -L*) func_warning "'-l' and '-L' are ignored for archives" ;; esac test -n "$rpath" && \ func_warning "'-rpath' is ignored for archives" test -n "$xrpath" && \ func_warning "'-R' is ignored for archives" test -n "$vinfo" && \ func_warning "'-version-info/-version-number' is ignored for archives" test -n "$release" && \ func_warning "'-release' is ignored for archives" test -n "$export_symbols$export_symbols_regex" && \ func_warning "'-export-symbols' is ignored for archives" # Now set the variables for building old libraries. build_libtool_libs=no oldlibs=$output func_append objs "$old_deplibs" ;; lib) # Make sure we only generate libraries of the form 'libNAME.la'. case $outputname in lib*) func_stripname 'lib' '.la' "$outputname" name=$func_stripname_result eval shared_ext=\"$shrext_cmds\" eval libname=\"$libname_spec\" ;; *) test no = "$module" \ && func_fatal_help "libtool library '$output' must begin with 'lib'" if test no != "$need_lib_prefix"; then # Add the "lib" prefix for modules if required func_stripname '' '.la' "$outputname" name=$func_stripname_result eval shared_ext=\"$shrext_cmds\" eval libname=\"$libname_spec\" else func_stripname '' '.la' "$outputname" libname=$func_stripname_result fi ;; esac if test -n "$objs"; then if test pass_all != "$deplibs_check_method"; then func_fatal_error "cannot build libtool library '$output' from non-libtool objects on this host:$objs" else echo $ECHO "*** Warning: Linking the shared library $output against the non-libtool" $ECHO "*** objects $objs is not portable!" func_append libobjs " $objs" fi fi test no = "$dlself" \ || func_warning "'-dlopen self' is ignored for libtool libraries" set dummy $rpath shift test 1 -lt "$#" \ && func_warning "ignoring multiple '-rpath's for a libtool library" install_libdir=$1 oldlibs= if test -z "$rpath"; then if test yes = "$build_libtool_libs"; then # Building a libtool convenience library. # Some compilers have problems with a '.al' extension so # convenience libraries should have the same extension an # archive normally would. oldlibs="$output_objdir/$libname.$libext $oldlibs" build_libtool_libs=convenience build_old_libs=yes fi test -n "$vinfo" && \ func_warning "'-version-info/-version-number' is ignored for convenience libraries" test -n "$release" && \ func_warning "'-release' is ignored for convenience libraries" else # Parse the version information argument. save_ifs=$IFS; IFS=: set dummy $vinfo 0 0 0 shift IFS=$save_ifs test -n "$7" && \ func_fatal_help "too many parameters to '-version-info'" # convert absolute version numbers to libtool ages # this retains compatibility with .la files and attempts # to make the code below a bit more comprehensible case $vinfo_number in yes) number_major=$1 number_minor=$2 number_revision=$3 # # There are really only two kinds -- those that # use the current revision as the major version # and those that subtract age and use age as # a minor version. But, then there is irix # that has an extra 1 added just for fun # case $version_type in # correct linux to gnu/linux during the next big refactor darwin|freebsd-elf|linux|osf|windows|none) func_arith $number_major + $number_minor current=$func_arith_result age=$number_minor revision=$number_revision ;; freebsd-aout|qnx|sunos) current=$number_major revision=$number_minor age=0 ;; irix|nonstopux) func_arith $number_major + $number_minor current=$func_arith_result age=$number_minor revision=$number_minor lt_irix_increment=no ;; *) func_fatal_configuration "$modename: unknown library version type '$version_type'" ;; esac ;; no) current=$1 revision=$2 age=$3 ;; esac # Check that each of the things are valid numbers. case $current in 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; *) func_error "CURRENT '$current' must be a nonnegative integer" func_fatal_error "'$vinfo' is not valid version information" ;; esac case $revision in 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; *) func_error "REVISION '$revision' must be a nonnegative integer" func_fatal_error "'$vinfo' is not valid version information" ;; esac case $age in 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; *) func_error "AGE '$age' must be a nonnegative integer" func_fatal_error "'$vinfo' is not valid version information" ;; esac if test "$age" -gt "$current"; then func_error "AGE '$age' is greater than the current interface number '$current'" func_fatal_error "'$vinfo' is not valid version information" fi # Calculate the version variables. major= versuffix= verstring= case $version_type in none) ;; darwin) # Like Linux, but with the current version available in # verstring for coding it into the library header func_arith $current - $age major=.$func_arith_result versuffix=$major.$age.$revision # Darwin ld doesn't like 0 for these options... func_arith $current + 1 minor_current=$func_arith_result xlcverstring="$wl-compatibility_version $wl$minor_current $wl-current_version $wl$minor_current.$revision" verstring="-compatibility_version $minor_current -current_version $minor_current.$revision" # On Darwin other compilers case $CC in nagfor*) verstring="$wl-compatibility_version $wl$minor_current $wl-current_version $wl$minor_current.$revision" ;; *) verstring="-compatibility_version $minor_current -current_version $minor_current.$revision" ;; esac ;; freebsd-aout) major=.$current versuffix=.$current.$revision ;; freebsd-elf) func_arith $current - $age major=.$func_arith_result versuffix=$major.$age.$revision ;; irix | nonstopux) if test no = "$lt_irix_increment"; then func_arith $current - $age else func_arith $current - $age + 1 fi major=$func_arith_result case $version_type in nonstopux) verstring_prefix=nonstopux ;; *) verstring_prefix=sgi ;; esac verstring=$verstring_prefix$major.$revision # Add in all the interfaces that we are compatible with. loop=$revision while test 0 -ne "$loop"; do func_arith $revision - $loop iface=$func_arith_result func_arith $loop - 1 loop=$func_arith_result verstring=$verstring_prefix$major.$iface:$verstring done # Before this point, $major must not contain '.'. major=.$major versuffix=$major.$revision ;; linux) # correct to gnu/linux during the next big refactor func_arith $current - $age major=.$func_arith_result versuffix=$major.$age.$revision ;; osf) func_arith $current - $age major=.$func_arith_result versuffix=.$current.$age.$revision verstring=$current.$age.$revision # Add in all the interfaces that we are compatible with. loop=$age while test 0 -ne "$loop"; do func_arith $current - $loop iface=$func_arith_result func_arith $loop - 1 loop=$func_arith_result verstring=$verstring:$iface.0 done # Make executables depend on our current version. func_append verstring ":$current.0" ;; qnx) major=.$current versuffix=.$current ;; sco) major=.$current versuffix=.$current ;; sunos) major=.$current versuffix=.$current.$revision ;; windows) # Use '-' rather than '.', since we only want one # extension on DOS 8.3 file systems. func_arith $current - $age major=$func_arith_result versuffix=-$major ;; *) func_fatal_configuration "unknown library version type '$version_type'" ;; esac # Clear the version info if we defaulted, and they specified a release. if test -z "$vinfo" && test -n "$release"; then major= case $version_type in darwin) # we can't check for "0.0" in archive_cmds due to quoting # problems, so we reset it completely verstring= ;; *) verstring=0.0 ;; esac if test no = "$need_version"; then versuffix= else versuffix=.0.0 fi fi # Remove version info from name if versioning should be avoided if test yes,no = "$avoid_version,$need_version"; then major= versuffix= verstring= fi # Check to see if the archive will have undefined symbols. if test yes = "$allow_undefined"; then if test unsupported = "$allow_undefined_flag"; then if test yes = "$build_old_libs"; then func_warning "undefined symbols not allowed in $host shared libraries; building static only" build_libtool_libs=no else func_fatal_error "can't build $host shared library unless -no-undefined is specified" fi fi else # Don't allow undefined symbols. allow_undefined_flag=$no_undefined_flag fi fi func_generate_dlsyms "$libname" "$libname" : func_append libobjs " $symfileobj" test " " = "$libobjs" && libobjs= if test relink != "$opt_mode"; then # Remove our outputs, but don't remove object files since they # may have been created when compiling PIC objects. removelist= tempremovelist=`$ECHO "$output_objdir/*"` for p in $tempremovelist; do case $p in *.$objext | *.gcno) ;; $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/$libname$release.*) if test -n "$precious_files_regex"; then if $ECHO "$p" | $EGREP -e "$precious_files_regex" >/dev/null 2>&1 then continue fi fi func_append removelist " $p" ;; *) ;; esac done test -n "$removelist" && \ func_show_eval "${RM}r \$removelist" fi # Now set the variables for building old libraries. if test yes = "$build_old_libs" && test convenience != "$build_libtool_libs"; then func_append oldlibs " $output_objdir/$libname.$libext" # Transform .lo files to .o files. oldobjs="$objs "`$ECHO "$libobjs" | $SP2NL | $SED "/\.$libext$/d; $lo2o" | $NL2SP` fi # Eliminate all temporary directories. #for path in $notinst_path; do # lib_search_path=`$ECHO "$lib_search_path " | $SED "s% $path % %g"` # deplibs=`$ECHO "$deplibs " | $SED "s% -L$path % %g"` # dependency_libs=`$ECHO "$dependency_libs " | $SED "s% -L$path % %g"` #done if test -n "$xrpath"; then # If the user specified any rpath flags, then add them. temp_xrpath= for libdir in $xrpath; do func_replace_sysroot "$libdir" func_append temp_xrpath " -R$func_replace_sysroot_result" case "$finalize_rpath " in *" $libdir "*) ;; *) func_append finalize_rpath " $libdir" ;; esac done if test yes != "$hardcode_into_libs" || test yes = "$build_old_libs"; then dependency_libs="$temp_xrpath $dependency_libs" fi fi # Make sure dlfiles contains only unique files that won't be dlpreopened old_dlfiles=$dlfiles dlfiles= for lib in $old_dlfiles; do case " $dlprefiles $dlfiles " in *" $lib "*) ;; *) func_append dlfiles " $lib" ;; esac done # Make sure dlprefiles contains only unique files old_dlprefiles=$dlprefiles dlprefiles= for lib in $old_dlprefiles; do case "$dlprefiles " in *" $lib "*) ;; *) func_append dlprefiles " $lib" ;; esac done if test yes = "$build_libtool_libs"; then if test -n "$rpath"; then case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos* | *-cegcc* | *-*-haiku*) # these systems don't actually have a c library (as such)! ;; *-*-rhapsody* | *-*-darwin1.[012]) # Rhapsody C library is in the System framework func_append deplibs " System.ltframework" ;; *-*-netbsd*) # Don't link with libc until the a.out ld.so is fixed. ;; *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) # Do not include libc due to us having libc/libc_r. ;; *-*-sco3.2v5* | *-*-sco5v6*) # Causes problems with __ctype ;; *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) # Compiler inserts libc in the correct place for threads to work ;; *) # Add libc to deplibs on all other systems if necessary. if test yes = "$build_libtool_need_lc"; then func_append deplibs " -lc" fi ;; esac fi # Transform deplibs into only deplibs that can be linked in shared. name_save=$name libname_save=$libname release_save=$release versuffix_save=$versuffix major_save=$major # I'm not sure if I'm treating the release correctly. I think # release should show up in the -l (ie -lgmp5) so we don't want to # add it in twice. Is that correct? release= versuffix= major= newdeplibs= droppeddeps=no case $deplibs_check_method in pass_all) # Don't check for shared/static. Everything works. # This might be a little naive. We might want to check # whether the library exists or not. But this is on # osf3 & osf4 and I'm not really sure... Just # implementing what was already the behavior. newdeplibs=$deplibs ;; test_compile) # This code stresses the "libraries are programs" paradigm to its # limits. Maybe even breaks it. We compile a program, linking it # against the deplibs as a proxy for the library. Then we can check # whether they linked in statically or dynamically with ldd. $opt_dry_run || $RM conftest.c cat > conftest.c </dev/null` $nocaseglob else potential_libs=`ls $i/$libnameglob[.-]* 2>/dev/null` fi for potent_lib in $potential_libs; do # Follow soft links. if ls -lLd "$potent_lib" 2>/dev/null | $GREP " -> " >/dev/null; then continue fi # The statement above tries to avoid entering an # endless loop below, in case of cyclic links. # We might still enter an endless loop, since a link # loop can be closed while we follow links, # but so what? potlib=$potent_lib while test -h "$potlib" 2>/dev/null; do potliblink=`ls -ld $potlib | $SED 's/.* -> //'` case $potliblink in [\\/]* | [A-Za-z]:[\\/]*) potlib=$potliblink;; *) potlib=`$ECHO "$potlib" | $SED 's|[^/]*$||'`"$potliblink";; esac done if eval $file_magic_cmd \"\$potlib\" 2>/dev/null | $SED -e 10q | $EGREP "$file_magic_regex" > /dev/null; then func_append newdeplibs " $a_deplib" a_deplib= break 2 fi done done fi if test -n "$a_deplib"; then droppeddeps=yes echo $ECHO "*** Warning: linker path does not have real file for library $a_deplib." echo "*** I have the capability to make that library automatically link in when" echo "*** you link to this library. But I can only do this if you have a" echo "*** shared version of the library, which you do not appear to have" echo "*** because I did check the linker path looking for a file starting" if test -z "$potlib"; then $ECHO "*** with $libname but no candidates were found. (...for file magic test)" else $ECHO "*** with $libname and none of the candidates passed a file format test" $ECHO "*** using a file magic. Last file checked: $potlib" fi fi ;; *) # Add a -L argument. func_append newdeplibs " $a_deplib" ;; esac done # Gone through all deplibs. ;; match_pattern*) set dummy $deplibs_check_method; shift match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"` for a_deplib in $deplibs; do case $a_deplib in -l*) func_stripname -l '' "$a_deplib" name=$func_stripname_result if test yes = "$allow_libtool_libs_with_static_runtimes"; then case " $predeps $postdeps " in *" $a_deplib "*) func_append newdeplibs " $a_deplib" a_deplib= ;; esac fi if test -n "$a_deplib"; then libname=`eval "\\$ECHO \"$libname_spec\""` for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do potential_libs=`ls $i/$libname[.-]* 2>/dev/null` for potent_lib in $potential_libs; do potlib=$potent_lib # see symlink-check above in file_magic test if eval "\$ECHO \"$potent_lib\"" 2>/dev/null | $SED 10q | \ $EGREP "$match_pattern_regex" > /dev/null; then func_append newdeplibs " $a_deplib" a_deplib= break 2 fi done done fi if test -n "$a_deplib"; then droppeddeps=yes echo $ECHO "*** Warning: linker path does not have real file for library $a_deplib." echo "*** I have the capability to make that library automatically link in when" echo "*** you link to this library. But I can only do this if you have a" echo "*** shared version of the library, which you do not appear to have" echo "*** because I did check the linker path looking for a file starting" if test -z "$potlib"; then $ECHO "*** with $libname but no candidates were found. (...for regex pattern test)" else $ECHO "*** with $libname and none of the candidates passed a file format test" $ECHO "*** using a regex pattern. Last file checked: $potlib" fi fi ;; *) # Add a -L argument. func_append newdeplibs " $a_deplib" ;; esac done # Gone through all deplibs. ;; none | unknown | *) newdeplibs= tmp_deplibs=`$ECHO " $deplibs" | $SED 's/ -lc$//; s/ -[LR][^ ]*//g'` if test yes = "$allow_libtool_libs_with_static_runtimes"; then for i in $predeps $postdeps; do # can't use Xsed below, because $i might contain '/' tmp_deplibs=`$ECHO " $tmp_deplibs" | $SED "s|$i||"` done fi case $tmp_deplibs in *[!\ \ ]*) echo if test none = "$deplibs_check_method"; then echo "*** Warning: inter-library dependencies are not supported in this platform." else echo "*** Warning: inter-library dependencies are not known to be supported." fi echo "*** All declared inter-library dependencies are being dropped." droppeddeps=yes ;; esac ;; esac versuffix=$versuffix_save major=$major_save release=$release_save libname=$libname_save name=$name_save case $host in *-*-rhapsody* | *-*-darwin1.[012]) # On Rhapsody replace the C library with the System framework newdeplibs=`$ECHO " $newdeplibs" | $SED 's/ -lc / System.ltframework /'` ;; esac if test yes = "$droppeddeps"; then if test yes = "$module"; then echo echo "*** Warning: libtool could not satisfy all declared inter-library" $ECHO "*** dependencies of module $libname. Therefore, libtool will create" echo "*** a static module, that should work as long as the dlopening" echo "*** application is linked with the -dlopen flag." if test -z "$global_symbol_pipe"; then echo echo "*** However, this would only work if libtool was able to extract symbol" echo "*** lists from a program, using 'nm' or equivalent, but libtool could" echo "*** not find such a program. So, this module is probably useless." echo "*** 'nm' from GNU binutils and a full rebuild may help." fi if test no = "$build_old_libs"; then oldlibs=$output_objdir/$libname.$libext build_libtool_libs=module build_old_libs=yes else build_libtool_libs=no fi else echo "*** The inter-library dependencies that have been dropped here will be" echo "*** automatically added whenever a program is linked with this library" echo "*** or is declared to -dlopen it." if test no = "$allow_undefined"; then echo echo "*** Since this library must not contain undefined symbols," echo "*** because either the platform does not support them or" echo "*** it was explicitly requested with -no-undefined," echo "*** libtool will only create a static version of it." if test no = "$build_old_libs"; then oldlibs=$output_objdir/$libname.$libext build_libtool_libs=module build_old_libs=yes else build_libtool_libs=no fi fi fi fi # Done checking deplibs! deplibs=$newdeplibs fi # Time to change all our "foo.ltframework" stuff back to "-framework foo" case $host in *-*-darwin*) newdeplibs=`$ECHO " $newdeplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` new_inherited_linker_flags=`$ECHO " $new_inherited_linker_flags" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` deplibs=`$ECHO " $deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` ;; esac # move library search paths that coincide with paths to not yet # installed libraries to the beginning of the library search list new_libs= for path in $notinst_path; do case " $new_libs " in *" -L$path/$objdir "*) ;; *) case " $deplibs " in *" -L$path/$objdir "*) func_append new_libs " -L$path/$objdir" ;; esac ;; esac done for deplib in $deplibs; do case $deplib in -L*) case " $new_libs " in *" $deplib "*) ;; *) func_append new_libs " $deplib" ;; esac ;; *) func_append new_libs " $deplib" ;; esac done deplibs=$new_libs # All the library-specific variables (install_libdir is set above). library_names= old_library= dlname= # Test again, we may have decided not to build it any more if test yes = "$build_libtool_libs"; then # Remove $wl instances when linking with ld. # FIXME: should test the right _cmds variable. case $archive_cmds in *\$LD\ *) wl= ;; esac if test yes = "$hardcode_into_libs"; then # Hardcode the library paths hardcode_libdirs= dep_rpath= rpath=$finalize_rpath test relink = "$opt_mode" || rpath=$compile_rpath$rpath for libdir in $rpath; do if test -n "$hardcode_libdir_flag_spec"; then if test -n "$hardcode_libdir_separator"; then func_replace_sysroot "$libdir" libdir=$func_replace_sysroot_result if test -z "$hardcode_libdirs"; then hardcode_libdirs=$libdir else # Just accumulate the unique libdirs. case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) ;; *) func_append hardcode_libdirs "$hardcode_libdir_separator$libdir" ;; esac fi else eval flag=\"$hardcode_libdir_flag_spec\" func_append dep_rpath " $flag" fi elif test -n "$runpath_var"; then case "$perm_rpath " in *" $libdir "*) ;; *) func_append perm_rpath " $libdir" ;; esac fi done # Substitute the hardcoded libdirs into the rpath. if test -n "$hardcode_libdir_separator" && test -n "$hardcode_libdirs"; then libdir=$hardcode_libdirs eval "dep_rpath=\"$hardcode_libdir_flag_spec\"" fi if test -n "$runpath_var" && test -n "$perm_rpath"; then # We should set the runpath_var. rpath= for dir in $perm_rpath; do func_append rpath "$dir:" done eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var" fi test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs" fi shlibpath=$finalize_shlibpath test relink = "$opt_mode" || shlibpath=$compile_shlibpath$shlibpath if test -n "$shlibpath"; then eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var" fi # Get the real and link names of the library. eval shared_ext=\"$shrext_cmds\" eval library_names=\"$library_names_spec\" set dummy $library_names shift realname=$1 shift if test -n "$soname_spec"; then eval soname=\"$soname_spec\" else soname=$realname fi if test -z "$dlname"; then dlname=$soname fi lib=$output_objdir/$realname linknames= for link do func_append linknames " $link" done # Use standard objects if they are pic test -z "$pic_flag" && libobjs=`$ECHO "$libobjs" | $SP2NL | $SED "$lo2o" | $NL2SP` test "X$libobjs" = "X " && libobjs= delfiles= if test -n "$export_symbols" && test -n "$include_expsyms"; then $opt_dry_run || cp "$export_symbols" "$output_objdir/$libname.uexp" export_symbols=$output_objdir/$libname.uexp func_append delfiles " $export_symbols" fi orig_export_symbols= case $host_os in cygwin* | mingw* | cegcc*) if test -n "$export_symbols" && test -z "$export_symbols_regex"; then # exporting using user supplied symfile func_dll_def_p "$export_symbols" || { # and it's NOT already a .def file. Must figure out # which of the given symbols are data symbols and tag # them as such. So, trigger use of export_symbols_cmds. # export_symbols gets reassigned inside the "prepare # the list of exported symbols" if statement, so the # include_expsyms logic still works. orig_export_symbols=$export_symbols export_symbols= always_export_symbols=yes } fi ;; esac # Prepare the list of exported symbols if test -z "$export_symbols"; then if test yes = "$always_export_symbols" || test -n "$export_symbols_regex"; then func_verbose "generating symbol list for '$libname.la'" export_symbols=$output_objdir/$libname.exp $opt_dry_run || $RM $export_symbols cmds=$export_symbols_cmds save_ifs=$IFS; IFS='~' for cmd1 in $cmds; do IFS=$save_ifs # Take the normal branch if the nm_file_list_spec branch # doesn't work or if tool conversion is not needed. case $nm_file_list_spec~$to_tool_file_cmd in *~func_convert_file_noop | *~func_convert_file_msys_to_w32 | ~*) try_normal_branch=yes eval cmd=\"$cmd1\" func_len " $cmd" len=$func_len_result ;; *) try_normal_branch=no ;; esac if test yes = "$try_normal_branch" \ && { test "$len" -lt "$max_cmd_len" \ || test "$max_cmd_len" -le -1; } then func_show_eval "$cmd" 'exit $?' skipped_export=false elif test -n "$nm_file_list_spec"; then func_basename "$output" output_la=$func_basename_result save_libobjs=$libobjs save_output=$output output=$output_objdir/$output_la.nm func_to_tool_file "$output" libobjs=$nm_file_list_spec$func_to_tool_file_result func_append delfiles " $output" func_verbose "creating $NM input file list: $output" for obj in $save_libobjs; do func_to_tool_file "$obj" $ECHO "$func_to_tool_file_result" done > "$output" eval cmd=\"$cmd1\" func_show_eval "$cmd" 'exit $?' output=$save_output libobjs=$save_libobjs skipped_export=false else # The command line is too long to execute in one step. func_verbose "using reloadable object file for export list..." skipped_export=: # Break out early, otherwise skipped_export may be # set to false by a later but shorter cmd. break fi done IFS=$save_ifs if test -n "$export_symbols_regex" && test : != "$skipped_export"; then func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"' func_show_eval '$MV "${export_symbols}T" "$export_symbols"' fi fi fi if test -n "$export_symbols" && test -n "$include_expsyms"; then tmp_export_symbols=$export_symbols test -n "$orig_export_symbols" && tmp_export_symbols=$orig_export_symbols $opt_dry_run || eval '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"' fi if test : != "$skipped_export" && test -n "$orig_export_symbols"; then # The given exports_symbols file has to be filtered, so filter it. func_verbose "filter symbol list for '$libname.la' to tag DATA exports" # FIXME: $output_objdir/$libname.filter potentially contains lots of # 's' commands, which not all seds can handle. GNU sed should be fine # though. Also, the filter scales superlinearly with the number of # global variables. join(1) would be nice here, but unfortunately # isn't a blessed tool. $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter func_append delfiles " $export_symbols $output_objdir/$libname.filter" export_symbols=$output_objdir/$libname.def $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols fi tmp_deplibs= for test_deplib in $deplibs; do case " $convenience " in *" $test_deplib "*) ;; *) func_append tmp_deplibs " $test_deplib" ;; esac done deplibs=$tmp_deplibs if test -n "$convenience"; then if test -n "$whole_archive_flag_spec" && test yes = "$compiler_needs_object" && test -z "$libobjs"; then # extract the archives, so we have objects to list. # TODO: could optimize this to just extract one archive. whole_archive_flag_spec= fi if test -n "$whole_archive_flag_spec"; then save_libobjs=$libobjs eval libobjs=\"\$libobjs $whole_archive_flag_spec\" test "X$libobjs" = "X " && libobjs= else gentop=$output_objdir/${outputname}x func_append generated " $gentop" func_extract_archives $gentop $convenience func_append libobjs " $func_extract_archives_result" test "X$libobjs" = "X " && libobjs= fi fi if test yes = "$thread_safe" && test -n "$thread_safe_flag_spec"; then eval flag=\"$thread_safe_flag_spec\" func_append linker_flags " $flag" fi # Make a backup of the uninstalled library when relinking if test relink = "$opt_mode"; then $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}U && $MV $realname ${realname}U)' || exit $? fi # Do each of the archive commands. if test yes = "$module" && test -n "$module_cmds"; then if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then eval test_cmds=\"$module_expsym_cmds\" cmds=$module_expsym_cmds else eval test_cmds=\"$module_cmds\" cmds=$module_cmds fi else if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then eval test_cmds=\"$archive_expsym_cmds\" cmds=$archive_expsym_cmds else eval test_cmds=\"$archive_cmds\" cmds=$archive_cmds fi fi if test : != "$skipped_export" && func_len " $test_cmds" && len=$func_len_result && test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then : else # The command line is too long to link in one step, link piecewise # or, if using GNU ld and skipped_export is not :, use a linker # script. # Save the value of $output and $libobjs because we want to # use them later. If we have whole_archive_flag_spec, we # want to use save_libobjs as it was before # whole_archive_flag_spec was expanded, because we can't # assume the linker understands whole_archive_flag_spec. # This may have to be revisited, in case too many # convenience libraries get linked in and end up exceeding # the spec. if test -z "$convenience" || test -z "$whole_archive_flag_spec"; then save_libobjs=$libobjs fi save_output=$output func_basename "$output" output_la=$func_basename_result # Clear the reloadable object creation command queue and # initialize k to one. test_cmds= concat_cmds= objlist= last_robj= k=1 if test -n "$save_libobjs" && test : != "$skipped_export" && test yes = "$with_gnu_ld"; then output=$output_objdir/$output_la.lnkscript func_verbose "creating GNU ld script: $output" echo 'INPUT (' > $output for obj in $save_libobjs do func_to_tool_file "$obj" $ECHO "$func_to_tool_file_result" >> $output done echo ')' >> $output func_append delfiles " $output" func_to_tool_file "$output" output=$func_to_tool_file_result elif test -n "$save_libobjs" && test : != "$skipped_export" && test -n "$file_list_spec"; then output=$output_objdir/$output_la.lnk func_verbose "creating linker input file list: $output" : > $output set x $save_libobjs shift firstobj= if test yes = "$compiler_needs_object"; then firstobj="$1 " shift fi for obj do func_to_tool_file "$obj" $ECHO "$func_to_tool_file_result" >> $output done func_append delfiles " $output" func_to_tool_file "$output" output=$firstobj\"$file_list_spec$func_to_tool_file_result\" else if test -n "$save_libobjs"; then func_verbose "creating reloadable object files..." output=$output_objdir/$output_la-$k.$objext eval test_cmds=\"$reload_cmds\" func_len " $test_cmds" len0=$func_len_result len=$len0 # Loop over the list of objects to be linked. for obj in $save_libobjs do func_len " $obj" func_arith $len + $func_len_result len=$func_arith_result if test -z "$objlist" || test "$len" -lt "$max_cmd_len"; then func_append objlist " $obj" else # The command $test_cmds is almost too long, add a # command to the queue. if test 1 -eq "$k"; then # The first file doesn't have a previous command to add. reload_objs=$objlist eval concat_cmds=\"$reload_cmds\" else # All subsequent reloadable object files will link in # the last one created. reload_objs="$objlist $last_robj" eval concat_cmds=\"\$concat_cmds~$reload_cmds~\$RM $last_robj\" fi last_robj=$output_objdir/$output_la-$k.$objext func_arith $k + 1 k=$func_arith_result output=$output_objdir/$output_la-$k.$objext objlist=" $obj" func_len " $last_robj" func_arith $len0 + $func_len_result len=$func_arith_result fi done # Handle the remaining objects by creating one last # reloadable object file. All subsequent reloadable object # files will link in the last one created. test -z "$concat_cmds" || concat_cmds=$concat_cmds~ reload_objs="$objlist $last_robj" eval concat_cmds=\"\$concat_cmds$reload_cmds\" if test -n "$last_robj"; then eval concat_cmds=\"\$concat_cmds~\$RM $last_robj\" fi func_append delfiles " $output" else output= fi ${skipped_export-false} && { func_verbose "generating symbol list for '$libname.la'" export_symbols=$output_objdir/$libname.exp $opt_dry_run || $RM $export_symbols libobjs=$output # Append the command to create the export file. test -z "$concat_cmds" || concat_cmds=$concat_cmds~ eval concat_cmds=\"\$concat_cmds$export_symbols_cmds\" if test -n "$last_robj"; then eval concat_cmds=\"\$concat_cmds~\$RM $last_robj\" fi } test -n "$save_libobjs" && func_verbose "creating a temporary reloadable object file: $output" # Loop through the commands generated above and execute them. save_ifs=$IFS; IFS='~' for cmd in $concat_cmds; do IFS=$save_ifs $opt_quiet || { func_quote_for_expand "$cmd" eval "func_echo $func_quote_for_expand_result" } $opt_dry_run || eval "$cmd" || { lt_exit=$? # Restore the uninstalled library and exit if test relink = "$opt_mode"; then ( cd "$output_objdir" && \ $RM "${realname}T" && \ $MV "${realname}U" "$realname" ) fi exit $lt_exit } done IFS=$save_ifs if test -n "$export_symbols_regex" && ${skipped_export-false}; then func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"' func_show_eval '$MV "${export_symbols}T" "$export_symbols"' fi fi ${skipped_export-false} && { if test -n "$export_symbols" && test -n "$include_expsyms"; then tmp_export_symbols=$export_symbols test -n "$orig_export_symbols" && tmp_export_symbols=$orig_export_symbols $opt_dry_run || eval '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"' fi if test -n "$orig_export_symbols"; then # The given exports_symbols file has to be filtered, so filter it. func_verbose "filter symbol list for '$libname.la' to tag DATA exports" # FIXME: $output_objdir/$libname.filter potentially contains lots of # 's' commands, which not all seds can handle. GNU sed should be fine # though. Also, the filter scales superlinearly with the number of # global variables. join(1) would be nice here, but unfortunately # isn't a blessed tool. $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter func_append delfiles " $export_symbols $output_objdir/$libname.filter" export_symbols=$output_objdir/$libname.def $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols fi } libobjs=$output # Restore the value of output. output=$save_output if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then eval libobjs=\"\$libobjs $whole_archive_flag_spec\" test "X$libobjs" = "X " && libobjs= fi # Expand the library linking commands again to reset the # value of $libobjs for piecewise linking. # Do each of the archive commands. if test yes = "$module" && test -n "$module_cmds"; then if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then cmds=$module_expsym_cmds else cmds=$module_cmds fi else if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then cmds=$archive_expsym_cmds else cmds=$archive_cmds fi fi fi if test -n "$delfiles"; then # Append the command to remove temporary files to $cmds. eval cmds=\"\$cmds~\$RM $delfiles\" fi # Add any objects from preloaded convenience libraries if test -n "$dlprefiles"; then gentop=$output_objdir/${outputname}x func_append generated " $gentop" func_extract_archives $gentop $dlprefiles func_append libobjs " $func_extract_archives_result" test "X$libobjs" = "X " && libobjs= fi save_ifs=$IFS; IFS='~' for cmd in $cmds; do IFS=$sp$nl eval cmd=\"$cmd\" IFS=$save_ifs $opt_quiet || { func_quote_for_expand "$cmd" eval "func_echo $func_quote_for_expand_result" } $opt_dry_run || eval "$cmd" || { lt_exit=$? # Restore the uninstalled library and exit if test relink = "$opt_mode"; then ( cd "$output_objdir" && \ $RM "${realname}T" && \ $MV "${realname}U" "$realname" ) fi exit $lt_exit } done IFS=$save_ifs # Restore the uninstalled library and exit if test relink = "$opt_mode"; then $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}T && $MV $realname ${realname}T && $MV ${realname}U $realname)' || exit $? if test -n "$convenience"; then if test -z "$whole_archive_flag_spec"; then func_show_eval '${RM}r "$gentop"' fi fi exit $EXIT_SUCCESS fi # Create links to the real library. for linkname in $linknames; do if test "$realname" != "$linkname"; then func_show_eval '(cd "$output_objdir" && $RM "$linkname" && $LN_S "$realname" "$linkname")' 'exit $?' fi done # If -module or -export-dynamic was specified, set the dlname. if test yes = "$module" || test yes = "$export_dynamic"; then # On all known operating systems, these are identical. dlname=$soname fi fi ;; obj) if test -n "$dlfiles$dlprefiles" || test no != "$dlself"; then func_warning "'-dlopen' is ignored for objects" fi case " $deplibs" in *\ -l* | *\ -L*) func_warning "'-l' and '-L' are ignored for objects" ;; esac test -n "$rpath" && \ func_warning "'-rpath' is ignored for objects" test -n "$xrpath" && \ func_warning "'-R' is ignored for objects" test -n "$vinfo" && \ func_warning "'-version-info' is ignored for objects" test -n "$release" && \ func_warning "'-release' is ignored for objects" case $output in *.lo) test -n "$objs$old_deplibs" && \ func_fatal_error "cannot build library object '$output' from non-libtool objects" libobj=$output func_lo2o "$libobj" obj=$func_lo2o_result ;; *) libobj= obj=$output ;; esac # Delete the old objects. $opt_dry_run || $RM $obj $libobj # Objects from convenience libraries. This assumes # single-version convenience libraries. Whenever we create # different ones for PIC/non-PIC, this we'll have to duplicate # the extraction. reload_conv_objs= gentop= # if reload_cmds runs $LD directly, get rid of -Wl from # whole_archive_flag_spec and hope we can get by with turning comma # into space. case $reload_cmds in *\$LD[\ \$]*) wl= ;; esac if test -n "$convenience"; then if test -n "$whole_archive_flag_spec"; then eval tmp_whole_archive_flags=\"$whole_archive_flag_spec\" test -n "$wl" || tmp_whole_archive_flags=`$ECHO "$tmp_whole_archive_flags" | $SED 's|,| |g'` reload_conv_objs=$reload_objs\ $tmp_whole_archive_flags else gentop=$output_objdir/${obj}x func_append generated " $gentop" func_extract_archives $gentop $convenience reload_conv_objs="$reload_objs $func_extract_archives_result" fi fi # If we're not building shared, we need to use non_pic_objs test yes = "$build_libtool_libs" || libobjs=$non_pic_objects # Create the old-style object. reload_objs=$objs$old_deplibs' '`$ECHO "$libobjs" | $SP2NL | $SED "/\.$libext$/d; /\.lib$/d; $lo2o" | $NL2SP`' '$reload_conv_objs output=$obj func_execute_cmds "$reload_cmds" 'exit $?' # Exit if we aren't doing a library object file. if test -z "$libobj"; then if test -n "$gentop"; then func_show_eval '${RM}r "$gentop"' fi exit $EXIT_SUCCESS fi test yes = "$build_libtool_libs" || { if test -n "$gentop"; then func_show_eval '${RM}r "$gentop"' fi # Create an invalid libtool object if no PIC, so that we don't # accidentally link it into a program. # $show "echo timestamp > $libobj" # $opt_dry_run || eval "echo timestamp > $libobj" || exit $? exit $EXIT_SUCCESS } if test -n "$pic_flag" || test default != "$pic_mode"; then # Only do commands if we really have different PIC objects. reload_objs="$libobjs $reload_conv_objs" output=$libobj func_execute_cmds "$reload_cmds" 'exit $?' fi if test -n "$gentop"; then func_show_eval '${RM}r "$gentop"' fi exit $EXIT_SUCCESS ;; prog) case $host in *cygwin*) func_stripname '' '.exe' "$output" output=$func_stripname_result.exe;; esac test -n "$vinfo" && \ func_warning "'-version-info' is ignored for programs" test -n "$release" && \ func_warning "'-release' is ignored for programs" $preload \ && test unknown,unknown,unknown = "$dlopen_support,$dlopen_self,$dlopen_self_static" \ && func_warning "'LT_INIT([dlopen])' not used. Assuming no dlopen support." case $host in *-*-rhapsody* | *-*-darwin1.[012]) # On Rhapsody replace the C library is the System framework compile_deplibs=`$ECHO " $compile_deplibs" | $SED 's/ -lc / System.ltframework /'` finalize_deplibs=`$ECHO " $finalize_deplibs" | $SED 's/ -lc / System.ltframework /'` ;; esac case $host in *-*-darwin*) # Don't allow lazy linking, it breaks C++ global constructors # But is supposedly fixed on 10.4 or later (yay!). if test CXX = "$tagname"; then case ${MACOSX_DEPLOYMENT_TARGET-10.0} in 10.[0123]) func_append compile_command " $wl-bind_at_load" func_append finalize_command " $wl-bind_at_load" ;; esac fi # Time to change all our "foo.ltframework" stuff back to "-framework foo" compile_deplibs=`$ECHO " $compile_deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` finalize_deplibs=`$ECHO " $finalize_deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` ;; esac # move library search paths that coincide with paths to not yet # installed libraries to the beginning of the library search list new_libs= for path in $notinst_path; do case " $new_libs " in *" -L$path/$objdir "*) ;; *) case " $compile_deplibs " in *" -L$path/$objdir "*) func_append new_libs " -L$path/$objdir" ;; esac ;; esac done for deplib in $compile_deplibs; do case $deplib in -L*) case " $new_libs " in *" $deplib "*) ;; *) func_append new_libs " $deplib" ;; esac ;; *) func_append new_libs " $deplib" ;; esac done compile_deplibs=$new_libs func_append compile_command " $compile_deplibs" func_append finalize_command " $finalize_deplibs" if test -n "$rpath$xrpath"; then # If the user specified any rpath flags, then add them. for libdir in $rpath $xrpath; do # This is the magic to use -rpath. case "$finalize_rpath " in *" $libdir "*) ;; *) func_append finalize_rpath " $libdir" ;; esac done fi # Now hardcode the library paths rpath= hardcode_libdirs= for libdir in $compile_rpath $finalize_rpath; do if test -n "$hardcode_libdir_flag_spec"; then if test -n "$hardcode_libdir_separator"; then if test -z "$hardcode_libdirs"; then hardcode_libdirs=$libdir else # Just accumulate the unique libdirs. case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) ;; *) func_append hardcode_libdirs "$hardcode_libdir_separator$libdir" ;; esac fi else eval flag=\"$hardcode_libdir_flag_spec\" func_append rpath " $flag" fi elif test -n "$runpath_var"; then case "$perm_rpath " in *" $libdir "*) ;; *) func_append perm_rpath " $libdir" ;; esac fi case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) testbindir=`$ECHO "$libdir" | $SED -e 's*/lib$*/bin*'` case :$dllsearchpath: in *":$libdir:"*) ;; ::) dllsearchpath=$libdir;; *) func_append dllsearchpath ":$libdir";; esac case :$dllsearchpath: in *":$testbindir:"*) ;; ::) dllsearchpath=$testbindir;; *) func_append dllsearchpath ":$testbindir";; esac ;; esac done # Substitute the hardcoded libdirs into the rpath. if test -n "$hardcode_libdir_separator" && test -n "$hardcode_libdirs"; then libdir=$hardcode_libdirs eval rpath=\" $hardcode_libdir_flag_spec\" fi compile_rpath=$rpath rpath= hardcode_libdirs= for libdir in $finalize_rpath; do if test -n "$hardcode_libdir_flag_spec"; then if test -n "$hardcode_libdir_separator"; then if test -z "$hardcode_libdirs"; then hardcode_libdirs=$libdir else # Just accumulate the unique libdirs. case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) ;; *) func_append hardcode_libdirs "$hardcode_libdir_separator$libdir" ;; esac fi else eval flag=\"$hardcode_libdir_flag_spec\" func_append rpath " $flag" fi elif test -n "$runpath_var"; then case "$finalize_perm_rpath " in *" $libdir "*) ;; *) func_append finalize_perm_rpath " $libdir" ;; esac fi done # Substitute the hardcoded libdirs into the rpath. if test -n "$hardcode_libdir_separator" && test -n "$hardcode_libdirs"; then libdir=$hardcode_libdirs eval rpath=\" $hardcode_libdir_flag_spec\" fi finalize_rpath=$rpath if test -n "$libobjs" && test yes = "$build_old_libs"; then # Transform all the library objects into standard objects. compile_command=`$ECHO "$compile_command" | $SP2NL | $SED "$lo2o" | $NL2SP` finalize_command=`$ECHO "$finalize_command" | $SP2NL | $SED "$lo2o" | $NL2SP` fi func_generate_dlsyms "$outputname" "@PROGRAM@" false # template prelinking step if test -n "$prelink_cmds"; then func_execute_cmds "$prelink_cmds" 'exit $?' fi wrappers_required=: case $host in *cegcc* | *mingw32ce*) # Disable wrappers for cegcc and mingw32ce hosts, we are cross compiling anyway. wrappers_required=false ;; *cygwin* | *mingw* ) test yes = "$build_libtool_libs" || wrappers_required=false ;; *) if test no = "$need_relink" || test yes != "$build_libtool_libs"; then wrappers_required=false fi ;; esac $wrappers_required || { # Replace the output file specification. compile_command=`$ECHO "$compile_command" | $SED 's%@OUTPUT@%'"$output"'%g'` link_command=$compile_command$compile_rpath # We have no uninstalled library dependencies, so finalize right now. exit_status=0 func_show_eval "$link_command" 'exit_status=$?' if test -n "$postlink_cmds"; then func_to_tool_file "$output" postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'` func_execute_cmds "$postlink_cmds" 'exit $?' fi # Delete the generated files. if test -f "$output_objdir/${outputname}S.$objext"; then func_show_eval '$RM "$output_objdir/${outputname}S.$objext"' fi exit $exit_status } if test -n "$compile_shlibpath$finalize_shlibpath"; then compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command" fi if test -n "$finalize_shlibpath"; then finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command" fi compile_var= finalize_var= if test -n "$runpath_var"; then if test -n "$perm_rpath"; then # We should set the runpath_var. rpath= for dir in $perm_rpath; do func_append rpath "$dir:" done compile_var="$runpath_var=\"$rpath\$$runpath_var\" " fi if test -n "$finalize_perm_rpath"; then # We should set the runpath_var. rpath= for dir in $finalize_perm_rpath; do func_append rpath "$dir:" done finalize_var="$runpath_var=\"$rpath\$$runpath_var\" " fi fi if test yes = "$no_install"; then # We don't need to create a wrapper script. link_command=$compile_var$compile_command$compile_rpath # Replace the output file specification. link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output"'%g'` # Delete the old output file. $opt_dry_run || $RM $output # Link the executable and exit func_show_eval "$link_command" 'exit $?' if test -n "$postlink_cmds"; then func_to_tool_file "$output" postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'` func_execute_cmds "$postlink_cmds" 'exit $?' fi exit $EXIT_SUCCESS fi case $hardcode_action,$fast_install in relink,*) # Fast installation is not supported link_command=$compile_var$compile_command$compile_rpath relink_command=$finalize_var$finalize_command$finalize_rpath func_warning "this platform does not like uninstalled shared libraries" func_warning "'$output' will be relinked during installation" ;; *,yes) link_command=$finalize_var$compile_command$finalize_rpath relink_command=`$ECHO "$compile_var$compile_command$compile_rpath" | $SED 's%@OUTPUT@%\$progdir/\$file%g'` ;; *,no) link_command=$compile_var$compile_command$compile_rpath relink_command=$finalize_var$finalize_command$finalize_rpath ;; *,needless) link_command=$finalize_var$compile_command$finalize_rpath relink_command= ;; esac # Replace the output file specification. link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'` # Delete the old output files. $opt_dry_run || $RM $output $output_objdir/$outputname $output_objdir/lt-$outputname func_show_eval "$link_command" 'exit $?' if test -n "$postlink_cmds"; then func_to_tool_file "$output_objdir/$outputname" postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'` func_execute_cmds "$postlink_cmds" 'exit $?' fi # Now create the wrapper script. func_verbose "creating $output" # Quote the relink command for shipping. if test -n "$relink_command"; then # Preserve any variables that may affect compiler behavior for var in $variables_saved_for_relink; do if eval test -z \"\${$var+set}\"; then relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command" elif eval var_value=\$$var; test -z "$var_value"; then relink_command="$var=; export $var; $relink_command" else func_quote_for_eval "$var_value" relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command" fi done relink_command="(cd `pwd`; $relink_command)" relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"` fi # Only actually do things if not in dry run mode. $opt_dry_run || { # win32 will think the script is a binary if it has # a .exe suffix, so we strip it off here. case $output in *.exe) func_stripname '' '.exe' "$output" output=$func_stripname_result ;; esac # test for cygwin because mv fails w/o .exe extensions case $host in *cygwin*) exeext=.exe func_stripname '' '.exe' "$outputname" outputname=$func_stripname_result ;; *) exeext= ;; esac case $host in *cygwin* | *mingw* ) func_dirname_and_basename "$output" "" "." output_name=$func_basename_result output_path=$func_dirname_result cwrappersource=$output_path/$objdir/lt-$output_name.c cwrapper=$output_path/$output_name.exe $RM $cwrappersource $cwrapper trap "$RM $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15 func_emit_cwrapperexe_src > $cwrappersource # The wrapper executable is built using the $host compiler, # because it contains $host paths and files. If cross- # compiling, it, like the target executable, must be # executed on the $host or under an emulation environment. $opt_dry_run || { $LTCC $LTCFLAGS -o $cwrapper $cwrappersource $STRIP $cwrapper } # Now, create the wrapper script for func_source use: func_ltwrapper_scriptname $cwrapper $RM $func_ltwrapper_scriptname_result trap "$RM $func_ltwrapper_scriptname_result; exit $EXIT_FAILURE" 1 2 15 $opt_dry_run || { # note: this script will not be executed, so do not chmod. if test "x$build" = "x$host"; then $cwrapper --lt-dump-script > $func_ltwrapper_scriptname_result else func_emit_wrapper no > $func_ltwrapper_scriptname_result fi } ;; * ) $RM $output trap "$RM $output; exit $EXIT_FAILURE" 1 2 15 func_emit_wrapper no > $output chmod +x $output ;; esac } exit $EXIT_SUCCESS ;; esac # See if we need to build an old-fashioned archive. for oldlib in $oldlibs; do case $build_libtool_libs in convenience) oldobjs="$libobjs_save $symfileobj" addlibs=$convenience build_libtool_libs=no ;; module) oldobjs=$libobjs_save addlibs=$old_convenience build_libtool_libs=no ;; *) oldobjs="$old_deplibs $non_pic_objects" $preload && test -f "$symfileobj" \ && func_append oldobjs " $symfileobj" addlibs=$old_convenience ;; esac if test -n "$addlibs"; then gentop=$output_objdir/${outputname}x func_append generated " $gentop" func_extract_archives $gentop $addlibs func_append oldobjs " $func_extract_archives_result" fi # Do each command in the archive commands. if test -n "$old_archive_from_new_cmds" && test yes = "$build_libtool_libs"; then cmds=$old_archive_from_new_cmds else # Add any objects from preloaded convenience libraries if test -n "$dlprefiles"; then gentop=$output_objdir/${outputname}x func_append generated " $gentop" func_extract_archives $gentop $dlprefiles func_append oldobjs " $func_extract_archives_result" fi # POSIX demands no paths to be encoded in archives. We have # to avoid creating archives with duplicate basenames if we # might have to extract them afterwards, e.g., when creating a # static archive out of a convenience library, or when linking # the entirety of a libtool archive into another (currently # not supported by libtool). if (for obj in $oldobjs do func_basename "$obj" $ECHO "$func_basename_result" done | sort | sort -uc >/dev/null 2>&1); then : else echo "copying selected object files to avoid basename conflicts..." gentop=$output_objdir/${outputname}x func_append generated " $gentop" func_mkdir_p "$gentop" save_oldobjs=$oldobjs oldobjs= counter=1 for obj in $save_oldobjs do func_basename "$obj" objbase=$func_basename_result case " $oldobjs " in " ") oldobjs=$obj ;; *[\ /]"$objbase "*) while :; do # Make sure we don't pick an alternate name that also # overlaps. newobj=lt$counter-$objbase func_arith $counter + 1 counter=$func_arith_result case " $oldobjs " in *[\ /]"$newobj "*) ;; *) if test ! -f "$gentop/$newobj"; then break; fi ;; esac done func_show_eval "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj" func_append oldobjs " $gentop/$newobj" ;; *) func_append oldobjs " $obj" ;; esac done fi func_to_tool_file "$oldlib" func_convert_file_msys_to_w32 tool_oldlib=$func_to_tool_file_result eval cmds=\"$old_archive_cmds\" func_len " $cmds" len=$func_len_result if test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then cmds=$old_archive_cmds elif test -n "$archiver_list_spec"; then func_verbose "using command file archive linking..." for obj in $oldobjs do func_to_tool_file "$obj" $ECHO "$func_to_tool_file_result" done > $output_objdir/$libname.libcmd func_to_tool_file "$output_objdir/$libname.libcmd" oldobjs=" $archiver_list_spec$func_to_tool_file_result" cmds=$old_archive_cmds else # the command line is too long to link in one step, link in parts func_verbose "using piecewise archive linking..." save_RANLIB=$RANLIB RANLIB=: objlist= concat_cmds= save_oldobjs=$oldobjs oldobjs= # Is there a better way of finding the last object in the list? for obj in $save_oldobjs do last_oldobj=$obj done eval test_cmds=\"$old_archive_cmds\" func_len " $test_cmds" len0=$func_len_result len=$len0 for obj in $save_oldobjs do func_len " $obj" func_arith $len + $func_len_result len=$func_arith_result func_append objlist " $obj" if test "$len" -lt "$max_cmd_len"; then : else # the above command should be used before it gets too long oldobjs=$objlist if test "$obj" = "$last_oldobj"; then RANLIB=$save_RANLIB fi test -z "$concat_cmds" || concat_cmds=$concat_cmds~ eval concat_cmds=\"\$concat_cmds$old_archive_cmds\" objlist= len=$len0 fi done RANLIB=$save_RANLIB oldobjs=$objlist if test -z "$oldobjs"; then eval cmds=\"\$concat_cmds\" else eval cmds=\"\$concat_cmds~\$old_archive_cmds\" fi fi fi func_execute_cmds "$cmds" 'exit $?' done test -n "$generated" && \ func_show_eval "${RM}r$generated" # Now create the libtool archive. case $output in *.la) old_library= test yes = "$build_old_libs" && old_library=$libname.$libext func_verbose "creating $output" # Preserve any variables that may affect compiler behavior for var in $variables_saved_for_relink; do if eval test -z \"\${$var+set}\"; then relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command" elif eval var_value=\$$var; test -z "$var_value"; then relink_command="$var=; export $var; $relink_command" else func_quote_for_eval "$var_value" relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command" fi done # Quote the link command for shipping. relink_command="(cd `pwd`; $SHELL \"$progpath\" $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)" relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"` if test yes = "$hardcode_automatic"; then relink_command= fi # Only create the output if not a dry run. $opt_dry_run || { for installed in no yes; do if test yes = "$installed"; then if test -z "$install_libdir"; then break fi output=$output_objdir/${outputname}i # Replace all uninstalled libtool libraries with the installed ones newdependency_libs= for deplib in $dependency_libs; do case $deplib in *.la) func_basename "$deplib" name=$func_basename_result func_resolve_sysroot "$deplib" eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $func_resolve_sysroot_result` test -z "$libdir" && \ func_fatal_error "'$deplib' is not a valid libtool archive" func_append newdependency_libs " ${lt_sysroot:+=}$libdir/$name" ;; -L*) func_stripname -L '' "$deplib" func_replace_sysroot "$func_stripname_result" func_append newdependency_libs " -L$func_replace_sysroot_result" ;; -R*) func_stripname -R '' "$deplib" func_replace_sysroot "$func_stripname_result" func_append newdependency_libs " -R$func_replace_sysroot_result" ;; *) func_append newdependency_libs " $deplib" ;; esac done dependency_libs=$newdependency_libs newdlfiles= for lib in $dlfiles; do case $lib in *.la) func_basename "$lib" name=$func_basename_result eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $lib` test -z "$libdir" && \ func_fatal_error "'$lib' is not a valid libtool archive" func_append newdlfiles " ${lt_sysroot:+=}$libdir/$name" ;; *) func_append newdlfiles " $lib" ;; esac done dlfiles=$newdlfiles newdlprefiles= for lib in $dlprefiles; do case $lib in *.la) # Only pass preopened files to the pseudo-archive (for # eventual linking with the app. that links it) if we # didn't already link the preopened objects directly into # the library: func_basename "$lib" name=$func_basename_result eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $lib` test -z "$libdir" && \ func_fatal_error "'$lib' is not a valid libtool archive" func_append newdlprefiles " ${lt_sysroot:+=}$libdir/$name" ;; esac done dlprefiles=$newdlprefiles else newdlfiles= for lib in $dlfiles; do case $lib in [\\/]* | [A-Za-z]:[\\/]*) abs=$lib ;; *) abs=`pwd`"/$lib" ;; esac func_append newdlfiles " $abs" done dlfiles=$newdlfiles newdlprefiles= for lib in $dlprefiles; do case $lib in [\\/]* | [A-Za-z]:[\\/]*) abs=$lib ;; *) abs=`pwd`"/$lib" ;; esac func_append newdlprefiles " $abs" done dlprefiles=$newdlprefiles fi $RM $output # place dlname in correct position for cygwin # In fact, it would be nice if we could use this code for all target # systems that can't hard-code library paths into their executables # and that have no shared library path variable independent of PATH, # but it turns out we can't easily determine that from inspecting # libtool variables, so we have to hard-code the OSs to which it # applies here; at the moment, that means platforms that use the PE # object format with DLL files. See the long comment at the top of # tests/bindir.at for full details. tdlname=$dlname case $host,$output,$installed,$module,$dlname in *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll | *cegcc*,*lai,yes,no,*.dll) # If a -bindir argument was supplied, place the dll there. if test -n "$bindir"; then func_relative_path "$install_libdir" "$bindir" tdlname=$func_relative_path_result/$dlname else # Otherwise fall back on heuristic. tdlname=../bin/$dlname fi ;; esac $ECHO > $output "\ # $outputname - a libtool library file # Generated by $PROGRAM (GNU $PACKAGE) $VERSION # # Please DO NOT delete this file! # It is necessary for linking the library. # The name that we can dlopen(3). dlname='$tdlname' # Names of this library. library_names='$library_names' # The name of the static archive. old_library='$old_library' # Linker flags that cannot go in dependency_libs. inherited_linker_flags='$new_inherited_linker_flags' # Libraries that this one depends upon. dependency_libs='$dependency_libs' # Names of additional weak libraries provided by this library weak_library_names='$weak_libs' # Version information for $libname. current=$current age=$age revision=$revision # Is this an already installed library? installed=$installed # Should we warn about portability when linking against -modules? shouldnotlink=$module # Files to dlopen/dlpreopen dlopen='$dlfiles' dlpreopen='$dlprefiles' # Directory that this library needs to be installed in: libdir='$install_libdir'" if test no,yes = "$installed,$need_relink"; then $ECHO >> $output "\ relink_command=\"$relink_command\"" fi done } # Do a symbolic link so that the libtool archive can be found in # LD_LIBRARY_PATH before the program is installed. func_show_eval '( cd "$output_objdir" && $RM "$outputname" && $LN_S "../$outputname" "$outputname" )' 'exit $?' ;; esac exit $EXIT_SUCCESS } if test link = "$opt_mode" || test relink = "$opt_mode"; then func_mode_link ${1+"$@"} fi # func_mode_uninstall arg... func_mode_uninstall () { $debug_cmd RM=$nonopt files= rmforce=false exit_status=0 # This variable tells wrapper scripts just to set variables rather # than running their programs. libtool_install_magic=$magic for arg do case $arg in -f) func_append RM " $arg"; rmforce=: ;; -*) func_append RM " $arg" ;; *) func_append files " $arg" ;; esac done test -z "$RM" && \ func_fatal_help "you must specify an RM program" rmdirs= for file in $files; do func_dirname "$file" "" "." dir=$func_dirname_result if test . = "$dir"; then odir=$objdir else odir=$dir/$objdir fi func_basename "$file" name=$func_basename_result test uninstall = "$opt_mode" && odir=$dir # Remember odir for removal later, being careful to avoid duplicates if test clean = "$opt_mode"; then case " $rmdirs " in *" $odir "*) ;; *) func_append rmdirs " $odir" ;; esac fi # Don't error if the file doesn't exist and rm -f was used. if { test -L "$file"; } >/dev/null 2>&1 || { test -h "$file"; } >/dev/null 2>&1 || test -f "$file"; then : elif test -d "$file"; then exit_status=1 continue elif $rmforce; then continue fi rmfiles=$file case $name in *.la) # Possibly a libtool archive, so verify it. if func_lalib_p "$file"; then func_source $dir/$name # Delete the libtool libraries and symlinks. for n in $library_names; do func_append rmfiles " $odir/$n" done test -n "$old_library" && func_append rmfiles " $odir/$old_library" case $opt_mode in clean) case " $library_names " in *" $dlname "*) ;; *) test -n "$dlname" && func_append rmfiles " $odir/$dlname" ;; esac test -n "$libdir" && func_append rmfiles " $odir/$name $odir/${name}i" ;; uninstall) if test -n "$library_names"; then # Do each command in the postuninstall commands. func_execute_cmds "$postuninstall_cmds" '$rmforce || exit_status=1' fi if test -n "$old_library"; then # Do each command in the old_postuninstall commands. func_execute_cmds "$old_postuninstall_cmds" '$rmforce || exit_status=1' fi # FIXME: should reinstall the best remaining shared library. ;; esac fi ;; *.lo) # Possibly a libtool object, so verify it. if func_lalib_p "$file"; then # Read the .lo file func_source $dir/$name # Add PIC object to the list of files to remove. if test -n "$pic_object" && test none != "$pic_object"; then func_append rmfiles " $dir/$pic_object" fi # Add non-PIC object to the list of files to remove. if test -n "$non_pic_object" && test none != "$non_pic_object"; then func_append rmfiles " $dir/$non_pic_object" fi fi ;; *) if test clean = "$opt_mode"; then noexename=$name case $file in *.exe) func_stripname '' '.exe' "$file" file=$func_stripname_result func_stripname '' '.exe' "$name" noexename=$func_stripname_result # $file with .exe has already been added to rmfiles, # add $file without .exe func_append rmfiles " $file" ;; esac # Do a test to see if this is a libtool program. if func_ltwrapper_p "$file"; then if func_ltwrapper_executable_p "$file"; then func_ltwrapper_scriptname "$file" relink_command= func_source $func_ltwrapper_scriptname_result func_append rmfiles " $func_ltwrapper_scriptname_result" else relink_command= func_source $dir/$noexename fi # note $name still contains .exe if it was in $file originally # as does the version of $file that was added into $rmfiles func_append rmfiles " $odir/$name $odir/${name}S.$objext" if test yes = "$fast_install" && test -n "$relink_command"; then func_append rmfiles " $odir/lt-$name" fi if test "X$noexename" != "X$name"; then func_append rmfiles " $odir/lt-$noexename.c" fi fi fi ;; esac func_show_eval "$RM $rmfiles" 'exit_status=1' done # Try to remove the $objdir's in the directories where we deleted files for dir in $rmdirs; do if test -d "$dir"; then func_show_eval "rmdir $dir >/dev/null 2>&1" fi done exit $exit_status } if test uninstall = "$opt_mode" || test clean = "$opt_mode"; then func_mode_uninstall ${1+"$@"} fi test -z "$opt_mode" && { help=$generic_help func_fatal_help "you must specify a MODE" } test -z "$exec_cmd" && \ func_fatal_help "invalid operation mode '$opt_mode'" if test -n "$exec_cmd"; then eval exec "$exec_cmd" exit $EXIT_FAILURE fi exit $exit_status # The TAGs below are defined such that we never get into a situation # where we disable both kinds of libraries. Given conflicting # choices, we go for a static library, that is the most portable, # since we can't tell whether shared libraries were disabled because # the user asked for that or because the platform doesn't support # them. This is particularly important on AIX, because we don't # support having both static and shared libraries enabled at the same # time on that platform, so we default to a shared-only configuration. # If a disable-shared tag is given, we'll fallback to a static-only # configuration. But we'll never go from static-only to shared-only. # ### BEGIN LIBTOOL TAG CONFIG: disable-shared build_libtool_libs=no build_old_libs=yes # ### END LIBTOOL TAG CONFIG: disable-shared # ### BEGIN LIBTOOL TAG CONFIG: disable-static build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac` # ### END LIBTOOL TAG CONFIG: disable-static # Local Variables: # mode:shell-script # sh-indentation:2 # End: shapelib-1.6.1/dbfadd.c0000664000175000017500000000320614526370352011611 00000000000000/****************************************************************************** * * Project: Shapelib * Purpose: Sample application for adding a record to an existing .dbf file. * Author: Frank Warmerdam, warmerdam@pobox.com * ****************************************************************************** * Copyright (c) 1999, Frank Warmerdam * * SPDX-License-Identifier: MIT OR LGPL-2.0-or-later ****************************************************************************** */ #include #include #include #include #include "shapefil.h" int main(int argc, char **argv) { if (argc < 3) { printf("dbfadd xbase_file field_values\n"); return EXIT_FAILURE; } DBFHandle hDBF = DBFOpen(argv[1], "r+b"); if (hDBF == NULL) { printf("DBFOpen(%s,\"rb+\") failed.\n", argv[1]); return 2; } // Do we have the correct number of arguments? if (DBFGetFieldCount(hDBF) != argc - 2) { printf("Got %d fields, but require %d\n", argc - 2, DBFGetFieldCount(hDBF)); DBFClose(hDBF); return 3; } const int iRecord = DBFGetRecordCount(hDBF); // Loop assigning the new field values. for (int i = 0; i < DBFGetFieldCount(hDBF); i++) { if (strcmp(argv[i + 2], "") == 0) DBFWriteNULLAttribute(hDBF, iRecord, i); else if (DBFGetFieldInfo(hDBF, i, NULL, NULL, NULL) == FTString) DBFWriteStringAttribute(hDBF, iRecord, i, argv[i + 2]); else DBFWriteDoubleAttribute(hDBF, iRecord, i, atof(argv[i + 2])); } DBFClose(hDBF); return 0; } shapelib-1.6.1/configure.ac0000664000175000017500000000363414656133201012526 00000000000000dnl Process this file with autoconf to produce a configure script. m4_define(shapelib_version_major, 1) m4_define(shapelib_version_minor, 6) m4_define(shapelib_version_micro, 1) AC_PREREQ(2.62) AC_INIT(shapelib, shapelib_version_major.shapelib_version_minor.shapelib_version_micro) AC_CONFIG_MACRO_DIR(m4) AC_CONFIG_SRCDIR(shapefil.h) AC_C_BIGENDIAN([ENDIAN="big"], [ENDIAN="little"], [ENDIAN="unknown"], [ENDIAN="universal_endianness"]) if test "x$ENDIAN" = "xbig"; then # Define SHP_BIG_ENDIAN if the system is big-endian AC_DEFINE([SHP_BIG_ENDIAN], [1], [Define if the system is big-endian]) fi if test "x$ENDIAN" = "xunknown"; then AC_MSG_WARN([Unknown endian considered as little-endian]) fi if test "x$ENDIAN" = "xuniversal_endianness"; then AC_MSG_ERROR([Building with both big-endian and little-endian is not supported]) fi AM_INIT_AUTOMAKE([foreign -Wall -Wextra]) AM_SILENT_RULES([yes]) m4_ifdef([AM_PROG_AR], [AM_PROG_AR]) dnl See http://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html AC_SUBST([SHAPELIB_SO_VERSION], [5:0:1]) AC_PROG_CC AC_PROG_CXX AM_PROG_CC_C_O AC_LANG([C]) AC_LANG([C++]) dnl ************************** Libtool initialization ************************* LT_INIT dnl ****************************** Detect libm ******************************* AC_CHECK_LIB(m,floor,LIBM=-lm) AC_SUBST([LIBM]) dnl ****************************** Detect Win32 ******************************* AC_MSG_CHECKING([for some Win32 platform]) case "$host" in *-*-mingw*|*-*-cygwin*) platform_win32=yes ;; *) platform_win32=no ;; esac AC_MSG_RESULT([$platform_win32]) AM_CONDITIONAL(PLATFORM_WIN32, test "$platform_win32" = "yes") dnl ********************************* Summary ********************************* echo echo "Configuration summary for $PACKAGE $VERSION:" echo " - Host: ${host}" echo AC_CONFIG_FILES([Makefile contrib/Makefile shapelib.pc]) AC_OUTPUT shapelib-1.6.1/CMakeLists.txt0000664000175000017500000002061014656616310013000 00000000000000# Top-level CMakeLists.txt for the CMake-based build and test system # of the shapelib software. # # Copyright (C) 2012-2013, Alan W. Irwin # # SPDX-License-Identifier: MIT OR LGPL-2.0-or-later # # See README.CMake # Version 3.11 or above of cmake is currently required for all platforms. cmake_minimum_required(VERSION 3.11) project(shapelib C CXX) message(STATUS "CMake version = ${CMAKE_VERSION}") message(STATUS "CMAKE_SYSTEM_NAME = ${CMAKE_SYSTEM_NAME}") set(PROJECT_VERSION_MAJOR 1) set(PROJECT_VERSION_MINOR 6) set(PROJECT_VERSION_PATCH 1) set(shp_LIB_VERSIONINFO "5:0:1") set(PROJECT_VERSION "${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH}") set(EG_DATA ${PROJECT_SOURCE_DIR}/tests/shape_eg_data CACHE STRING "") set_property(GLOBAL PROPERTY USE_FOLDERS ON) # libraries are all shared by default. option(BUILD_SHARED_LIBS "Build shared libraries" ON) # Option to build executables option(BUILD_APPS "Build executables" ON) # Option to build contributed utilities # Defaults to ${BUILD_APPS}. If you reconfigure with a different BUILD_APPS # value, be aware that you have to explicitly change BUILD_SHAPELIB_CONTRIB, # otherwise the previous value from the cache will be used. option(BUILD_SHAPELIB_CONTRIB "Build utilities (from contrib)" ${BUILD_APPS}) # Use rpath? if(CMAKE_SYSTEM_NAME STREQUAL "Darwin") # No rpath on Darwin. Setting it will only cause trouble. else() option(USE_RPATH "Use -rpath when linking libraries, executables" ON) endif() # In windows all created dlls are gathered in the dll directory # if you add this directory to your PATH all shared libraries are available if(BUILD_SHARED_LIBS AND (WIN32 OR CYGWIN)) set(LIBRARY_OUTPUT_PATH ${CMAKE_CURRENT_BINARY_DIR}/dll) endif() set(PACKAGE shp) # Set up install locations. set( CMAKE_INSTALL_BINDIR bin CACHE PATH "install location for user executables" ) set( CMAKE_INSTALL_LIBDIR lib CACHE PATH "install location for object code libraries" ) set( CMAKE_INSTALL_INCLUDEDIR include CACHE PATH "install location for C header files" ) set( CMAKE_INSTALL_CMAKEDIR share/${PROJECT_NAME} CACHE PATH "install location for read-only architecture-independent shp data" ) file(RELATIVE_PATH RELATIVE_LIBDIR ${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_BINDIR} ${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR} ) message(STATUS "CMAKE_INSTALL_LIBDIR ${CMAKE_INSTALL_LIBDIR}") set(prefix "${CMAKE_INSTALL_PREFIX}") set(exec_prefix "\${prefix}") if(IS_ABSOLUTE "${CMAKE_INSTALL_LIBDIR}") set(libdir "${CMAKE_INSTALL_LIBDIR}") else() set(libdir "\${exec_prefix}/${CMAKE_INSTALL_LIBDIR}") endif() if(IS_ABSOLUTE "${CMAKE_INSTALL_INCLUDEDIR}") set(includedir "${CMAKE_INSTALL_INCLUDEDIR}") else() set(includedir "\${prefix}/${CMAKE_INSTALL_INCLUDEDIR}") endif() set(SHAPELIB_PC ${CMAKE_CURRENT_BINARY_DIR}/shapelib.pc) configure_file(${CMAKE_CURRENT_SOURCE_DIR}/cmake/shapelib.pc.cmake.in ${SHAPELIB_PC} @ONLY ) if(NOT CMAKE_CONFIGURATION_TYPES AND NOT CMAKE_BUILD_TYPE) # Set a default build type for single-configuration cmake generators # if no build type is set. set(CMAKE_BUILD_TYPE Release) endif() # Export build information to help other projects link installed # shapelib software. Only one of these signatures is required # for the export_shp name. install(EXPORT targets NAMESPACE ${PROJECT_NAME}:: DESTINATION ${CMAKE_INSTALL_CMAKEDIR} FILE "${PROJECT_NAME}-targets.cmake" ) # Initial boilerplate done, now build library and executables. if(MSVC) add_definitions(-D_CRT_SECURE_NO_WARNINGS) endif() set(lib_SRC shpopen.c dbfopen.c safileio.c shptree.c sbnsearch.c shapefil.h shapefil_private.h shapelib.def ) add_library(${PACKAGE} ${lib_SRC}) target_include_directories(${PACKAGE} INTERFACE $ $ ) include(TestBigEndian) if(HAVE_BYTE_ORDER_BIG_ENDIAN) # Define SHP_BIG_ENDIAN if the system is big-endian add_definitions(-DSHP_BIG_ENDIAN=1) endif() if(MSVC) target_compile_options(${PACKAGE} PRIVATE /W4) else() target_compile_options(${PACKAGE} PRIVATE -Wall -Wextra -Wformat-signedness -pedantic -Wno-unknown-warning-option) endif() if(WIN32 AND NOT CYGWIN) set_target_properties(${PACKAGE} PROPERTIES COMPILE_DEFINITIONS SHAPELIB_DLLEXPORT ) endif() if(UNIX) find_library(M_LIB m) if(M_LIB) target_link_libraries(${PACKAGE} -lm) endif() endif() # Convert shp_LIB_VERSIONINFO libtool version format into SOVERSION # Convert from ":" separated into CMake list format using ";" string(REPLACE ":" ";" shp_LIB_VERSIONINFO ${shp_LIB_VERSIONINFO}) list(GET shp_LIB_VERSIONINFO 0 shp_LIB_VERSION_CURRENT) list(GET shp_LIB_VERSIONINFO 2 shp_LIB_VERSION_AGE) math(EXPR shp_SOVERSION "${shp_LIB_VERSION_CURRENT} - ${shp_LIB_VERSION_AGE}") set(shp_VERSION ${PROJECT_VERSION}) set_target_properties(${PACKAGE} PROPERTIES SOVERSION ${shp_SOVERSION} VERSION ${shp_VERSION} ) if(USE_RPATH) set_target_properties(${PACKAGE} PROPERTIES INSTALL_RPATH "${CMAKE_INSTALL_LIBDIR}" ) endif() install(TARGETS ${PACKAGE} EXPORT targets ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} ) # executables to be built and installed. if(BUILD_APPS) set(executables shpcreate shpadd shpdump shprewind dbfcreate dbfadd dbfdump shptreedump ) endif() find_program(BASH_EXECUTABLE bash) if(BASH_EXECUTABLE) set(BUILD_TESTING ON CACHE BOOL "") else() message(STATUS "WARNING: bash not available so disabling testing") endif() if(NOT MSVC) # Set the run time path for shared libraries for non-Windows machines. set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE) if(CMAKE_SYSTEM_NAME STREQUAL "Darwin") # See also INSTALL_RPATH property on the tools. set(CMAKE_MACOSX_RPATH ON) else() # Use relative path so that package is relocatable set(CMAKE_INSTALL_RPATH "\$ORIGIN/${RELATIVE_LIBDIR}") endif() endif() foreach(executable ${executables}) add_executable(${executable} ${executable}.c) target_link_libraries(${executable} ${PACKAGE}) if(CMAKE_SYSTEM_NAME STREQUAL "Darwin") # Ensure that the package is relocatable set_target_properties(${TOOLS} PROPERTIES INSTALL_RPATH "@loader_path/${RELATIVE_LIBDIR}") endif() if(NOT MSVC) target_compile_options(${executable} PRIVATE -Wall -Wextra) endif() endforeach(executable ${executables}) install(TARGETS ${executables} EXPORT targets DESTINATION ${CMAKE_INSTALL_BINDIR}) # Install header install(FILES shapefil.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) # Install pkg-config file install(FILES "${SHAPELIB_PC}" DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig) if(BUILD_TESTING) # Set up tests: enable_testing() # Other executables to be built to facilitate tests. foreach(executable shptest shputils) add_executable(${executable} ${executable}.c) target_link_libraries(${executable} PRIVATE ${PACKAGE}) if (BUILD_SHARED_LIBS AND ${CMAKE_VERSION} VERSION_GREATER_EQUAL "3.21" AND (WIN32 OR CYGWIN)) add_custom_command( TARGET ${executable} POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy_if_different $ $ COMMAND_EXPAND_LISTS ) endif() endforeach() # Set environment variables defining path to executables being used function(declare_test_executable TEST TARGETS) foreach(TARGET ${TARGETS}) string(TOUPPER ${TARGET} NAME) list(APPEND TEST_ENV ${NAME}=$) endforeach() set_tests_properties(${TEST} PROPERTIES ENVIRONMENT "${TEST_ENV}") endfunction() if(EG_DATA) add_test( NAME test1 COMMAND ${BASH_EXECUTABLE} ${PROJECT_SOURCE_DIR}/tests/test1.sh ${PROJECT_SOURCE_DIR}/tests/expect1.out ${EG_DATA} ) declare_test_executable(test1 "shpdump;dbfdump") endif() add_test( NAME test2 COMMAND ${BASH_EXECUTABLE} ${PROJECT_SOURCE_DIR}/tests/test2.sh ${PROJECT_SOURCE_DIR}/tests/expect2.out ) declare_test_executable(test2 "dbfadd;dbfcreate;dbfdump;shpadd;shpcreate;shpdump;shptest") add_test( NAME test3 COMMAND ${BASH_EXECUTABLE} ${PROJECT_SOURCE_DIR}/tests/test3.sh ${PROJECT_SOURCE_DIR}/tests/expect3.out ) declare_test_executable(test3 "dbfadd;dbfcreate;dbfdump;shpadd;shpcreate;shpdump") include(CTest) add_subdirectory(tests) endif() include(cmake/contrib.cmake) add_subdirectory(cmake) shapelib-1.6.1/depcomp0000755000175000017500000005602014656616450011624 00000000000000#! /bin/sh # depcomp - compile a program generating dependencies as side-effects scriptversion=2018-03-07.03; # UTC # Copyright (C) 1999-2018 Free Software Foundation, Inc. # 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, 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 to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. # Originally written by Alexandre Oliva . case $1 in '') echo "$0: No command. Try '$0 --help' for more information." 1>&2 exit 1; ;; -h | --h*) cat <<\EOF Usage: depcomp [--help] [--version] PROGRAM [ARGS] Run PROGRAMS ARGS to compile a file, generating dependencies as side-effects. Environment variables: depmode Dependency tracking mode. source Source file read by 'PROGRAMS ARGS'. object Object file output by 'PROGRAMS ARGS'. DEPDIR directory where to store dependencies. depfile Dependency file to output. tmpdepfile Temporary file to use when outputting dependencies. libtool Whether libtool is used (yes/no). Report bugs to . EOF exit $? ;; -v | --v*) echo "depcomp $scriptversion" exit $? ;; esac # Get the directory component of the given path, and save it in the # global variables '$dir'. Note that this directory component will # be either empty or ending with a '/' character. This is deliberate. set_dir_from () { case $1 in */*) dir=`echo "$1" | sed -e 's|/[^/]*$|/|'`;; *) dir=;; esac } # Get the suffix-stripped basename of the given path, and save it the # global variable '$base'. set_base_from () { base=`echo "$1" | sed -e 's|^.*/||' -e 's/\.[^.]*$//'` } # If no dependency file was actually created by the compiler invocation, # we still have to create a dummy depfile, to avoid errors with the # Makefile "include basename.Plo" scheme. make_dummy_depfile () { echo "#dummy" > "$depfile" } # Factor out some common post-processing of the generated depfile. # Requires the auxiliary global variable '$tmpdepfile' to be set. aix_post_process_depfile () { # If the compiler actually managed to produce a dependency file, # post-process it. if test -f "$tmpdepfile"; then # Each line is of the form 'foo.o: dependency.h'. # Do two passes, one to just change these to # $object: dependency.h # and one to simply output # dependency.h: # which is needed to avoid the deleted-header problem. { sed -e "s,^.*\.[$lower]*:,$object:," < "$tmpdepfile" sed -e "s,^.*\.[$lower]*:[$tab ]*,," -e 's,$,:,' < "$tmpdepfile" } > "$depfile" rm -f "$tmpdepfile" else make_dummy_depfile fi } # A tabulation character. tab=' ' # A newline character. nl=' ' # Character ranges might be problematic outside the C locale. # These definitions help. upper=ABCDEFGHIJKLMNOPQRSTUVWXYZ lower=abcdefghijklmnopqrstuvwxyz digits=0123456789 alpha=${upper}${lower} if test -z "$depmode" || test -z "$source" || test -z "$object"; then echo "depcomp: Variables source, object and depmode must be set" 1>&2 exit 1 fi # Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po. depfile=${depfile-`echo "$object" | sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`} tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`} rm -f "$tmpdepfile" # Avoid interferences from the environment. gccflag= dashmflag= # Some modes work just like other modes, but use different flags. We # parameterize here, but still list the modes in the big case below, # to make depend.m4 easier to write. Note that we *cannot* use a case # here, because this file can only contain one case statement. if test "$depmode" = hp; then # HP compiler uses -M and no extra arg. gccflag=-M depmode=gcc fi if test "$depmode" = dashXmstdout; then # This is just like dashmstdout with a different argument. dashmflag=-xM depmode=dashmstdout fi cygpath_u="cygpath -u -f -" if test "$depmode" = msvcmsys; then # This is just like msvisualcpp but w/o cygpath translation. # Just convert the backslash-escaped backslashes to single forward # slashes to satisfy depend.m4 cygpath_u='sed s,\\\\,/,g' depmode=msvisualcpp fi if test "$depmode" = msvc7msys; then # This is just like msvc7 but w/o cygpath translation. # Just convert the backslash-escaped backslashes to single forward # slashes to satisfy depend.m4 cygpath_u='sed s,\\\\,/,g' depmode=msvc7 fi if test "$depmode" = xlc; then # IBM C/C++ Compilers xlc/xlC can output gcc-like dependency information. gccflag=-qmakedep=gcc,-MF depmode=gcc fi case "$depmode" in gcc3) ## gcc 3 implements dependency tracking that does exactly what ## we want. Yay! Note: for some reason libtool 1.4 doesn't like ## it if -MD -MP comes after the -MF stuff. Hmm. ## Unfortunately, FreeBSD c89 acceptance of flags depends upon ## the command line argument order; so add the flags where they ## appear in depend2.am. Note that the slowdown incurred here ## affects only configure: in makefiles, %FASTDEP% shortcuts this. for arg do case $arg in -c) set fnord "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" "$arg" ;; *) set fnord "$@" "$arg" ;; esac shift # fnord shift # $arg done "$@" stat=$? if test $stat -ne 0; then rm -f "$tmpdepfile" exit $stat fi mv "$tmpdepfile" "$depfile" ;; gcc) ## Note that this doesn't just cater to obsosete pre-3.x GCC compilers. ## but also to in-use compilers like IMB xlc/xlC and the HP C compiler. ## (see the conditional assignment to $gccflag above). ## There are various ways to get dependency output from gcc. Here's ## why we pick this rather obscure method: ## - Don't want to use -MD because we'd like the dependencies to end ## up in a subdir. Having to rename by hand is ugly. ## (We might end up doing this anyway to support other compilers.) ## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like ## -MM, not -M (despite what the docs say). Also, it might not be ## supported by the other compilers which use the 'gcc' depmode. ## - Using -M directly means running the compiler twice (even worse ## than renaming). if test -z "$gccflag"; then gccflag=-MD, fi "$@" -Wp,"$gccflag$tmpdepfile" stat=$? if test $stat -ne 0; then rm -f "$tmpdepfile" exit $stat fi rm -f "$depfile" echo "$object : \\" > "$depfile" # The second -e expression handles DOS-style file names with drive # letters. sed -e 's/^[^:]*: / /' \ -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile" ## This next piece of magic avoids the "deleted header file" problem. ## The problem is that when a header file which appears in a .P file ## is deleted, the dependency causes make to die (because there is ## typically no way to rebuild the header). We avoid this by adding ## dummy dependencies for each header file. Too bad gcc doesn't do ## this for us directly. ## Some versions of gcc put a space before the ':'. On the theory ## that the space means something, we add a space to the output as ## well. hp depmode also adds that space, but also prefixes the VPATH ## to the object. Take care to not repeat it in the output. ## Some versions of the HPUX 10.20 sed can't process this invocation ## correctly. Breaking it into two sed invocations is a workaround. tr ' ' "$nl" < "$tmpdepfile" \ | sed -e 's/^\\$//' -e '/^$/d' -e "s|.*$object$||" -e '/:$/d' \ | sed -e 's/$/ :/' >> "$depfile" rm -f "$tmpdepfile" ;; hp) # This case exists only to let depend.m4 do its work. It works by # looking at the text of this script. This case will never be run, # since it is checked for above. exit 1 ;; sgi) if test "$libtool" = yes; then "$@" "-Wp,-MDupdate,$tmpdepfile" else "$@" -MDupdate "$tmpdepfile" fi stat=$? if test $stat -ne 0; then rm -f "$tmpdepfile" exit $stat fi rm -f "$depfile" if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files echo "$object : \\" > "$depfile" # Clip off the initial element (the dependent). Don't try to be # clever and replace this with sed code, as IRIX sed won't handle # lines with more than a fixed number of characters (4096 in # IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines; # the IRIX cc adds comments like '#:fec' to the end of the # dependency line. tr ' ' "$nl" < "$tmpdepfile" \ | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' \ | tr "$nl" ' ' >> "$depfile" echo >> "$depfile" # The second pass generates a dummy entry for each header file. tr ' ' "$nl" < "$tmpdepfile" \ | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \ >> "$depfile" else make_dummy_depfile fi rm -f "$tmpdepfile" ;; xlc) # This case exists only to let depend.m4 do its work. It works by # looking at the text of this script. This case will never be run, # since it is checked for above. exit 1 ;; aix) # The C for AIX Compiler uses -M and outputs the dependencies # in a .u file. In older versions, this file always lives in the # current directory. Also, the AIX compiler puts '$object:' at the # start of each line; $object doesn't have directory information. # Version 6 uses the directory in both cases. set_dir_from "$object" set_base_from "$object" if test "$libtool" = yes; then tmpdepfile1=$dir$base.u tmpdepfile2=$base.u tmpdepfile3=$dir.libs/$base.u "$@" -Wc,-M else tmpdepfile1=$dir$base.u tmpdepfile2=$dir$base.u tmpdepfile3=$dir$base.u "$@" -M fi stat=$? if test $stat -ne 0; then rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" exit $stat fi for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" do test -f "$tmpdepfile" && break done aix_post_process_depfile ;; tcc) # tcc (Tiny C Compiler) understand '-MD -MF file' since version 0.9.26 # FIXME: That version still under development at the moment of writing. # Make that this statement remains true also for stable, released # versions. # It will wrap lines (doesn't matter whether long or short) with a # trailing '\', as in: # # foo.o : \ # foo.c \ # foo.h \ # # It will put a trailing '\' even on the last line, and will use leading # spaces rather than leading tabs (at least since its commit 0394caf7 # "Emit spaces for -MD"). "$@" -MD -MF "$tmpdepfile" stat=$? if test $stat -ne 0; then rm -f "$tmpdepfile" exit $stat fi rm -f "$depfile" # Each non-empty line is of the form 'foo.o : \' or ' dep.h \'. # We have to change lines of the first kind to '$object: \'. sed -e "s|.*:|$object :|" < "$tmpdepfile" > "$depfile" # And for each line of the second kind, we have to emit a 'dep.h:' # dummy dependency, to avoid the deleted-header problem. sed -n -e 's|^ *\(.*\) *\\$|\1:|p' < "$tmpdepfile" >> "$depfile" rm -f "$tmpdepfile" ;; ## The order of this option in the case statement is important, since the ## shell code in configure will try each of these formats in the order ## listed in this file. A plain '-MD' option would be understood by many ## compilers, so we must ensure this comes after the gcc and icc options. pgcc) # Portland's C compiler understands '-MD'. # Will always output deps to 'file.d' where file is the root name of the # source file under compilation, even if file resides in a subdirectory. # The object file name does not affect the name of the '.d' file. # pgcc 10.2 will output # foo.o: sub/foo.c sub/foo.h # and will wrap long lines using '\' : # foo.o: sub/foo.c ... \ # sub/foo.h ... \ # ... set_dir_from "$object" # Use the source, not the object, to determine the base name, since # that's sadly what pgcc will do too. set_base_from "$source" tmpdepfile=$base.d # For projects that build the same source file twice into different object # files, the pgcc approach of using the *source* file root name can cause # problems in parallel builds. Use a locking strategy to avoid stomping on # the same $tmpdepfile. lockdir=$base.d-lock trap " echo '$0: caught signal, cleaning up...' >&2 rmdir '$lockdir' exit 1 " 1 2 13 15 numtries=100 i=$numtries while test $i -gt 0; do # mkdir is a portable test-and-set. if mkdir "$lockdir" 2>/dev/null; then # This process acquired the lock. "$@" -MD stat=$? # Release the lock. rmdir "$lockdir" break else # If the lock is being held by a different process, wait # until the winning process is done or we timeout. while test -d "$lockdir" && test $i -gt 0; do sleep 1 i=`expr $i - 1` done fi i=`expr $i - 1` done trap - 1 2 13 15 if test $i -le 0; then echo "$0: failed to acquire lock after $numtries attempts" >&2 echo "$0: check lockdir '$lockdir'" >&2 exit 1 fi if test $stat -ne 0; then rm -f "$tmpdepfile" exit $stat fi rm -f "$depfile" # Each line is of the form `foo.o: dependent.h', # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'. # Do two passes, one to just change these to # `$object: dependent.h' and one to simply `dependent.h:'. sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile" # Some versions of the HPUX 10.20 sed can't process this invocation # correctly. Breaking it into two sed invocations is a workaround. sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" \ | sed -e 's/$/ :/' >> "$depfile" rm -f "$tmpdepfile" ;; hp2) # The "hp" stanza above does not work with aCC (C++) and HP's ia64 # compilers, which have integrated preprocessors. The correct option # to use with these is +Maked; it writes dependencies to a file named # 'foo.d', which lands next to the object file, wherever that # happens to be. # Much of this is similar to the tru64 case; see comments there. set_dir_from "$object" set_base_from "$object" if test "$libtool" = yes; then tmpdepfile1=$dir$base.d tmpdepfile2=$dir.libs/$base.d "$@" -Wc,+Maked else tmpdepfile1=$dir$base.d tmpdepfile2=$dir$base.d "$@" +Maked fi stat=$? if test $stat -ne 0; then rm -f "$tmpdepfile1" "$tmpdepfile2" exit $stat fi for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" do test -f "$tmpdepfile" && break done if test -f "$tmpdepfile"; then sed -e "s,^.*\.[$lower]*:,$object:," "$tmpdepfile" > "$depfile" # Add 'dependent.h:' lines. sed -ne '2,${ s/^ *// s/ \\*$// s/$/:/ p }' "$tmpdepfile" >> "$depfile" else make_dummy_depfile fi rm -f "$tmpdepfile" "$tmpdepfile2" ;; tru64) # The Tru64 compiler uses -MD to generate dependencies as a side # effect. 'cc -MD -o foo.o ...' puts the dependencies into 'foo.o.d'. # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put # dependencies in 'foo.d' instead, so we check for that too. # Subdirectories are respected. set_dir_from "$object" set_base_from "$object" if test "$libtool" = yes; then # Libtool generates 2 separate objects for the 2 libraries. These # two compilations output dependencies in $dir.libs/$base.o.d and # in $dir$base.o.d. We have to check for both files, because # one of the two compilations can be disabled. We should prefer # $dir$base.o.d over $dir.libs/$base.o.d because the latter is # automatically cleaned when .libs/ is deleted, while ignoring # the former would cause a distcleancheck panic. tmpdepfile1=$dir$base.o.d # libtool 1.5 tmpdepfile2=$dir.libs/$base.o.d # Likewise. tmpdepfile3=$dir.libs/$base.d # Compaq CCC V6.2-504 "$@" -Wc,-MD else tmpdepfile1=$dir$base.d tmpdepfile2=$dir$base.d tmpdepfile3=$dir$base.d "$@" -MD fi stat=$? if test $stat -ne 0; then rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" exit $stat fi for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" do test -f "$tmpdepfile" && break done # Same post-processing that is required for AIX mode. aix_post_process_depfile ;; msvc7) if test "$libtool" = yes; then showIncludes=-Wc,-showIncludes else showIncludes=-showIncludes fi "$@" $showIncludes > "$tmpdepfile" stat=$? grep -v '^Note: including file: ' "$tmpdepfile" if test $stat -ne 0; then rm -f "$tmpdepfile" exit $stat fi rm -f "$depfile" echo "$object : \\" > "$depfile" # The first sed program below extracts the file names and escapes # backslashes for cygpath. The second sed program outputs the file # name when reading, but also accumulates all include files in the # hold buffer in order to output them again at the end. This only # works with sed implementations that can handle large buffers. sed < "$tmpdepfile" -n ' /^Note: including file: *\(.*\)/ { s//\1/ s/\\/\\\\/g p }' | $cygpath_u | sort -u | sed -n ' s/ /\\ /g s/\(.*\)/'"$tab"'\1 \\/p s/.\(.*\) \\/\1:/ H $ { s/.*/'"$tab"'/ G p }' >> "$depfile" echo >> "$depfile" # make sure the fragment doesn't end with a backslash rm -f "$tmpdepfile" ;; msvc7msys) # This case exists only to let depend.m4 do its work. It works by # looking at the text of this script. This case will never be run, # since it is checked for above. exit 1 ;; #nosideeffect) # This comment above is used by automake to tell side-effect # dependency tracking mechanisms from slower ones. dashmstdout) # Important note: in order to support this mode, a compiler *must* # always write the preprocessed file to stdout, regardless of -o. "$@" || exit $? # Remove the call to Libtool. if test "$libtool" = yes; then while test "X$1" != 'X--mode=compile'; do shift done shift fi # Remove '-o $object'. IFS=" " for arg do case $arg in -o) shift ;; $object) shift ;; *) set fnord "$@" "$arg" shift # fnord shift # $arg ;; esac done test -z "$dashmflag" && dashmflag=-M # Require at least two characters before searching for ':' # in the target name. This is to cope with DOS-style filenames: # a dependency such as 'c:/foo/bar' could be seen as target 'c' otherwise. "$@" $dashmflag | sed "s|^[$tab ]*[^:$tab ][^:][^:]*:[$tab ]*|$object: |" > "$tmpdepfile" rm -f "$depfile" cat < "$tmpdepfile" > "$depfile" # Some versions of the HPUX 10.20 sed can't process this sed invocation # correctly. Breaking it into two sed invocations is a workaround. tr ' ' "$nl" < "$tmpdepfile" \ | sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \ | sed -e 's/$/ :/' >> "$depfile" rm -f "$tmpdepfile" ;; dashXmstdout) # This case only exists to satisfy depend.m4. It is never actually # run, as this mode is specially recognized in the preamble. exit 1 ;; makedepend) "$@" || exit $? # Remove any Libtool call if test "$libtool" = yes; then while test "X$1" != 'X--mode=compile'; do shift done shift fi # X makedepend shift cleared=no eat=no for arg do case $cleared in no) set ""; shift cleared=yes ;; esac if test $eat = yes; then eat=no continue fi case "$arg" in -D*|-I*) set fnord "$@" "$arg"; shift ;; # Strip any option that makedepend may not understand. Remove # the object too, otherwise makedepend will parse it as a source file. -arch) eat=yes ;; -*|$object) ;; *) set fnord "$@" "$arg"; shift ;; esac done obj_suffix=`echo "$object" | sed 's/^.*\././'` touch "$tmpdepfile" ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@" rm -f "$depfile" # makedepend may prepend the VPATH from the source file name to the object. # No need to regex-escape $object, excess matching of '.' is harmless. sed "s|^.*\($object *:\)|\1|" "$tmpdepfile" > "$depfile" # Some versions of the HPUX 10.20 sed can't process the last invocation # correctly. Breaking it into two sed invocations is a workaround. sed '1,2d' "$tmpdepfile" \ | tr ' ' "$nl" \ | sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \ | sed -e 's/$/ :/' >> "$depfile" rm -f "$tmpdepfile" "$tmpdepfile".bak ;; cpp) # Important note: in order to support this mode, a compiler *must* # always write the preprocessed file to stdout. "$@" || exit $? # Remove the call to Libtool. if test "$libtool" = yes; then while test "X$1" != 'X--mode=compile'; do shift done shift fi # Remove '-o $object'. IFS=" " for arg do case $arg in -o) shift ;; $object) shift ;; *) set fnord "$@" "$arg" shift # fnord shift # $arg ;; esac done "$@" -E \ | sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \ -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \ | sed '$ s: \\$::' > "$tmpdepfile" rm -f "$depfile" echo "$object : \\" > "$depfile" cat < "$tmpdepfile" >> "$depfile" sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile" rm -f "$tmpdepfile" ;; msvisualcpp) # Important note: in order to support this mode, a compiler *must* # always write the preprocessed file to stdout. "$@" || exit $? # Remove the call to Libtool. if test "$libtool" = yes; then while test "X$1" != 'X--mode=compile'; do shift done shift fi IFS=" " for arg do case "$arg" in -o) shift ;; $object) shift ;; "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI") set fnord "$@" shift shift ;; *) set fnord "$@" "$arg" shift shift ;; esac done "$@" -E 2>/dev/null | sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile" rm -f "$depfile" echo "$object : \\" > "$depfile" sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::'"$tab"'\1 \\:p' >> "$depfile" echo "$tab" >> "$depfile" sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile" rm -f "$tmpdepfile" ;; msvcmsys) # This case exists only to let depend.m4 do its work. It works by # looking at the text of this script. This case will never be run, # since it is checked for above. exit 1 ;; none) exec "$@" ;; *) echo "Unknown depmode $depmode" 1>&2 exit 1 ;; esac exit 0 # Local Variables: # mode: shell-script # sh-indentation: 2 # eval: (add-hook 'before-save-hook 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC0" # time-stamp-end: "; # UTC" # End: shapelib-1.6.1/README.tree0000664000175000017500000001543514371676733012100 00000000000000Venkat, I have completed the planned Shapefile quadtree mechanism. The additions to the traditional Shapelib are found in shptree.c (functions supporting quad tree searching and query). There are also some new prototypes for the tree stuff in shapefil.h ... including some prototypes for functions you don't require and hence that I haven't implemented at this time. I have also prepared a demonstration program using the API. That is the ``shpdumptree'' program, with the source code in shpdumptree.c. The shpdumptree program has two functions. One is to dump an ASCII rendering of the internal quadtree, and the other is example use of a quad tree searching function. Dumping the Tree ---------------- The tree dumping is done as shown below. The "-maxdepth" commandline switch can be used to control the maximum depth, otherwise it internally computes a ``reasonable depth'' to use based on the number of structures in the shapefile. warmerda@gdal[207]% shptreedump -maxdepth 6 eg_data/polygon.shp ( SHPTreeNode Min = (471127.19,4751545.00) Max = (489292.31,4765610.50) Shapes(0): ( SHPTreeNode Min = (471127.19,4751545.00) Max = (481118.01,4765610.50) Shapes(0): ( SHPTreeNode Min = (471127.19,4751545.00) Max = (481118.01,4759281.03) Shapes(0): ( SHPTreeNode Min = (471127.19,4751545.00) Max = (476622.14,4759281.03) Shapes(0): ( SHPTreeNode Min = (471127.19,4751545.00) Max = (476622.14,4755799.81) Shapes(0): ( SHPTreeNode Min = (471127.19,4751545.00) Max = (474149.41,4755799.81) Shapes(6): 395 397 402 404 405 422 ) ( SHPTreeNode Min = (473599.92,4751545.00) Max = (476622.14,4755799.81) Shapes(10): 392 394 403 413 414 417 426 433 434 447 ) ) ... A structure like the following represents one node in the tree. In this case it cover the region of 473599.92 < X < 476622.14,and 4751545.0 < Y < 4755799.81. There are ten shapes within this region who's shapeids are 392, 394 ... 447. This node has no children nodes. ( SHPTreeNode Min = (473599.92,4751545.00) Max = (476622.14,4755799.81) Shapes(10): 392 394 403 413 414 417 426 433 434 447 ) The hierarchy of indentation is intended to show the parent, child relationship between nodes, with the tree being deeper the further to the right you go. The `-v' flag to the program can be used to expand the report to include the full information about shapes, not just their shapeid. This can result in a report looking more like this: ... ( SHPTreeNode Min = (478095.78,4751545.00) Max = (481118.01,4755799.81) Shapes(3): ( Shape ShapeId = 448 Min = (479988.09,4753300.00) Max = (480705.59,4754236.50) Vertex[0] = (480136.59,4754174.50) Vertex[1] = (480229.97,4754182.00) Vertex[2] = (480370.09,4754200.50) Vertex[3] = (480695.12,4754236.50) Vertex[4] = (480687.97,4754129.50) Vertex[5] = (480650.47,4754075.50) Vertex[6] = (480520.62,4753948.00) Vertex[7] = (480490.00,4753900.00) Vertex[8] = (480499.78,4753840.50) Vertex[9] = (480500.97,4753820.50) Vertex[10] = (480534.75,4753660.50) Vertex[11] = (480560.00,4753565.00) Vertex[12] = (480574.91,4753550.50) ... While it is possible to part the output of the shptreedump program, and insert it into your database, my intention was that the shptreedump program would serve as an example of how to pre-order traversal of the quad tree, and collect the information you will need to insert into your database. I would then expect you to write a new program based on shptreedump that calls a C API for your database to insert objects instead of printing them out. Alternatively there may be an ASCII format for loading tables that you could modify the program to output. Searching --------- The other thing that you can do with the shptreedump program is to perform a search on the quadtree. For instance the following shows searching on a small region. % shptreedump -search 471127 4751545 476622 4759281 eg_data/polygon.shp Shape 17: not in area of interest, but fetched. Shape 31: not in area of interest, but fetched. Shape 52: not in area of interest, but fetched. Shape 76: not in area of interest, but fetched. Shape 82: not in area of interest, but fetched. Shape 104: not in area of interest, but fetched. Shape 124: not in area of interest, but fetched. Shape 134: not in area of interest, but fetched. Shape 139: not in area of interest, but fetched. Shape 154: not in area of interest, but fetched. Shape 175: not in area of interest, but fetched. Shape 177: not in area of interest, but fetched. Shape 185: not in area of interest, but fetched. Shape 192: not in area of interest, but fetched. Shape 196: appears to be in area of interest. .... I have included this capability (and the SHPTreeFindLikelyShapes() function) so that you can see a working example of how to search this quad tree. Note that searching is a multi-stage affair. First a pass is made over the quadtree, collecting the shapeids of all shapes contained in a quadtree node for which the bounding rectangle overlaps the search rectangle. This is all accomplished by SHPTreeFindLikelyShapes() in shptree.c. The second phase is to fetch the actual shapes, and verify if their bounding box falls within the area of interest. This is necessary because the shape will tend to have a significantly smaller bounding rectangle than the tree node in which it is found. This can result ``false positives'' on the first phase search, as indicated by the ``not in area of interest, but fetched'' messages above. This stage is done in the SHPTreeNodeSearchAndDump() function in shptreedump.c. A possible third phase is to verify that the actually line segments in the shape actually cross the area of interest. I don't both with this as it is complicated, and assuming that the drawing engine takes care of clipping it is quite a bit easier to let it fall through. Building -------- I have added a makefile.vc to the shapelib distribution. After you have unpacked the shapefile you should have a shapelib subdirectory. If you cd to that directory, and enter ``nmake -f makefile.vc'' in a DOS window you should be able to build everything with VC++ (assuming it is properly installed and in your path). You can also create a project in VC just including the files shpopen.c, shptree.c and shptreedump.c, building as a Win32 console application. For your convenience I am including prebuild .obj files, and .exe files in the distribution. shapelib-1.6.1/sbnsearch.c0000664000175000017500000011127114655153023012354 00000000000000/****************************************************************************** * * Project: Shapelib * Purpose: Implementation of search in ESRI SBN spatial index. * Author: Even Rouault, even dot rouault at spatialys.com * ****************************************************************************** * Copyright (c) 2012-2024, Even Rouault * * SPDX-License-Identifier: MIT OR LGPL-2.0-or-later ******************************************************************************/ #include "shapefil_private.h" #include #include #include #include #include #include #ifndef USE_CPL #if defined(_MSC_VER) #if _MSC_VER < 1900 #define snprintf _snprintf #endif #elif defined(_WIN32) #ifndef snprintf #define snprintf _snprintf #endif #endif #endif #define CACHED_DEPTH_LIMIT 8 #define READ_MSB_INT(ptr) \ STATIC_CAST(int, (((STATIC_CAST(unsigned, (ptr)[0])) << 24) | \ ((ptr)[1] << 16) | ((ptr)[2] << 8) | (ptr)[3])) typedef int coord; /*typedef unsigned char coord;*/ typedef struct { unsigned char *pabyShapeDesc; /* Cache of (nShapeCount * 8) bytes of the bins. May be NULL. */ int nBinStart; /* Index of first bin for this node. */ int nShapeCount; /* Number of shapes attached to this node. */ int nBinCount; /* Number of bins for this node. May be 0 if node is empty. */ int nBinOffset; /* Offset in file of the start of the first bin. May be 0 if node is empty. */ bool bBBoxInit; /* true if the following bounding box has been computed. */ coord bMinX; /* Bounding box of the shapes directly attached to this node. */ coord bMinY; /* This is *not* the theoretical footprint of the node. */ coord bMaxX; coord bMaxY; } SBNNodeDescriptor; struct SBNSearchInfo { SAHooks sHooks; SAFile fpSBN; SBNNodeDescriptor *pasNodeDescriptor; int nShapeCount; /* Total number of shapes */ int nMaxDepth; /* Tree depth */ double dfMinX; /* Bounding box of all shapes */ double dfMaxX; double dfMinY; double dfMaxY; #ifdef DEBUG_IO int nTotalBytesRead; #endif }; typedef struct { SBNSearchHandle hSBN; coord bMinX; /* Search bounding box */ coord bMinY; coord bMaxX; coord bMaxY; int nShapeCount; int nShapeAlloc; int *panShapeId; /* 0 based */ unsigned char abyBinShape[8 * 100]; #ifdef DEBUG_IO int nBytesRead; #endif } SearchStruct; /* Associates a node id with the index of its first bin */ typedef struct { int nNodeId; int nBinStart; } SBNNodeIdBinStartPair; /************************************************************************/ /* SBNCompareNodeIdBinStartPairs() */ /************************************************************************/ /* helper for qsort, to sort SBNNodeIdBinStartPair by increasing nBinStart */ static int SBNCompareNodeIdBinStartPairs(const void *a, const void *b) { return STATIC_CAST(const SBNNodeIdBinStartPair *, a)->nBinStart - STATIC_CAST(const SBNNodeIdBinStartPair *, b)->nBinStart; } /************************************************************************/ /* SBNOpenDiskTree() */ /************************************************************************/ SBNSearchHandle SBNOpenDiskTree(const char *pszSBNFilename, const SAHooks *psHooks) { /* -------------------------------------------------------------------- */ /* Initialize the handle structure. */ /* -------------------------------------------------------------------- */ SBNSearchHandle hSBN = STATIC_CAST(SBNSearchHandle, calloc(1, sizeof(struct SBNSearchInfo))); if (psHooks == SHPLIB_NULLPTR) SASetupDefaultHooks(&(hSBN->sHooks)); else memcpy(&(hSBN->sHooks), psHooks, sizeof(SAHooks)); hSBN->fpSBN = hSBN->sHooks.FOpen(pszSBNFilename, "rb", hSBN->sHooks.pvUserData); if (hSBN->fpSBN == SHPLIB_NULLPTR) { free(hSBN); return SHPLIB_NULLPTR; } /* -------------------------------------------------------------------- */ /* Check file header signature. */ /* -------------------------------------------------------------------- */ unsigned char abyHeader[108]; if (hSBN->sHooks.FRead(abyHeader, 108, 1, hSBN->fpSBN) != 1 || abyHeader[0] != 0 || abyHeader[1] != 0 || abyHeader[2] != 0x27 || (abyHeader[3] != 0x0A && abyHeader[3] != 0x0D) || abyHeader[4] != 0xFF || abyHeader[5] != 0xFF || abyHeader[6] != 0xFE || abyHeader[7] != 0x70) { hSBN->sHooks.Error(".sbn file is unreadable, or corrupt."); SBNCloseDiskTree(hSBN); return SHPLIB_NULLPTR; } /* -------------------------------------------------------------------- */ /* Read shapes bounding box. */ /* -------------------------------------------------------------------- */ #if !defined(SHP_BIG_ENDIAN) SHP_SWAPDOUBLE_CPY(&hSBN->dfMinX, abyHeader + 32); SHP_SWAPDOUBLE_CPY(&hSBN->dfMinY, abyHeader + 40); SHP_SWAPDOUBLE_CPY(&hSBN->dfMaxX, abyHeader + 48); SHP_SWAPDOUBLE_CPY(&hSBN->dfMaxY, abyHeader + 56); #else memcpy(&hSBN->dfMinX, abyHeader + 32, 8); memcpy(&hSBN->dfMinY, abyHeader + 40, 8); memcpy(&hSBN->dfMaxX, abyHeader + 48, 8); memcpy(&hSBN->dfMaxY, abyHeader + 56, 8); #endif if (hSBN->dfMinX > hSBN->dfMaxX || hSBN->dfMinY > hSBN->dfMaxY) { hSBN->sHooks.Error("Invalid extent in .sbn file."); SBNCloseDiskTree(hSBN); return SHPLIB_NULLPTR; } /* -------------------------------------------------------------------- */ /* Read and check number of shapes. */ /* -------------------------------------------------------------------- */ const int nShapeCount = READ_MSB_INT(abyHeader + 28); hSBN->nShapeCount = nShapeCount; if (nShapeCount < 0 || nShapeCount > 256000000) { char szErrorMsg[64]; snprintf(szErrorMsg, sizeof(szErrorMsg), "Invalid shape count in .sbn : %d", nShapeCount); hSBN->sHooks.Error(szErrorMsg); SBNCloseDiskTree(hSBN); return SHPLIB_NULLPTR; } /* Empty spatial index */ if (nShapeCount == 0) { return hSBN; } /* -------------------------------------------------------------------- */ /* Compute tree depth. */ /* It is computed such as in average there are not more than 8 */ /* shapes per node. With a minimum depth of 2, and a maximum of 24 */ /* -------------------------------------------------------------------- */ int nMaxDepth = 2; while (nMaxDepth < 24 && nShapeCount > ((1 << nMaxDepth) - 1) * 8) nMaxDepth++; hSBN->nMaxDepth = nMaxDepth; const int nMaxNodes = (1 << nMaxDepth) - 1; /* -------------------------------------------------------------------- */ /* Check that the first bin id is 1. */ /* -------------------------------------------------------------------- */ if (READ_MSB_INT(abyHeader + 100) != 1) { hSBN->sHooks.Error("Unexpected bin id"); SBNCloseDiskTree(hSBN); return SHPLIB_NULLPTR; } /* -------------------------------------------------------------------- */ /* Read and check number of node descriptors to be read. */ /* There are at most (2^nMaxDepth) - 1, but all are not necessary */ /* described. Non described nodes are empty. */ /* -------------------------------------------------------------------- */ const int nNodeDescSize = READ_MSB_INT(abyHeader + 104); /* 16-bit words */ /* each bin descriptor is made of 2 ints */ const int nNodeDescCount = nNodeDescSize / 4; if ((nNodeDescSize % 4) != 0 || nNodeDescCount < 0 || nNodeDescCount > nMaxNodes) { char szErrorMsg[64]; snprintf(szErrorMsg, sizeof(szErrorMsg), "Invalid node descriptor size in .sbn : %d", nNodeDescSize * STATIC_CAST(int, sizeof(uint16_t))); hSBN->sHooks.Error(szErrorMsg); SBNCloseDiskTree(hSBN); return SHPLIB_NULLPTR; } const int nNodeDescSizeBytes = nNodeDescCount * 2 * 4; /* coverity[tainted_data] */ unsigned char *pabyData = STATIC_CAST(unsigned char *, malloc(nNodeDescSizeBytes)); SBNNodeDescriptor *pasNodeDescriptor = STATIC_CAST( SBNNodeDescriptor *, calloc(nMaxNodes, sizeof(SBNNodeDescriptor))); if (pabyData == SHPLIB_NULLPTR || pasNodeDescriptor == SHPLIB_NULLPTR) { free(pabyData); free(pasNodeDescriptor); hSBN->sHooks.Error("Out of memory error"); SBNCloseDiskTree(hSBN); return SHPLIB_NULLPTR; } /* -------------------------------------------------------------------- */ /* Read node descriptors. */ /* -------------------------------------------------------------------- */ if (hSBN->sHooks.FRead(pabyData, nNodeDescSizeBytes, 1, hSBN->fpSBN) != 1) { free(pabyData); free(pasNodeDescriptor); hSBN->sHooks.Error("Cannot read node descriptors"); SBNCloseDiskTree(hSBN); return SHPLIB_NULLPTR; } hSBN->pasNodeDescriptor = pasNodeDescriptor; SBNNodeIdBinStartPair *pasNodeIdBinStartPairs = STATIC_CAST(SBNNodeIdBinStartPair *, malloc(nNodeDescCount * sizeof(SBNNodeIdBinStartPair))); if (pasNodeIdBinStartPairs == SHPLIB_NULLPTR) { free(pabyData); hSBN->sHooks.Error("Out of memory error"); SBNCloseDiskTree(hSBN); return SHPLIB_NULLPTR; } #ifdef ENABLE_SBN_SANITY_CHECKS int nShapeCountAcc = 0; #endif int nEntriesInNodeIdBinStartPairs = 0; for (int i = 0; i < nNodeDescCount; i++) { /* -------------------------------------------------------------------- */ /* Each node descriptor contains the index of the first bin that */ /* described it, and the number of shapes in this first bin and */ /* the following bins (in the relevant case). */ /* -------------------------------------------------------------------- */ const int nBinStart = READ_MSB_INT(pabyData + 8 * i); const int nNodeShapeCount = READ_MSB_INT(pabyData + 8 * i + 4); pasNodeDescriptor[i].nBinStart = nBinStart > 0 ? nBinStart : 0; pasNodeDescriptor[i].nShapeCount = nNodeShapeCount; #ifdef DEBUG_SBN fprintf(stderr, "node[%d], nBinStart=%d, nShapeCount=%d\n", i, nBinStart, nNodeShapeCount); #endif if ((nBinStart > 0 && nNodeShapeCount == 0) || nNodeShapeCount < 0 || nNodeShapeCount > nShapeCount) { hSBN->sHooks.Error("Inconsistent shape count in bin"); free(pabyData); free(pasNodeIdBinStartPairs); SBNCloseDiskTree(hSBN); return SHPLIB_NULLPTR; } #ifdef ENABLE_SBN_SANITY_CHECKS if (nShapeCountAcc > nShapeCount - nNodeShapeCount) { hSBN->sHooks.Error("Inconsistent shape count in bin"); free(pabyData); free(pasNodeIdBinStartPairs); SBNCloseDiskTree(hSBN); return SHPLIB_NULLPTR; } nShapeCountAcc += nNodeShapeCount; #endif if (nBinStart > 0) { pasNodeIdBinStartPairs[nEntriesInNodeIdBinStartPairs].nNodeId = i; pasNodeIdBinStartPairs[nEntriesInNodeIdBinStartPairs].nBinStart = nBinStart; ++nEntriesInNodeIdBinStartPairs; } } free(pabyData); /* pabyData = SHPLIB_NULLPTR; */ if (nEntriesInNodeIdBinStartPairs == 0) { free(pasNodeIdBinStartPairs); hSBN->sHooks.Error("All nodes are empty"); SBNCloseDiskTree(hSBN); return SHPLIB_NULLPTR; } #ifdef ENABLE_SBN_SANITY_CHECKS if (nShapeCountAcc != nShapeCount) { /* Not totally sure if the above condition is always true */ /* Not enabled by default, as non-needed for the good working */ /* of our code. */ free(pasNodeIdBinStartPairs); char szMessage[128]; snprintf(szMessage, sizeof(szMessage), "Inconsistent shape count read in .sbn header (%d) vs total " "of shapes over nodes (%d)", nShapeCount, nShapeCountAcc); hSBN->sHooks.Error(szMessage); SBNCloseDiskTree(hSBN); return SHPLIB_NULLPTR; } #endif /* Sort node descriptors by increasing nBinStart */ /* In most cases, the node descriptors have already an increasing nBinStart, * but not for https://github.com/OSGeo/gdal/issues/9430 */ qsort(pasNodeIdBinStartPairs, nEntriesInNodeIdBinStartPairs, sizeof(SBNNodeIdBinStartPair), SBNCompareNodeIdBinStartPairs); /* Consistency check: the first referenced nBinStart should be 2. */ if (pasNodeIdBinStartPairs[0].nBinStart != 2) { char szMessage[128]; snprintf(szMessage, sizeof(szMessage), "First referenced bin (by node %d) should be 2, but %d found", pasNodeIdBinStartPairs[0].nNodeId, pasNodeIdBinStartPairs[0].nBinStart); hSBN->sHooks.Error(szMessage); SBNCloseDiskTree(hSBN); free(pasNodeIdBinStartPairs); return SHPLIB_NULLPTR; } /* And referenced nBinStart should be all distinct. */ for (int i = 1; i < nEntriesInNodeIdBinStartPairs; ++i) { if (pasNodeIdBinStartPairs[i].nBinStart == pasNodeIdBinStartPairs[i - 1].nBinStart) { char szMessage[128]; snprintf(szMessage, sizeof(szMessage), "Node %d and %d have the same nBinStart=%d", pasNodeIdBinStartPairs[i - 1].nNodeId, pasNodeIdBinStartPairs[i].nNodeId, pasNodeIdBinStartPairs[i].nBinStart); hSBN->sHooks.Error(szMessage); SBNCloseDiskTree(hSBN); free(pasNodeIdBinStartPairs); return SHPLIB_NULLPTR; } } int nExpectedBinId = 1; int nIdxInNodeBinPair = 0; int nCurNode = pasNodeIdBinStartPairs[nIdxInNodeBinPair].nNodeId; pasNodeDescriptor[nCurNode].nBinOffset = STATIC_CAST(int, hSBN->sHooks.FTell(hSBN->fpSBN)); /* -------------------------------------------------------------------- */ /* Traverse bins to compute the offset of the first bin of each */ /* node. */ /* Note: we could use the .sbx file to compute the offsets instead.*/ /* -------------------------------------------------------------------- */ unsigned char abyBinHeader[8]; while (hSBN->sHooks.FRead(abyBinHeader, 8, 1, hSBN->fpSBN) == 1) { nExpectedBinId++; const int nBinId = READ_MSB_INT(abyBinHeader); const int nBinSize = READ_MSB_INT(abyBinHeader + 4); /* 16-bit words */ #ifdef DEBUG_SBN fprintf(stderr, "bin id=%d, bin size (in features) = %d\n", nBinId, nBinSize / 4); #endif if (nBinId != nExpectedBinId) { char szMessage[128]; snprintf(szMessage, sizeof(szMessage), "Unexpected bin id at bin starting at offset %d. Got %d, " "expected %d", STATIC_CAST(int, hSBN->sHooks.FTell(hSBN->fpSBN)) - 8, nBinId, nExpectedBinId); hSBN->sHooks.Error(szMessage); SBNCloseDiskTree(hSBN); free(pasNodeIdBinStartPairs); return SHPLIB_NULLPTR; } /* Bins are always limited to 100 features */ /* If there are more, then they are located in continuous bins */ if ((nBinSize % 4) != 0 || nBinSize <= 0 || nBinSize > 100 * 4) { char szMessage[128]; snprintf(szMessage, sizeof(szMessage), "Unexpected bin size at bin starting at offset %d. Got %d", STATIC_CAST(int, hSBN->sHooks.FTell(hSBN->fpSBN)) - 8, nBinSize); hSBN->sHooks.Error(szMessage); SBNCloseDiskTree(hSBN); free(pasNodeIdBinStartPairs); return SHPLIB_NULLPTR; } if (nIdxInNodeBinPair + 1 < nEntriesInNodeIdBinStartPairs && nBinId == pasNodeIdBinStartPairs[nIdxInNodeBinPair + 1].nBinStart) { ++nIdxInNodeBinPair; nCurNode = pasNodeIdBinStartPairs[nIdxInNodeBinPair].nNodeId; pasNodeDescriptor[nCurNode].nBinOffset = STATIC_CAST(int, hSBN->sHooks.FTell(hSBN->fpSBN)) - 8; } pasNodeDescriptor[nCurNode].nBinCount++; /* Skip shape description */ hSBN->sHooks.FSeek(hSBN->fpSBN, nBinSize * sizeof(uint16_t), SEEK_CUR); } if (nIdxInNodeBinPair + 1 != nEntriesInNodeIdBinStartPairs) { hSBN->sHooks.Error("Could not determine nBinOffset / nBinCount for all " "non-empty nodes."); SBNCloseDiskTree(hSBN); free(pasNodeIdBinStartPairs); return SHPLIB_NULLPTR; } free(pasNodeIdBinStartPairs); return hSBN; } /***********************************************************************/ /* SBNCloseDiskTree() */ /************************************************************************/ void SBNCloseDiskTree(SBNSearchHandle hSBN) { if (hSBN == SHPLIB_NULLPTR) return; if (hSBN->pasNodeDescriptor != SHPLIB_NULLPTR) { const int nMaxNodes = (1 << hSBN->nMaxDepth) - 1; for (int i = 0; i < nMaxNodes; i++) { if (hSBN->pasNodeDescriptor[i].pabyShapeDesc != SHPLIB_NULLPTR) free(hSBN->pasNodeDescriptor[i].pabyShapeDesc); } } /* printf("hSBN->nTotalBytesRead = %d\n", hSBN->nTotalBytesRead); */ hSBN->sHooks.FClose(hSBN->fpSBN); free(hSBN->pasNodeDescriptor); free(hSBN); } /************************************************************************/ /* SBNAddShapeId() */ /************************************************************************/ static bool SBNAddShapeId(SearchStruct *psSearch, int nShapeId) { if (psSearch->nShapeCount == psSearch->nShapeAlloc) { psSearch->nShapeAlloc = STATIC_CAST(int, ((psSearch->nShapeCount + 100) * 5) / 4); int *pNewPtr = STATIC_CAST(int *, realloc(psSearch->panShapeId, psSearch->nShapeAlloc * sizeof(int))); if (pNewPtr == SHPLIB_NULLPTR) { psSearch->hSBN->sHooks.Error("Out of memory error"); return false; } psSearch->panShapeId = pNewPtr; } psSearch->panShapeId[psSearch->nShapeCount] = nShapeId; psSearch->nShapeCount++; return true; } /************************************************************************/ /* SBNSearchDiskInternal() */ /************************************************************************/ /* Due to the way integer coordinates are rounded, */ /* we can use a strict intersection test, except when the node */ /* bounding box or the search bounding box is degenerated. */ #define SEARCH_BB_INTERSECTS(_bMinX, _bMinY, _bMaxX, _bMaxY) \ (((bSearchMinX < _bMaxX && bSearchMaxX > _bMinX) || \ ((_bMinX == _bMaxX || bSearchMinX == bSearchMaxX) && \ bSearchMinX <= _bMaxX && bSearchMaxX >= _bMinX)) && \ ((bSearchMinY < _bMaxY && bSearchMaxY > _bMinY) || \ ((_bMinY == _bMaxY || bSearchMinY == bSearchMaxY) && \ bSearchMinY <= _bMaxY && bSearchMaxY >= _bMinY))) static bool SBNSearchDiskInternal(SearchStruct *psSearch, int nDepth, int nNodeId, coord bNodeMinX, coord bNodeMinY, coord bNodeMaxX, coord bNodeMaxY) { const coord bSearchMinX = psSearch->bMinX; const coord bSearchMinY = psSearch->bMinY; const coord bSearchMaxX = psSearch->bMaxX; const coord bSearchMaxY = psSearch->bMaxY; SBNSearchHandle hSBN = psSearch->hSBN; SBNNodeDescriptor *psNode = &(hSBN->pasNodeDescriptor[nNodeId]); /* -------------------------------------------------------------------- */ /* Check if this node contains shapes that intersect the search */ /* bounding box. */ /* -------------------------------------------------------------------- */ if (psNode->bBBoxInit && !(SEARCH_BB_INTERSECTS(psNode->bMinX, psNode->bMinY, psNode->bMaxX, psNode->bMaxY))) { /* No intersection, then don't try to read the shapes attached */ /* to this node */ } /* -------------------------------------------------------------------- */ /* If this node contains shapes that are cached, then read them. */ /* -------------------------------------------------------------------- */ else if (psNode->pabyShapeDesc != SHPLIB_NULLPTR) { unsigned char *pabyShapeDesc = psNode->pabyShapeDesc; /* printf("nNodeId = %d, nDepth = %d\n", nNodeId, nDepth); */ for (int j = 0; j < psNode->nShapeCount; j++) { const coord bMinX = pabyShapeDesc[0]; const coord bMinY = pabyShapeDesc[1]; const coord bMaxX = pabyShapeDesc[2]; const coord bMaxY = pabyShapeDesc[3]; if (SEARCH_BB_INTERSECTS(bMinX, bMinY, bMaxX, bMaxY)) { int nShapeId = READ_MSB_INT(pabyShapeDesc + 4); /* Caution : we count shape id starting from 0, and not 1 */ nShapeId--; /*printf("shape=%d, minx=%d, miny=%d, maxx=%d, maxy=%d\n", nShapeId, bMinX, bMinY, bMaxX, bMaxY);*/ if (!SBNAddShapeId(psSearch, nShapeId)) return false; } pabyShapeDesc += 8; } } /* -------------------------------------------------------------------- */ /* If the node has attached shapes (that are not (yet) cached), */ /* then retrieve them from disk. */ /* -------------------------------------------------------------------- */ else if (psNode->nBinCount > 0) { hSBN->sHooks.FSeek(hSBN->fpSBN, psNode->nBinOffset, SEEK_SET); if (nDepth < CACHED_DEPTH_LIMIT) psNode->pabyShapeDesc = STATIC_CAST(unsigned char *, malloc(psNode->nShapeCount * 8)); unsigned char abyBinHeader[8]; int nShapeCountAcc = 0; for (int i = 0; i < psNode->nBinCount; i++) { #ifdef DEBUG_IO psSearch->nBytesRead += 8; #endif if (hSBN->sHooks.FRead(abyBinHeader, 8, 1, hSBN->fpSBN) != 1) { hSBN->sHooks.Error("I/O error"); free(psNode->pabyShapeDesc); psNode->pabyShapeDesc = SHPLIB_NULLPTR; return false; } if (READ_MSB_INT(abyBinHeader + 0) != psNode->nBinStart + i) { hSBN->sHooks.Error("Unexpected bin id"); free(psNode->pabyShapeDesc); psNode->pabyShapeDesc = SHPLIB_NULLPTR; return false; } /* 16-bit words */ const int nBinSize = READ_MSB_INT(abyBinHeader + 4); const int nShapes = nBinSize / 4; /* Bins are always limited to 100 features */ if ((nBinSize % 4) != 0 || nShapes <= 0 || nShapes > 100) { hSBN->sHooks.Error("Unexpected bin size"); free(psNode->pabyShapeDesc); psNode->pabyShapeDesc = SHPLIB_NULLPTR; return false; } if (nShapeCountAcc + nShapes > psNode->nShapeCount) { free(psNode->pabyShapeDesc); psNode->pabyShapeDesc = SHPLIB_NULLPTR; char szMessage[192]; snprintf( szMessage, sizeof(szMessage), "Inconsistent shape count for bin idx=%d of node %d. " "nShapeCountAcc=(%d) + nShapes=(%d) > nShapeCount(=%d)", i, nNodeId, nShapeCountAcc, nShapes, psNode->nShapeCount); hSBN->sHooks.Error(szMessage); return false; } unsigned char *pabyBinShape; if (nDepth < CACHED_DEPTH_LIMIT && psNode->pabyShapeDesc != SHPLIB_NULLPTR) { pabyBinShape = psNode->pabyShapeDesc + nShapeCountAcc * 8; } else { pabyBinShape = psSearch->abyBinShape; } #ifdef DEBUG_IO psSearch->nBytesRead += nBinSize * sizeof(uint16_t); #endif if (hSBN->sHooks.FRead(pabyBinShape, nBinSize * sizeof(uint16_t), 1, hSBN->fpSBN) != 1) { hSBN->sHooks.Error("I/O error"); free(psNode->pabyShapeDesc); psNode->pabyShapeDesc = SHPLIB_NULLPTR; return false; } nShapeCountAcc += nShapes; if (i == 0 && !psNode->bBBoxInit) { psNode->bMinX = pabyBinShape[0]; psNode->bMinY = pabyBinShape[1]; psNode->bMaxX = pabyBinShape[2]; psNode->bMaxY = pabyBinShape[3]; } for (int j = 0; j < nShapes; j++) { const coord bMinX = pabyBinShape[0]; const coord bMinY = pabyBinShape[1]; const coord bMaxX = pabyBinShape[2]; const coord bMaxY = pabyBinShape[3]; if (!psNode->bBBoxInit) { /* clang-format off */ #ifdef ENABLE_SBN_SANITY_CHECKS /* -------------------------------------------------------------------- */ /* Those tests only check that the shape bounding box in the bin */ /* are consistent (self-consistent and consistent with the node */ /* they are attached to). They are optional however (as far as */ /* the safety of runtime is concerned at least). */ /* -------------------------------------------------------------------- */ if (!(((bMinX < bMaxX || (bMinX == 0 && bMaxX == 0) || (bMinX == 255 && bMaxX == 255))) && ((bMinY < bMaxY || (bMinY == 0 && bMaxY == 0) || (bMinY == 255 && bMaxY == 255)))) || bMaxX < bNodeMinX || bMaxY < bNodeMinY || bMinX > bNodeMaxX || bMinY > bNodeMaxY) { /* printf("shape %d %d %d %d\n", bMinX, bMinY, bMaxX, bMaxY);*/ /* printf("node %d %d %d %d\n", bNodeMinX, bNodeMinY, bNodeMaxX, bNodeMaxY);*/ hSBN->sHooks.Error("Invalid shape bounding box in bin"); free(psNode->pabyShapeDesc); psNode->pabyShapeDesc = SHPLIB_NULLPTR; return false; } #endif /* clang-format on */ if (bMinX < psNode->bMinX) psNode->bMinX = bMinX; if (bMinY < psNode->bMinY) psNode->bMinY = bMinY; if (bMaxX > psNode->bMaxX) psNode->bMaxX = bMaxX; if (bMaxY > psNode->bMaxY) psNode->bMaxY = bMaxY; } if (SEARCH_BB_INTERSECTS(bMinX, bMinY, bMaxX, bMaxY)) { int nShapeId = READ_MSB_INT(pabyBinShape + 4); /* Caution : we count shape id starting from 0, and not 1 */ nShapeId--; /*printf("shape=%d, minx=%d, miny=%d, maxx=%d, maxy=%d\n", nShapeId, bMinX, bMinY, bMaxX, bMaxY);*/ if (!SBNAddShapeId(psSearch, nShapeId)) return false; } pabyBinShape += 8; } } if (nShapeCountAcc != psNode->nShapeCount) { free(psNode->pabyShapeDesc); psNode->pabyShapeDesc = SHPLIB_NULLPTR; char szMessage[96]; snprintf( szMessage, sizeof(szMessage), "Inconsistent shape count for node %d. Got %d, expected %d", nNodeId, nShapeCountAcc, psNode->nShapeCount); hSBN->sHooks.Error(szMessage); return false; } psNode->bBBoxInit = true; } /* -------------------------------------------------------------------- */ /* Look up in child nodes. */ /* -------------------------------------------------------------------- */ if (nDepth + 1 < hSBN->nMaxDepth) { nNodeId = nNodeId * 2 + 1; if ((nDepth % 2) == 0) /* x split */ { const coord bMid = STATIC_CAST( coord, 1 + (STATIC_CAST(int, bNodeMinX) + bNodeMaxX) / 2); if (bSearchMinX <= bMid - 1 && !SBNSearchDiskInternal(psSearch, nDepth + 1, nNodeId + 1, bNodeMinX, bNodeMinY, bMid - 1, bNodeMaxY)) { return false; } if (bSearchMaxX >= bMid && !SBNSearchDiskInternal(psSearch, nDepth + 1, nNodeId, bMid, bNodeMinY, bNodeMaxX, bNodeMaxY)) { return false; } } else /* y split */ { const coord bMid = STATIC_CAST( coord, 1 + (STATIC_CAST(int, bNodeMinY) + bNodeMaxY) / 2); if (bSearchMinY <= bMid - 1 && !SBNSearchDiskInternal(psSearch, nDepth + 1, nNodeId + 1, bNodeMinX, bNodeMinY, bNodeMaxX, bMid - 1)) { return false; } if (bSearchMaxY >= bMid && !SBNSearchDiskInternal(psSearch, nDepth + 1, nNodeId, bNodeMinX, bMid, bNodeMaxX, bNodeMaxY)) { return false; } } } return true; } /************************************************************************/ /* compare_ints() */ /************************************************************************/ /* helper for qsort */ static int compare_ints(const void *a, const void *b) { return *STATIC_CAST(const int *, a) - *STATIC_CAST(const int *, b); } /************************************************************************/ /* SBNSearchDiskTree() */ /************************************************************************/ int *SBNSearchDiskTree(const SBNSearchHandle hSBN, const double *padfBoundsMin, const double *padfBoundsMax, int *pnShapeCount) { *pnShapeCount = 0; const double dfMinX = padfBoundsMin[0]; const double dfMinY = padfBoundsMin[1]; const double dfMaxX = padfBoundsMax[0]; const double dfMaxY = padfBoundsMax[1]; if (dfMinX > dfMaxX || dfMinY > dfMaxY) return SHPLIB_NULLPTR; if (dfMaxX < hSBN->dfMinX || dfMaxY < hSBN->dfMinY || dfMinX > hSBN->dfMaxX || dfMinY > hSBN->dfMaxY) return SHPLIB_NULLPTR; /* -------------------------------------------------------------------- */ /* Compute the search coordinates in [0,255]x[0,255] coord. space */ /* -------------------------------------------------------------------- */ const double dfDiskXExtent = hSBN->dfMaxX - hSBN->dfMinX; const double dfDiskYExtent = hSBN->dfMaxY - hSBN->dfMinY; int bMinX; int bMaxX; int bMinY; int bMaxY; if (dfDiskXExtent == 0.0) { bMinX = 0; bMaxX = 255; } else { if (dfMinX < hSBN->dfMinX) bMinX = 0; else { const double dfMinX_255 = (dfMinX - hSBN->dfMinX) / dfDiskXExtent * 255.0; bMinX = STATIC_CAST(int, floor(dfMinX_255 - 0.005)); if (bMinX < 0) bMinX = 0; } if (dfMaxX > hSBN->dfMaxX) bMaxX = 255; else { const double dfMaxX_255 = (dfMaxX - hSBN->dfMinX) / dfDiskXExtent * 255.0; bMaxX = STATIC_CAST(int, ceil(dfMaxX_255 + 0.005)); if (bMaxX > 255) bMaxX = 255; } } if (dfDiskYExtent == 0.0) { bMinY = 0; bMaxY = 255; } else { if (dfMinY < hSBN->dfMinY) bMinY = 0; else { const double dfMinY_255 = (dfMinY - hSBN->dfMinY) / dfDiskYExtent * 255.0; bMinY = STATIC_CAST(int, floor(dfMinY_255 - 0.005)); if (bMinY < 0) bMinY = 0; } if (dfMaxY > hSBN->dfMaxY) bMaxY = 255; else { const double dfMaxY_255 = (dfMaxY - hSBN->dfMinY) / dfDiskYExtent * 255.0; bMaxY = STATIC_CAST(int, ceil(dfMaxY_255 + 0.005)); if (bMaxY > 255) bMaxY = 255; } } /* -------------------------------------------------------------------- */ /* Run the search. */ /* -------------------------------------------------------------------- */ return SBNSearchDiskTreeInteger(hSBN, bMinX, bMinY, bMaxX, bMaxY, pnShapeCount); } /************************************************************************/ /* SBNSearchDiskTreeInteger() */ /************************************************************************/ int *SBNSearchDiskTreeInteger(const SBNSearchHandle hSBN, int bMinX, int bMinY, int bMaxX, int bMaxY, int *pnShapeCount) { *pnShapeCount = 0; if (bMinX > bMaxX || bMinY > bMaxY) return SHPLIB_NULLPTR; if (bMaxX < 0 || bMaxY < 0 || bMinX > 255 || bMinY > 255) return SHPLIB_NULLPTR; if (hSBN->nShapeCount == 0) return SHPLIB_NULLPTR; /* -------------------------------------------------------------------- */ /* Run the search. */ /* -------------------------------------------------------------------- */ SearchStruct sSearch; memset(&sSearch, 0, sizeof(sSearch)); sSearch.hSBN = hSBN; sSearch.bMinX = STATIC_CAST(coord, bMinX >= 0 ? bMinX : 0); sSearch.bMinY = STATIC_CAST(coord, bMinY >= 0 ? bMinY : 0); sSearch.bMaxX = STATIC_CAST(coord, bMaxX <= 255 ? bMaxX : 255); sSearch.bMaxY = STATIC_CAST(coord, bMaxY <= 255 ? bMaxY : 255); sSearch.nShapeCount = 0; sSearch.nShapeAlloc = 0; sSearch.panShapeId = STATIC_CAST(int *, calloc(1, sizeof(int))); #ifdef DEBUG_IO sSearch.nBytesRead = 0; #endif const bool bRet = SBNSearchDiskInternal(&sSearch, 0, 0, 0, 0, 255, 255); #ifdef DEBUG_IO hSBN->nTotalBytesRead += sSearch.nBytesRead; /* printf("nBytesRead = %d\n", sSearch.nBytesRead); */ #endif if (!bRet) { free(sSearch.panShapeId); *pnShapeCount = 0; return SHPLIB_NULLPTR; } *pnShapeCount = sSearch.nShapeCount; /* -------------------------------------------------------------------- */ /* Sort the id array */ /* -------------------------------------------------------------------- */ qsort(sSearch.panShapeId, *pnShapeCount, sizeof(int), compare_ints); return sSearch.panShapeId; } /************************************************************************/ /* SBNSearchFreeIds() */ /************************************************************************/ void SBNSearchFreeIds(int *panShapeId) { free(panShapeId); } shapelib-1.6.1/LICENSE-LGPL0000664000175000017500000006144514526370352012013 00000000000000 GNU LIBRARY GENERAL PUBLIC LICENSE Version 2, June 1991 Copyright (C) 1991 Free Software Foundation, Inc. 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. [This is the first released version of the library GPL. It is numbered 2 because it goes with version 2 of the ordinary GPL.] Preamble The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public Licenses are intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This license, the Library General Public License, applies to some specially designated Free Software Foundation software, and to any other libraries whose authors decide to use it. You can use it for your libraries, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things. To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the library, or if you modify it. For example, if you distribute copies of the library, whether gratis or for a fee, you must give the recipients all the rights that we gave you. You must make sure that they, too, receive or can get the source code. If you link a program with the library, you must provide complete object files to the recipients so that they can relink them with the library, after making changes to the library and recompiling it. And you must show them these terms so they know their rights. Our method of protecting your rights has two steps: (1) copyright the library, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the library. Also, for each distributor's protection, we want to make certain that everyone understands that there is no warranty for this free library. If the library is modified by someone else and passed on, we want its recipients to know that what they have is not the original version, so that any problems introduced by others will not reflect on the original authors' reputations. Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that companies distributing free software will individually obtain patent licenses, thus in effect transforming the program into proprietary software. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all. Most GNU software, including some libraries, is covered by the ordinary GNU General Public License, which was designed for utility programs. This license, the GNU Library General Public License, applies to certain designated libraries. This license is quite different from the ordinary one; be sure to read it in full, and don't assume that anything in it is the same as in the ordinary license. The reason we have a separate public license for some libraries is that they blur the distinction we usually make between modifying or adding to a program and simply using it. Linking a program with a library, without changing the library, is in some sense simply using the library, and is analogous to running a utility program or application program. However, in a textual and legal sense, the linked executable is a combined work, a derivative of the original library, and the ordinary General Public License treats it as such. Because of this blurred distinction, using the ordinary General Public License for libraries did not effectively promote software sharing, because most developers did not use the libraries. We concluded that weaker conditions might promote sharing better. However, unrestricted linking of non-free programs would deprive the users of those programs of all benefit from the free status of the libraries themselves. This Library General Public License is intended to permit developers of non-free programs to use free libraries, while preserving your freedom as a user of such programs to change the free libraries that are incorporated in them. (We have not seen how to achieve this as regards changes in header files, but we have achieved it as regards changes in the actual functions of the Library.) The hope is that this will lead to faster development of free libraries. The precise terms and conditions for copying, distribution and modification follow. Pay close attention to the difference between a "work based on the library" and a "work that uses the library". The former contains code derived from the library, while the latter only works together with the library. Note that it is possible for a library to be covered by the ordinary General Public License rather than by this special one. GNU LIBRARY GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License Agreement applies to any software library which contains a notice placed by the copyright holder or other authorized party saying it may be distributed under the terms of this Library General Public License (also called "this License"). Each licensee is addressed as "you". A "library" means a collection of software functions and/or data prepared so as to be conveniently linked with application programs (which use some of those functions and data) to form executables. The "Library", below, refers to any such software library or work which has been distributed under these terms. A "work based on the Library" means either the Library or any derivative work under copyright law: that is to say, a work containing the Library or a portion of it, either verbatim or with modifications and/or translated straightforwardly into another language. (Hereinafter, translation is included without limitation in the term "modification".) "Source code" for a work means the preferred form of the work for making modifications to it. For a library, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the library. Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running a program using the Library is not restricted, and output from such a program is covered only if its contents constitute a work based on the Library (independent of the use of the Library in a tool for writing it). Whether that is true depends on what the Library does and what the program that uses the Library does. 1. You may copy and distribute verbatim copies of the Library's complete source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and distribute a copy of this License along with the Library. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. 2. You may modify your copy or copies of the Library or any portion of it, thus forming a work based on the Library, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: a) The modified work must itself be a software library. b) You must cause the files modified to carry prominent notices stating that you changed the files and the date of any change. c) You must cause the whole of the work to be licensed at no charge to all third parties under the terms of this License. d) If a facility in the modified Library refers to a function or a table of data to be supplied by an application program that uses the facility, other than as an argument passed when the facility is invoked, then you must make a good faith effort to ensure that, in the event an application does not supply such function or table, the facility still operates, and performs whatever part of its purpose remains meaningful. (For example, a function in a library to compute square roots has a purpose that is entirely well-defined independent of the application. Therefore, Subsection 2d requires that any application-supplied function or table used by this function must be optional: if the application does not supply it, the square root function must still compute square roots.) These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Library, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Library, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Library. In addition, mere aggregation of another work not based on the Library with the Library (or with a work based on the Library) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 3. You may opt to apply the terms of the ordinary GNU General Public License instead of this License to a given copy of the Library. To do this, you must alter all the notices that refer to this License, so that they refer to the ordinary GNU General Public License, version 2, instead of to this License. (If a newer version than version 2 of the ordinary GNU General Public License has appeared, then you can specify that version instead if you wish.) Do not make any other change in these notices. Once this change is made in a given copy, it is irreversible for that copy, so the ordinary GNU General Public License applies to all subsequent copies and derivative works made from that copy. This option is useful when you wish to copy part of the code of the Library into a program that is not a library. 4. You may copy and distribute the Library (or a portion or derivative of it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange. If distribution of object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place satisfies the requirement to distribute the source code, even though third parties are not compelled to copy the source along with the object code. 5. A program that contains no derivative of any portion of the Library, but is designed to work with the Library by being compiled or linked with it, is called a "work that uses the Library". Such a work, in isolation, is not a derivative work of the Library, and therefore falls outside the scope of this License. However, linking a "work that uses the Library" with the Library creates an executable that is a derivative of the Library (because it contains portions of the Library), rather than a "work that uses the library". The executable is therefore covered by this License. Section 6 states terms for distribution of such executables. When a "work that uses the Library" uses material from a header file that is part of the Library, the object code for the work may be a derivative work of the Library even though the source code is not. Whether this is true is especially significant if the work can be linked without the Library, or if the work is itself a library. The threshold for this to be true is not precisely defined by law. If such an object file uses only numerical parameters, data structure layouts and accessors, and small macros and small inline functions (ten lines or less in length), then the use of the object file is unrestricted, regardless of whether it is legally a derivative work. (Executables containing this object code plus portions of the Library will still fall under Section 6.) Otherwise, if the work is a derivative of the Library, you may distribute the object code for the work under the terms of Section 6. Any executables containing that work also fall under Section 6, whether or not they are linked directly with the Library itself. 6. As an exception to the Sections above, you may also compile or link a "work that uses the Library" with the Library to produce a work containing portions of the Library, and distribute that work under terms of your choice, provided that the terms permit modification of the work for the customer's own use and reverse engineering for debugging such modifications. You must give prominent notice with each copy of the work that the Library is used in it and that the Library and its use are covered by this License. You must supply a copy of this License. If the work during execution displays copyright notices, you must include the copyright notice for the Library among them, as well as a reference directing the user to the copy of this License. Also, you must do one of these things: a) Accompany the work with the complete corresponding machine-readable source code for the Library including whatever changes were used in the work (which must be distributed under Sections 1 and 2 above); and, if the work is an executable linked with the Library, with the complete machine-readable "work that uses the Library", as object code and/or source code, so that the user can modify the Library and then relink to produce a modified executable containing the modified Library. (It is understood that the user who changes the contents of definitions files in the Library will not necessarily be able to recompile the application to use the modified definitions.) b) Accompany the work with a written offer, valid for at least three years, to give the same user the materials specified in Subsection 6a, above, for a charge no more than the cost of performing this distribution. c) If distribution of the work is made by offering access to copy from a designated place, offer equivalent access to copy the above specified materials from the same place. d) Verify that the user has already received a copy of these materials or that you have already sent this user a copy. For an executable, the required form of the "work that uses the Library" must include any data and utility programs needed for reproducing the executable from it. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. It may happen that this requirement contradicts the license restrictions of other proprietary libraries that do not normally accompany the operating system. Such a contradiction means you cannot use both them and the Library together in an executable that you distribute. 7. You may place library facilities that are a work based on the Library side-by-side in a single library together with other library facilities not covered by this License, and distribute such a combined library, provided that the separate distribution of the work based on the Library and of the other library facilities is otherwise permitted, and provided that you do these two things: a) Accompany the combined library with a copy of the same work based on the Library, uncombined with any other library facilities. This must be distributed under the terms of the Sections above. b) Give prominent notice with the combined library of the fact that part of it is a work based on the Library, and explaining where to find the accompanying uncombined form of the same work. 8. You may not copy, modify, sublicense, link with, or distribute the Library except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense, link with, or distribute the Library is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 9. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Library or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Library (or any work based on the Library), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Library or works based on it. 10. Each time you redistribute the Library (or any work based on the Library), the recipient automatically receives a license from the original licensor to copy, distribute, link with or modify the Library subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License. 11. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Library at all. For example, if a patent license would not permit royalty-free redistribution of the Library by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Library. If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply, and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. 12. If the distribution and/or use of the Library is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Library under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. 13. The Free Software Foundation may publish revised and/or new versions of the Library General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Library specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Library does not specify a license version number, you may choose any version ever published by the Free Software Foundation. 14. If you wish to incorporate parts of the Library into other free programs whose distribution conditions are incompatible with these, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. NO WARRANTY 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS How to Apply These Terms to Your New Libraries If you develop a new library, and you want it to be of the greatest possible use to the public, we recommend making it free software that everyone can redistribute and change. You can do so by permitting redistribution under these terms (or, alternatively, under the terms of the ordinary General Public License). To apply these terms, attach the following notices to the library. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) This library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This library 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 Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Also add information on how to contact you by electronic and paper mail. You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the library, if necessary. Here is a sample; alter the names: Yoyodyne, Inc., hereby disclaims all copyright interest in the library `Frob' (a library for tweaking knobs) written by James Random Hacker. , 1 April 1990 Ty Coon, President of Vice That's all there is to it! shapelib-1.6.1/autogen.sh0000775000175000017500000000173214371676733012256 00000000000000#!/bin/sh # Run this to generate all the initial makefiles, etc. srcdir="$(dirname "$(readlink -f $0)")" (test -f $srcdir/configure.ac) || { echo -n "**Error**: Directory "\`$srcdir\'" does not look like the" echo " top-level package directory" echo exit 1 } (libtool --version) < /dev/null > /dev/null 2>&1 || { echo "**Error**: You must have \`libtool' installed." echo "You can get it from: ftp://ftp.gnu.org/pub/gnu/" echo exit 1 } (autoreconf --version) < /dev/null > /dev/null 2>&1 || { echo "**Error**: You must have \`autoreconf' installed." echo "Download the appropriate package for your distribution," echo "or get the source tarball at ftp://ftp.gnu.org/pub/gnu/" echo exit 1 } ( cd "$srcdir" echo "Running autoreconf..." autoreconf -fiv ) if test x$NOCONFIGURE = x; then echo Running $srcdir/configure "$@" ... $srcdir/configure "$@" \ && echo Now type \`make\' to compile. || exit 1 else echo Skipping configure process. fi shapelib-1.6.1/shpcreate.c0000664000175000017500000000606314526370352012367 00000000000000/****************************************************************************** * * Project: Shapelib * Purpose: Sample application for creating a new shapefile. * Author: Frank Warmerdam, warmerdm@pobox.com * ****************************************************************************** * Copyright (c) 1999, Frank Warmerdam * * SPDX-License-Identifier: MIT OR LGPL-2.0-or-later ****************************************************************************** * */ #include #include #include #include "shapefil.h" int main(int argc, char **argv) { /* -------------------------------------------------------------------- */ /* Display a usage message. */ /* -------------------------------------------------------------------- */ if (argc != 3) { printf("shpcreate shp_file [point/arc/polygon/multipoint][/m/z]\n"); exit(1); } /* -------------------------------------------------------------------- */ /* Figure out the shape type. */ /* -------------------------------------------------------------------- */ int nShapeType; if (strcmp(argv[2], "POINT") == 0 || strcmp(argv[2], "point") == 0) nShapeType = SHPT_POINT; else if (strcmp(argv[2], "ARC") == 0 || strcmp(argv[2], "arc") == 0) nShapeType = SHPT_ARC; else if (strcmp(argv[2], "POLYGON") == 0 || strcmp(argv[2], "polygon") == 0) nShapeType = SHPT_POLYGON; else if (strcmp(argv[2], "MULTIPOINT") == 0 || strcmp(argv[2], "multipoint") == 0) nShapeType = SHPT_MULTIPOINT; else if (strcmp(argv[2], "POINTZ") == 0 || strcmp(argv[2], "pointz") == 0) nShapeType = SHPT_POINTZ; else if (strcmp(argv[2], "ARCZ") == 0 || strcmp(argv[2], "arcz") == 0) nShapeType = SHPT_ARCZ; else if (strcmp(argv[2], "POLYGONZ") == 0 || strcmp(argv[2], "polygonz") == 0) nShapeType = SHPT_POLYGONZ; else if (strcmp(argv[2], "MULTIPOINTZ") == 0 || strcmp(argv[2], "multipointz") == 0) nShapeType = SHPT_MULTIPOINTZ; else if (strcmp(argv[2], "POINTM") == 0 || strcmp(argv[2], "pointm") == 0) nShapeType = SHPT_POINTM; else if (strcmp(argv[2], "ARCM") == 0 || strcmp(argv[2], "arcm") == 0) nShapeType = SHPT_ARCM; else if (strcmp(argv[2], "POLYGONM") == 0 || strcmp(argv[2], "polygonm") == 0) nShapeType = SHPT_POLYGONM; else if (strcmp(argv[2], "MULTIPOINTM") == 0 || strcmp(argv[2], "multipointm") == 0) nShapeType = SHPT_MULTIPOINTM; else { printf("Shape Type `%s' not recognised.\n", argv[2]); exit(2); } /* -------------------------------------------------------------------- */ /* Create the requested layer. */ /* -------------------------------------------------------------------- */ SHPHandle hSHP = SHPCreate(argv[1], nShapeType); if (hSHP == NULL) { printf("Unable to create:%s\n", argv[1]); exit(3); } SHPClose(hSHP); return 0; } shapelib-1.6.1/shpopen.c0000664000175000017500000034234714655153023012072 00000000000000/****************************************************************************** * * Project: Shapelib * Purpose: Implementation of core Shapefile read/write functions. * Author: Frank Warmerdam, warmerdam@pobox.com * ****************************************************************************** * Copyright (c) 1999, 2001, Frank Warmerdam * Copyright (c) 2011-2024, Even Rouault * * SPDX-License-Identifier: MIT OR LGPL-2.0-or-later ******************************************************************************/ #include "shapefil_private.h" #include #include #include #include #include #include #include #include #include #ifndef FALSE #define FALSE 0 #define TRUE 1 #endif #define ByteCopy(a, b, c) memcpy(b, a, c) #ifndef MAX #define MIN(a, b) ((a < b) ? a : b) #define MAX(a, b) ((a > b) ? a : b) #endif #ifndef USE_CPL #if defined(_MSC_VER) #if _MSC_VER < 1900 #define snprintf _snprintf #endif #elif defined(_WIN32) #ifndef snprintf #define snprintf _snprintf #endif #endif #endif /* Allows customization of the message in vendored builds (such as GDAL) */ #ifndef SHP_RESTORE_SHX_HINT_MESSAGE #define SHP_RESTORE_SHX_HINT_MESSAGE \ " Use SHPRestoreSHX() to restore or create it." #endif /************************************************************************/ /* SHPWriteHeader() */ /* */ /* Write out a header for the .shp and .shx files as well as the */ /* contents of the index (.shx) file. */ /************************************************************************/ void SHPAPI_CALL SHPWriteHeader(SHPHandle psSHP) { if (psSHP->fpSHX == SHPLIB_NULLPTR) { psSHP->sHooks.Error("SHPWriteHeader failed : SHX file is closed"); return; } /* -------------------------------------------------------------------- */ /* Prepare header block for .shp file. */ /* -------------------------------------------------------------------- */ unsigned char abyHeader[100] = {0}; abyHeader[2] = 0x27; /* magic cookie */ abyHeader[3] = 0x0a; uint32_t i32 = psSHP->nFileSize / 2; /* file size */ ByteCopy(&i32, abyHeader + 24, 4); #if !defined(SHP_BIG_ENDIAN) SHP_SWAP32(abyHeader + 24); #endif i32 = 1000; /* version */ ByteCopy(&i32, abyHeader + 28, 4); #if defined(SHP_BIG_ENDIAN) SHP_SWAP32(abyHeader + 28); #endif i32 = psSHP->nShapeType; /* shape type */ ByteCopy(&i32, abyHeader + 32, 4); #if defined(SHP_BIG_ENDIAN) SHP_SWAP32(abyHeader + 32); #endif double dValue = psSHP->adBoundsMin[0]; /* set bounds */ ByteCopy(&dValue, abyHeader + 36, 8); #if defined(SHP_BIG_ENDIAN) SHP_SWAP64(abyHeader + 36); #endif dValue = psSHP->adBoundsMin[1]; ByteCopy(&dValue, abyHeader + 44, 8); #if defined(SHP_BIG_ENDIAN) SHP_SWAP64(abyHeader + 44); #endif dValue = psSHP->adBoundsMax[0]; ByteCopy(&dValue, abyHeader + 52, 8); #if defined(SHP_BIG_ENDIAN) SHP_SWAP64(abyHeader + 52); #endif dValue = psSHP->adBoundsMax[1]; ByteCopy(&dValue, abyHeader + 60, 8); #if defined(SHP_BIG_ENDIAN) SHP_SWAP64(abyHeader + 60); #endif dValue = psSHP->adBoundsMin[2]; /* z */ ByteCopy(&dValue, abyHeader + 68, 8); #if defined(SHP_BIG_ENDIAN) SHP_SWAP64(abyHeader + 68); #endif dValue = psSHP->adBoundsMax[2]; ByteCopy(&dValue, abyHeader + 76, 8); #if defined(SHP_BIG_ENDIAN) SHP_SWAP64(abyHeader + 76); #endif dValue = psSHP->adBoundsMin[3]; /* m */ ByteCopy(&dValue, abyHeader + 84, 8); #if defined(SHP_BIG_ENDIAN) SHP_SWAP64(abyHeader + 84); #endif dValue = psSHP->adBoundsMax[3]; ByteCopy(&dValue, abyHeader + 92, 8); #if defined(SHP_BIG_ENDIAN) SHP_SWAP64(abyHeader + 92); #endif /* -------------------------------------------------------------------- */ /* Write .shp file header. */ /* -------------------------------------------------------------------- */ if (psSHP->sHooks.FSeek(psSHP->fpSHP, 0, 0) != 0 || psSHP->sHooks.FWrite(abyHeader, 100, 1, psSHP->fpSHP) != 1) { char szErrorMsg[200]; snprintf(szErrorMsg, sizeof(szErrorMsg), "Failure writing .shp header: %s", strerror(errno)); szErrorMsg[sizeof(szErrorMsg) - 1] = '\0'; psSHP->sHooks.Error(szErrorMsg); return; } /* -------------------------------------------------------------------- */ /* Prepare, and write .shx file header. */ /* -------------------------------------------------------------------- */ i32 = (psSHP->nRecords * 2 * sizeof(uint32_t) + 100) / 2; /* file size */ ByteCopy(&i32, abyHeader + 24, 4); #if !defined(SHP_BIG_ENDIAN) SHP_SWAP32(abyHeader + 24); #endif if (psSHP->sHooks.FSeek(psSHP->fpSHX, 0, 0) != 0 || psSHP->sHooks.FWrite(abyHeader, 100, 1, psSHP->fpSHX) != 1) { char szErrorMsg[200]; snprintf(szErrorMsg, sizeof(szErrorMsg), "Failure writing .shx header: %s", strerror(errno)); szErrorMsg[sizeof(szErrorMsg) - 1] = '\0'; psSHP->sHooks.Error(szErrorMsg); return; } /* -------------------------------------------------------------------- */ /* Write out the .shx contents. */ /* -------------------------------------------------------------------- */ uint32_t *panSHX = STATIC_CAST(uint32_t *, malloc(sizeof(uint32_t) * 2 * psSHP->nRecords)); if (panSHX == SHPLIB_NULLPTR) { psSHP->sHooks.Error("Failure allocatin panSHX"); return; } for (int i = 0; i < psSHP->nRecords; i++) { panSHX[i * 2] = psSHP->panRecOffset[i] / 2; panSHX[i * 2 + 1] = psSHP->panRecSize[i] / 2; #if !defined(SHP_BIG_ENDIAN) SHP_SWAP32(panSHX + i * 2); SHP_SWAP32(panSHX + i * 2 + 1); #endif } if (STATIC_CAST(int, psSHP->sHooks.FWrite(panSHX, sizeof(uint32_t) * 2, psSHP->nRecords, psSHP->fpSHX)) != psSHP->nRecords) { char szErrorMsg[200]; snprintf(szErrorMsg, sizeof(szErrorMsg), "Failure writing .shx contents: %s", strerror(errno)); szErrorMsg[sizeof(szErrorMsg) - 1] = '\0'; psSHP->sHooks.Error(szErrorMsg); } free(panSHX); /* -------------------------------------------------------------------- */ /* Flush to disk. */ /* -------------------------------------------------------------------- */ psSHP->sHooks.FFlush(psSHP->fpSHP); psSHP->sHooks.FFlush(psSHP->fpSHX); } /************************************************************************/ /* SHPOpen() */ /************************************************************************/ SHPHandle SHPAPI_CALL SHPOpen(const char *pszLayer, const char *pszAccess) { SAHooks sHooks; SASetupDefaultHooks(&sHooks); return SHPOpenLL(pszLayer, pszAccess, &sHooks); } /************************************************************************/ /* SHPGetLenWithoutExtension() */ /************************************************************************/ static int SHPGetLenWithoutExtension(const char *pszBasename) { const int nLen = STATIC_CAST(int, strlen(pszBasename)); for (int i = nLen - 1; i > 0 && pszBasename[i] != '/' && pszBasename[i] != '\\'; i--) { if (pszBasename[i] == '.') { return i; } } return nLen; } /************************************************************************/ /* SHPOpen() */ /* */ /* Open the .shp and .shx files based on the basename of the */ /* files or either file name. */ /************************************************************************/ SHPHandle SHPAPI_CALL SHPOpenLL(const char *pszLayer, const char *pszAccess, const SAHooks *psHooks) { /* -------------------------------------------------------------------- */ /* Ensure the access string is one of the legal ones. We */ /* ensure the result string indicates binary to avoid common */ /* problems on Windows. */ /* -------------------------------------------------------------------- */ bool bLazySHXLoading = false; if (strcmp(pszAccess, "rb+") == 0 || strcmp(pszAccess, "r+b") == 0 || strcmp(pszAccess, "r+") == 0) { pszAccess = "r+b"; } else { bLazySHXLoading = strchr(pszAccess, 'l') != SHPLIB_NULLPTR; pszAccess = "rb"; } /* -------------------------------------------------------------------- */ /* Initialize the info structure. */ /* -------------------------------------------------------------------- */ SHPHandle psSHP = STATIC_CAST(SHPHandle, calloc(1, sizeof(SHPInfo))); psSHP->bUpdated = FALSE; memcpy(&(psSHP->sHooks), psHooks, sizeof(SAHooks)); /* -------------------------------------------------------------------- */ /* Open the .shp and .shx files. Note that files pulled from */ /* a PC to Unix with upper case filenames won't work! */ /* -------------------------------------------------------------------- */ const int nLenWithoutExtension = SHPGetLenWithoutExtension(pszLayer); char *pszFullname = STATIC_CAST(char *, malloc(nLenWithoutExtension + 5)); memcpy(pszFullname, pszLayer, nLenWithoutExtension); memcpy(pszFullname + nLenWithoutExtension, ".shp", 5); psSHP->fpSHP = psSHP->sHooks.FOpen(pszFullname, pszAccess, psSHP->sHooks.pvUserData); if (psSHP->fpSHP == SHPLIB_NULLPTR) { memcpy(pszFullname + nLenWithoutExtension, ".SHP", 5); psSHP->fpSHP = psSHP->sHooks.FOpen(pszFullname, pszAccess, psSHP->sHooks.pvUserData); } if (psSHP->fpSHP == SHPLIB_NULLPTR) { const size_t nMessageLen = strlen(pszFullname) * 2 + 256; char *pszMessage = STATIC_CAST(char *, malloc(nMessageLen)); pszFullname[nLenWithoutExtension] = 0; snprintf(pszMessage, nMessageLen, "Unable to open %s.shp or %s.SHP in %s mode.", pszFullname, pszFullname, pszAccess); psHooks->Error(pszMessage); free(pszMessage); free(psSHP); free(pszFullname); return SHPLIB_NULLPTR; } memcpy(pszFullname + nLenWithoutExtension, ".shx", 5); psSHP->fpSHX = psSHP->sHooks.FOpen(pszFullname, pszAccess, psSHP->sHooks.pvUserData); if (psSHP->fpSHX == SHPLIB_NULLPTR) { memcpy(pszFullname + nLenWithoutExtension, ".SHX", 5); psSHP->fpSHX = psSHP->sHooks.FOpen(pszFullname, pszAccess, psSHP->sHooks.pvUserData); } if (psSHP->fpSHX == SHPLIB_NULLPTR) { const size_t nMessageLen = 64 + strlen(pszFullname) * 2 + strlen(SHP_RESTORE_SHX_HINT_MESSAGE); char *pszMessage = STATIC_CAST(char *, malloc(nMessageLen)); pszFullname[nLenWithoutExtension] = 0; snprintf( pszMessage, nMessageLen, "Unable to open %s.shx or %s.SHX." SHP_RESTORE_SHX_HINT_MESSAGE, pszFullname, pszFullname); psHooks->Error(pszMessage); free(pszMessage); psSHP->sHooks.FClose(psSHP->fpSHP); free(psSHP); free(pszFullname); return SHPLIB_NULLPTR; } free(pszFullname); /* -------------------------------------------------------------------- */ /* Read the file size from the SHP file. */ /* -------------------------------------------------------------------- */ unsigned char *pabyBuf = STATIC_CAST(unsigned char *, malloc(100)); if (psSHP->sHooks.FRead(pabyBuf, 100, 1, psSHP->fpSHP) != 1) { psSHP->sHooks.Error(".shp file is unreadable, or corrupt."); psSHP->sHooks.FClose(psSHP->fpSHP); psSHP->sHooks.FClose(psSHP->fpSHX); free(pabyBuf); free(psSHP); return SHPLIB_NULLPTR; } psSHP->nFileSize = (STATIC_CAST(unsigned int, pabyBuf[24]) << 24) | (pabyBuf[25] << 16) | (pabyBuf[26] << 8) | pabyBuf[27]; if (psSHP->nFileSize < UINT_MAX / 2) psSHP->nFileSize *= 2; else psSHP->nFileSize = (UINT_MAX / 2) * 2; /* -------------------------------------------------------------------- */ /* Read SHX file Header info */ /* -------------------------------------------------------------------- */ if (psSHP->sHooks.FRead(pabyBuf, 100, 1, psSHP->fpSHX) != 1 || pabyBuf[0] != 0 || pabyBuf[1] != 0 || pabyBuf[2] != 0x27 || (pabyBuf[3] != 0x0a && pabyBuf[3] != 0x0d)) { psSHP->sHooks.Error(".shx file is unreadable, or corrupt."); psSHP->sHooks.FClose(psSHP->fpSHP); psSHP->sHooks.FClose(psSHP->fpSHX); free(pabyBuf); free(psSHP); return SHPLIB_NULLPTR; } psSHP->nRecords = pabyBuf[27] | (pabyBuf[26] << 8) | (pabyBuf[25] << 16) | ((pabyBuf[24] & 0x7F) << 24); psSHP->nRecords = (psSHP->nRecords - 50) / 4; psSHP->nShapeType = pabyBuf[32]; if (psSHP->nRecords < 0 || psSHP->nRecords > 256000000) { char szErrorMsg[200]; snprintf(szErrorMsg, sizeof(szErrorMsg), "Record count in .shx header is %d, which seems\n" "unreasonable. Assuming header is corrupt.", psSHP->nRecords); szErrorMsg[sizeof(szErrorMsg) - 1] = '\0'; psSHP->sHooks.Error(szErrorMsg); psSHP->sHooks.FClose(psSHP->fpSHP); psSHP->sHooks.FClose(psSHP->fpSHX); free(psSHP); free(pabyBuf); return SHPLIB_NULLPTR; } /* If a lot of records are advertized, check that the file is big enough */ /* to hold them */ if (psSHP->nRecords >= 1024 * 1024) { psSHP->sHooks.FSeek(psSHP->fpSHX, 0, 2); const SAOffset nFileSize = psSHP->sHooks.FTell(psSHP->fpSHX); if (nFileSize > 100 && nFileSize / 2 < STATIC_CAST(SAOffset, psSHP->nRecords * 4 + 50)) { psSHP->nRecords = STATIC_CAST(int, (nFileSize - 100) / 8); } psSHP->sHooks.FSeek(psSHP->fpSHX, 100, 0); } /* -------------------------------------------------------------------- */ /* Read the bounds. */ /* -------------------------------------------------------------------- */ double dValue; #if defined(SHP_BIG_ENDIAN) SHP_SWAP64(pabyBuf + 36); #endif memcpy(&dValue, pabyBuf + 36, 8); psSHP->adBoundsMin[0] = dValue; #if defined(SHP_BIG_ENDIAN) SHP_SWAP64(pabyBuf + 44); #endif memcpy(&dValue, pabyBuf + 44, 8); psSHP->adBoundsMin[1] = dValue; #if defined(SHP_BIG_ENDIAN) SHP_SWAP64(pabyBuf + 52); #endif memcpy(&dValue, pabyBuf + 52, 8); psSHP->adBoundsMax[0] = dValue; #if defined(SHP_BIG_ENDIAN) SHP_SWAP64(pabyBuf + 60); #endif memcpy(&dValue, pabyBuf + 60, 8); psSHP->adBoundsMax[1] = dValue; #if defined(SHP_BIG_ENDIAN) SHP_SWAP64(pabyBuf + 68); /* z */ #endif memcpy(&dValue, pabyBuf + 68, 8); psSHP->adBoundsMin[2] = dValue; #if defined(SHP_BIG_ENDIAN) SHP_SWAP64(pabyBuf + 76); #endif memcpy(&dValue, pabyBuf + 76, 8); psSHP->adBoundsMax[2] = dValue; #if defined(SHP_BIG_ENDIAN) SHP_SWAP64(pabyBuf + 84); /* z */ #endif memcpy(&dValue, pabyBuf + 84, 8); psSHP->adBoundsMin[3] = dValue; #if defined(SHP_BIG_ENDIAN) SHP_SWAP64(pabyBuf + 92); #endif memcpy(&dValue, pabyBuf + 92, 8); psSHP->adBoundsMax[3] = dValue; free(pabyBuf); /* -------------------------------------------------------------------- */ /* Read the .shx file to get the offsets to each record in */ /* the .shp file. */ /* -------------------------------------------------------------------- */ psSHP->nMaxRecords = psSHP->nRecords; psSHP->panRecOffset = STATIC_CAST(unsigned int *, malloc(sizeof(unsigned int) * MAX(1, psSHP->nMaxRecords))); psSHP->panRecSize = STATIC_CAST(unsigned int *, malloc(sizeof(unsigned int) * MAX(1, psSHP->nMaxRecords))); if (bLazySHXLoading) pabyBuf = SHPLIB_NULLPTR; else pabyBuf = STATIC_CAST(unsigned char *, malloc(8 * MAX(1, psSHP->nRecords))); if (psSHP->panRecOffset == SHPLIB_NULLPTR || psSHP->panRecSize == SHPLIB_NULLPTR || (!bLazySHXLoading && pabyBuf == SHPLIB_NULLPTR)) { char szErrorMsg[200]; snprintf( szErrorMsg, sizeof(szErrorMsg), "Not enough memory to allocate requested memory (nRecords=%d).\n" "Probably broken SHP file", psSHP->nRecords); szErrorMsg[sizeof(szErrorMsg) - 1] = '\0'; psSHP->sHooks.Error(szErrorMsg); psSHP->sHooks.FClose(psSHP->fpSHP); psSHP->sHooks.FClose(psSHP->fpSHX); if (psSHP->panRecOffset) free(psSHP->panRecOffset); if (psSHP->panRecSize) free(psSHP->panRecSize); if (pabyBuf) free(pabyBuf); free(psSHP); return SHPLIB_NULLPTR; } if (bLazySHXLoading) { memset(psSHP->panRecOffset, 0, sizeof(unsigned int) * MAX(1, psSHP->nMaxRecords)); memset(psSHP->panRecSize, 0, sizeof(unsigned int) * MAX(1, psSHP->nMaxRecords)); free(pabyBuf); // sometimes make cppcheck happy, but return (psSHP); } if (STATIC_CAST(int, psSHP->sHooks.FRead(pabyBuf, 8, psSHP->nRecords, psSHP->fpSHX)) != psSHP->nRecords) { char szErrorMsg[200]; snprintf(szErrorMsg, sizeof(szErrorMsg), "Failed to read all values for %d records in .shx file: %s.", psSHP->nRecords, strerror(errno)); szErrorMsg[sizeof(szErrorMsg) - 1] = '\0'; psSHP->sHooks.Error(szErrorMsg); /* SHX is short or unreadable for some reason. */ psSHP->sHooks.FClose(psSHP->fpSHP); psSHP->sHooks.FClose(psSHP->fpSHX); free(psSHP->panRecOffset); free(psSHP->panRecSize); free(pabyBuf); free(psSHP); return SHPLIB_NULLPTR; } /* In read-only mode, we can close the SHX now */ if (strcmp(pszAccess, "rb") == 0) { psSHP->sHooks.FClose(psSHP->fpSHX); psSHP->fpSHX = SHPLIB_NULLPTR; } for (int i = 0; i < psSHP->nRecords; i++) { unsigned int nOffset; memcpy(&nOffset, pabyBuf + i * 8, 4); #if !defined(SHP_BIG_ENDIAN) SHP_SWAP32(&nOffset); #endif unsigned int nLength; memcpy(&nLength, pabyBuf + i * 8 + 4, 4); #if !defined(SHP_BIG_ENDIAN) SHP_SWAP32(&nLength); #endif if (nOffset > STATIC_CAST(unsigned int, INT_MAX)) { char str[128]; snprintf(str, sizeof(str), "Invalid offset for entity %d", i); str[sizeof(str) - 1] = '\0'; psSHP->sHooks.Error(str); SHPClose(psSHP); free(pabyBuf); return SHPLIB_NULLPTR; } if (nLength > STATIC_CAST(unsigned int, INT_MAX / 2 - 4)) { char str[128]; snprintf(str, sizeof(str), "Invalid length for entity %d", i); str[sizeof(str) - 1] = '\0'; psSHP->sHooks.Error(str); SHPClose(psSHP); free(pabyBuf); return SHPLIB_NULLPTR; } psSHP->panRecOffset[i] = nOffset * 2; psSHP->panRecSize[i] = nLength * 2; } free(pabyBuf); return (psSHP); } /************************************************************************/ /* SHPOpenLLEx() */ /* */ /* Open the .shp and .shx files based on the basename of the */ /* files or either file name. It generally invokes SHPRestoreSHX() */ /* in case when bRestoreSHX equals true. */ /************************************************************************/ SHPHandle SHPAPI_CALL SHPOpenLLEx(const char *pszLayer, const char *pszAccess, const SAHooks *psHooks, int bRestoreSHX) { if (!bRestoreSHX) return SHPOpenLL(pszLayer, pszAccess, psHooks); else { if (SHPRestoreSHX(pszLayer, pszAccess, psHooks)) { return SHPOpenLL(pszLayer, pszAccess, psHooks); } } return SHPLIB_NULLPTR; } /************************************************************************/ /* SHPRestoreSHX() */ /* */ /* Restore .SHX file using associated .SHP file. */ /* */ /************************************************************************/ int SHPAPI_CALL SHPRestoreSHX(const char *pszLayer, const char *pszAccess, const SAHooks *psHooks) { /* -------------------------------------------------------------------- */ /* Ensure the access string is one of the legal ones. We */ /* ensure the result string indicates binary to avoid common */ /* problems on Windows. */ /* -------------------------------------------------------------------- */ if (strcmp(pszAccess, "rb+") == 0 || strcmp(pszAccess, "r+b") == 0 || strcmp(pszAccess, "r+") == 0) { pszAccess = "r+b"; } else { pszAccess = "rb"; } /* -------------------------------------------------------------------- */ /* Open the .shp file. Note that files pulled from */ /* a PC to Unix with upper case filenames won't work! */ /* -------------------------------------------------------------------- */ const int nLenWithoutExtension = SHPGetLenWithoutExtension(pszLayer); char *pszFullname = STATIC_CAST(char *, malloc(nLenWithoutExtension + 5)); memcpy(pszFullname, pszLayer, nLenWithoutExtension); memcpy(pszFullname + nLenWithoutExtension, ".shp", 5); SAFile fpSHP = psHooks->FOpen(pszFullname, pszAccess, psHooks->pvUserData); if (fpSHP == SHPLIB_NULLPTR) { memcpy(pszFullname + nLenWithoutExtension, ".SHP", 5); fpSHP = psHooks->FOpen(pszFullname, pszAccess, psHooks->pvUserData); } if (fpSHP == SHPLIB_NULLPTR) { const size_t nMessageLen = strlen(pszFullname) * 2 + 256; char *pszMessage = STATIC_CAST(char *, malloc(nMessageLen)); pszFullname[nLenWithoutExtension] = 0; snprintf(pszMessage, nMessageLen, "Unable to open %s.shp or %s.SHP.", pszFullname, pszFullname); psHooks->Error(pszMessage); free(pszMessage); free(pszFullname); return (0); } /* -------------------------------------------------------------------- */ /* Read the file size from the SHP file. */ /* -------------------------------------------------------------------- */ unsigned char *pabyBuf = STATIC_CAST(unsigned char *, malloc(100)); if (psHooks->FRead(pabyBuf, 100, 1, fpSHP) != 1) { psHooks->Error(".shp file is unreadable, or corrupt."); psHooks->FClose(fpSHP); free(pabyBuf); free(pszFullname); return (0); } unsigned int nSHPFilesize = (STATIC_CAST(unsigned int, pabyBuf[24]) << 24) | (pabyBuf[25] << 16) | (pabyBuf[26] << 8) | pabyBuf[27]; if (nSHPFilesize < UINT_MAX / 2) nSHPFilesize *= 2; else nSHPFilesize = (UINT_MAX / 2) * 2; memcpy(pszFullname + nLenWithoutExtension, ".shx", 5); const char pszSHXAccess[] = "w+b"; SAFile fpSHX = psHooks->FOpen(pszFullname, pszSHXAccess, psHooks->pvUserData); if (fpSHX == SHPLIB_NULLPTR) { size_t nMessageLen = strlen(pszFullname) * 2 + 256; char *pszMessage = STATIC_CAST(char *, malloc(nMessageLen)); pszFullname[nLenWithoutExtension] = 0; snprintf(pszMessage, nMessageLen, "Error opening file %s.shx for writing", pszFullname); psHooks->Error(pszMessage); free(pszMessage); psHooks->FClose(fpSHP); free(pabyBuf); free(pszFullname); return (0); } /* -------------------------------------------------------------------- */ /* Open SHX and create it using SHP file content. */ /* -------------------------------------------------------------------- */ psHooks->FSeek(fpSHP, 100, 0); char *pabySHXHeader = STATIC_CAST(char *, malloc(100)); memcpy(pabySHXHeader, pabyBuf, 100); psHooks->FWrite(pabySHXHeader, 100, 1, fpSHX); free(pabyBuf); // unsigned int nCurrentRecordOffset = 0; unsigned int nCurrentSHPOffset = 100; unsigned int nRealSHXContentSize = 100; int nRetCode = TRUE; unsigned int nRecordOffset = 50; while (nCurrentSHPOffset < nSHPFilesize) { unsigned int niRecord = 0; unsigned int nRecordLength = 0; int nSHPType; if (psHooks->FRead(&niRecord, 4, 1, fpSHP) == 1 && psHooks->FRead(&nRecordLength, 4, 1, fpSHP) == 1 && psHooks->FRead(&nSHPType, 4, 1, fpSHP) == 1) { char abyReadRecord[8]; unsigned int nRecordOffsetBE = nRecordOffset; #if !defined(SHP_BIG_ENDIAN) SHP_SWAP32(&nRecordOffsetBE); #endif memcpy(abyReadRecord, &nRecordOffsetBE, 4); memcpy(abyReadRecord + 4, &nRecordLength, 4); #if !defined(SHP_BIG_ENDIAN) SHP_SWAP32(&nRecordLength); #endif #if defined(SHP_BIG_ENDIAN) SHP_SWAP32(&nSHPType); #endif // Sanity check on record length if (nRecordLength < 1 || nRecordLength > (nSHPFilesize - (nCurrentSHPOffset + 8)) / 2) { char szErrorMsg[200]; snprintf(szErrorMsg, sizeof(szErrorMsg), "Error parsing .shp to restore .shx. " "Invalid record length = %u at record starting at " "offset %u", nRecordLength, nCurrentSHPOffset); psHooks->Error(szErrorMsg); nRetCode = FALSE; break; } // Sanity check on record type if (nSHPType != SHPT_NULL && nSHPType != SHPT_POINT && nSHPType != SHPT_ARC && nSHPType != SHPT_POLYGON && nSHPType != SHPT_MULTIPOINT && nSHPType != SHPT_POINTZ && nSHPType != SHPT_ARCZ && nSHPType != SHPT_POLYGONZ && nSHPType != SHPT_MULTIPOINTZ && nSHPType != SHPT_POINTM && nSHPType != SHPT_ARCM && nSHPType != SHPT_POLYGONM && nSHPType != SHPT_MULTIPOINTM && nSHPType != SHPT_MULTIPATCH) { char szErrorMsg[200]; snprintf(szErrorMsg, sizeof(szErrorMsg), "Error parsing .shp to restore .shx. " "Invalid shape type = %d at record starting at " "offset %u", nSHPType, nCurrentSHPOffset); psHooks->Error(szErrorMsg); nRetCode = FALSE; break; } psHooks->FWrite(abyReadRecord, 8, 1, fpSHX); nRecordOffset += nRecordLength + 4; // nCurrentRecordOffset += 8; nCurrentSHPOffset += 8 + nRecordLength * 2; psHooks->FSeek(fpSHP, nCurrentSHPOffset, 0); nRealSHXContentSize += 8; } else { char szErrorMsg[200]; snprintf(szErrorMsg, sizeof(szErrorMsg), "Error parsing .shp to restore .shx. " "Cannot read first bytes of record starting at " "offset %u", nCurrentSHPOffset); psHooks->Error(szErrorMsg); nRetCode = FALSE; break; } } if (nRetCode && nCurrentSHPOffset != nSHPFilesize) { psHooks->Error("Error parsing .shp to restore .shx. " "Not expected number of bytes"); nRetCode = FALSE; } nRealSHXContentSize /= 2; // Bytes counted -> WORDs #if !defined(SHP_BIG_ENDIAN) SHP_SWAP32(&nRealSHXContentSize); #endif psHooks->FSeek(fpSHX, 24, 0); psHooks->FWrite(&nRealSHXContentSize, 4, 1, fpSHX); psHooks->FClose(fpSHP); psHooks->FClose(fpSHX); free(pszFullname); free(pabySHXHeader); return nRetCode; } /************************************************************************/ /* SHPClose() */ /* */ /* Close the .shp and .shx files. */ /************************************************************************/ void SHPAPI_CALL SHPClose(SHPHandle psSHP) { if (psSHP == SHPLIB_NULLPTR) return; /* -------------------------------------------------------------------- */ /* Update the header if we have modified anything. */ /* -------------------------------------------------------------------- */ if (psSHP->bUpdated) SHPWriteHeader(psSHP); /* -------------------------------------------------------------------- */ /* Free all resources, and close files. */ /* -------------------------------------------------------------------- */ free(psSHP->panRecOffset); free(psSHP->panRecSize); if (psSHP->fpSHX != SHPLIB_NULLPTR) psSHP->sHooks.FClose(psSHP->fpSHX); psSHP->sHooks.FClose(psSHP->fpSHP); if (psSHP->pabyRec != SHPLIB_NULLPTR) { free(psSHP->pabyRec); } if (psSHP->pabyObjectBuf != SHPLIB_NULLPTR) { free(psSHP->pabyObjectBuf); } if (psSHP->psCachedObject != SHPLIB_NULLPTR) { free(psSHP->psCachedObject); } free(psSHP); } /************************************************************************/ /* SHPSetFastModeReadObject() */ /************************************************************************/ /* If setting bFastMode = TRUE, the content of SHPReadObject() is owned by the SHPHandle. */ /* So you cannot have 2 valid instances of SHPReadObject() simultaneously. */ /* The SHPObject padfZ and padfM members may be NULL depending on the geometry */ /* type. It is illegal to free at hand any of the pointer members of the SHPObject structure */ void SHPAPI_CALL SHPSetFastModeReadObject(SHPHandle hSHP, int bFastMode) { if (bFastMode) { if (hSHP->psCachedObject == SHPLIB_NULLPTR) { hSHP->psCachedObject = STATIC_CAST(SHPObject *, calloc(1, sizeof(SHPObject))); assert(hSHP->psCachedObject != SHPLIB_NULLPTR); } } hSHP->bFastModeReadObject = bFastMode; } /************************************************************************/ /* SHPGetInfo() */ /* */ /* Fetch general information about the shape file. */ /************************************************************************/ void SHPAPI_CALL SHPGetInfo(const SHPHandle psSHP, int *pnEntities, int *pnShapeType, double *padfMinBound, double *padfMaxBound) { if (psSHP == SHPLIB_NULLPTR) return; if (pnEntities != SHPLIB_NULLPTR) *pnEntities = psSHP->nRecords; if (pnShapeType != SHPLIB_NULLPTR) *pnShapeType = psSHP->nShapeType; for (int i = 0; i < 4; i++) { if (padfMinBound != SHPLIB_NULLPTR) padfMinBound[i] = psSHP->adBoundsMin[i]; if (padfMaxBound != SHPLIB_NULLPTR) padfMaxBound[i] = psSHP->adBoundsMax[i]; } } /************************************************************************/ /* SHPCreate() */ /* */ /* Create a new shape file and return a handle to the open */ /* shape file with read/write access. */ /************************************************************************/ SHPHandle SHPAPI_CALL SHPCreate(const char *pszLayer, int nShapeType) { SAHooks sHooks; SASetupDefaultHooks(&sHooks); return SHPCreateLL(pszLayer, nShapeType, &sHooks); } /************************************************************************/ /* SHPCreate() */ /* */ /* Create a new shape file and return a handle to the open */ /* shape file with read/write access. */ /************************************************************************/ SHPHandle SHPAPI_CALL SHPCreateLL(const char *pszLayer, int nShapeType, const SAHooks *psHooks) { /* -------------------------------------------------------------------- */ /* Open the two files so we can write their headers. */ /* -------------------------------------------------------------------- */ const int nLenWithoutExtension = SHPGetLenWithoutExtension(pszLayer); char *pszFullname = STATIC_CAST(char *, malloc(nLenWithoutExtension + 5)); memcpy(pszFullname, pszLayer, nLenWithoutExtension); memcpy(pszFullname + nLenWithoutExtension, ".shp", 5); SAFile fpSHP = psHooks->FOpen(pszFullname, "w+b", psHooks->pvUserData); if (fpSHP == SHPLIB_NULLPTR) { char szErrorMsg[200]; snprintf(szErrorMsg, sizeof(szErrorMsg), "Failed to create file %s: %s", pszFullname, strerror(errno)); psHooks->Error(szErrorMsg); free(pszFullname); return SHPLIB_NULLPTR; } memcpy(pszFullname + nLenWithoutExtension, ".shx", 5); SAFile fpSHX = psHooks->FOpen(pszFullname, "w+b", psHooks->pvUserData); if (fpSHX == SHPLIB_NULLPTR) { char szErrorMsg[200]; snprintf(szErrorMsg, sizeof(szErrorMsg), "Failed to create file %s: %s", pszFullname, strerror(errno)); psHooks->Error(szErrorMsg); free(pszFullname); psHooks->FClose(fpSHP); return SHPLIB_NULLPTR; } free(pszFullname); pszFullname = SHPLIB_NULLPTR; /* -------------------------------------------------------------------- */ /* Prepare header block for .shp file. */ /* -------------------------------------------------------------------- */ unsigned char abyHeader[100]; memset(abyHeader, 0, sizeof(abyHeader)); abyHeader[2] = 0x27; /* magic cookie */ abyHeader[3] = 0x0a; uint32_t i32 = 50; /* file size */ ByteCopy(&i32, abyHeader + 24, 4); #if !defined(SHP_BIG_ENDIAN) SHP_SWAP32(abyHeader + 24); #endif i32 = 1000; /* version */ ByteCopy(&i32, abyHeader + 28, 4); #if defined(SHP_BIG_ENDIAN) SHP_SWAP32(abyHeader + 28); #endif i32 = nShapeType; /* shape type */ ByteCopy(&i32, abyHeader + 32, 4); #if defined(SHP_BIG_ENDIAN) SHP_SWAP32(abyHeader + 32); #endif double dValue = 0.0; /* set bounds */ ByteCopy(&dValue, abyHeader + 36, 8); ByteCopy(&dValue, abyHeader + 44, 8); ByteCopy(&dValue, abyHeader + 52, 8); ByteCopy(&dValue, abyHeader + 60, 8); /* -------------------------------------------------------------------- */ /* Write .shp file header. */ /* -------------------------------------------------------------------- */ if (psHooks->FWrite(abyHeader, 100, 1, fpSHP) != 1) { char szErrorMsg[200]; snprintf(szErrorMsg, sizeof(szErrorMsg), "Failed to write .shp header: %s", strerror(errno)); szErrorMsg[sizeof(szErrorMsg) - 1] = '\0'; psHooks->Error(szErrorMsg); free(pszFullname); psHooks->FClose(fpSHP); psHooks->FClose(fpSHX); return SHPLIB_NULLPTR; } /* -------------------------------------------------------------------- */ /* Prepare, and write .shx file header. */ /* -------------------------------------------------------------------- */ i32 = 50; /* file size */ ByteCopy(&i32, abyHeader + 24, 4); #if !defined(SHP_BIG_ENDIAN) SHP_SWAP32(abyHeader + 24); #endif if (psHooks->FWrite(abyHeader, 100, 1, fpSHX) != 1) { char szErrorMsg[200]; snprintf(szErrorMsg, sizeof(szErrorMsg), "Failure writing .shx header: %s", strerror(errno)); szErrorMsg[sizeof(szErrorMsg) - 1] = '\0'; psHooks->Error(szErrorMsg); free(pszFullname); psHooks->FClose(fpSHP); psHooks->FClose(fpSHX); return SHPLIB_NULLPTR; } SHPHandle psSHP = STATIC_CAST(SHPHandle, calloc(1, sizeof(SHPInfo))); psSHP->bUpdated = FALSE; memcpy(&(psSHP->sHooks), psHooks, sizeof(SAHooks)); psSHP->fpSHP = fpSHP; psSHP->fpSHX = fpSHX; psSHP->nShapeType = nShapeType; psSHP->nFileSize = 100; psSHP->panRecOffset = STATIC_CAST(unsigned int *, malloc(sizeof(unsigned int))); psSHP->panRecSize = STATIC_CAST(unsigned int *, malloc(sizeof(unsigned int))); if (psSHP->panRecOffset == SHPLIB_NULLPTR || psSHP->panRecSize == SHPLIB_NULLPTR) { psSHP->sHooks.Error("Not enough memory to allocate requested memory"); psSHP->sHooks.FClose(psSHP->fpSHP); psSHP->sHooks.FClose(psSHP->fpSHX); if (psSHP->panRecOffset) free(psSHP->panRecOffset); if (psSHP->panRecSize) free(psSHP->panRecSize); free(psSHP); return SHPLIB_NULLPTR; } return psSHP; } /************************************************************************/ /* _SHPSetBounds() */ /* */ /* Compute a bounds rectangle for a shape, and set it into the */ /* indicated location in the record. */ /************************************************************************/ static void _SHPSetBounds(unsigned char *pabyRec, const SHPObject *psShape) { ByteCopy(&(psShape->dfXMin), pabyRec + 0, 8); ByteCopy(&(psShape->dfYMin), pabyRec + 8, 8); ByteCopy(&(psShape->dfXMax), pabyRec + 16, 8); ByteCopy(&(psShape->dfYMax), pabyRec + 24, 8); #if defined(SHP_BIG_ENDIAN) SHP_SWAP64(pabyRec + 0); SHP_SWAP64(pabyRec + 8); SHP_SWAP64(pabyRec + 16); SHP_SWAP64(pabyRec + 24); #endif } /************************************************************************/ /* SHPComputeExtents() */ /* */ /* Recompute the extents of a shape. Automatically done by */ /* SHPCreateObject(). */ /************************************************************************/ void SHPAPI_CALL SHPComputeExtents(SHPObject *psObject) { /* -------------------------------------------------------------------- */ /* Build extents for this object. */ /* -------------------------------------------------------------------- */ if (psObject->nVertices > 0) { psObject->dfXMin = psObject->dfXMax = psObject->padfX[0]; psObject->dfYMin = psObject->dfYMax = psObject->padfY[0]; psObject->dfZMin = psObject->dfZMax = psObject->padfZ[0]; psObject->dfMMin = psObject->dfMMax = psObject->padfM[0]; } for (int i = 0; i < psObject->nVertices; i++) { psObject->dfXMin = MIN(psObject->dfXMin, psObject->padfX[i]); psObject->dfYMin = MIN(psObject->dfYMin, psObject->padfY[i]); psObject->dfZMin = MIN(psObject->dfZMin, psObject->padfZ[i]); psObject->dfMMin = MIN(psObject->dfMMin, psObject->padfM[i]); psObject->dfXMax = MAX(psObject->dfXMax, psObject->padfX[i]); psObject->dfYMax = MAX(psObject->dfYMax, psObject->padfY[i]); psObject->dfZMax = MAX(psObject->dfZMax, psObject->padfZ[i]); psObject->dfMMax = MAX(psObject->dfMMax, psObject->padfM[i]); } } /************************************************************************/ /* SHPCreateObject() */ /* */ /* Create a shape object. It should be freed with */ /* SHPDestroyObject(). */ /************************************************************************/ SHPObject SHPAPI_CALL1(*) SHPCreateObject(int nSHPType, int nShapeId, int nParts, const int *panPartStart, const int *panPartType, int nVertices, const double *padfX, const double *padfY, const double *padfZ, const double *padfM) { SHPObject *psObject = STATIC_CAST(SHPObject *, calloc(1, sizeof(SHPObject))); psObject->nSHPType = nSHPType; psObject->nShapeId = nShapeId; psObject->bMeasureIsUsed = FALSE; /* -------------------------------------------------------------------- */ /* Establish whether this shape type has M, and Z values. */ /* -------------------------------------------------------------------- */ bool bHasM; bool bHasZ; if (nSHPType == SHPT_ARCM || nSHPType == SHPT_POINTM || nSHPType == SHPT_POLYGONM || nSHPType == SHPT_MULTIPOINTM) { bHasM = true; bHasZ = false; } else if (nSHPType == SHPT_ARCZ || nSHPType == SHPT_POINTZ || nSHPType == SHPT_POLYGONZ || nSHPType == SHPT_MULTIPOINTZ || nSHPType == SHPT_MULTIPATCH) { bHasM = true; bHasZ = true; } else { bHasM = false; bHasZ = false; } /* -------------------------------------------------------------------- */ /* Capture parts. Note that part type is optional, and */ /* defaults to ring. */ /* -------------------------------------------------------------------- */ if (nSHPType == SHPT_ARC || nSHPType == SHPT_POLYGON || nSHPType == SHPT_ARCM || nSHPType == SHPT_POLYGONM || nSHPType == SHPT_ARCZ || nSHPType == SHPT_POLYGONZ || nSHPType == SHPT_MULTIPATCH) { psObject->nParts = MAX(1, nParts); psObject->panPartStart = STATIC_CAST(int *, calloc(psObject->nParts, sizeof(int))); psObject->panPartType = STATIC_CAST(int *, malloc(sizeof(int) * psObject->nParts)); psObject->panPartStart[0] = 0; psObject->panPartType[0] = SHPP_RING; for (int i = 0; i < nParts; i++) { if (panPartStart != SHPLIB_NULLPTR) psObject->panPartStart[i] = panPartStart[i]; if (panPartType != SHPLIB_NULLPTR) psObject->panPartType[i] = panPartType[i]; else psObject->panPartType[i] = SHPP_RING; } psObject->panPartStart[0] = 0; } /* -------------------------------------------------------------------- */ /* Capture vertices. Note that X, Y, Z and M are optional. */ /* -------------------------------------------------------------------- */ if (nVertices > 0) { const size_t nSize = sizeof(double) * nVertices; psObject->padfX = STATIC_CAST(double *, padfX ? malloc(nSize) : calloc(nVertices, sizeof(double))); psObject->padfY = STATIC_CAST(double *, padfY ? malloc(nSize) : calloc(nVertices, sizeof(double))); psObject->padfZ = STATIC_CAST( double *, padfZ &&bHasZ ? malloc(nSize) : calloc(nVertices, sizeof(double))); psObject->padfM = STATIC_CAST( double *, padfM &&bHasM ? malloc(nSize) : calloc(nVertices, sizeof(double))); if (padfX != SHPLIB_NULLPTR) memcpy(psObject->padfX, padfX, nSize); if (padfY != SHPLIB_NULLPTR) memcpy(psObject->padfY, padfY, nSize); if (padfZ != SHPLIB_NULLPTR && bHasZ) memcpy(psObject->padfZ, padfZ, nSize); if (padfM != SHPLIB_NULLPTR && bHasM) { memcpy(psObject->padfM, padfM, nSize); psObject->bMeasureIsUsed = TRUE; } } /* -------------------------------------------------------------------- */ /* Compute the extents. */ /* -------------------------------------------------------------------- */ psObject->nVertices = nVertices; SHPComputeExtents(psObject); return (psObject); } /************************************************************************/ /* SHPCreateSimpleObject() */ /* */ /* Create a simple (common) shape object. Destroy with */ /* SHPDestroyObject(). */ /************************************************************************/ SHPObject SHPAPI_CALL1(*) SHPCreateSimpleObject(int nSHPType, int nVertices, const double *padfX, const double *padfY, const double *padfZ) { return (SHPCreateObject(nSHPType, -1, 0, SHPLIB_NULLPTR, SHPLIB_NULLPTR, nVertices, padfX, padfY, padfZ, SHPLIB_NULLPTR)); } /************************************************************************/ /* SHPWriteObject() */ /* */ /* Write out the vertices of a new structure. Note that it is */ /* only possible to write vertices at the end of the file. */ /************************************************************************/ int SHPAPI_CALL SHPWriteObject(SHPHandle psSHP, int nShapeId, const SHPObject *psObject) { psSHP->bUpdated = TRUE; /* -------------------------------------------------------------------- */ /* Ensure that shape object matches the type of the file it is */ /* being written to. */ /* -------------------------------------------------------------------- */ assert(psObject->nSHPType == psSHP->nShapeType || psObject->nSHPType == SHPT_NULL); /* -------------------------------------------------------------------- */ /* Ensure that -1 is used for appends. Either blow an */ /* assertion, or if they are disabled, set the shapeid to -1 */ /* for appends. */ /* -------------------------------------------------------------------- */ assert(nShapeId == -1 || (nShapeId >= 0 && nShapeId < psSHP->nRecords)); if (nShapeId != -1 && nShapeId >= psSHP->nRecords) nShapeId = -1; /* -------------------------------------------------------------------- */ /* Add the new entity to the in memory index. */ /* -------------------------------------------------------------------- */ if (nShapeId == -1 && psSHP->nRecords + 1 > psSHP->nMaxRecords) { /* This cannot overflow given that we check that the file size does * not grow over 4 GB, and the minimum size of a record is 12 bytes, * hence the maximm value for nMaxRecords is 357,913,941 */ int nNewMaxRecords = psSHP->nMaxRecords + psSHP->nMaxRecords / 3 + 100; unsigned int *panRecOffsetNew; unsigned int *panRecSizeNew; panRecOffsetNew = STATIC_CAST( unsigned int *, realloc(psSHP->panRecOffset, sizeof(unsigned int) * nNewMaxRecords)); if (panRecOffsetNew == SHPLIB_NULLPTR) { psSHP->sHooks.Error("Failed to write shape object. " "Memory allocation error."); return -1; } psSHP->panRecOffset = panRecOffsetNew; panRecSizeNew = STATIC_CAST( unsigned int *, realloc(psSHP->panRecSize, sizeof(unsigned int) * nNewMaxRecords)); if (panRecSizeNew == SHPLIB_NULLPTR) { psSHP->sHooks.Error("Failed to write shape object. " "Memory allocation error."); return -1; } psSHP->panRecSize = panRecSizeNew; psSHP->nMaxRecords = nNewMaxRecords; } /* -------------------------------------------------------------------- */ /* Initialize record. */ /* -------------------------------------------------------------------- */ /* The following computation cannot overflow on 32-bit platforms given that * the user had to allocate arrays of at least that size. */ size_t nRecMaxSize = psObject->nVertices * 4 * sizeof(double) + psObject->nParts * 8; /* But the following test could trigger on 64-bit platforms on huge * geometries. */ const unsigned nExtraSpaceForGeomHeader = 128; if (nRecMaxSize > UINT_MAX - nExtraSpaceForGeomHeader) { psSHP->sHooks.Error("Failed to write shape object. Too big geometry."); return -1; } nRecMaxSize += nExtraSpaceForGeomHeader; unsigned char *pabyRec = STATIC_CAST(unsigned char *, malloc(nRecMaxSize)); if (pabyRec == SHPLIB_NULLPTR) { psSHP->sHooks.Error("Failed to write shape object. " "Memory allocation error."); return -1; } /* -------------------------------------------------------------------- */ /* Extract vertices for a Polygon or Arc. */ /* -------------------------------------------------------------------- */ unsigned int nRecordSize = 0; const bool bFirstFeature = psSHP->nRecords == 0; if (psObject->nSHPType == SHPT_POLYGON || psObject->nSHPType == SHPT_POLYGONZ || psObject->nSHPType == SHPT_POLYGONM || psObject->nSHPType == SHPT_ARC || psObject->nSHPType == SHPT_ARCZ || psObject->nSHPType == SHPT_ARCM || psObject->nSHPType == SHPT_MULTIPATCH) { uint32_t nPoints = psObject->nVertices; uint32_t nParts = psObject->nParts; _SHPSetBounds(pabyRec + 12, psObject); #if defined(SHP_BIG_ENDIAN) SHP_SWAP32(&nPoints); SHP_SWAP32(&nParts); #endif ByteCopy(&nPoints, pabyRec + 40 + 8, 4); ByteCopy(&nParts, pabyRec + 36 + 8, 4); nRecordSize = 52; /* * Write part start positions. */ ByteCopy(psObject->panPartStart, pabyRec + 44 + 8, 4 * psObject->nParts); for (int i = 0; i < psObject->nParts; i++) { #if defined(SHP_BIG_ENDIAN) SHP_SWAP32(pabyRec + 44 + 8 + 4 * i); #endif nRecordSize += 4; } /* * Write multipatch part types if needed. */ if (psObject->nSHPType == SHPT_MULTIPATCH) { memcpy(pabyRec + nRecordSize, psObject->panPartType, 4 * psObject->nParts); for (int i = 0; i < psObject->nParts; i++) { #if defined(SHP_BIG_ENDIAN) SHP_SWAP32(pabyRec + nRecordSize); #endif nRecordSize += 4; } } /* * Write the (x,y) vertex values. */ for (int i = 0; i < psObject->nVertices; i++) { ByteCopy(psObject->padfX + i, pabyRec + nRecordSize, 8); ByteCopy(psObject->padfY + i, pabyRec + nRecordSize + 8, 8); #if defined(SHP_BIG_ENDIAN) SHP_SWAP64(pabyRec + nRecordSize); SHP_SWAP64(pabyRec + nRecordSize + 8); #endif nRecordSize += 2 * 8; } /* * Write the Z coordinates (if any). */ if (psObject->nSHPType == SHPT_POLYGONZ || psObject->nSHPType == SHPT_ARCZ || psObject->nSHPType == SHPT_MULTIPATCH) { ByteCopy(&(psObject->dfZMin), pabyRec + nRecordSize, 8); #if defined(SHP_BIG_ENDIAN) SHP_SWAP64(pabyRec + nRecordSize); #endif nRecordSize += 8; ByteCopy(&(psObject->dfZMax), pabyRec + nRecordSize, 8); #if defined(SHP_BIG_ENDIAN) SHP_SWAP64(pabyRec + nRecordSize); #endif nRecordSize += 8; for (int i = 0; i < psObject->nVertices; i++) { ByteCopy(psObject->padfZ + i, pabyRec + nRecordSize, 8); #if defined(SHP_BIG_ENDIAN) SHP_SWAP64(pabyRec + nRecordSize); #endif nRecordSize += 8; } } /* * Write the M values, if any. */ if (psObject->bMeasureIsUsed && (psObject->nSHPType == SHPT_POLYGONM || psObject->nSHPType == SHPT_ARCM #ifndef DISABLE_MULTIPATCH_MEASURE || psObject->nSHPType == SHPT_MULTIPATCH #endif || psObject->nSHPType == SHPT_POLYGONZ || psObject->nSHPType == SHPT_ARCZ)) { ByteCopy(&(psObject->dfMMin), pabyRec + nRecordSize, 8); #if defined(SHP_BIG_ENDIAN) SHP_SWAP64(pabyRec + nRecordSize); #endif nRecordSize += 8; ByteCopy(&(psObject->dfMMax), pabyRec + nRecordSize, 8); #if defined(SHP_BIG_ENDIAN) SHP_SWAP64(pabyRec + nRecordSize); #endif nRecordSize += 8; for (int i = 0; i < psObject->nVertices; i++) { ByteCopy(psObject->padfM + i, pabyRec + nRecordSize, 8); #if defined(SHP_BIG_ENDIAN) SHP_SWAP64(pabyRec + nRecordSize); #endif nRecordSize += 8; } } } /* -------------------------------------------------------------------- */ /* Extract vertices for a MultiPoint. */ /* -------------------------------------------------------------------- */ else if (psObject->nSHPType == SHPT_MULTIPOINT || psObject->nSHPType == SHPT_MULTIPOINTZ || psObject->nSHPType == SHPT_MULTIPOINTM) { uint32_t nPoints = psObject->nVertices; _SHPSetBounds(pabyRec + 12, psObject); #if defined(SHP_BIG_ENDIAN) SHP_SWAP32(&nPoints); #endif ByteCopy(&nPoints, pabyRec + 44, 4); for (int i = 0; i < psObject->nVertices; i++) { ByteCopy(psObject->padfX + i, pabyRec + 48 + i * 16, 8); ByteCopy(psObject->padfY + i, pabyRec + 48 + i * 16 + 8, 8); #if defined(SHP_BIG_ENDIAN) SHP_SWAP64(pabyRec + 48 + i * 16); SHP_SWAP64(pabyRec + 48 + i * 16 + 8); #endif } nRecordSize = 48 + 16 * psObject->nVertices; if (psObject->nSHPType == SHPT_MULTIPOINTZ) { ByteCopy(&(psObject->dfZMin), pabyRec + nRecordSize, 8); #if defined(SHP_BIG_ENDIAN) SHP_SWAP64(pabyRec + nRecordSize); #endif nRecordSize += 8; ByteCopy(&(psObject->dfZMax), pabyRec + nRecordSize, 8); #if defined(SHP_BIG_ENDIAN) SHP_SWAP64(pabyRec + nRecordSize); #endif nRecordSize += 8; for (int i = 0; i < psObject->nVertices; i++) { ByteCopy(psObject->padfZ + i, pabyRec + nRecordSize, 8); #if defined(SHP_BIG_ENDIAN) SHP_SWAP64(pabyRec + nRecordSize); #endif nRecordSize += 8; } } if (psObject->bMeasureIsUsed && (psObject->nSHPType == SHPT_MULTIPOINTZ || psObject->nSHPType == SHPT_MULTIPOINTM)) { ByteCopy(&(psObject->dfMMin), pabyRec + nRecordSize, 8); #if defined(SHP_BIG_ENDIAN) SHP_SWAP64(pabyRec + nRecordSize); #endif nRecordSize += 8; ByteCopy(&(psObject->dfMMax), pabyRec + nRecordSize, 8); #if defined(SHP_BIG_ENDIAN) SHP_SWAP64(pabyRec + nRecordSize); #endif nRecordSize += 8; for (int i = 0; i < psObject->nVertices; i++) { ByteCopy(psObject->padfM + i, pabyRec + nRecordSize, 8); #if defined(SHP_BIG_ENDIAN) SHP_SWAP64(pabyRec + nRecordSize); #endif nRecordSize += 8; } } } /* -------------------------------------------------------------------- */ /* Write point. */ /* -------------------------------------------------------------------- */ else if (psObject->nSHPType == SHPT_POINT || psObject->nSHPType == SHPT_POINTZ || psObject->nSHPType == SHPT_POINTM) { ByteCopy(psObject->padfX, pabyRec + 12, 8); ByteCopy(psObject->padfY, pabyRec + 20, 8); #if defined(SHP_BIG_ENDIAN) SHP_SWAP64(pabyRec + 12); SHP_SWAP64(pabyRec + 20); #endif nRecordSize = 28; if (psObject->nSHPType == SHPT_POINTZ) { ByteCopy(psObject->padfZ, pabyRec + nRecordSize, 8); #if defined(SHP_BIG_ENDIAN) SHP_SWAP64(pabyRec + nRecordSize); #endif nRecordSize += 8; } if (psObject->bMeasureIsUsed && (psObject->nSHPType == SHPT_POINTZ || psObject->nSHPType == SHPT_POINTM)) { ByteCopy(psObject->padfM, pabyRec + nRecordSize, 8); #if defined(SHP_BIG_ENDIAN) SHP_SWAP64(pabyRec + nRecordSize); #endif nRecordSize += 8; } } /* -------------------------------------------------------------------- */ /* Not much to do for null geometries. */ /* -------------------------------------------------------------------- */ else if (psObject->nSHPType == SHPT_NULL) { nRecordSize = 12; } else { /* unknown type */ assert(false); } /* -------------------------------------------------------------------- */ /* Establish where we are going to put this record. If we are */ /* rewriting the last record of the file, then we can update it in */ /* place. Otherwise if rewriting an existing record, and it will */ /* fit, then put it back where the original came from. Otherwise */ /* write at the end. */ /* -------------------------------------------------------------------- */ SAOffset nRecordOffset; bool bAppendToLastRecord = false; bool bAppendToFile = false; if (nShapeId != -1 && psSHP->panRecOffset[nShapeId] + psSHP->panRecSize[nShapeId] + 8 == psSHP->nFileSize) { nRecordOffset = psSHP->panRecOffset[nShapeId]; bAppendToLastRecord = true; } else if (nShapeId == -1 || psSHP->panRecSize[nShapeId] < nRecordSize - 8) { if (psSHP->nFileSize > UINT_MAX - nRecordSize) { char str[255]; snprintf(str, sizeof(str), "Failed to write shape object. " "The maximum file size of %u has been reached. " "The current record of size %u cannot be added.", psSHP->nFileSize, nRecordSize); str[sizeof(str) - 1] = '\0'; psSHP->sHooks.Error(str); free(pabyRec); return -1; } bAppendToFile = true; nRecordOffset = psSHP->nFileSize; } else { nRecordOffset = psSHP->panRecOffset[nShapeId]; } /* -------------------------------------------------------------------- */ /* Set the shape type, record number, and record size. */ /* -------------------------------------------------------------------- */ uint32_t i32 = (nShapeId < 0) ? psSHP->nRecords + 1 : nShapeId + 1; /* record # */ #if !defined(SHP_BIG_ENDIAN) SHP_SWAP32(&i32); #endif ByteCopy(&i32, pabyRec, 4); i32 = (nRecordSize - 8) / 2; /* record size */ #if !defined(SHP_BIG_ENDIAN) SHP_SWAP32(&i32); #endif ByteCopy(&i32, pabyRec + 4, 4); i32 = psObject->nSHPType; /* shape type */ #if defined(SHP_BIG_ENDIAN) SHP_SWAP32(&i32); #endif ByteCopy(&i32, pabyRec + 8, 4); /* -------------------------------------------------------------------- */ /* Write out record. */ /* -------------------------------------------------------------------- */ /* -------------------------------------------------------------------- */ /* Guard FSeek with check for whether we're already at position; */ /* no-op FSeeks defeat network filesystems' write buffering. */ /* -------------------------------------------------------------------- */ if (psSHP->sHooks.FTell(psSHP->fpSHP) != nRecordOffset) { if (psSHP->sHooks.FSeek(psSHP->fpSHP, nRecordOffset, 0) != 0) { char szErrorMsg[200]; snprintf(szErrorMsg, sizeof(szErrorMsg), "Error in psSHP->sHooks.FSeek() while writing object to " ".shp file: %s", strerror(errno)); szErrorMsg[sizeof(szErrorMsg) - 1] = '\0'; psSHP->sHooks.Error(szErrorMsg); free(pabyRec); return -1; } } if (psSHP->sHooks.FWrite(pabyRec, nRecordSize, 1, psSHP->fpSHP) < 1) { char szErrorMsg[200]; snprintf(szErrorMsg, sizeof(szErrorMsg), "Error in psSHP->sHooks.FWrite() while writing object of %u " "bytes to .shp file: %s", nRecordSize, strerror(errno)); szErrorMsg[sizeof(szErrorMsg) - 1] = '\0'; psSHP->sHooks.Error(szErrorMsg); free(pabyRec); return -1; } free(pabyRec); if (bAppendToLastRecord) { psSHP->nFileSize = psSHP->panRecOffset[nShapeId] + nRecordSize; } else if (bAppendToFile) { if (nShapeId == -1) nShapeId = psSHP->nRecords++; psSHP->panRecOffset[nShapeId] = psSHP->nFileSize; psSHP->nFileSize += nRecordSize; } psSHP->panRecSize[nShapeId] = nRecordSize - 8; /* -------------------------------------------------------------------- */ /* Expand file wide bounds based on this shape. */ /* -------------------------------------------------------------------- */ if (bFirstFeature) { if (psObject->nSHPType == SHPT_NULL || psObject->nVertices == 0) { psSHP->adBoundsMin[0] = psSHP->adBoundsMax[0] = 0.0; psSHP->adBoundsMin[1] = psSHP->adBoundsMax[1] = 0.0; psSHP->adBoundsMin[2] = psSHP->adBoundsMax[2] = 0.0; psSHP->adBoundsMin[3] = psSHP->adBoundsMax[3] = 0.0; } else { psSHP->adBoundsMin[0] = psSHP->adBoundsMax[0] = psObject->padfX[0]; psSHP->adBoundsMin[1] = psSHP->adBoundsMax[1] = psObject->padfY[0]; psSHP->adBoundsMin[2] = psSHP->adBoundsMax[2] = psObject->padfZ ? psObject->padfZ[0] : 0.0; psSHP->adBoundsMin[3] = psSHP->adBoundsMax[3] = psObject->padfM ? psObject->padfM[0] : 0.0; } } for (int i = 0; i < psObject->nVertices; i++) { psSHP->adBoundsMin[0] = MIN(psSHP->adBoundsMin[0], psObject->padfX[i]); psSHP->adBoundsMin[1] = MIN(psSHP->adBoundsMin[1], psObject->padfY[i]); psSHP->adBoundsMax[0] = MAX(psSHP->adBoundsMax[0], psObject->padfX[i]); psSHP->adBoundsMax[1] = MAX(psSHP->adBoundsMax[1], psObject->padfY[i]); if (psObject->padfZ) { psSHP->adBoundsMin[2] = MIN(psSHP->adBoundsMin[2], psObject->padfZ[i]); psSHP->adBoundsMax[2] = MAX(psSHP->adBoundsMax[2], psObject->padfZ[i]); } if (psObject->padfM) { psSHP->adBoundsMin[3] = MIN(psSHP->adBoundsMin[3], psObject->padfM[i]); psSHP->adBoundsMax[3] = MAX(psSHP->adBoundsMax[3], psObject->padfM[i]); } } return (nShapeId); } /************************************************************************/ /* SHPAllocBuffer() */ /************************************************************************/ static void *SHPAllocBuffer(unsigned char **pBuffer, int nSize) { if (pBuffer == SHPLIB_NULLPTR) return calloc(1, nSize); unsigned char *pRet = *pBuffer; if (pRet == SHPLIB_NULLPTR) return SHPLIB_NULLPTR; (*pBuffer) += nSize; return pRet; } /************************************************************************/ /* SHPReallocObjectBufIfNecessary() */ /************************************************************************/ static unsigned char *SHPReallocObjectBufIfNecessary(SHPHandle psSHP, int nObjectBufSize) { if (nObjectBufSize == 0) { nObjectBufSize = 4 * sizeof(double); } unsigned char *pBuffer; if (nObjectBufSize > psSHP->nObjectBufSize) { pBuffer = STATIC_CAST(unsigned char *, realloc(psSHP->pabyObjectBuf, nObjectBufSize)); if (pBuffer != SHPLIB_NULLPTR) { psSHP->pabyObjectBuf = pBuffer; psSHP->nObjectBufSize = nObjectBufSize; } } else { pBuffer = psSHP->pabyObjectBuf; } return pBuffer; } /************************************************************************/ /* SHPReadObject() */ /* */ /* Read the vertices, parts, and other non-attribute information */ /* for one shape. */ /************************************************************************/ SHPObject SHPAPI_CALL1(*) SHPReadObject(const SHPHandle psSHP, int hEntity) { /* -------------------------------------------------------------------- */ /* Validate the record/entity number. */ /* -------------------------------------------------------------------- */ if (hEntity < 0 || hEntity >= psSHP->nRecords) return SHPLIB_NULLPTR; /* -------------------------------------------------------------------- */ /* Read offset/length from SHX loading if necessary. */ /* -------------------------------------------------------------------- */ if (psSHP->panRecOffset[hEntity] == 0 && psSHP->fpSHX != SHPLIB_NULLPTR) { unsigned int nOffset; unsigned int nLength; if (psSHP->sHooks.FSeek(psSHP->fpSHX, 100 + 8 * hEntity, 0) != 0 || psSHP->sHooks.FRead(&nOffset, 1, 4, psSHP->fpSHX) != 4 || psSHP->sHooks.FRead(&nLength, 1, 4, psSHP->fpSHX) != 4) { char str[128]; snprintf(str, sizeof(str), "Error in fseek()/fread() reading object from .shx file " "at offset %d", 100 + 8 * hEntity); str[sizeof(str) - 1] = '\0'; psSHP->sHooks.Error(str); return SHPLIB_NULLPTR; } #if !defined(SHP_BIG_ENDIAN) SHP_SWAP32(&nOffset); SHP_SWAP32(&nLength); #endif if (nOffset > STATIC_CAST(unsigned int, INT_MAX)) { char str[128]; snprintf(str, sizeof(str), "Invalid offset for entity %d", hEntity); str[sizeof(str) - 1] = '\0'; psSHP->sHooks.Error(str); return SHPLIB_NULLPTR; } if (nLength > STATIC_CAST(unsigned int, INT_MAX / 2 - 4)) { char str[128]; snprintf(str, sizeof(str), "Invalid length for entity %d", hEntity); str[sizeof(str) - 1] = '\0'; psSHP->sHooks.Error(str); return SHPLIB_NULLPTR; } psSHP->panRecOffset[hEntity] = nOffset * 2; psSHP->panRecSize[hEntity] = nLength * 2; } /* -------------------------------------------------------------------- */ /* Ensure our record buffer is large enough. */ /* -------------------------------------------------------------------- */ const int nEntitySize = psSHP->panRecSize[hEntity] + 8; if (nEntitySize > psSHP->nBufSize) { int nNewBufSize = nEntitySize; if (nNewBufSize < INT_MAX - nNewBufSize / 3) nNewBufSize += nNewBufSize / 3; else nNewBufSize = INT_MAX; /* Before allocating too much memory, check that the file is big enough */ /* and do not trust the file size in the header the first time we */ /* need to allocate more than 10 MB */ if (nNewBufSize >= 10 * 1024 * 1024) { if (psSHP->nBufSize < 10 * 1024 * 1024) { SAOffset nFileSize; psSHP->sHooks.FSeek(psSHP->fpSHP, 0, 2); nFileSize = psSHP->sHooks.FTell(psSHP->fpSHP); if (nFileSize >= UINT_MAX) psSHP->nFileSize = UINT_MAX; else psSHP->nFileSize = STATIC_CAST(unsigned int, nFileSize); } if (psSHP->panRecOffset[hEntity] >= psSHP->nFileSize || /* We should normally use nEntitySize instead of*/ /* psSHP->panRecSize[hEntity] in the below test, but because of */ /* the case of non conformant .shx files detailed a bit below, */ /* let be more tolerant */ psSHP->panRecSize[hEntity] > psSHP->nFileSize - psSHP->panRecOffset[hEntity]) { char str[128]; snprintf(str, sizeof(str), "Error in fread() reading object of size %d at offset " "%u from .shp file", nEntitySize, psSHP->panRecOffset[hEntity]); str[sizeof(str) - 1] = '\0'; psSHP->sHooks.Error(str); return SHPLIB_NULLPTR; } } unsigned char *pabyRecNew = STATIC_CAST(unsigned char *, realloc(psSHP->pabyRec, nNewBufSize)); if (pabyRecNew == SHPLIB_NULLPTR) { char szErrorMsg[160]; snprintf(szErrorMsg, sizeof(szErrorMsg), "Not enough memory to allocate requested memory " "(nNewBufSize=%d). " "Probably broken SHP file", nNewBufSize); szErrorMsg[sizeof(szErrorMsg) - 1] = '\0'; psSHP->sHooks.Error(szErrorMsg); return SHPLIB_NULLPTR; } /* Only set new buffer size after successful alloc */ psSHP->pabyRec = pabyRecNew; psSHP->nBufSize = nNewBufSize; } /* In case we were not able to reallocate the buffer on a previous step */ if (psSHP->pabyRec == SHPLIB_NULLPTR) { return SHPLIB_NULLPTR; } /* -------------------------------------------------------------------- */ /* Read the record. */ /* -------------------------------------------------------------------- */ if (psSHP->sHooks.FSeek(psSHP->fpSHP, psSHP->panRecOffset[hEntity], 0) != 0) { /* * TODO - mloskot: Consider detailed diagnostics of shape file, * for example to detect if file is truncated. */ char str[128]; snprintf(str, sizeof(str), "Error in fseek() reading object from .shp file at offset %u", psSHP->panRecOffset[hEntity]); str[sizeof(str) - 1] = '\0'; psSHP->sHooks.Error(str); return SHPLIB_NULLPTR; } const int nBytesRead = STATIC_CAST( int, psSHP->sHooks.FRead(psSHP->pabyRec, 1, nEntitySize, psSHP->fpSHP)); /* Special case for a shapefile whose .shx content length field is not equal */ /* to the content length field of the .shp, which is a violation of "The */ /* content length stored in the index record is the same as the value stored in the main */ /* file record header." (http://www.esri.com/library/whitepapers/pdfs/shapefile.pdf, page 24) */ /* Actually in that case the .shx content length is equal to the .shp content length + */ /* 4 (16 bit words), representing the 8 bytes of the record header... */ if (nBytesRead >= 8 && nBytesRead == nEntitySize - 8) { /* Do a sanity check */ int nSHPContentLength; memcpy(&nSHPContentLength, psSHP->pabyRec + 4, 4); #if !defined(SHP_BIG_ENDIAN) SHP_SWAP32(&(nSHPContentLength)); #endif if (nSHPContentLength < 0 || nSHPContentLength > INT_MAX / 2 - 4 || 2 * nSHPContentLength + 8 != nBytesRead) { char str[128]; snprintf(str, sizeof(str), "Sanity check failed when trying to recover from " "inconsistent .shx/.shp with shape %d", hEntity); str[sizeof(str) - 1] = '\0'; psSHP->sHooks.Error(str); return SHPLIB_NULLPTR; } } else if (nBytesRead != nEntitySize) { /* * TODO - mloskot: Consider detailed diagnostics of shape file, * for example to detect if file is truncated. */ char str[128]; snprintf(str, sizeof(str), "Error in fread() reading object of size %d at offset %u from " ".shp file", nEntitySize, psSHP->panRecOffset[hEntity]); str[sizeof(str) - 1] = '\0'; psSHP->sHooks.Error(str); return SHPLIB_NULLPTR; } if (8 + 4 > nEntitySize) { char szErrorMsg[160]; snprintf(szErrorMsg, sizeof(szErrorMsg), "Corrupted .shp file : shape %d : nEntitySize = %d", hEntity, nEntitySize); szErrorMsg[sizeof(szErrorMsg) - 1] = '\0'; psSHP->sHooks.Error(szErrorMsg); return SHPLIB_NULLPTR; } int nSHPType; memcpy(&nSHPType, psSHP->pabyRec + 8, 4); #if defined(SHP_BIG_ENDIAN) SHP_SWAP32(&(nSHPType)); #endif /* -------------------------------------------------------------------- */ /* Allocate and minimally initialize the object. */ /* -------------------------------------------------------------------- */ SHPObject *psShape; if (psSHP->bFastModeReadObject) { if (psSHP->psCachedObject->bFastModeReadObject) { psSHP->sHooks.Error("Invalid read pattern in fast read mode. " "SHPDestroyObject() should be called."); return SHPLIB_NULLPTR; } psShape = psSHP->psCachedObject; memset(psShape, 0, sizeof(SHPObject)); } else { psShape = STATIC_CAST(SHPObject *, calloc(1, sizeof(SHPObject))); } psShape->nShapeId = hEntity; psShape->nSHPType = nSHPType; psShape->bMeasureIsUsed = FALSE; psShape->bFastModeReadObject = psSHP->bFastModeReadObject; /* ==================================================================== */ /* Extract vertices for a Polygon or Arc. */ /* ==================================================================== */ if (psShape->nSHPType == SHPT_POLYGON || psShape->nSHPType == SHPT_ARC || psShape->nSHPType == SHPT_POLYGONZ || psShape->nSHPType == SHPT_POLYGONM || psShape->nSHPType == SHPT_ARCZ || psShape->nSHPType == SHPT_ARCM || psShape->nSHPType == SHPT_MULTIPATCH) { if (40 + 8 + 4 > nEntitySize) { char szErrorMsg[160]; snprintf(szErrorMsg, sizeof(szErrorMsg), "Corrupted .shp file : shape %d : nEntitySize = %d", hEntity, nEntitySize); szErrorMsg[sizeof(szErrorMsg) - 1] = '\0'; psSHP->sHooks.Error(szErrorMsg); SHPDestroyObject(psShape); return SHPLIB_NULLPTR; } /* -------------------------------------------------------------------- */ /* Get the X/Y bounds. */ /* -------------------------------------------------------------------- */ #if defined(SHP_BIG_ENDIAN) SHP_SWAPDOUBLE_CPY(&psShape->dfXMin, psSHP->pabyRec + 8 + 4); SHP_SWAPDOUBLE_CPY(&psShape->dfYMin, psSHP->pabyRec + 8 + 12); SHP_SWAPDOUBLE_CPY(&psShape->dfXMax, psSHP->pabyRec + 8 + 20); SHP_SWAPDOUBLE_CPY(&psShape->dfYMax, psSHP->pabyRec + 8 + 28); #else memcpy(&psShape->dfXMin, psSHP->pabyRec + 8 + 4, 8); memcpy(&psShape->dfYMin, psSHP->pabyRec + 8 + 12, 8); memcpy(&psShape->dfXMax, psSHP->pabyRec + 8 + 20, 8); memcpy(&psShape->dfYMax, psSHP->pabyRec + 8 + 28, 8); #endif /* -------------------------------------------------------------------- */ /* Extract part/point count, and build vertex and part arrays */ /* to proper size. */ /* -------------------------------------------------------------------- */ uint32_t nPoints; memcpy(&nPoints, psSHP->pabyRec + 40 + 8, 4); uint32_t nParts; memcpy(&nParts, psSHP->pabyRec + 36 + 8, 4); #if defined(SHP_BIG_ENDIAN) SHP_SWAP32(&nPoints); SHP_SWAP32(&nParts); #endif /* nPoints and nParts are unsigned */ if (/* nPoints < 0 || nParts < 0 || */ nPoints > 50 * 1000 * 1000 || nParts > 10 * 1000 * 1000) { char szErrorMsg[160]; snprintf(szErrorMsg, sizeof(szErrorMsg), "Corrupted .shp file : shape %d, nPoints=%u, nParts=%u.", hEntity, nPoints, nParts); szErrorMsg[sizeof(szErrorMsg) - 1] = '\0'; psSHP->sHooks.Error(szErrorMsg); SHPDestroyObject(psShape); return SHPLIB_NULLPTR; } /* With the previous checks on nPoints and nParts, */ /* we should not overflow here and after */ /* since 50 M * (16 + 8 + 8) = 1 600 MB */ int nRequiredSize = 44 + 8 + 4 * nParts + 16 * nPoints; if (psShape->nSHPType == SHPT_POLYGONZ || psShape->nSHPType == SHPT_ARCZ || psShape->nSHPType == SHPT_MULTIPATCH) { nRequiredSize += 16 + 8 * nPoints; } if (psShape->nSHPType == SHPT_MULTIPATCH) { nRequiredSize += 4 * nParts; } if (nRequiredSize > nEntitySize) { char szErrorMsg[160]; snprintf(szErrorMsg, sizeof(szErrorMsg), "Corrupted .shp file : shape %d, nPoints=%u, nParts=%u, " "nEntitySize=%d.", hEntity, nPoints, nParts, nEntitySize); szErrorMsg[sizeof(szErrorMsg) - 1] = '\0'; psSHP->sHooks.Error(szErrorMsg); SHPDestroyObject(psShape); return SHPLIB_NULLPTR; } unsigned char *pBuffer = SHPLIB_NULLPTR; unsigned char **ppBuffer = SHPLIB_NULLPTR; if (psShape->bFastModeReadObject) { const int nObjectBufSize = 4 * sizeof(double) * nPoints + 2 * sizeof(int) * nParts; pBuffer = SHPReallocObjectBufIfNecessary(psSHP, nObjectBufSize); ppBuffer = &pBuffer; } psShape->nVertices = nPoints; psShape->padfX = STATIC_CAST( double *, SHPAllocBuffer(ppBuffer, sizeof(double) * nPoints)); psShape->padfY = STATIC_CAST( double *, SHPAllocBuffer(ppBuffer, sizeof(double) * nPoints)); psShape->padfZ = STATIC_CAST( double *, SHPAllocBuffer(ppBuffer, sizeof(double) * nPoints)); psShape->padfM = STATIC_CAST( double *, SHPAllocBuffer(ppBuffer, sizeof(double) * nPoints)); psShape->nParts = nParts; psShape->panPartStart = STATIC_CAST(int *, SHPAllocBuffer(ppBuffer, nParts * sizeof(int))); psShape->panPartType = STATIC_CAST(int *, SHPAllocBuffer(ppBuffer, nParts * sizeof(int))); if (psShape->padfX == SHPLIB_NULLPTR || psShape->padfY == SHPLIB_NULLPTR || psShape->padfZ == SHPLIB_NULLPTR || psShape->padfM == SHPLIB_NULLPTR || psShape->panPartStart == SHPLIB_NULLPTR || psShape->panPartType == SHPLIB_NULLPTR) { char szErrorMsg[160]; snprintf(szErrorMsg, sizeof(szErrorMsg), "Not enough memory to allocate requested memory " "(nPoints=%u, nParts=%u) for shape %d. " "Probably broken SHP file", nPoints, nParts, hEntity); szErrorMsg[sizeof(szErrorMsg) - 1] = '\0'; psSHP->sHooks.Error(szErrorMsg); SHPDestroyObject(psShape); return SHPLIB_NULLPTR; } for (int i = 0; STATIC_CAST(uint32_t, i) < nParts; i++) psShape->panPartType[i] = SHPP_RING; /* -------------------------------------------------------------------- */ /* Copy out the part array from the record. */ /* -------------------------------------------------------------------- */ memcpy(psShape->panPartStart, psSHP->pabyRec + 44 + 8, 4 * nParts); for (int i = 0; STATIC_CAST(uint32_t, i) < nParts; i++) { #if defined(SHP_BIG_ENDIAN) SHP_SWAP32(psShape->panPartStart + i); #endif /* We check that the offset is inside the vertex array */ if (psShape->panPartStart[i] < 0 || (psShape->panPartStart[i] >= psShape->nVertices && psShape->nVertices > 0) || (psShape->panPartStart[i] > 0 && psShape->nVertices == 0)) { char szErrorMsg[160]; snprintf(szErrorMsg, sizeof(szErrorMsg), "Corrupted .shp file : shape %d : panPartStart[%d] = " "%d, nVertices = %d", hEntity, i, psShape->panPartStart[i], psShape->nVertices); szErrorMsg[sizeof(szErrorMsg) - 1] = '\0'; psSHP->sHooks.Error(szErrorMsg); SHPDestroyObject(psShape); return SHPLIB_NULLPTR; } if (i > 0 && psShape->panPartStart[i] <= psShape->panPartStart[i - 1]) { char szErrorMsg[160]; snprintf(szErrorMsg, sizeof(szErrorMsg), "Corrupted .shp file : shape %d : panPartStart[%d] = " "%d, panPartStart[%d] = %d", hEntity, i, psShape->panPartStart[i], i - 1, psShape->panPartStart[i - 1]); szErrorMsg[sizeof(szErrorMsg) - 1] = '\0'; psSHP->sHooks.Error(szErrorMsg); SHPDestroyObject(psShape); return SHPLIB_NULLPTR; } } int nOffset = 44 + 8 + 4 * nParts; /* -------------------------------------------------------------------- */ /* If this is a multipatch, we will also have parts types. */ /* -------------------------------------------------------------------- */ if (psShape->nSHPType == SHPT_MULTIPATCH) { memcpy(psShape->panPartType, psSHP->pabyRec + nOffset, 4 * nParts); for (int i = 0; STATIC_CAST(uint32_t, i) < nParts; i++) { #if defined(SHP_BIG_ENDIAN) SHP_SWAP32(psShape->panPartType + i); #endif } nOffset += 4 * nParts; } /* -------------------------------------------------------------------- */ /* Copy out the vertices from the record. */ /* -------------------------------------------------------------------- */ for (int i = 0; STATIC_CAST(uint32_t, i) < nPoints; i++) { #if defined(SHP_BIG_ENDIAN) SHP_SWAPDOUBLE_CPY(psShape->padfX + i, psSHP->pabyRec + nOffset + i * 16); SHP_SWAPDOUBLE_CPY(psShape->padfY + i, psSHP->pabyRec + nOffset + i * 16 + 8); #else memcpy(psShape->padfX + i, psSHP->pabyRec + nOffset + i * 16, 8); memcpy(psShape->padfY + i, psSHP->pabyRec + nOffset + i * 16 + 8, 8); #endif } nOffset += 16 * nPoints; /* -------------------------------------------------------------------- */ /* If we have a Z coordinate, collect that now. */ /* -------------------------------------------------------------------- */ if (psShape->nSHPType == SHPT_POLYGONZ || psShape->nSHPType == SHPT_ARCZ || psShape->nSHPType == SHPT_MULTIPATCH) { #if defined(SHP_BIG_ENDIAN) SHP_SWAPDOUBLE_CPY(&psShape->dfZMin, psSHP->pabyRec + nOffset); SHP_SWAPDOUBLE_CPY(&psShape->dfZMax, psSHP->pabyRec + nOffset + 8); #else memcpy(&psShape->dfZMin, psSHP->pabyRec + nOffset, 8); memcpy(&psShape->dfZMax, psSHP->pabyRec + nOffset + 8, 8); #endif for (int i = 0; STATIC_CAST(uint32_t, i) < nPoints; i++) { #if defined(SHP_BIG_ENDIAN) SHP_SWAPDOUBLE_CPY(psShape->padfZ + i, psSHP->pabyRec + nOffset + 16 + i * 8); #else memcpy(psShape->padfZ + i, psSHP->pabyRec + nOffset + 16 + i * 8, 8); #endif } nOffset += 16 + 8 * nPoints; } else if (psShape->bFastModeReadObject) { psShape->padfZ = SHPLIB_NULLPTR; } /* -------------------------------------------------------------------- */ /* If we have a M measure value, then read it now. We assume */ /* that the measure can be present for any shape if the size is */ /* big enough, but really it will only occur for the Z shapes */ /* (options), and the M shapes. */ /* -------------------------------------------------------------------- */ if (nEntitySize >= STATIC_CAST(int, nOffset + 16 + 8 * nPoints)) { #if defined(SHP_BIG_ENDIAN) SHP_SWAPDOUBLE_CPY(&psShape->dfMMin, psSHP->pabyRec + nOffset); SHP_SWAPDOUBLE_CPY(&psShape->dfMMax, psSHP->pabyRec + nOffset + 8); #else memcpy(&psShape->dfMMin, psSHP->pabyRec + nOffset, 8); memcpy(&psShape->dfMMax, psSHP->pabyRec + nOffset + 8, 8); #endif for (int i = 0; STATIC_CAST(uint32_t, i) < nPoints; i++) { #if defined(SHP_BIG_ENDIAN) SHP_SWAPDOUBLE_CPY(psShape->padfM + i, psSHP->pabyRec + nOffset + 16 + i * 8); #else memcpy(psShape->padfM + i, psSHP->pabyRec + nOffset + 16 + i * 8, 8); #endif } psShape->bMeasureIsUsed = TRUE; } else if (psShape->bFastModeReadObject) { psShape->padfM = SHPLIB_NULLPTR; } } /* ==================================================================== */ /* Extract vertices for a MultiPoint. */ /* ==================================================================== */ else if (psShape->nSHPType == SHPT_MULTIPOINT || psShape->nSHPType == SHPT_MULTIPOINTM || psShape->nSHPType == SHPT_MULTIPOINTZ) { if (44 + 4 > nEntitySize) { char szErrorMsg[160]; snprintf(szErrorMsg, sizeof(szErrorMsg), "Corrupted .shp file : shape %d : nEntitySize = %d", hEntity, nEntitySize); szErrorMsg[sizeof(szErrorMsg) - 1] = '\0'; psSHP->sHooks.Error(szErrorMsg); SHPDestroyObject(psShape); return SHPLIB_NULLPTR; } uint32_t nPoints; memcpy(&nPoints, psSHP->pabyRec + 44, 4); #if defined(SHP_BIG_ENDIAN) SHP_SWAP32(&nPoints); #endif /* nPoints is unsigned */ if (/* nPoints < 0 || */ nPoints > 50 * 1000 * 1000) { char szErrorMsg[160]; snprintf(szErrorMsg, sizeof(szErrorMsg), "Corrupted .shp file : shape %d : nPoints = %u", hEntity, nPoints); szErrorMsg[sizeof(szErrorMsg) - 1] = '\0'; psSHP->sHooks.Error(szErrorMsg); SHPDestroyObject(psShape); return SHPLIB_NULLPTR; } int nRequiredSize = 48 + nPoints * 16; if (psShape->nSHPType == SHPT_MULTIPOINTZ) { nRequiredSize += 16 + nPoints * 8; } if (nRequiredSize > nEntitySize) { char szErrorMsg[160]; snprintf(szErrorMsg, sizeof(szErrorMsg), "Corrupted .shp file : shape %d : nPoints = %u, " "nEntitySize = %d", hEntity, nPoints, nEntitySize); szErrorMsg[sizeof(szErrorMsg) - 1] = '\0'; psSHP->sHooks.Error(szErrorMsg); SHPDestroyObject(psShape); return SHPLIB_NULLPTR; } unsigned char *pBuffer = SHPLIB_NULLPTR; unsigned char **ppBuffer = SHPLIB_NULLPTR; if (psShape->bFastModeReadObject) { const int nObjectBufSize = 4 * sizeof(double) * nPoints; pBuffer = SHPReallocObjectBufIfNecessary(psSHP, nObjectBufSize); ppBuffer = &pBuffer; } psShape->nVertices = nPoints; psShape->padfX = STATIC_CAST( double *, SHPAllocBuffer(ppBuffer, sizeof(double) * nPoints)); psShape->padfY = STATIC_CAST( double *, SHPAllocBuffer(ppBuffer, sizeof(double) * nPoints)); psShape->padfZ = STATIC_CAST( double *, SHPAllocBuffer(ppBuffer, sizeof(double) * nPoints)); psShape->padfM = STATIC_CAST( double *, SHPAllocBuffer(ppBuffer, sizeof(double) * nPoints)); if (psShape->padfX == SHPLIB_NULLPTR || psShape->padfY == SHPLIB_NULLPTR || psShape->padfZ == SHPLIB_NULLPTR || psShape->padfM == SHPLIB_NULLPTR) { char szErrorMsg[160]; snprintf(szErrorMsg, sizeof(szErrorMsg), "Not enough memory to allocate requested memory " "(nPoints=%u) for shape %d. " "Probably broken SHP file", nPoints, hEntity); szErrorMsg[sizeof(szErrorMsg) - 1] = '\0'; psSHP->sHooks.Error(szErrorMsg); SHPDestroyObject(psShape); return SHPLIB_NULLPTR; } for (int i = 0; STATIC_CAST(uint32_t, i) < nPoints; i++) { #if defined(SHP_BIG_ENDIAN) SHP_SWAPDOUBLE_CPY(psShape->padfX + i, psSHP->pabyRec + 48 + 16 * i); SHP_SWAPDOUBLE_CPY(psShape->padfY + i, psSHP->pabyRec + 48 + 16 * i + 8); #else memcpy(psShape->padfX + i, psSHP->pabyRec + 48 + 16 * i, 8); memcpy(psShape->padfY + i, psSHP->pabyRec + 48 + 16 * i + 8, 8); #endif } int nOffset = 48 + 16 * nPoints; /* -------------------------------------------------------------------- */ /* Get the X/Y bounds. */ /* -------------------------------------------------------------------- */ #if defined(SHP_BIG_ENDIAN) SHP_SWAPDOUBLE_CPY(&psShape->dfXMin, psSHP->pabyRec + 8 + 4); SHP_SWAPDOUBLE_CPY(&psShape->dfYMin, psSHP->pabyRec + 8 + 12); SHP_SWAPDOUBLE_CPY(&psShape->dfXMax, psSHP->pabyRec + 8 + 20); SHP_SWAPDOUBLE_CPY(&psShape->dfYMax, psSHP->pabyRec + 8 + 28); #else memcpy(&psShape->dfXMin, psSHP->pabyRec + 8 + 4, 8); memcpy(&psShape->dfYMin, psSHP->pabyRec + 8 + 12, 8); memcpy(&psShape->dfXMax, psSHP->pabyRec + 8 + 20, 8); memcpy(&psShape->dfYMax, psSHP->pabyRec + 8 + 28, 8); #endif /* -------------------------------------------------------------------- */ /* If we have a Z coordinate, collect that now. */ /* -------------------------------------------------------------------- */ if (psShape->nSHPType == SHPT_MULTIPOINTZ) { #if defined(SHP_BIG_ENDIAN) SHP_SWAPDOUBLE_CPY(&psShape->dfZMin, psSHP->pabyRec + nOffset); SHP_SWAPDOUBLE_CPY(&psShape->dfZMax, psSHP->pabyRec + nOffset + 8); #else memcpy(&psShape->dfZMin, psSHP->pabyRec + nOffset, 8); memcpy(&psShape->dfZMax, psSHP->pabyRec + nOffset + 8, 8); #endif for (int i = 0; STATIC_CAST(uint32_t, i) < nPoints; i++) { #if defined(SHP_BIG_ENDIAN) SHP_SWAPDOUBLE_CPY(psShape->padfZ + i, psSHP->pabyRec + nOffset + 16 + i * 8); #else memcpy(psShape->padfZ + i, psSHP->pabyRec + nOffset + 16 + i * 8, 8); #endif } nOffset += 16 + 8 * nPoints; } else if (psShape->bFastModeReadObject) psShape->padfZ = SHPLIB_NULLPTR; /* -------------------------------------------------------------------- */ /* If we have a M measure value, then read it now. We assume */ /* that the measure can be present for any shape if the size is */ /* big enough, but really it will only occur for the Z shapes */ /* (options), and the M shapes. */ /* -------------------------------------------------------------------- */ if (nEntitySize >= STATIC_CAST(int, nOffset + 16 + 8 * nPoints)) { #if defined(SHP_BIG_ENDIAN) SHP_SWAPDOUBLE_CPY(&psShape->dfMMin, psSHP->pabyRec + nOffset); SHP_SWAPDOUBLE_CPY(&psShape->dfMMax, psSHP->pabyRec + nOffset + 8); #else memcpy(&psShape->dfMMin, psSHP->pabyRec + nOffset, 8); memcpy(&psShape->dfMMax, psSHP->pabyRec + nOffset + 8, 8); #endif for (int i = 0; STATIC_CAST(uint32_t, i) < nPoints; i++) { #if defined(SHP_BIG_ENDIAN) SHP_SWAPDOUBLE_CPY(psShape->padfM + i, psSHP->pabyRec + nOffset + 16 + i * 8); #else memcpy(psShape->padfM + i, psSHP->pabyRec + nOffset + 16 + i * 8, 8); #endif } psShape->bMeasureIsUsed = TRUE; } else if (psShape->bFastModeReadObject) psShape->padfM = SHPLIB_NULLPTR; } /* ==================================================================== */ /* Extract vertices for a point. */ /* ==================================================================== */ else if (psShape->nSHPType == SHPT_POINT || psShape->nSHPType == SHPT_POINTM || psShape->nSHPType == SHPT_POINTZ) { psShape->nVertices = 1; if (psShape->bFastModeReadObject) { psShape->padfX = &(psShape->dfXMin); psShape->padfY = &(psShape->dfYMin); psShape->padfZ = &(psShape->dfZMin); psShape->padfM = &(psShape->dfMMin); psShape->padfZ[0] = 0.0; psShape->padfM[0] = 0.0; } else { psShape->padfX = STATIC_CAST(double *, calloc(1, sizeof(double))); psShape->padfY = STATIC_CAST(double *, calloc(1, sizeof(double))); psShape->padfZ = STATIC_CAST(double *, calloc(1, sizeof(double))); psShape->padfM = STATIC_CAST(double *, calloc(1, sizeof(double))); } if (20 + 8 + ((psShape->nSHPType == SHPT_POINTZ) ? 8 : 0) > nEntitySize) { char szErrorMsg[160]; snprintf(szErrorMsg, sizeof(szErrorMsg), "Corrupted .shp file : shape %d : nEntitySize = %d", hEntity, nEntitySize); szErrorMsg[sizeof(szErrorMsg) - 1] = '\0'; psSHP->sHooks.Error(szErrorMsg); SHPDestroyObject(psShape); return SHPLIB_NULLPTR; } #if defined(SHP_BIG_ENDIAN) SHP_SWAPDOUBLE_CPY(psShape->padfX, psSHP->pabyRec + 12); SHP_SWAPDOUBLE_CPY(psShape->padfY, psSHP->pabyRec + 20); #else memcpy(psShape->padfX, psSHP->pabyRec + 12, 8); memcpy(psShape->padfY, psSHP->pabyRec + 20, 8); #endif int nOffset = 20 + 8; /* -------------------------------------------------------------------- */ /* If we have a Z coordinate, collect that now. */ /* -------------------------------------------------------------------- */ if (psShape->nSHPType == SHPT_POINTZ) { #if defined(SHP_BIG_ENDIAN) SHP_SWAPDOUBLE_CPY(psShape->padfZ, psSHP->pabyRec + nOffset); #else memcpy(psShape->padfZ, psSHP->pabyRec + nOffset, 8); #endif nOffset += 8; } /* -------------------------------------------------------------------- */ /* If we have a M measure value, then read it now. We assume */ /* that the measure can be present for any shape if the size is */ /* big enough, but really it will only occur for the Z shapes */ /* (options), and the M shapes. */ /* -------------------------------------------------------------------- */ if (nEntitySize >= nOffset + 8) { #if defined(SHP_BIG_ENDIAN) SHP_SWAPDOUBLE_CPY(psShape->padfM, psSHP->pabyRec + nOffset); #else memcpy(psShape->padfM, psSHP->pabyRec + nOffset, 8); #endif psShape->bMeasureIsUsed = TRUE; } /* -------------------------------------------------------------------- */ /* Since no extents are supplied in the record, we will apply */ /* them from the single vertex. */ /* -------------------------------------------------------------------- */ psShape->dfXMin = psShape->dfXMax = psShape->padfX[0]; psShape->dfYMin = psShape->dfYMax = psShape->padfY[0]; psShape->dfZMin = psShape->dfZMax = psShape->padfZ[0]; psShape->dfMMin = psShape->dfMMax = psShape->padfM[0]; } return (psShape); } /************************************************************************/ /* SHPTypeName() */ /************************************************************************/ const char SHPAPI_CALL1(*) SHPTypeName(int nSHPType) { switch (nSHPType) { case SHPT_NULL: return "NullShape"; case SHPT_POINT: return "Point"; case SHPT_ARC: return "Arc"; case SHPT_POLYGON: return "Polygon"; case SHPT_MULTIPOINT: return "MultiPoint"; case SHPT_POINTZ: return "PointZ"; case SHPT_ARCZ: return "ArcZ"; case SHPT_POLYGONZ: return "PolygonZ"; case SHPT_MULTIPOINTZ: return "MultiPointZ"; case SHPT_POINTM: return "PointM"; case SHPT_ARCM: return "ArcM"; case SHPT_POLYGONM: return "PolygonM"; case SHPT_MULTIPOINTM: return "MultiPointM"; case SHPT_MULTIPATCH: return "MultiPatch"; default: return "UnknownShapeType"; } } /************************************************************************/ /* SHPPartTypeName() */ /************************************************************************/ const char SHPAPI_CALL1(*) SHPPartTypeName(int nPartType) { switch (nPartType) { case SHPP_TRISTRIP: return "TriangleStrip"; case SHPP_TRIFAN: return "TriangleFan"; case SHPP_OUTERRING: return "OuterRing"; case SHPP_INNERRING: return "InnerRing"; case SHPP_FIRSTRING: return "FirstRing"; case SHPP_RING: return "Ring"; default: return "UnknownPartType"; } } /************************************************************************/ /* SHPDestroyObject() */ /************************************************************************/ void SHPAPI_CALL SHPDestroyObject(SHPObject *psShape) { if (psShape == SHPLIB_NULLPTR) return; if (psShape->bFastModeReadObject) { psShape->bFastModeReadObject = FALSE; return; } if (psShape->padfX != SHPLIB_NULLPTR) free(psShape->padfX); if (psShape->padfY != SHPLIB_NULLPTR) free(psShape->padfY); if (psShape->padfZ != SHPLIB_NULLPTR) free(psShape->padfZ); if (psShape->padfM != SHPLIB_NULLPTR) free(psShape->padfM); if (psShape->panPartStart != SHPLIB_NULLPTR) free(psShape->panPartStart); if (psShape->panPartType != SHPLIB_NULLPTR) free(psShape->panPartType); free(psShape); } /************************************************************************/ /* SHPGetPartVertexCount() */ /************************************************************************/ static int SHPGetPartVertexCount(const SHPObject *psObject, int iPart) { if (iPart == psObject->nParts - 1) return psObject->nVertices - psObject->panPartStart[iPart]; else return psObject->panPartStart[iPart + 1] - psObject->panPartStart[iPart]; } /************************************************************************/ /* SHPRewindIsInnerRing() */ /************************************************************************/ /* Return -1 in case of ambiguity */ static int SHPRewindIsInnerRing(const SHPObject *psObject, int iOpRing, double dfTestX, double dfTestY, double dfRelativeTolerance, int bSameZ, double dfTestZ) { /* -------------------------------------------------------------------- */ /* Determine if this ring is an inner ring or an outer ring */ /* relative to all the other rings. For now we assume the */ /* first ring is outer and all others are inner, but eventually */ /* we need to fix this to handle multiple island polygons and */ /* unordered sets of rings. */ /* */ /* -------------------------------------------------------------------- */ bool bInner = false; for (int iCheckRing = 0; iCheckRing < psObject->nParts; iCheckRing++) { if (iCheckRing == iOpRing) continue; const int nVertStartCheck = psObject->panPartStart[iCheckRing]; const int nVertCountCheck = SHPGetPartVertexCount(psObject, iCheckRing); /* Ignore rings that don't have the same (constant) Z value as the * point. */ /* As noted in SHPRewindObject(), this is a simplification */ /* of what we should ideally do. */ if (!bSameZ) { int bZTestOK = TRUE; for (int iVert = nVertStartCheck + 1; iVert < nVertStartCheck + nVertCountCheck; ++iVert) { if (psObject->padfZ[iVert] != dfTestZ) { bZTestOK = FALSE; break; } } if (!bZTestOK) continue; } for (int iEdge = 0; iEdge < nVertCountCheck; iEdge++) { int iNext; if (iEdge < nVertCountCheck - 1) iNext = iEdge + 1; else iNext = 0; const double y0 = psObject->padfY[iEdge + nVertStartCheck]; const double y1 = psObject->padfY[iNext + nVertStartCheck]; /* Rule #1: * Test whether the edge 'straddles' the horizontal ray from * the test point (dfTestY,dfTestY) * The rule #1 also excludes edges colinear with the ray. */ if ((y0 < dfTestY && dfTestY <= y1) || (y1 < dfTestY && dfTestY <= y0)) { /* Rule #2: * Test if edge-ray intersection is on the right from the * test point (dfTestY,dfTestY) */ const double x0 = psObject->padfX[iEdge + nVertStartCheck]; const double x1 = psObject->padfX[iNext + nVertStartCheck]; const double intersect_minus_testX = (x0 - dfTestX) + (dfTestY - y0) / (y1 - y0) * (x1 - x0); if (fabs(intersect_minus_testX) <= dfRelativeTolerance * fabs(dfTestX)) { /* Potential shared edge, or slightly overlapping polygons */ return -1; } else if (intersect_minus_testX < 0) { bInner = !bInner; } } } } /* for iCheckRing */ return bInner; } /************************************************************************/ /* SHPRewindObject() */ /* */ /* Reset the winding of polygon objects to adhere to the */ /* specification. */ /************************************************************************/ int SHPAPI_CALL SHPRewindObject(const SHPHandle hSHP, SHPObject *psObject) { (void)hSHP; /* -------------------------------------------------------------------- */ /* Do nothing if this is not a polygon object. */ /* -------------------------------------------------------------------- */ if (psObject->nSHPType != SHPT_POLYGON && psObject->nSHPType != SHPT_POLYGONZ && psObject->nSHPType != SHPT_POLYGONM) return 0; if (psObject->nVertices == 0 || psObject->nParts == 0) return 0; /* -------------------------------------------------------------------- */ /* Test if all points have the same Z value. */ /* -------------------------------------------------------------------- */ int bSameZ = TRUE; if (psObject->nSHPType == SHPT_POLYGONZ || psObject->nSHPType == SHPT_POLYGONM) { for (int iVert = 1; iVert < psObject->nVertices; ++iVert) { if (psObject->padfZ[iVert] != psObject->padfZ[0]) { bSameZ = FALSE; break; } } } /* -------------------------------------------------------------------- */ /* Process each of the rings. */ /* -------------------------------------------------------------------- */ int bAltered = 0; for (int iOpRing = 0; iOpRing < psObject->nParts; iOpRing++) { const int nVertStart = psObject->panPartStart[iOpRing]; const int nVertCount = SHPGetPartVertexCount(psObject, iOpRing); if (nVertCount < 2) continue; /* If a ring has a non-constant Z value, then consider it as an outer */ /* ring. */ /* NOTE: this is a rough approximation. If we were smarter, */ /* we would check that all points of the ring are coplanar, and compare */ /* that to other rings in the same (oblique) plane. */ int bDoIsInnerRingTest = TRUE; if (!bSameZ) { int bPartSameZ = TRUE; for (int iVert = nVertStart + 1; iVert < nVertStart + nVertCount; ++iVert) { if (psObject->padfZ[iVert] != psObject->padfZ[nVertStart]) { bPartSameZ = FALSE; break; } } if (!bPartSameZ) bDoIsInnerRingTest = FALSE; } int bInner = FALSE; if (bDoIsInnerRingTest) { for (int iTolerance = 0; iTolerance < 2; iTolerance++) { /* In a first attempt, use a relaxed criterion to decide if a * point */ /* is inside another ring. If all points of the current ring are * in the */ /* "grey" zone w.r.t that criterion, which seems really * unlikely, */ /* then use the strict criterion for another pass. */ const double dfRelativeTolerance = (iTolerance == 0) ? 1e-9 : 0; for (int iVert = nVertStart; iVert + 1 < nVertStart + nVertCount; ++iVert) { /* Use point in the middle of segment to avoid testing * common points of rings. */ const double dfTestX = (psObject->padfX[iVert] + psObject->padfX[iVert + 1]) / 2; const double dfTestY = (psObject->padfY[iVert] + psObject->padfY[iVert + 1]) / 2; const double dfTestZ = !bSameZ ? psObject->padfZ[nVertStart] : 0; bInner = SHPRewindIsInnerRing(psObject, iOpRing, dfTestX, dfTestY, dfRelativeTolerance, bSameZ, dfTestZ); if (bInner >= 0) break; } if (bInner >= 0) break; } if (bInner < 0) { /* Completely degenerate case. Do not bother touching order. */ continue; } } /* -------------------------------------------------------------------- */ /* Determine the current order of this ring so we will know if */ /* it has to be reversed. */ /* -------------------------------------------------------------------- */ double dfSum = psObject->padfX[nVertStart] * (psObject->padfY[nVertStart + 1] - psObject->padfY[nVertStart + nVertCount - 1]); int iVert = nVertStart + 1; for (; iVert < nVertStart + nVertCount - 1; iVert++) { dfSum += psObject->padfX[iVert] * (psObject->padfY[iVert + 1] - psObject->padfY[iVert - 1]); } dfSum += psObject->padfX[iVert] * (psObject->padfY[nVertStart] - psObject->padfY[iVert - 1]); /* -------------------------------------------------------------------- */ /* Reverse if necessary. */ /* -------------------------------------------------------------------- */ if ((dfSum < 0.0 && bInner) || (dfSum > 0.0 && !bInner)) { bAltered++; for (int i = 0; i < nVertCount / 2; i++) { /* Swap X */ double dfSaved = psObject->padfX[nVertStart + i]; psObject->padfX[nVertStart + i] = psObject->padfX[nVertStart + nVertCount - i - 1]; psObject->padfX[nVertStart + nVertCount - i - 1] = dfSaved; /* Swap Y */ dfSaved = psObject->padfY[nVertStart + i]; psObject->padfY[nVertStart + i] = psObject->padfY[nVertStart + nVertCount - i - 1]; psObject->padfY[nVertStart + nVertCount - i - 1] = dfSaved; /* Swap Z */ if (psObject->padfZ) { dfSaved = psObject->padfZ[nVertStart + i]; psObject->padfZ[nVertStart + i] = psObject->padfZ[nVertStart + nVertCount - i - 1]; psObject->padfZ[nVertStart + nVertCount - i - 1] = dfSaved; } /* Swap M */ if (psObject->padfM) { dfSaved = psObject->padfM[nVertStart + i]; psObject->padfM[nVertStart + i] = psObject->padfM[nVertStart + nVertCount - i - 1]; psObject->padfM[nVertStart + nVertCount - i - 1] = dfSaved; } } } } return bAltered; } shapelib-1.6.1/ChangeLog0000664000175000017500000004373514371676733012040 000000000000002019-02-28 Even Rouault * Fix 'make distcheck' broken by nth-2 commit * Shapelib 1.5.0 released 2019-02-28 Even Rouault * shpopen.c: resync with GDAL internal shapelib to avoid being dependent on correctness of file size field in .shp. Fixes https://lists.osgeo.org/pipermail/gdal-dev/2018-October/049218.html 2019-02-28 Even Rouault * contrib/shpgeo.h/.c: Remove PROJ.4 dependency and functionality, causing removal of SHPProject(), SHPSetProjection() and SHPFreeProjection() * contrib/shpproj.c: removed 2018-08-16 Even Rouault * shpopen.c, dbfopen.c, shptree.c, sbnsearch.c: resyc with GDAL internal shapelib. Mostly to allow building those files as C++ without warning. Also add FTDate entry in DBFFieldType (see https://github.com/OSGeo/gdal/pull/308). And some other code cleanups 2018-08-16 Even Rouault * dbfopen.c: fix a bug where the end of file character was written on top of the first character of the first field name when deleting a field on a .dbf without records. Fixes https://github.com/OSGeo/gdal/issues/863 2018-06-15 Even Rouault * safileio.c: remove duplicate test. Patch by Jaroslav Fojtik. Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2744 2017-09-14 Even Rouault * Shapelib 1.4.1 released 2017-09-10 Even Rouault * shpopen.c: resync with GDAL copy. Make sure to zero terminate all error messages. And fix regression regarding re-writing the last shape of a file (https://trac.osgeo.org/gdal/ticket/7031) 2017-07-10 Even Rouault * contrib/shpgeo.c: fix compilation on _MSC_VER < 1800 regarding lack of NAN macro. 2016-12-09 Even Rouault * Makefile.am: add web/maptools.css to EXTRA_DIST * Shapelib 1.4.0 released 2016-12-06 Even Rouault * configure.ac: change soname to 2:1:0 to be in sync with Debian soname. http://bugzilla.maptools.org/show_bug.cgi?id=2628 Patch by Bas Couwenberg * contrib/doc/Shape_PointInPoly_README.txt, contrib/shpgeo.c: typo fixes. http://bugzilla.maptools.org/show_bug.cgi?id=2629 Patch by Bas Couwenberg * web/*: use a local .css file to avoid a privacy breach issue reported by the lintian QA tool. http://bugzilla.maptools.org/show_bug.cgi?id=2630 Patch by Bas Couwenberg 2016-12-06 Even Rouault * web/release.html, HOWTO-RELEASE, configure.ac, CMakeLists.txt: prepare for 1.4.0 release. 2016-12-05 Even Rouault * dbfopen.c, shapefil.h: write DBF end-of-file character 0x1A by default. This behaviour can be controlled with the DBFSetWriteEndOfFileChar() function. 2016-12-05 Even Rouault * Major overhaul of Makefile build system to use autoconf/automake. Contributed by Sandro Mani: https://github.com/manisandro/shapelib/tree/autotools * Warning fixes in contrib/ 2016-12-04 Even Rouault * shpopen.c, dbfopen.c, shptree.c, shapefil.h: resync with GDAL Shapefile driver. Mostly cleanups. SHPObject and DBFInfo structures extended with new members. New functions: DBFSetLastModifiedDate, SHPOpenLLEx, SHPRestoreSHX, SHPSetFastModeReadObject * sbnsearch.c: new file to implement original ESRI .sbn spatial index reading. (no write support). New functions: SBNOpenDiskTree, SBNCloseDiskTree, SBNSearchDiskTree, SBNSearchDiskTreeInteger, SBNSearchFreeIds * Makefile, makefile.vc, CMakeLists.txt, shapelib.def: updates with new file and symbols. * commit: helper script to cvs commit 2013-11-26 Frank Warmerdam * CMakeLists.txt: CMake support from Alan W. Irwin. * dbfdump.c: untested reporting for deleted records. 2012-04-10 Frank Warmerdam * Shapelib 1.3.0 released. 2012-01-27 Frank Warmerdam * shptree.c: optimize quadtree generation (gdal #4472) 2012-01-24 Frank Warmerdam * shpopen.c: fix memory leaks on failure to open .shp file. 2011-12-11 Frank Warmerdam * shptree.c,h: Use SAHooks for .qix access (gdal #3365) 2011-09-14 Frank Warmerdam * shpopen.c: fix missing cast (#2344) 2011-07-24 * shpopen.c, dbfopen.c, shptree.c, shapefil.h: Minimize use of CPL services in favor of SAHooks.Error(). * Makefile: Remove all the shared library building stuff, it is just too half assed, and results in all sorts of bug reports and complaints. Instead just install a static libshp.a. 2011-07-23 * Makefile: build shpdumptree as part of all target (#1648). * shpopen.c: fix memory leaks in error cases (#2061) * contrib/*.c: Include stdlib.h and strings.h (#2146) * shpdump.c: change to use %.15g for coordinate reporting. (#2277) 2011-05-13 Frank Warmerdam * dbfopen.c, shapelib.h: Add functions to reorder and alter field definitions. DBFReorderFields() and DBFAlterFields(). 2011-05-07 Frank Warmerdam * dbfopen.c: Ensure pending record is flushed when adding a native field (gdal #4073). 2011-04-16 Frank Warmerdam * shapefil.h: avoid warnings with SHP_CVSID on gcc. 2010-12-06 Frank Warmerdam * dbfopen.c: fix read past end of init data fetching code page http://bugzilla.maptools.org/show_bug.cgi?id=2276 2010-07-01 Frank Warmerdam * shpopen.c: do not error out on a shape with zero vertices. * shpdump.c: do not crash if null shape returned by read object. 2010-06-29 Frank Warmerdam * shptree.c: fix sign of Z and M comparisons in SHPCheckObjectContained. (http://bugzilla.maptools.org/show_bug.cgi?id=2223) 2010-01-28 Frank Warmerdam * shpopen.c/shapefil.h: Handle the .shp file length limits more gracefully. (http://trac.osgeo.org/gdal/ticket/3236) * shpopen.c: Improve the numerical accuracy of algorithms in SHPRewind() (http://trac.osgeo.org/gdal/ticket/3363). 2010-01-16 Frank Warmerdam * shpopen.c: support passing in zero/nulls to create an empty SHPObject: http://bugzilla.maptools.org/show_bug.cgi?id=2148 2009-10-29 Frank Warmerdam * dbfopen.c: avoid crash risk for truncated files. http://trac.osgeo.org/gdal/ticket/3093 2009-09-17 Bram de Greve * shpopen.c: on Win32, define snprintf as alias to _snprintf 2008-11-12 Frank Warmerdam * shptree.c: improve safety in face of buggy .shp file. http://trac.osgeo.org/gdal/ticket/2610 * dbfopen.c: DBFCreateField() can now also operate on files with records, c/o Martin Dobias. https://trac.osgeo.org/gdal/ticket/2672 2008-11-11 Frank Warmerdam * dbfopen.c: Introduce DBFDeleteField() function from Martin Dobias. http://trac.osgeo.org/gdal/ticket/2671 2008-03-14 Frank Warmerdam * Correct crash on buggy geometries (Even Rouault). http://trac.osgeo.org/gdal/ticket/2218 2008-01-16 Bram de Greve * shapefil.h, safileio.c: add file hooks that accept UTF-8 encoded filenames on some platforms. Use SASetupUtf8Hooks to setup the hooks and check SHPAPI_UTF8_HOOKS for its availability. Currently, this is only available on the Windows platform that decodes the UTF-8 filenames to wide character strings and feed them to _wfopen and _wremove. 2008-01-10 Frank Warmerdam * shapefil.h: Avoid _ prefix on #defines. http://bugzilla.maptools.org/show_bug.cgi?id=1840 2008-01-03 Bram de Greve * dbfopen.c: in DBFCreate, use default code page LDID/87 (= 0x57, ANSI) instead of LDID/3. This seems to be the same as what ESRI would be doing by default. 2007-12-30 Frank Warmerdam * shpadd.c/shpcreate.c: Add support for z and m files. * Massive overhaul to use hooks for file io, etc. 2007-12-18 Bram de Greve * dbfopen.c/shapefil.h/safileio.c: create hook for client specific atof http://bugzilla.maptools.org/show_bug.cgi?id=1615 * dbfopen.c: check for NULL handle before closing cpCPG file, and close after reading. 2007-12-15 Bram de Greve * dbfopen.c/shapefil.h/safileio.c: read the Code Page information from the DBF file, and exports this information as a string through the DBFGetCodePage function. This is either the number from the LDID header field ("LDID/") or as the content of an accompanying .CPG file. When creating a DBF file, the code can be set using DBFCreateEx. 2007-12-12 Bram de Greve * dbfopen.c: check for NULL handle in DBFClose. 2007-11-21 Frank Warmerdam * shpopen.c/shapefil.h: Don't keep .shx file open in read-only mode. http://trac.osgeo.org/gdal/ticket/1956 2007-11-14 Frank Warmerdam * shpopen.c: checks after mallocs to detect for corrupted/voluntary broken shapefiles. http://trac.osgeo.org/gdal/ticket/1991 2007-09-03 Frank Warmerdam * shpgeo.c: Fixed SHPDimension() (missing breaks) in shpgeo.c. Fix contributed by Andrea Peri. * dbfopen.c: Move the static dDoubleField return buffer into DBFInfo structure to avoid multithreaded risks. * dbfopen.c: Simplify DBFReadTuple() to avoid use of static tuple. Note that this means DBFReadTuple() results are only valid till the next record is read for any reason. 2007-06-21 Frank Warmerdam * shpopen.c: Fix for SHPRewind() for "contact at one vertex" cases in rings. http://trac.osgeo.org/gdal/ticket/976 2006-11-06 Frank Warmerdam * contrib/shpgeo.c: Modified SHPProject to use pj_transform() so it works for datums and stuff. Submitted by Steffen Macke. 2006-09-04 Frank Warmerdam * shpeopen.c: (MLoskot) Added stronger test of Shapefile reading failures, e.g. truncated files. The problem was discovered by Tim Sutton and reported here: https://svn.qgis.org/trac/ticket/200 2006-06-17 Frank Warmerdam * dbfopen.c: use calloc() for DBFInfo in DBFCreate() to ensure all fields initialized to zero if not otherwise mentioned. * dbfopen.c: Don't allow creation of string fields with width larger than 255 per http://bugzilla.maptools.org/show_bug.cgi?id=1434 2006-06-16 Frank Warmerdam * dbfopen.c: Don't treat decimals value as high order field length for strings, as it causes serious bugs in some cases such as http://bugzilla.remotesensing.org/show_bug.cgi?id=1202 * dbfopen.c: Made static field buffer in DBFReadAttribute() into a field in the DBFInfo structure to avoid multi-threading problems. 2006-03-29 Frank Warmerdam * dbfopen.c: Fixed bug in DBFCloneEmpty() (treating pachFieldType as an array of int). 2006-02-08 Frank Warmerdam * dbfopen.c: Changed to put spaces into string fields that are NULL as per http://bugzilla.maptools.org/show_bug.cgi?id=316. 2006-01-26 Frank Warmerdam * shpopen.c, shapefil.h, shpdump.c: Added bMeasureIsUsed support as per http://bugzilla.maptools.org/show_bug.cgi?id=1249 2006-01-04 Frank Warmerdam * dbfopen.c/shapefil.h: Added functions to check if dbf record is deleted, and to mark it as deleted. 2005-02-11 Frank Warmerdam * shpopen.c: Check panPartStart[0] is 0 in SHPCreateObject(). * Fixed bug 305 in DBFCloneEmpty() - header length problem. * Make the pszStringField buffer for DBFReadAttribute() static char [256] as per bug 306. 2004-09-15 Frank Warmerdam * dbfopen.c: treat all blanks as NULL in DBFIsAttributeNULL(). 2004-06-23 Frank Warmerdam * contrib/shpsort.c: added new contribute program from Eric Miller. 2003-04-07 Frank Warmerdam * Issue 1.2.10 Release. 2003-03-10 Frank Warmerdam * dbfopen.c: modified DBFWriteAttribute call so that it returns FALSE if it has to truncate the input value. 2003-01-28 Frank Warmerdam * shptree.c: avoid build warnings. 2002-05-07 Frank Warmerdam * dbfopen.c: Added DBFWriteAttributeDirectly() from the AVCE00 distribution to simplify AVC integration in GDAL. * shptree.c: added use of qsort() in place of bubble sort as submitted by Bernhard Herzog. 2002-04-10 Frank Warmerdam * shpopen.c: Added SHPRewindObject() to correct ring winding. * shprewind.c: New utility program. 2002-03-12 Frank Warmerdam * shapelib.def: added DBFWriteNULLAttribute. 2002-01-17 Frank Warmerdam * contrib/ShapeFileII.pas: Contributed Delphi Pascal interface to Shapelib. 2002-01-15 Frank Warmerdam * shapelib.h: Added support for SHAPELIB_DLLEXPORT macro, and write up material attempting to explain the use of SHPAPI_CALL macros. * dbfopen.c: Compute nHeaderLength in DBFCloneEmpty() instead of copying it from the source file so we don't have quirks when copying from files with extra bytes of spacers in the header that don't themselves get copied properly. 2001-12-07 Frank Warmerdam * shpopen.c: Fix fclose() of SHX file if SHX file fails to open. Should be closing SHP file. Reported by Ben Discoe. 2001-11-28 Frank Warmerdam * dbfopen.c: two fixes for compiler warnings as suggested by Richard Hash. 2001-11-01 Frank Warmerdam * shpopen.c/shapefil.h: Move record buffer into SHPInfo so that different threads can safely access separate files. Other threading issues may remain. 2001-08-28 Frank Warmerdam * Issue Shapelib 1.2.9 * shputils.c: DBFAddField() call should check for -1 return value for failure. 2001-07-03 Frank Warmerdam * shpopen.c: cleanup better if SHX missing, provided by Riccardo Cohen. 2001-06-21 Frank Warmerdam * dbfopen.c: Fixed NULL support with patches from Jim Matthews. * shpopen.c: Be more careful of establishing initial file bounds in face of possible NULL shapes. 2001-06-01 Frank Warmerdam * dbfopen.c: ensure binary mode open. 2001-05-31 Frank Warmerdam * shpopen.c: Add support for writing null shapes. * dbfopen.c: added DBFGetFieldIndex(), contributed by Jim Matthews. * dbfopen.c/shapefil.h/dbf_api.h: added support for NULL fields in .dbf files. 2001-05-28 Frank Warmerdam * shpopen.c: add some checking on the record count to ensure it is reasonable. 2001-05-23 Frank Warmerdam * shapefile.h, shpopen.c, dbfopen.c, shptree.c: added the SHPAPI_CALL macro to allow compilation with _stdcall conventions. 2001-02-06 Frank Warmerdam * Fixed a few memory leaks when SHPOpen() fails. 2000-12-05 Frank Warmerdam * Fix from Craig Bruce (Cubewerx) for DBFReadAttribute() for the white space trimming code to avoid reading outside allocated memory. 2000-11-02 Frank Warmerdam * Checked in upgraded shputils.c from Bill Miller. 2000-10-05 Frank Warmerdam * Fixed DBFWriteAttribute() to ensure we can't overwrite the end of the szSField buffer even if the width is set large. Bug report by Kirk Benell . 2000-09-25 Frank Warmerdam * Added DBFGetNativeFieldType() (contributed by Daniel) to dbfopen.c. 2000-07-18 Frank Warmerdam * added better enforcement of -1 for append in SHPWriteObject(). 2000-07-07 Frank Warmerdam * Added stdlib.h and string.h where needed, and removed lots of unused variables, mainly from example mainlines at the suggestion of Bill Hughes. 2000-05-24 Frank Warmerdam * Added logic to shpadd to grow vertex lists at the suggestion of Santiago Nullo . 2000-05-23 Frank Warmerdam * Added checks in dbfopen.c on return result of fseek() and fread(). * Avoid crashing in DBReadIntegerAttribute() or DBFReadDoubleAttribte() if the field or record are out of range. 2000-03-28 Frank Warmerdam * Release as 1.2.8. * Incorporated a -version-info fix and added mkinstalldirs from Jan. 2000-03-17 Frank Warmerdam * Added shared library hack to Makefile. * Fixed up test scripts to look in ./ for executables. Wed Feb 16 11:20:29 2000 Frank Warmerdam * Release 1.2.7. * Modified SHPReadObject() so that will return NULL (type 0) shapes in a sort of sensible way. Wed Dec 15 08:49:53 1999 Frank Warmerdam * Fixed record size written at beginning of records in .shp file. It was 4 bytes to long (thanks to Mikko Syrja of 3D-system Oy) * Use atof() instead of sscanf() in dbfopen.c, and add stdlib.h. Mon Dec 13 12:29:01 1999 Frank Warmerdam * Added support for uppercase .DBF extension c/o Dennis Christopher Fri Nov 5 09:12:31 1999 Frank Warmerdam * Updated license headers to include the option of use of the code under the LGPL. 1999-09-15 * Added shapelib.dll target to makefile.vc. Mon May 10 23:19:42 1999 Frank Warmerdam * Added candrsn's improvements to extension handling in dbfopen.c * Added ``raw tuple'' api to dbfopen.c, still not in dbf_api.html. From candrsn. Tue May 4 11:04:31 1999 Frank Warmerdam * Prepare 1.2.5 release. * Added support for 'F' fields. shapelib-1.6.1/shprewind.c0000664000175000017500000000511214657064606012415 00000000000000/****************************************************************************** * * Project: Shapelib * Purpose: Utility to validate and reset the winding order of rings in * polygon geometries to match the ordering required by spec. * Author: Frank Warmerdam, warmerdam@pobox.com * ****************************************************************************** * Copyright (c) 2002, Frank Warmerdam * * SPDX-License-Identifier: MIT OR LGPL-2.0-or-later ****************************************************************************** * */ #include #include #include #include "shapefil.h" int main(int argc, char **argv) { /* -------------------------------------------------------------------- */ /* Display a usage message. */ /* -------------------------------------------------------------------- */ if (argc != 3) { printf("shprewind in_shp_file out_shp_file\n"); exit(1); } /* -------------------------------------------------------------------- */ /* Open the passed shapefile. */ /* -------------------------------------------------------------------- */ SHPHandle hSHP = SHPOpen(argv[1], "rb"); if (hSHP == NULL) { printf("Unable to open:%s\n", argv[1]); exit(1); } int nShapeType; int nEntities; double adfMinBound[4]; double adfMaxBound[4]; SHPGetInfo(hSHP, &nEntities, &nShapeType, adfMinBound, adfMaxBound); /* -------------------------------------------------------------------- */ /* Create output shapefile. */ /* -------------------------------------------------------------------- */ SHPHandle hSHPOut = SHPCreate(argv[2], nShapeType); if (hSHPOut == NULL) { SHPClose(hSHP); printf("Unable to create:%s\n", argv[2]); exit(1); } /* -------------------------------------------------------------------- */ /* Skim over the list of shapes, printing all the vertices. */ /* -------------------------------------------------------------------- */ int nInvalidCount = 0; for (int i = 0; i < nEntities; i++) { SHPObject *psShape = SHPReadObject(hSHP, i); if (SHPRewindObject(hSHP, psShape)) nInvalidCount++; SHPWriteObject(hSHPOut, -1, psShape); SHPDestroyObject(psShape); } SHPClose(hSHP); SHPClose(hSHPOut); printf("%d objects rewound.\n", nInvalidCount); exit(0); } shapelib-1.6.1/install-sh0000755000175000017500000003601014656616450012250 00000000000000#!/bin/sh # install - install a program, script, or datafile scriptversion=2018-03-11.20; # UTC # This originates from X11R5 (mit/util/scripts/install.sh), which was # later released in X11R6 (xc/config/util/install.sh) with the # following copyright and license. # # Copyright (C) 1994 X Consortium # # 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 # X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN # AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC- # TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # # Except as contained in this notice, the name of the X Consortium shall not # be used in advertising or otherwise to promote the sale, use or other deal- # ings in this Software without prior written authorization from the X Consor- # tium. # # # FSF changes to this file are in the public domain. # # Calling this script install-sh is preferred over install.sh, to prevent # 'make' implicit rules from creating a file called install from it # when there is no Makefile. # # This script is compatible with the BSD install script, but was written # from scratch. tab=' ' nl=' ' IFS=" $tab$nl" # Set DOITPROG to "echo" to test this script. doit=${DOITPROG-} doit_exec=${doit:-exec} # Put in absolute file names if you don't have them in your path; # or use environment vars. chgrpprog=${CHGRPPROG-chgrp} chmodprog=${CHMODPROG-chmod} chownprog=${CHOWNPROG-chown} cmpprog=${CMPPROG-cmp} cpprog=${CPPROG-cp} mkdirprog=${MKDIRPROG-mkdir} mvprog=${MVPROG-mv} rmprog=${RMPROG-rm} stripprog=${STRIPPROG-strip} posix_mkdir= # Desired mode of installed file. mode=0755 chgrpcmd= chmodcmd=$chmodprog chowncmd= mvcmd=$mvprog rmcmd="$rmprog -f" stripcmd= src= dst= dir_arg= dst_arg= copy_on_change=false is_target_a_directory=possibly usage="\ Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE or: $0 [OPTION]... SRCFILES... DIRECTORY or: $0 [OPTION]... -t DIRECTORY SRCFILES... or: $0 [OPTION]... -d DIRECTORIES... In the 1st form, copy SRCFILE to DSTFILE. In the 2nd and 3rd, copy all SRCFILES to DIRECTORY. In the 4th, create DIRECTORIES. Options: --help display this help and exit. --version display version info and exit. -c (ignored) -C install only if different (preserve the last data modification time) -d create directories instead of installing files. -g GROUP $chgrpprog installed files to GROUP. -m MODE $chmodprog installed files to MODE. -o USER $chownprog installed files to USER. -s $stripprog installed files. -t DIRECTORY install into DIRECTORY. -T report an error if DSTFILE is a directory. Environment variables override the default commands: CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG RMPROG STRIPPROG " while test $# -ne 0; do case $1 in -c) ;; -C) copy_on_change=true;; -d) dir_arg=true;; -g) chgrpcmd="$chgrpprog $2" shift;; --help) echo "$usage"; exit $?;; -m) mode=$2 case $mode in *' '* | *"$tab"* | *"$nl"* | *'*'* | *'?'* | *'['*) echo "$0: invalid mode: $mode" >&2 exit 1;; esac shift;; -o) chowncmd="$chownprog $2" shift;; -s) stripcmd=$stripprog;; -t) is_target_a_directory=always dst_arg=$2 # Protect names problematic for 'test' and other utilities. case $dst_arg in -* | [=\(\)!]) dst_arg=./$dst_arg;; esac shift;; -T) is_target_a_directory=never;; --version) echo "$0 $scriptversion"; exit $?;; --) shift break;; -*) echo "$0: invalid option: $1" >&2 exit 1;; *) break;; esac shift done # We allow the use of options -d and -T together, by making -d # take the precedence; this is for compatibility with GNU install. if test -n "$dir_arg"; then if test -n "$dst_arg"; then echo "$0: target directory not allowed when installing a directory." >&2 exit 1 fi fi if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then # When -d is used, all remaining arguments are directories to create. # When -t is used, the destination is already specified. # Otherwise, the last argument is the destination. Remove it from $@. for arg do if test -n "$dst_arg"; then # $@ is not empty: it contains at least $arg. set fnord "$@" "$dst_arg" shift # fnord fi shift # arg dst_arg=$arg # Protect names problematic for 'test' and other utilities. case $dst_arg in -* | [=\(\)!]) dst_arg=./$dst_arg;; esac done fi if test $# -eq 0; then if test -z "$dir_arg"; then echo "$0: no input file specified." >&2 exit 1 fi # It's OK to call 'install-sh -d' without argument. # This can happen when creating conditional directories. exit 0 fi if test -z "$dir_arg"; then if test $# -gt 1 || test "$is_target_a_directory" = always; then if test ! -d "$dst_arg"; then echo "$0: $dst_arg: Is not a directory." >&2 exit 1 fi fi fi if test -z "$dir_arg"; then do_exit='(exit $ret); exit $ret' trap "ret=129; $do_exit" 1 trap "ret=130; $do_exit" 2 trap "ret=141; $do_exit" 13 trap "ret=143; $do_exit" 15 # Set umask so as not to create temps with too-generous modes. # However, 'strip' requires both read and write access to temps. case $mode in # Optimize common cases. *644) cp_umask=133;; *755) cp_umask=22;; *[0-7]) if test -z "$stripcmd"; then u_plus_rw= else u_plus_rw='% 200' fi cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;; *) if test -z "$stripcmd"; then u_plus_rw= else u_plus_rw=,u+rw fi cp_umask=$mode$u_plus_rw;; esac fi for src do # Protect names problematic for 'test' and other utilities. case $src in -* | [=\(\)!]) src=./$src;; esac if test -n "$dir_arg"; then dst=$src dstdir=$dst test -d "$dstdir" dstdir_status=$? else # Waiting for this to be detected by the "$cpprog $src $dsttmp" command # might cause directories to be created, which would be especially bad # if $src (and thus $dsttmp) contains '*'. if test ! -f "$src" && test ! -d "$src"; then echo "$0: $src does not exist." >&2 exit 1 fi if test -z "$dst_arg"; then echo "$0: no destination specified." >&2 exit 1 fi dst=$dst_arg # If destination is a directory, append the input filename. if test -d "$dst"; then if test "$is_target_a_directory" = never; then echo "$0: $dst_arg: Is a directory" >&2 exit 1 fi dstdir=$dst dstbase=`basename "$src"` case $dst in */) dst=$dst$dstbase;; *) dst=$dst/$dstbase;; esac dstdir_status=0 else dstdir=`dirname "$dst"` test -d "$dstdir" dstdir_status=$? fi fi case $dstdir in */) dstdirslash=$dstdir;; *) dstdirslash=$dstdir/;; esac obsolete_mkdir_used=false if test $dstdir_status != 0; then case $posix_mkdir in '') # Create intermediate dirs using mode 755 as modified by the umask. # This is like FreeBSD 'install' as of 1997-10-28. umask=`umask` case $stripcmd.$umask in # Optimize common cases. *[2367][2367]) mkdir_umask=$umask;; .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;; *[0-7]) mkdir_umask=`expr $umask + 22 \ - $umask % 100 % 40 + $umask % 20 \ - $umask % 10 % 4 + $umask % 2 `;; *) mkdir_umask=$umask,go-w;; esac # With -d, create the new directory with the user-specified mode. # Otherwise, rely on $mkdir_umask. if test -n "$dir_arg"; then mkdir_mode=-m$mode else mkdir_mode= fi posix_mkdir=false case $umask in *[123567][0-7][0-7]) # POSIX mkdir -p sets u+wx bits regardless of umask, which # is incompatible with FreeBSD 'install' when (umask & 300) != 0. ;; *) # Note that $RANDOM variable is not portable (e.g. dash); Use it # here however when possible just to lower collision chance. tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$ trap 'ret=$?; rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir" 2>/dev/null; exit $ret' 0 # Because "mkdir -p" follows existing symlinks and we likely work # directly in world-writeable /tmp, make sure that the '$tmpdir' # directory is successfully created first before we actually test # 'mkdir -p' feature. if (umask $mkdir_umask && $mkdirprog $mkdir_mode "$tmpdir" && exec $mkdirprog $mkdir_mode -p -- "$tmpdir/a/b") >/dev/null 2>&1 then if test -z "$dir_arg" || { # Check for POSIX incompatibilities with -m. # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or # other-writable bit of parent directory when it shouldn't. # FreeBSD 6.1 mkdir -m -p sets mode of existing directory. test_tmpdir="$tmpdir/a" ls_ld_tmpdir=`ls -ld "$test_tmpdir"` case $ls_ld_tmpdir in d????-?r-*) different_mode=700;; d????-?--*) different_mode=755;; *) false;; esac && $mkdirprog -m$different_mode -p -- "$test_tmpdir" && { ls_ld_tmpdir_1=`ls -ld "$test_tmpdir"` test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1" } } then posix_mkdir=: fi rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir" else # Remove any dirs left behind by ancient mkdir implementations. rmdir ./$mkdir_mode ./-p ./-- "$tmpdir" 2>/dev/null fi trap '' 0;; esac;; esac if $posix_mkdir && ( umask $mkdir_umask && $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir" ) then : else # The umask is ridiculous, or mkdir does not conform to POSIX, # or it failed possibly due to a race condition. Create the # directory the slow way, step by step, checking for races as we go. case $dstdir in /*) prefix='/';; [-=\(\)!]*) prefix='./';; *) prefix='';; esac oIFS=$IFS IFS=/ set -f set fnord $dstdir shift set +f IFS=$oIFS prefixes= for d do test X"$d" = X && continue prefix=$prefix$d if test -d "$prefix"; then prefixes= else if $posix_mkdir; then (umask=$mkdir_umask && $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break # Don't fail if two instances are running concurrently. test -d "$prefix" || exit 1 else case $prefix in *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;; *) qprefix=$prefix;; esac prefixes="$prefixes '$qprefix'" fi fi prefix=$prefix/ done if test -n "$prefixes"; then # Don't fail if two instances are running concurrently. (umask $mkdir_umask && eval "\$doit_exec \$mkdirprog $prefixes") || test -d "$dstdir" || exit 1 obsolete_mkdir_used=true fi fi fi if test -n "$dir_arg"; then { test -z "$chowncmd" || $doit $chowncmd "$dst"; } && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } && { test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false || test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1 else # Make a couple of temp file names in the proper directory. dsttmp=${dstdirslash}_inst.$$_ rmtmp=${dstdirslash}_rm.$$_ # Trap to clean up those temp files at exit. trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0 # Copy the file name to the temp name. (umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") && # and set any options; do chmod last to preserve setuid bits. # # If any of these fail, we abort the whole thing. If we want to # ignore errors from any of these, just make sure not to ignore # errors from the above "$doit $cpprog $src $dsttmp" command. # { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } && { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } && { test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } && # If -C, don't bother to copy if it wouldn't change the file. if $copy_on_change && old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` && new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` && set -f && set X $old && old=:$2:$4:$5:$6 && set X $new && new=:$2:$4:$5:$6 && set +f && test "$old" = "$new" && $cmpprog "$dst" "$dsttmp" >/dev/null 2>&1 then rm -f "$dsttmp" else # Rename the file to the real destination. $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null || # The rename failed, perhaps because mv can't rename something else # to itself, or perhaps because mv is so ancient that it does not # support -f. { # Now remove or move aside any old file at destination location. # We try this two ways since rm can't unlink itself on some # systems and the destination file might be busy for other # reasons. In this case, the final cleanup might fail but the new # file should still install successfully. { test ! -f "$dst" || $doit $rmcmd -f "$dst" 2>/dev/null || { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null && { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; } } || { echo "$0: cannot unlink or rename $dst" >&2 (exit 1); exit 1 } } && # Now rename the file to the real destination. $doit $mvcmd "$dsttmp" "$dst" } fi || exit 1 trap '' 0 fi done # Local variables: # eval: (add-hook 'before-save-hook 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC0" # time-stamp-end: "; # UTC" # End: shapelib-1.6.1/config.guess0000755000175000017500000012637314656616450012600 00000000000000#! /bin/sh # Attempt to guess a canonical system name. # Copyright 1992-2018 Free Software Foundation, Inc. timestamp='2018-02-24' # This file 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 3 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 to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that # program. This Exception is an additional permission under section 7 # of the GNU General Public License, version 3 ("GPLv3"). # # Originally written by Per Bothner; maintained since 2000 by Ben Elliston. # # You can get the latest version of this script from: # https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess # # Please send patches to . me=`echo "$0" | sed -e 's,.*/,,'` usage="\ Usage: $0 [OPTION] Output the configuration name of the system \`$me' is run on. Options: -h, --help print this help, then exit -t, --time-stamp print date of last modification, then exit -v, --version print version number, then exit Report bugs and patches to ." version="\ GNU config.guess ($timestamp) Originally written by Per Bothner. Copyright 1992-2018 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." help=" Try \`$me --help' for more information." # Parse command line while test $# -gt 0 ; do case $1 in --time-stamp | --time* | -t ) echo "$timestamp" ; exit ;; --version | -v ) echo "$version" ; exit ;; --help | --h* | -h ) echo "$usage"; exit ;; -- ) # Stop option processing shift; break ;; - ) # Use stdin as input. break ;; -* ) echo "$me: invalid option $1$help" >&2 exit 1 ;; * ) break ;; esac done if test $# != 0; then echo "$me: too many arguments$help" >&2 exit 1 fi trap 'exit 1' 1 2 15 # CC_FOR_BUILD -- compiler used by this script. Note that the use of a # compiler to aid in system detection is discouraged as it requires # temporary files to be created and, as you can see below, it is a # headache to deal with in a portable fashion. # Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still # use `HOST_CC' if defined, but it is deprecated. # Portable tmp directory creation inspired by the Autoconf team. set_cc_for_build=' trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; : ${TMPDIR=/tmp} ; { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; dummy=$tmp/dummy ; tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; case $CC_FOR_BUILD,$HOST_CC,$CC in ,,) echo "int x;" > "$dummy.c" ; for c in cc gcc c89 c99 ; do if ($c -c -o "$dummy.o" "$dummy.c") >/dev/null 2>&1 ; then CC_FOR_BUILD="$c"; break ; fi ; done ; if test x"$CC_FOR_BUILD" = x ; then CC_FOR_BUILD=no_compiler_found ; fi ;; ,,*) CC_FOR_BUILD=$CC ;; ,*,*) CC_FOR_BUILD=$HOST_CC ;; esac ; set_cc_for_build= ;' # This is needed to find uname on a Pyramid OSx when run in the BSD universe. # (ghazi@noc.rutgers.edu 1994-08-24) if (test -f /.attbin/uname) >/dev/null 2>&1 ; then PATH=$PATH:/.attbin ; export PATH fi UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown case "$UNAME_SYSTEM" in Linux|GNU|GNU/*) # If the system lacks a compiler, then just pick glibc. # We could probably try harder. LIBC=gnu eval "$set_cc_for_build" cat <<-EOF > "$dummy.c" #include #if defined(__UCLIBC__) LIBC=uclibc #elif defined(__dietlibc__) LIBC=dietlibc #else LIBC=gnu #endif EOF eval "`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^LIBC' | sed 's, ,,g'`" # If ldd exists, use it to detect musl libc. if command -v ldd >/dev/null && \ ldd --version 2>&1 | grep -q ^musl then LIBC=musl fi ;; esac # Note: order is significant - the case branches are not exclusive. case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in *:NetBSD:*:*) # NetBSD (nbsd) targets should (where applicable) match one or # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*, # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently # switched to ELF, *-*-netbsd* would select the old # object file format. This provides both forward # compatibility and a consistent mechanism for selecting the # object file format. # # Note: NetBSD doesn't particularly care about the vendor # portion of the name. We always set it to "unknown". sysctl="sysctl -n hw.machine_arch" UNAME_MACHINE_ARCH=`(uname -p 2>/dev/null || \ "/sbin/$sysctl" 2>/dev/null || \ "/usr/sbin/$sysctl" 2>/dev/null || \ echo unknown)` case "$UNAME_MACHINE_ARCH" in armeb) machine=armeb-unknown ;; arm*) machine=arm-unknown ;; sh3el) machine=shl-unknown ;; sh3eb) machine=sh-unknown ;; sh5el) machine=sh5le-unknown ;; earmv*) arch=`echo "$UNAME_MACHINE_ARCH" | sed -e 's,^e\(armv[0-9]\).*$,\1,'` endian=`echo "$UNAME_MACHINE_ARCH" | sed -ne 's,^.*\(eb\)$,\1,p'` machine="${arch}${endian}"-unknown ;; *) machine="$UNAME_MACHINE_ARCH"-unknown ;; esac # The Operating System including object format, if it has switched # to ELF recently (or will in the future) and ABI. case "$UNAME_MACHINE_ARCH" in earm*) os=netbsdelf ;; arm*|i386|m68k|ns32k|sh3*|sparc|vax) eval "$set_cc_for_build" if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ | grep -q __ELF__ then # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). # Return netbsd for either. FIX? os=netbsd else os=netbsdelf fi ;; *) os=netbsd ;; esac # Determine ABI tags. case "$UNAME_MACHINE_ARCH" in earm*) expr='s/^earmv[0-9]/-eabi/;s/eb$//' abi=`echo "$UNAME_MACHINE_ARCH" | sed -e "$expr"` ;; esac # The OS release # Debian GNU/NetBSD machines have a different userland, and # thus, need a distinct triplet. However, they do not need # kernel version information, so it can be replaced with a # suitable tag, in the style of linux-gnu. case "$UNAME_VERSION" in Debian*) release='-gnu' ;; *) release=`echo "$UNAME_RELEASE" | sed -e 's/[-_].*//' | cut -d. -f1,2` ;; esac # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: # contains redundant information, the shorter form: # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. echo "$machine-${os}${release}${abi}" exit ;; *:Bitrig:*:*) UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'` echo "$UNAME_MACHINE_ARCH"-unknown-bitrig"$UNAME_RELEASE" exit ;; *:OpenBSD:*:*) UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` echo "$UNAME_MACHINE_ARCH"-unknown-openbsd"$UNAME_RELEASE" exit ;; *:LibertyBSD:*:*) UNAME_MACHINE_ARCH=`arch | sed 's/^.*BSD\.//'` echo "$UNAME_MACHINE_ARCH"-unknown-libertybsd"$UNAME_RELEASE" exit ;; *:MidnightBSD:*:*) echo "$UNAME_MACHINE"-unknown-midnightbsd"$UNAME_RELEASE" exit ;; *:ekkoBSD:*:*) echo "$UNAME_MACHINE"-unknown-ekkobsd"$UNAME_RELEASE" exit ;; *:SolidBSD:*:*) echo "$UNAME_MACHINE"-unknown-solidbsd"$UNAME_RELEASE" exit ;; macppc:MirBSD:*:*) echo powerpc-unknown-mirbsd"$UNAME_RELEASE" exit ;; *:MirBSD:*:*) echo "$UNAME_MACHINE"-unknown-mirbsd"$UNAME_RELEASE" exit ;; *:Sortix:*:*) echo "$UNAME_MACHINE"-unknown-sortix exit ;; *:Redox:*:*) echo "$UNAME_MACHINE"-unknown-redox exit ;; mips:OSF1:*.*) echo mips-dec-osf1 exit ;; alpha:OSF1:*:*) case $UNAME_RELEASE in *4.0) UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` ;; *5.*) UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` ;; esac # According to Compaq, /usr/sbin/psrinfo has been available on # OSF/1 and Tru64 systems produced since 1995. I hope that # covers most systems running today. This code pipes the CPU # types through head -n 1, so we only detect the type of CPU 0. ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` case "$ALPHA_CPU_TYPE" in "EV4 (21064)") UNAME_MACHINE=alpha ;; "EV4.5 (21064)") UNAME_MACHINE=alpha ;; "LCA4 (21066/21068)") UNAME_MACHINE=alpha ;; "EV5 (21164)") UNAME_MACHINE=alphaev5 ;; "EV5.6 (21164A)") UNAME_MACHINE=alphaev56 ;; "EV5.6 (21164PC)") UNAME_MACHINE=alphapca56 ;; "EV5.7 (21164PC)") UNAME_MACHINE=alphapca57 ;; "EV6 (21264)") UNAME_MACHINE=alphaev6 ;; "EV6.7 (21264A)") UNAME_MACHINE=alphaev67 ;; "EV6.8CB (21264C)") UNAME_MACHINE=alphaev68 ;; "EV6.8AL (21264B)") UNAME_MACHINE=alphaev68 ;; "EV6.8CX (21264D)") UNAME_MACHINE=alphaev68 ;; "EV6.9A (21264/EV69A)") UNAME_MACHINE=alphaev69 ;; "EV7 (21364)") UNAME_MACHINE=alphaev7 ;; "EV7.9 (21364A)") UNAME_MACHINE=alphaev79 ;; esac # A Pn.n version is a patched version. # A Vn.n version is a released version. # A Tn.n version is a released field test version. # A Xn.n version is an unreleased experimental baselevel. # 1.2 uses "1.2" for uname -r. echo "$UNAME_MACHINE"-dec-osf"`echo "$UNAME_RELEASE" | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`" # Reset EXIT trap before exiting to avoid spurious non-zero exit code. exitcode=$? trap '' 0 exit $exitcode ;; Amiga*:UNIX_System_V:4.0:*) echo m68k-unknown-sysv4 exit ;; *:[Aa]miga[Oo][Ss]:*:*) echo "$UNAME_MACHINE"-unknown-amigaos exit ;; *:[Mm]orph[Oo][Ss]:*:*) echo "$UNAME_MACHINE"-unknown-morphos exit ;; *:OS/390:*:*) echo i370-ibm-openedition exit ;; *:z/VM:*:*) echo s390-ibm-zvmoe exit ;; *:OS400:*:*) echo powerpc-ibm-os400 exit ;; arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) echo arm-acorn-riscix"$UNAME_RELEASE" exit ;; arm*:riscos:*:*|arm*:RISCOS:*:*) echo arm-unknown-riscos exit ;; SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) echo hppa1.1-hitachi-hiuxmpp exit ;; Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. if test "`(/bin/universe) 2>/dev/null`" = att ; then echo pyramid-pyramid-sysv3 else echo pyramid-pyramid-bsd fi exit ;; NILE*:*:*:dcosx) echo pyramid-pyramid-svr4 exit ;; DRS?6000:unix:4.0:6*) echo sparc-icl-nx6 exit ;; DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) case `/usr/bin/uname -p` in sparc) echo sparc-icl-nx7; exit ;; esac ;; s390x:SunOS:*:*) echo "$UNAME_MACHINE"-ibm-solaris2"`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`" exit ;; sun4H:SunOS:5.*:*) echo sparc-hal-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`" exit ;; sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) echo sparc-sun-solaris2"`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`" exit ;; i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*) echo i386-pc-auroraux"$UNAME_RELEASE" exit ;; i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) eval "$set_cc_for_build" SUN_ARCH=i386 # If there is a compiler, see if it is configured for 64-bit objects. # Note that the Sun cc does not turn __LP64__ into 1 like gcc does. # This test works for both compilers. if [ "$CC_FOR_BUILD" != no_compiler_found ]; then if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \ (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ grep IS_64BIT_ARCH >/dev/null then SUN_ARCH=x86_64 fi fi echo "$SUN_ARCH"-pc-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`" exit ;; sun4*:SunOS:6*:*) # According to config.sub, this is the proper way to canonicalize # SunOS6. Hard to guess exactly what SunOS6 will be like, but # it's likely to be more like Solaris than SunOS4. echo sparc-sun-solaris3"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`" exit ;; sun4*:SunOS:*:*) case "`/usr/bin/arch -k`" in Series*|S4*) UNAME_RELEASE=`uname -v` ;; esac # Japanese Language versions have a version number like `4.1.3-JL'. echo sparc-sun-sunos"`echo "$UNAME_RELEASE"|sed -e 's/-/_/'`" exit ;; sun3*:SunOS:*:*) echo m68k-sun-sunos"$UNAME_RELEASE" exit ;; sun*:*:4.2BSD:*) UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` test "x$UNAME_RELEASE" = x && UNAME_RELEASE=3 case "`/bin/arch`" in sun3) echo m68k-sun-sunos"$UNAME_RELEASE" ;; sun4) echo sparc-sun-sunos"$UNAME_RELEASE" ;; esac exit ;; aushp:SunOS:*:*) echo sparc-auspex-sunos"$UNAME_RELEASE" exit ;; # The situation for MiNT is a little confusing. The machine name # can be virtually everything (everything which is not # "atarist" or "atariste" at least should have a processor # > m68000). The system name ranges from "MiNT" over "FreeMiNT" # to the lowercase version "mint" (or "freemint"). Finally # the system name "TOS" denotes a system which is actually not # MiNT. But MiNT is downward compatible to TOS, so this should # be no problem. atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) echo m68k-atari-mint"$UNAME_RELEASE" exit ;; atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) echo m68k-atari-mint"$UNAME_RELEASE" exit ;; *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) echo m68k-atari-mint"$UNAME_RELEASE" exit ;; milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) echo m68k-milan-mint"$UNAME_RELEASE" exit ;; hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) echo m68k-hades-mint"$UNAME_RELEASE" exit ;; *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) echo m68k-unknown-mint"$UNAME_RELEASE" exit ;; m68k:machten:*:*) echo m68k-apple-machten"$UNAME_RELEASE" exit ;; powerpc:machten:*:*) echo powerpc-apple-machten"$UNAME_RELEASE" exit ;; RISC*:Mach:*:*) echo mips-dec-mach_bsd4.3 exit ;; RISC*:ULTRIX:*:*) echo mips-dec-ultrix"$UNAME_RELEASE" exit ;; VAX*:ULTRIX*:*:*) echo vax-dec-ultrix"$UNAME_RELEASE" exit ;; 2020:CLIX:*:* | 2430:CLIX:*:*) echo clipper-intergraph-clix"$UNAME_RELEASE" exit ;; mips:*:*:UMIPS | mips:*:*:RISCos) eval "$set_cc_for_build" sed 's/^ //' << EOF > "$dummy.c" #ifdef __cplusplus #include /* for printf() prototype */ int main (int argc, char *argv[]) { #else int main (argc, argv) int argc; char *argv[]; { #endif #if defined (host_mips) && defined (MIPSEB) #if defined (SYSTYPE_SYSV) printf ("mips-mips-riscos%ssysv\\n", argv[1]); exit (0); #endif #if defined (SYSTYPE_SVR4) printf ("mips-mips-riscos%ssvr4\\n", argv[1]); exit (0); #endif #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) printf ("mips-mips-riscos%sbsd\\n", argv[1]); exit (0); #endif #endif exit (-1); } EOF $CC_FOR_BUILD -o "$dummy" "$dummy.c" && dummyarg=`echo "$UNAME_RELEASE" | sed -n 's/\([0-9]*\).*/\1/p'` && SYSTEM_NAME=`"$dummy" "$dummyarg"` && { echo "$SYSTEM_NAME"; exit; } echo mips-mips-riscos"$UNAME_RELEASE" exit ;; Motorola:PowerMAX_OS:*:*) echo powerpc-motorola-powermax exit ;; Motorola:*:4.3:PL8-*) echo powerpc-harris-powermax exit ;; Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) echo powerpc-harris-powermax exit ;; Night_Hawk:Power_UNIX:*:*) echo powerpc-harris-powerunix exit ;; m88k:CX/UX:7*:*) echo m88k-harris-cxux7 exit ;; m88k:*:4*:R4*) echo m88k-motorola-sysv4 exit ;; m88k:*:3*:R3*) echo m88k-motorola-sysv3 exit ;; AViiON:dgux:*:*) # DG/UX returns AViiON for all architectures UNAME_PROCESSOR=`/usr/bin/uname -p` if [ "$UNAME_PROCESSOR" = mc88100 ] || [ "$UNAME_PROCESSOR" = mc88110 ] then if [ "$TARGET_BINARY_INTERFACE"x = m88kdguxelfx ] || \ [ "$TARGET_BINARY_INTERFACE"x = x ] then echo m88k-dg-dgux"$UNAME_RELEASE" else echo m88k-dg-dguxbcs"$UNAME_RELEASE" fi else echo i586-dg-dgux"$UNAME_RELEASE" fi exit ;; M88*:DolphinOS:*:*) # DolphinOS (SVR3) echo m88k-dolphin-sysv3 exit ;; M88*:*:R3*:*) # Delta 88k system running SVR3 echo m88k-motorola-sysv3 exit ;; XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) echo m88k-tektronix-sysv3 exit ;; Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) echo m68k-tektronix-bsd exit ;; *:IRIX*:*:*) echo mips-sgi-irix"`echo "$UNAME_RELEASE"|sed -e 's/-/_/g'`" exit ;; ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id exit ;; # Note that: echo "'`uname -s`'" gives 'AIX ' i*86:AIX:*:*) echo i386-ibm-aix exit ;; ia64:AIX:*:*) if [ -x /usr/bin/oslevel ] ; then IBM_REV=`/usr/bin/oslevel` else IBM_REV="$UNAME_VERSION.$UNAME_RELEASE" fi echo "$UNAME_MACHINE"-ibm-aix"$IBM_REV" exit ;; *:AIX:2:3) if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then eval "$set_cc_for_build" sed 's/^ //' << EOF > "$dummy.c" #include main() { if (!__power_pc()) exit(1); puts("powerpc-ibm-aix3.2.5"); exit(0); } EOF if $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"` then echo "$SYSTEM_NAME" else echo rs6000-ibm-aix3.2.5 fi elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then echo rs6000-ibm-aix3.2.4 else echo rs6000-ibm-aix3.2 fi exit ;; *:AIX:*:[4567]) IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` if /usr/sbin/lsattr -El "$IBM_CPU_ID" | grep ' POWER' >/dev/null 2>&1; then IBM_ARCH=rs6000 else IBM_ARCH=powerpc fi if [ -x /usr/bin/lslpp ] ; then IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc | awk -F: '{ print $3 }' | sed s/[0-9]*$/0/` else IBM_REV="$UNAME_VERSION.$UNAME_RELEASE" fi echo "$IBM_ARCH"-ibm-aix"$IBM_REV" exit ;; *:AIX:*:*) echo rs6000-ibm-aix exit ;; ibmrt:4.4BSD:*|romp-ibm:4.4BSD:*) echo romp-ibm-bsd4.4 exit ;; ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and echo romp-ibm-bsd"$UNAME_RELEASE" # 4.3 with uname added to exit ;; # report: romp-ibm BSD 4.3 *:BOSX:*:*) echo rs6000-bull-bosx exit ;; DPX/2?00:B.O.S.:*:*) echo m68k-bull-sysv3 exit ;; 9000/[34]??:4.3bsd:1.*:*) echo m68k-hp-bsd exit ;; hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) echo m68k-hp-bsd4.4 exit ;; 9000/[34678]??:HP-UX:*:*) HPUX_REV=`echo "$UNAME_RELEASE"|sed -e 's/[^.]*.[0B]*//'` case "$UNAME_MACHINE" in 9000/31?) HP_ARCH=m68000 ;; 9000/[34]??) HP_ARCH=m68k ;; 9000/[678][0-9][0-9]) if [ -x /usr/bin/getconf ]; then sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` case "$sc_cpu_version" in 523) HP_ARCH=hppa1.0 ;; # CPU_PA_RISC1_0 528) HP_ARCH=hppa1.1 ;; # CPU_PA_RISC1_1 532) # CPU_PA_RISC2_0 case "$sc_kernel_bits" in 32) HP_ARCH=hppa2.0n ;; 64) HP_ARCH=hppa2.0w ;; '') HP_ARCH=hppa2.0 ;; # HP-UX 10.20 esac ;; esac fi if [ "$HP_ARCH" = "" ]; then eval "$set_cc_for_build" sed 's/^ //' << EOF > "$dummy.c" #define _HPUX_SOURCE #include #include int main () { #if defined(_SC_KERNEL_BITS) long bits = sysconf(_SC_KERNEL_BITS); #endif long cpu = sysconf (_SC_CPU_VERSION); switch (cpu) { case CPU_PA_RISC1_0: puts ("hppa1.0"); break; case CPU_PA_RISC1_1: puts ("hppa1.1"); break; case CPU_PA_RISC2_0: #if defined(_SC_KERNEL_BITS) switch (bits) { case 64: puts ("hppa2.0w"); break; case 32: puts ("hppa2.0n"); break; default: puts ("hppa2.0"); break; } break; #else /* !defined(_SC_KERNEL_BITS) */ puts ("hppa2.0"); break; #endif default: puts ("hppa1.0"); break; } exit (0); } EOF (CCOPTS="" $CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null) && HP_ARCH=`"$dummy"` test -z "$HP_ARCH" && HP_ARCH=hppa fi ;; esac if [ "$HP_ARCH" = hppa2.0w ] then eval "$set_cc_for_build" # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler # generating 64-bit code. GNU and HP use different nomenclature: # # $ CC_FOR_BUILD=cc ./config.guess # => hppa2.0w-hp-hpux11.23 # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess # => hppa64-hp-hpux11.23 if echo __LP64__ | (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | grep -q __LP64__ then HP_ARCH=hppa2.0w else HP_ARCH=hppa64 fi fi echo "$HP_ARCH"-hp-hpux"$HPUX_REV" exit ;; ia64:HP-UX:*:*) HPUX_REV=`echo "$UNAME_RELEASE"|sed -e 's/[^.]*.[0B]*//'` echo ia64-hp-hpux"$HPUX_REV" exit ;; 3050*:HI-UX:*:*) eval "$set_cc_for_build" sed 's/^ //' << EOF > "$dummy.c" #include int main () { long cpu = sysconf (_SC_CPU_VERSION); /* The order matters, because CPU_IS_HP_MC68K erroneously returns true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct results, however. */ if (CPU_IS_PA_RISC (cpu)) { switch (cpu) { case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; default: puts ("hppa-hitachi-hiuxwe2"); break; } } else if (CPU_IS_HP_MC68K (cpu)) puts ("m68k-hitachi-hiuxwe2"); else puts ("unknown-hitachi-hiuxwe2"); exit (0); } EOF $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"` && { echo "$SYSTEM_NAME"; exit; } echo unknown-hitachi-hiuxwe2 exit ;; 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:*) echo hppa1.1-hp-bsd exit ;; 9000/8??:4.3bsd:*:*) echo hppa1.0-hp-bsd exit ;; *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) echo hppa1.0-hp-mpeix exit ;; hp7??:OSF1:*:* | hp8?[79]:OSF1:*:*) echo hppa1.1-hp-osf exit ;; hp8??:OSF1:*:*) echo hppa1.0-hp-osf exit ;; i*86:OSF1:*:*) if [ -x /usr/sbin/sysversion ] ; then echo "$UNAME_MACHINE"-unknown-osf1mk else echo "$UNAME_MACHINE"-unknown-osf1 fi exit ;; parisc*:Lites*:*:*) echo hppa1.1-hp-lites exit ;; C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) echo c1-convex-bsd exit ;; C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) if getsysinfo -f scalar_acc then echo c32-convex-bsd else echo c2-convex-bsd fi exit ;; C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) echo c34-convex-bsd exit ;; C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) echo c38-convex-bsd exit ;; C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) echo c4-convex-bsd exit ;; CRAY*Y-MP:*:*:*) echo ymp-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' exit ;; CRAY*[A-Z]90:*:*:*) echo "$UNAME_MACHINE"-cray-unicos"$UNAME_RELEASE" \ | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ -e 's/\.[^.]*$/.X/' exit ;; CRAY*TS:*:*:*) echo t90-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' exit ;; CRAY*T3E:*:*:*) echo alphaev5-cray-unicosmk"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' exit ;; CRAY*SV1:*:*:*) echo sv1-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' exit ;; *:UNICOS/mp:*:*) echo craynv-cray-unicosmp"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' exit ;; F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) FUJITSU_PROC=`uname -m | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz` FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'` FUJITSU_REL=`echo "$UNAME_RELEASE" | sed -e 's/ /_/'` echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" exit ;; 5000:UNIX_System_V:4.*:*) FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'` FUJITSU_REL=`echo "$UNAME_RELEASE" | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/'` echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" exit ;; i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) echo "$UNAME_MACHINE"-pc-bsdi"$UNAME_RELEASE" exit ;; sparc*:BSD/OS:*:*) echo sparc-unknown-bsdi"$UNAME_RELEASE" exit ;; *:BSD/OS:*:*) echo "$UNAME_MACHINE"-unknown-bsdi"$UNAME_RELEASE" exit ;; *:FreeBSD:*:*) UNAME_PROCESSOR=`/usr/bin/uname -p` case "$UNAME_PROCESSOR" in amd64) UNAME_PROCESSOR=x86_64 ;; i386) UNAME_PROCESSOR=i586 ;; esac echo "$UNAME_PROCESSOR"-unknown-freebsd"`echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`" exit ;; i*:CYGWIN*:*) echo "$UNAME_MACHINE"-pc-cygwin exit ;; *:MINGW64*:*) echo "$UNAME_MACHINE"-pc-mingw64 exit ;; *:MINGW*:*) echo "$UNAME_MACHINE"-pc-mingw32 exit ;; *:MSYS*:*) echo "$UNAME_MACHINE"-pc-msys exit ;; i*:PW*:*) echo "$UNAME_MACHINE"-pc-pw32 exit ;; *:Interix*:*) case "$UNAME_MACHINE" in x86) echo i586-pc-interix"$UNAME_RELEASE" exit ;; authenticamd | genuineintel | EM64T) echo x86_64-unknown-interix"$UNAME_RELEASE" exit ;; IA64) echo ia64-unknown-interix"$UNAME_RELEASE" exit ;; esac ;; i*:UWIN*:*) echo "$UNAME_MACHINE"-pc-uwin exit ;; amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) echo x86_64-unknown-cygwin exit ;; prep*:SunOS:5.*:*) echo powerpcle-unknown-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`" exit ;; *:GNU:*:*) # the GNU system echo "`echo "$UNAME_MACHINE"|sed -e 's,[-/].*$,,'`-unknown-$LIBC`echo "$UNAME_RELEASE"|sed -e 's,/.*$,,'`" exit ;; *:GNU/*:*:*) # other systems with GNU libc and userland echo "$UNAME_MACHINE-unknown-`echo "$UNAME_SYSTEM" | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"``echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`-$LIBC" exit ;; i*86:Minix:*:*) echo "$UNAME_MACHINE"-pc-minix exit ;; aarch64:Linux:*:*) echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; aarch64_be:Linux:*:*) UNAME_MACHINE=aarch64_be echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; alpha:Linux:*:*) case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in EV5) UNAME_MACHINE=alphaev5 ;; EV56) UNAME_MACHINE=alphaev56 ;; PCA56) UNAME_MACHINE=alphapca56 ;; PCA57) UNAME_MACHINE=alphapca56 ;; EV6) UNAME_MACHINE=alphaev6 ;; EV67) UNAME_MACHINE=alphaev67 ;; EV68*) UNAME_MACHINE=alphaev68 ;; esac objdump --private-headers /bin/sh | grep -q ld.so.1 if test "$?" = 0 ; then LIBC=gnulibc1 ; fi echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; arc:Linux:*:* | arceb:Linux:*:*) echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; arm*:Linux:*:*) eval "$set_cc_for_build" if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ | grep -q __ARM_EABI__ then echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" else if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ | grep -q __ARM_PCS_VFP then echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"eabi else echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"eabihf fi fi exit ;; avr32*:Linux:*:*) echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; cris:Linux:*:*) echo "$UNAME_MACHINE"-axis-linux-"$LIBC" exit ;; crisv32:Linux:*:*) echo "$UNAME_MACHINE"-axis-linux-"$LIBC" exit ;; e2k:Linux:*:*) echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; frv:Linux:*:*) echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; hexagon:Linux:*:*) echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; i*86:Linux:*:*) echo "$UNAME_MACHINE"-pc-linux-"$LIBC" exit ;; ia64:Linux:*:*) echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; k1om:Linux:*:*) echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; m32r*:Linux:*:*) echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; m68*:Linux:*:*) echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; mips:Linux:*:* | mips64:Linux:*:*) eval "$set_cc_for_build" sed 's/^ //' << EOF > "$dummy.c" #undef CPU #undef ${UNAME_MACHINE} #undef ${UNAME_MACHINE}el #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) CPU=${UNAME_MACHINE}el #else #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) CPU=${UNAME_MACHINE} #else CPU= #endif #endif EOF eval "`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^CPU'`" test "x$CPU" != x && { echo "$CPU-unknown-linux-$LIBC"; exit; } ;; mips64el:Linux:*:*) echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; openrisc*:Linux:*:*) echo or1k-unknown-linux-"$LIBC" exit ;; or32:Linux:*:* | or1k*:Linux:*:*) echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; padre:Linux:*:*) echo sparc-unknown-linux-"$LIBC" exit ;; parisc64:Linux:*:* | hppa64:Linux:*:*) echo hppa64-unknown-linux-"$LIBC" exit ;; parisc:Linux:*:* | hppa:Linux:*:*) # Look for CPU level case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in PA7*) echo hppa1.1-unknown-linux-"$LIBC" ;; PA8*) echo hppa2.0-unknown-linux-"$LIBC" ;; *) echo hppa-unknown-linux-"$LIBC" ;; esac exit ;; ppc64:Linux:*:*) echo powerpc64-unknown-linux-"$LIBC" exit ;; ppc:Linux:*:*) echo powerpc-unknown-linux-"$LIBC" exit ;; ppc64le:Linux:*:*) echo powerpc64le-unknown-linux-"$LIBC" exit ;; ppcle:Linux:*:*) echo powerpcle-unknown-linux-"$LIBC" exit ;; riscv32:Linux:*:* | riscv64:Linux:*:*) echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; s390:Linux:*:* | s390x:Linux:*:*) echo "$UNAME_MACHINE"-ibm-linux-"$LIBC" exit ;; sh64*:Linux:*:*) echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; sh*:Linux:*:*) echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; sparc:Linux:*:* | sparc64:Linux:*:*) echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; tile*:Linux:*:*) echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; vax:Linux:*:*) echo "$UNAME_MACHINE"-dec-linux-"$LIBC" exit ;; x86_64:Linux:*:*) if objdump -f /bin/sh | grep -q elf32-x86-64; then echo "$UNAME_MACHINE"-pc-linux-"$LIBC"x32 else echo "$UNAME_MACHINE"-pc-linux-"$LIBC" fi exit ;; xtensa*:Linux:*:*) echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; i*86:DYNIX/ptx:4*:*) # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. # earlier versions are messed up and put the nodename in both # sysname and nodename. echo i386-sequent-sysv4 exit ;; i*86:UNIX_SV:4.2MP:2.*) # Unixware is an offshoot of SVR4, but it has its own version # number series starting with 2... # I am not positive that other SVR4 systems won't match this, # I just have to hope. -- rms. # Use sysv4.2uw... so that sysv4* matches it. echo "$UNAME_MACHINE"-pc-sysv4.2uw"$UNAME_VERSION" exit ;; i*86:OS/2:*:*) # If we were able to find `uname', then EMX Unix compatibility # is probably installed. echo "$UNAME_MACHINE"-pc-os2-emx exit ;; i*86:XTS-300:*:STOP) echo "$UNAME_MACHINE"-unknown-stop exit ;; i*86:atheos:*:*) echo "$UNAME_MACHINE"-unknown-atheos exit ;; i*86:syllable:*:*) echo "$UNAME_MACHINE"-pc-syllable exit ;; i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*) echo i386-unknown-lynxos"$UNAME_RELEASE" exit ;; i*86:*DOS:*:*) echo "$UNAME_MACHINE"-pc-msdosdjgpp exit ;; i*86:*:4.*:*) UNAME_REL=`echo "$UNAME_RELEASE" | sed 's/\/MP$//'` if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then echo "$UNAME_MACHINE"-univel-sysv"$UNAME_REL" else echo "$UNAME_MACHINE"-pc-sysv"$UNAME_REL" fi exit ;; i*86:*:5:[678]*) # UnixWare 7.x, OpenUNIX and OpenServer 6. case `/bin/uname -X | grep "^Machine"` in *486*) UNAME_MACHINE=i486 ;; *Pentium) UNAME_MACHINE=i586 ;; *Pent*|*Celeron) UNAME_MACHINE=i686 ;; esac echo "$UNAME_MACHINE-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}{$UNAME_VERSION}" exit ;; i*86:*:3.2:*) if test -f /usr/options/cb.name; then UNAME_REL=`sed -n 's/.*Version //p' /dev/null >/dev/null ; then UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ && UNAME_MACHINE=i586 (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ && UNAME_MACHINE=i686 (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ && UNAME_MACHINE=i686 echo "$UNAME_MACHINE"-pc-sco"$UNAME_REL" else echo "$UNAME_MACHINE"-pc-sysv32 fi exit ;; pc:*:*:*) # Left here for compatibility: # uname -m prints for DJGPP always 'pc', but it prints nothing about # the processor, so we play safe by assuming i586. # Note: whatever this is, it MUST be the same as what config.sub # prints for the "djgpp" host, or else GDB configure will decide that # this is a cross-build. echo i586-pc-msdosdjgpp exit ;; Intel:Mach:3*:*) echo i386-pc-mach3 exit ;; paragon:*:*:*) echo i860-intel-osf1 exit ;; i860:*:4.*:*) # i860-SVR4 if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then echo i860-stardent-sysv"$UNAME_RELEASE" # Stardent Vistra i860-SVR4 else # Add other i860-SVR4 vendors below as they are discovered. echo i860-unknown-sysv"$UNAME_RELEASE" # Unknown i860-SVR4 fi exit ;; mini*:CTIX:SYS*5:*) # "miniframe" echo m68010-convergent-sysv exit ;; mc68k:UNIX:SYSTEM5:3.51m) echo m68k-convergent-sysv exit ;; M680?0:D-NIX:5.3:*) echo m68k-diab-dnix exit ;; M68*:*:R3V[5678]*:*) test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0) OS_REL='' test -r /etc/.relid \ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ && { echo i486-ncr-sysv4.3"$OS_REL"; exit; } /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;; 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ && { echo i486-ncr-sysv4; exit; } ;; NCR*:*:4.2:* | MPRAS*:*:4.2:*) OS_REL='.3' test -r /etc/.relid \ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ && { echo i486-ncr-sysv4.3"$OS_REL"; exit; } /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \ && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;; m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) echo m68k-unknown-lynxos"$UNAME_RELEASE" exit ;; mc68030:UNIX_System_V:4.*:*) echo m68k-atari-sysv4 exit ;; TSUNAMI:LynxOS:2.*:*) echo sparc-unknown-lynxos"$UNAME_RELEASE" exit ;; rs6000:LynxOS:2.*:*) echo rs6000-unknown-lynxos"$UNAME_RELEASE" exit ;; PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*) echo powerpc-unknown-lynxos"$UNAME_RELEASE" exit ;; SM[BE]S:UNIX_SV:*:*) echo mips-dde-sysv"$UNAME_RELEASE" exit ;; RM*:ReliantUNIX-*:*:*) echo mips-sni-sysv4 exit ;; RM*:SINIX-*:*:*) echo mips-sni-sysv4 exit ;; *:SINIX-*:*:*) if uname -p 2>/dev/null >/dev/null ; then UNAME_MACHINE=`(uname -p) 2>/dev/null` echo "$UNAME_MACHINE"-sni-sysv4 else echo ns32k-sni-sysv fi exit ;; PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort # says echo i586-unisys-sysv4 exit ;; *:UNIX_System_V:4*:FTX*) # From Gerald Hewes . # How about differentiating between stratus architectures? -djm echo hppa1.1-stratus-sysv4 exit ;; *:*:*:FTX*) # From seanf@swdc.stratus.com. echo i860-stratus-sysv4 exit ;; i*86:VOS:*:*) # From Paul.Green@stratus.com. echo "$UNAME_MACHINE"-stratus-vos exit ;; *:VOS:*:*) # From Paul.Green@stratus.com. echo hppa1.1-stratus-vos exit ;; mc68*:A/UX:*:*) echo m68k-apple-aux"$UNAME_RELEASE" exit ;; news*:NEWS-OS:6*:*) echo mips-sony-newsos6 exit ;; R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) if [ -d /usr/nec ]; then echo mips-nec-sysv"$UNAME_RELEASE" else echo mips-unknown-sysv"$UNAME_RELEASE" fi exit ;; BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. echo powerpc-be-beos exit ;; BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. echo powerpc-apple-beos exit ;; BePC:BeOS:*:*) # BeOS running on Intel PC compatible. echo i586-pc-beos exit ;; BePC:Haiku:*:*) # Haiku running on Intel PC compatible. echo i586-pc-haiku exit ;; x86_64:Haiku:*:*) echo x86_64-unknown-haiku exit ;; SX-4:SUPER-UX:*:*) echo sx4-nec-superux"$UNAME_RELEASE" exit ;; SX-5:SUPER-UX:*:*) echo sx5-nec-superux"$UNAME_RELEASE" exit ;; SX-6:SUPER-UX:*:*) echo sx6-nec-superux"$UNAME_RELEASE" exit ;; SX-7:SUPER-UX:*:*) echo sx7-nec-superux"$UNAME_RELEASE" exit ;; SX-8:SUPER-UX:*:*) echo sx8-nec-superux"$UNAME_RELEASE" exit ;; SX-8R:SUPER-UX:*:*) echo sx8r-nec-superux"$UNAME_RELEASE" exit ;; SX-ACE:SUPER-UX:*:*) echo sxace-nec-superux"$UNAME_RELEASE" exit ;; Power*:Rhapsody:*:*) echo powerpc-apple-rhapsody"$UNAME_RELEASE" exit ;; *:Rhapsody:*:*) echo "$UNAME_MACHINE"-apple-rhapsody"$UNAME_RELEASE" exit ;; *:Darwin:*:*) UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown eval "$set_cc_for_build" if test "$UNAME_PROCESSOR" = unknown ; then UNAME_PROCESSOR=powerpc fi if test "`echo "$UNAME_RELEASE" | sed -e 's/\..*//'`" -le 10 ; then if [ "$CC_FOR_BUILD" != no_compiler_found ]; then if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ grep IS_64BIT_ARCH >/dev/null then case $UNAME_PROCESSOR in i386) UNAME_PROCESSOR=x86_64 ;; powerpc) UNAME_PROCESSOR=powerpc64 ;; esac fi # On 10.4-10.6 one might compile for PowerPC via gcc -arch ppc if (echo '#ifdef __POWERPC__'; echo IS_PPC; echo '#endif') | \ (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ grep IS_PPC >/dev/null then UNAME_PROCESSOR=powerpc fi fi elif test "$UNAME_PROCESSOR" = i386 ; then # Avoid executing cc on OS X 10.9, as it ships with a stub # that puts up a graphical alert prompting to install # developer tools. Any system running Mac OS X 10.7 or # later (Darwin 11 and later) is required to have a 64-bit # processor. This is not true of the ARM version of Darwin # that Apple uses in portable devices. UNAME_PROCESSOR=x86_64 fi echo "$UNAME_PROCESSOR"-apple-darwin"$UNAME_RELEASE" exit ;; *:procnto*:*:* | *:QNX:[0123456789]*:*) UNAME_PROCESSOR=`uname -p` if test "$UNAME_PROCESSOR" = x86; then UNAME_PROCESSOR=i386 UNAME_MACHINE=pc fi echo "$UNAME_PROCESSOR"-"$UNAME_MACHINE"-nto-qnx"$UNAME_RELEASE" exit ;; *:QNX:*:4*) echo i386-pc-qnx exit ;; NEO-*:NONSTOP_KERNEL:*:*) echo neo-tandem-nsk"$UNAME_RELEASE" exit ;; NSE-*:NONSTOP_KERNEL:*:*) echo nse-tandem-nsk"$UNAME_RELEASE" exit ;; NSR-*:NONSTOP_KERNEL:*:*) echo nsr-tandem-nsk"$UNAME_RELEASE" exit ;; NSV-*:NONSTOP_KERNEL:*:*) echo nsv-tandem-nsk"$UNAME_RELEASE" exit ;; NSX-*:NONSTOP_KERNEL:*:*) echo nsx-tandem-nsk"$UNAME_RELEASE" exit ;; *:NonStop-UX:*:*) echo mips-compaq-nonstopux exit ;; BS2000:POSIX*:*:*) echo bs2000-siemens-sysv exit ;; DS/*:UNIX_System_V:*:*) echo "$UNAME_MACHINE"-"$UNAME_SYSTEM"-"$UNAME_RELEASE" exit ;; *:Plan9:*:*) # "uname -m" is not consistent, so use $cputype instead. 386 # is converted to i386 for consistency with other x86 # operating systems. if test "$cputype" = 386; then UNAME_MACHINE=i386 else UNAME_MACHINE="$cputype" fi echo "$UNAME_MACHINE"-unknown-plan9 exit ;; *:TOPS-10:*:*) echo pdp10-unknown-tops10 exit ;; *:TENEX:*:*) echo pdp10-unknown-tenex exit ;; KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) echo pdp10-dec-tops20 exit ;; XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) echo pdp10-xkl-tops20 exit ;; *:TOPS-20:*:*) echo pdp10-unknown-tops20 exit ;; *:ITS:*:*) echo pdp10-unknown-its exit ;; SEI:*:*:SEIUX) echo mips-sei-seiux"$UNAME_RELEASE" exit ;; *:DragonFly:*:*) echo "$UNAME_MACHINE"-unknown-dragonfly"`echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`" exit ;; *:*VMS:*:*) UNAME_MACHINE=`(uname -p) 2>/dev/null` case "$UNAME_MACHINE" in A*) echo alpha-dec-vms ; exit ;; I*) echo ia64-dec-vms ; exit ;; V*) echo vax-dec-vms ; exit ;; esac ;; *:XENIX:*:SysV) echo i386-pc-xenix exit ;; i*86:skyos:*:*) echo "$UNAME_MACHINE"-pc-skyos"`echo "$UNAME_RELEASE" | sed -e 's/ .*$//'`" exit ;; i*86:rdos:*:*) echo "$UNAME_MACHINE"-pc-rdos exit ;; i*86:AROS:*:*) echo "$UNAME_MACHINE"-pc-aros exit ;; x86_64:VMkernel:*:*) echo "$UNAME_MACHINE"-unknown-esx exit ;; amd64:Isilon\ OneFS:*:*) echo x86_64-unknown-onefs exit ;; esac echo "$0: unable to guess system type" >&2 case "$UNAME_MACHINE:$UNAME_SYSTEM" in mips:Linux | mips64:Linux) # If we got here on MIPS GNU/Linux, output extra information. cat >&2 <&2 </dev/null || echo unknown` uname -r = `(uname -r) 2>/dev/null || echo unknown` uname -s = `(uname -s) 2>/dev/null || echo unknown` uname -v = `(uname -v) 2>/dev/null || echo unknown` /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` /bin/uname -X = `(/bin/uname -X) 2>/dev/null` hostinfo = `(hostinfo) 2>/dev/null` /bin/universe = `(/bin/universe) 2>/dev/null` /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` /bin/arch = `(/bin/arch) 2>/dev/null` /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` UNAME_MACHINE = "$UNAME_MACHINE" UNAME_RELEASE = "$UNAME_RELEASE" UNAME_SYSTEM = "$UNAME_SYSTEM" UNAME_VERSION = "$UNAME_VERSION" EOF exit 1 # Local variables: # eval: (add-hook 'write-file-functions 'time-stamp) # time-stamp-start: "timestamp='" # time-stamp-format: "%:y-%02m-%02d" # time-stamp-end: "'" # End: shapelib-1.6.1/safileio.c0000664000175000017500000001113014655153023012170 00000000000000/****************************************************************************** * * Project: Shapelib * Purpose: Default implementation of file io based on stdio. * Author: Frank Warmerdam, warmerdam@pobox.com * ****************************************************************************** * Copyright (c) 2007, Frank Warmerdam * Copyright (c) 2016-2024, Even Rouault * * SPDX-License-Identifier: MIT OR LGPL-2.0-or-later ****************************************************************************** * */ #include "shapefil.h" #include #include #include #include #include #include #ifdef SHPAPI_UTF8_HOOKS #ifdef SHPAPI_WINDOWS #define WIN32_LEAN_AND_MEAN #define NOMINMAX #include #pragma comment(lib, "kernel32.lib") #endif #endif static SAFile SADFOpen(const char *pszFilename, const char *pszAccess, void *pvUserData) { (void)pvUserData; return (SAFile)fopen(pszFilename, pszAccess); } static SAOffset SADFRead(void *p, SAOffset size, SAOffset nmemb, SAFile file) { return (SAOffset)fread(p, (size_t)size, (size_t)nmemb, (FILE *)file); } static SAOffset SADFWrite(const void *p, SAOffset size, SAOffset nmemb, SAFile file) { return (SAOffset)fwrite(p, (size_t)size, (size_t)nmemb, (FILE *)file); } static SAOffset SADFSeek(SAFile file, SAOffset offset, int whence) { #if defined(_MSC_VER) && _MSC_VER >= 1400 return (SAOffset)_fseeki64((FILE *)file, (__int64)offset, whence); #else return (SAOffset)fseek((FILE *)file, (long)offset, whence); #endif } static SAOffset SADFTell(SAFile file) { #if defined(_MSC_VER) && _MSC_VER >= 1400 return (SAOffset)_ftelli64((FILE *)file); #else return (SAOffset)ftell((FILE *)file); #endif } static int SADFFlush(SAFile file) { return fflush((FILE *)file); } static int SADFClose(SAFile file) { return fclose((FILE *)file); } static int SADRemove(const char *filename, void *pvUserData) { (void)pvUserData; return remove(filename); } static void SADError(const char *message) { fprintf(stderr, "%s\n", message); } void SASetupDefaultHooks(SAHooks *psHooks) { psHooks->FOpen = SADFOpen; psHooks->FRead = SADFRead; psHooks->FWrite = SADFWrite; psHooks->FSeek = SADFSeek; psHooks->FTell = SADFTell; psHooks->FFlush = SADFFlush; psHooks->FClose = SADFClose; psHooks->Remove = SADRemove; psHooks->Error = SADError; psHooks->Atof = atof; psHooks->pvUserData = NULL; } #ifdef SHPAPI_WINDOWS static wchar_t *Utf8ToWideChar(const char *pszFilename) { const int nMulti = (int)strlen(pszFilename) + 1; const int nWide = MultiByteToWideChar(CP_UTF8, 0, pszFilename, nMulti, 0, 0); if (nWide == 0) { return NULL; } wchar_t *pwszFileName = (wchar_t *)malloc(nWide * sizeof(wchar_t)); if (pwszFileName == NULL) { return NULL; } if (MultiByteToWideChar(CP_UTF8, 0, pszFilename, nMulti, pwszFileName, nWide) == 0) { free(pwszFileName); return NULL; } return pwszFileName; } /************************************************************************/ /* SAUtf8WFOpen */ /************************************************************************/ static SAFile SAUtf8WFOpen(const char *pszFilename, const char *pszAccess, void *pvUserData) { (void)pvUserData; SAFile file = NULL; wchar_t *pwszFileName = Utf8ToWideChar(pszFilename); wchar_t *pwszAccess = Utf8ToWideChar(pszAccess); if (pwszFileName != NULL && pwszAccess != NULL) { file = (SAFile)_wfopen(pwszFileName, pwszAccess); } free(pwszFileName); free(pwszAccess); return file; } static int SAUtf8WRemove(const char *pszFilename, void *pvUserData) { (void)pvUserData; wchar_t *pwszFileName = Utf8ToWideChar(pszFilename); int rc = -1; if (pwszFileName != NULL) { rc = _wremove(pwszFileName); } free(pwszFileName); return rc; } #endif #ifdef SHPAPI_UTF8_HOOKS #ifndef SHPAPI_WINDOWS #error "no implementations of UTF-8 hooks available for this platform" #endif void SASetupUtf8Hooks(SAHooks *psHooks) { psHooks->FOpen = SAUtf8WFOpen; psHooks->Remove = SAUtf8WRemove; psHooks->FRead = SADFRead; psHooks->FWrite = SADFWrite; psHooks->FSeek = SADFSeek; psHooks->FTell = SADFTell; psHooks->FFlush = SADFFlush; psHooks->FClose = SADFClose; psHooks->Error = SADError; psHooks->Atof = atof; } #endif shapelib-1.6.1/dbfopen.c0000664000175000017500000025572514655412155012042 00000000000000/****************************************************************************** * * Project: Shapelib * Purpose: Implementation of .dbf access API documented in dbf_api.html. * Author: Frank Warmerdam, warmerdam@pobox.com * ****************************************************************************** * Copyright (c) 1999, Frank Warmerdam * Copyright (c) 2012-2024, Even Rouault * * SPDX-License-Identifier: MIT OR LGPL-2.0-or-later ******************************************************************************/ #include "shapefil_private.h" #include #include #include #include #include #include #ifdef USE_CPL #include "cpl_string.h" #else #if defined(_MSC_VER) #define STRCASECMP(a, b) (_stricmp(a, b)) #elif defined(_WIN32) #define STRCASECMP(a, b) (stricmp(a, b)) #else #include #define STRCASECMP(a, b) (strcasecmp(a, b)) #endif #if defined(_MSC_VER) #if _MSC_VER < 1900 #define snprintf _snprintf #endif #elif defined(_WIN32) #ifndef snprintf #define snprintf _snprintf #endif #endif #define CPLsprintf sprintf #define CPLsnprintf snprintf #endif #ifndef FALSE #define FALSE 0 #define TRUE 1 #endif /* File header size */ #define XBASE_FILEHDR_SZ 32 #define HEADER_RECORD_TERMINATOR 0x0D /* See http://www.manmrk.net/tutorials/database/xbase/dbf.html */ #define END_OF_FILE_CHARACTER 0x1A #ifdef USE_CPL CPL_INLINE static void CPL_IGNORE_RET_VAL_INT(CPL_UNUSED int unused) { } #else #define CPL_IGNORE_RET_VAL_INT(x) x #endif /************************************************************************/ /* DBFWriteHeader() */ /* */ /* This is called to write out the file header, and field */ /* descriptions before writing any actual data records. This */ /* also computes all the DBFDataSet field offset/size/decimals */ /* and so forth values. */ /************************************************************************/ static void DBFWriteHeader(DBFHandle psDBF) { unsigned char abyHeader[XBASE_FILEHDR_SZ] = {0}; if (!psDBF->bNoHeader) return; psDBF->bNoHeader = FALSE; /* -------------------------------------------------------------------- */ /* Initialize the file header information. */ /* -------------------------------------------------------------------- */ abyHeader[0] = 0x03; /* memo field? - just copying */ /* write out update date */ abyHeader[1] = STATIC_CAST(unsigned char, psDBF->nUpdateYearSince1900); abyHeader[2] = STATIC_CAST(unsigned char, psDBF->nUpdateMonth); abyHeader[3] = STATIC_CAST(unsigned char, psDBF->nUpdateDay); /* record count preset at zero */ abyHeader[8] = STATIC_CAST(unsigned char, psDBF->nHeaderLength % 256); abyHeader[9] = STATIC_CAST(unsigned char, psDBF->nHeaderLength / 256); abyHeader[10] = STATIC_CAST(unsigned char, psDBF->nRecordLength % 256); abyHeader[11] = STATIC_CAST(unsigned char, psDBF->nRecordLength / 256); abyHeader[29] = STATIC_CAST(unsigned char, psDBF->iLanguageDriver); /* -------------------------------------------------------------------- */ /* Write the initial 32 byte file header, and all the field */ /* descriptions. */ /* -------------------------------------------------------------------- */ psDBF->sHooks.FSeek(psDBF->fp, 0, 0); psDBF->sHooks.FWrite(abyHeader, XBASE_FILEHDR_SZ, 1, psDBF->fp); psDBF->sHooks.FWrite(psDBF->pszHeader, XBASE_FLDHDR_SZ, psDBF->nFields, psDBF->fp); /* -------------------------------------------------------------------- */ /* Write out the newline character if there is room for it. */ /* -------------------------------------------------------------------- */ if (psDBF->nHeaderLength > XBASE_FLDHDR_SZ * psDBF->nFields + XBASE_FLDHDR_SZ) { char cNewline = HEADER_RECORD_TERMINATOR; psDBF->sHooks.FWrite(&cNewline, 1, 1, psDBF->fp); } /* -------------------------------------------------------------------- */ /* If the file is new, add a EOF character. */ /* -------------------------------------------------------------------- */ if (psDBF->nRecords == 0 && psDBF->bWriteEndOfFileChar) { char ch = END_OF_FILE_CHARACTER; psDBF->sHooks.FWrite(&ch, 1, 1, psDBF->fp); } } /************************************************************************/ /* DBFFlushRecord() */ /* */ /* Write out the current record if there is one. */ /************************************************************************/ static bool DBFFlushRecord(DBFHandle psDBF) { if (psDBF->bCurrentRecordModified && psDBF->nCurrentRecord > -1) { psDBF->bCurrentRecordModified = FALSE; const SAOffset nRecordOffset = psDBF->nRecordLength * STATIC_CAST(SAOffset, psDBF->nCurrentRecord) + psDBF->nHeaderLength; /* -------------------------------------------------------------------- */ /* Guard FSeek with check for whether we're already at position; */ /* no-op FSeeks defeat network filesystems' write buffering. */ /* -------------------------------------------------------------------- */ if (psDBF->bRequireNextWriteSeek || psDBF->sHooks.FTell(psDBF->fp) != nRecordOffset) { if (psDBF->sHooks.FSeek(psDBF->fp, nRecordOffset, 0) != 0) { char szMessage[128]; snprintf( szMessage, sizeof(szMessage), "Failure seeking to position before writing DBF record %d.", psDBF->nCurrentRecord); psDBF->sHooks.Error(szMessage); return false; } } if (psDBF->sHooks.FWrite(psDBF->pszCurrentRecord, psDBF->nRecordLength, 1, psDBF->fp) != 1) { char szMessage[128]; snprintf(szMessage, sizeof(szMessage), "Failure writing DBF record %d.", psDBF->nCurrentRecord); psDBF->sHooks.Error(szMessage); return false; } /* -------------------------------------------------------------------- */ /* If next op is also a write, allow possible skipping of FSeek. */ /* -------------------------------------------------------------------- */ psDBF->bRequireNextWriteSeek = FALSE; if (psDBF->nCurrentRecord == psDBF->nRecords - 1) { if (psDBF->bWriteEndOfFileChar) { char ch = END_OF_FILE_CHARACTER; psDBF->sHooks.FWrite(&ch, 1, 1, psDBF->fp); } } } return true; } /************************************************************************/ /* DBFLoadRecord() */ /************************************************************************/ static bool DBFLoadRecord(DBFHandle psDBF, int iRecord) { if (psDBF->nCurrentRecord != iRecord) { if (!DBFFlushRecord(psDBF)) return false; const SAOffset nRecordOffset = psDBF->nRecordLength * STATIC_CAST(SAOffset, iRecord) + psDBF->nHeaderLength; if (psDBF->sHooks.FSeek(psDBF->fp, nRecordOffset, SEEK_SET) != 0) { char szMessage[128]; snprintf(szMessage, sizeof(szMessage), "fseek(%ld) failed on DBF file.", STATIC_CAST(long, nRecordOffset)); psDBF->sHooks.Error(szMessage); return false; } if (psDBF->sHooks.FRead(psDBF->pszCurrentRecord, psDBF->nRecordLength, 1, psDBF->fp) != 1) { char szMessage[128]; snprintf(szMessage, sizeof(szMessage), "fread(%d) failed on DBF file.", psDBF->nRecordLength); psDBF->sHooks.Error(szMessage); return false; } psDBF->nCurrentRecord = iRecord; /* -------------------------------------------------------------------- */ /* Require a seek for next write in case of mixed R/W operations. */ /* -------------------------------------------------------------------- */ psDBF->bRequireNextWriteSeek = TRUE; } return true; } /************************************************************************/ /* DBFUpdateHeader() */ /************************************************************************/ void SHPAPI_CALL DBFUpdateHeader(DBFHandle psDBF) { if (psDBF->bNoHeader) DBFWriteHeader(psDBF); if (!DBFFlushRecord(psDBF)) return; psDBF->sHooks.FSeek(psDBF->fp, 0, 0); unsigned char abyFileHeader[XBASE_FILEHDR_SZ] = {0}; psDBF->sHooks.FRead(abyFileHeader, 1, sizeof(abyFileHeader), psDBF->fp); abyFileHeader[1] = STATIC_CAST(unsigned char, psDBF->nUpdateYearSince1900); abyFileHeader[2] = STATIC_CAST(unsigned char, psDBF->nUpdateMonth); abyFileHeader[3] = STATIC_CAST(unsigned char, psDBF->nUpdateDay); abyFileHeader[4] = STATIC_CAST(unsigned char, psDBF->nRecords & 0xFF); abyFileHeader[5] = STATIC_CAST(unsigned char, (psDBF->nRecords >> 8) & 0xFF); abyFileHeader[6] = STATIC_CAST(unsigned char, (psDBF->nRecords >> 16) & 0xFF); abyFileHeader[7] = STATIC_CAST(unsigned char, (psDBF->nRecords >> 24) & 0xFF); psDBF->sHooks.FSeek(psDBF->fp, 0, 0); psDBF->sHooks.FWrite(abyFileHeader, sizeof(abyFileHeader), 1, psDBF->fp); psDBF->sHooks.FFlush(psDBF->fp); } /************************************************************************/ /* DBFSetLastModifiedDate() */ /************************************************************************/ void SHPAPI_CALL DBFSetLastModifiedDate(DBFHandle psDBF, int nYYSince1900, int nMM, int nDD) { psDBF->nUpdateYearSince1900 = nYYSince1900; psDBF->nUpdateMonth = nMM; psDBF->nUpdateDay = nDD; } /************************************************************************/ /* DBFOpen() */ /* */ /* Open a .dbf file. */ /************************************************************************/ DBFHandle SHPAPI_CALL DBFOpen(const char *pszFilename, const char *pszAccess) { SAHooks sHooks; SASetupDefaultHooks(&sHooks); return DBFOpenLL(pszFilename, pszAccess, &sHooks); } /************************************************************************/ /* DBFGetLenWithoutExtension() */ /************************************************************************/ static int DBFGetLenWithoutExtension(const char *pszBasename) { const int nLen = STATIC_CAST(int, strlen(pszBasename)); for (int i = nLen - 1; i > 0 && pszBasename[i] != '/' && pszBasename[i] != '\\'; i--) { if (pszBasename[i] == '.') { return i; } } return nLen; } /************************************************************************/ /* DBFOpen() */ /* */ /* Open a .dbf file. */ /************************************************************************/ DBFHandle SHPAPI_CALL DBFOpenLL(const char *pszFilename, const char *pszAccess, const SAHooks *psHooks) { /* -------------------------------------------------------------------- */ /* We only allow the access strings "rb" and "r+". */ /* -------------------------------------------------------------------- */ if (strcmp(pszAccess, "r") != 0 && strcmp(pszAccess, "r+") != 0 && strcmp(pszAccess, "rb") != 0 && strcmp(pszAccess, "rb+") != 0 && strcmp(pszAccess, "r+b") != 0) return SHPLIB_NULLPTR; if (strcmp(pszAccess, "r") == 0) pszAccess = "rb"; if (strcmp(pszAccess, "r+") == 0) pszAccess = "rb+"; /* -------------------------------------------------------------------- */ /* Compute the base (layer) name. If there is any extension */ /* on the passed in filename we will strip it off. */ /* -------------------------------------------------------------------- */ const int nLenWithoutExtension = DBFGetLenWithoutExtension(pszFilename); char *pszFullname = STATIC_CAST(char *, malloc(nLenWithoutExtension + 5)); memcpy(pszFullname, pszFilename, nLenWithoutExtension); memcpy(pszFullname + nLenWithoutExtension, ".dbf", 5); DBFHandle psDBF = STATIC_CAST(DBFHandle, calloc(1, sizeof(DBFInfo))); psDBF->fp = psHooks->FOpen(pszFullname, pszAccess, psHooks->pvUserData); memcpy(&(psDBF->sHooks), psHooks, sizeof(SAHooks)); if (psDBF->fp == SHPLIB_NULLPTR) { memcpy(pszFullname + nLenWithoutExtension, ".DBF", 5); psDBF->fp = psDBF->sHooks.FOpen(pszFullname, pszAccess, psHooks->pvUserData); } memcpy(pszFullname + nLenWithoutExtension, ".cpg", 5); SAFile pfCPG = psHooks->FOpen(pszFullname, "r", psHooks->pvUserData); if (pfCPG == SHPLIB_NULLPTR) { memcpy(pszFullname + nLenWithoutExtension, ".CPG", 5); pfCPG = psHooks->FOpen(pszFullname, "r", psHooks->pvUserData); } free(pszFullname); if (psDBF->fp == SHPLIB_NULLPTR) { free(psDBF); if (pfCPG) psHooks->FClose(pfCPG); return SHPLIB_NULLPTR; } psDBF->bNoHeader = FALSE; psDBF->nCurrentRecord = -1; psDBF->bCurrentRecordModified = FALSE; /* -------------------------------------------------------------------- */ /* Read Table Header info */ /* -------------------------------------------------------------------- */ const int nBufSize = 500; unsigned char *pabyBuf = STATIC_CAST(unsigned char *, malloc(nBufSize)); if (psDBF->sHooks.FRead(pabyBuf, XBASE_FILEHDR_SZ, 1, psDBF->fp) != 1) { psDBF->sHooks.FClose(psDBF->fp); if (pfCPG) psDBF->sHooks.FClose(pfCPG); free(pabyBuf); free(psDBF); return SHPLIB_NULLPTR; } DBFSetLastModifiedDate(psDBF, pabyBuf[1], pabyBuf[2], pabyBuf[3]); psDBF->nRecords = pabyBuf[4] | (pabyBuf[5] << 8) | (pabyBuf[6] << 16) | ((pabyBuf[7] & 0x7f) << 24); const int nHeadLen = pabyBuf[8] | (pabyBuf[9] << 8); psDBF->nHeaderLength = nHeadLen; psDBF->nRecordLength = pabyBuf[10] | (pabyBuf[11] << 8); psDBF->iLanguageDriver = pabyBuf[29]; if (psDBF->nRecordLength == 0 || nHeadLen < XBASE_FILEHDR_SZ) { psDBF->sHooks.FClose(psDBF->fp); if (pfCPG) psDBF->sHooks.FClose(pfCPG); free(pabyBuf); free(psDBF); return SHPLIB_NULLPTR; } const int nFields = (nHeadLen - XBASE_FILEHDR_SZ) / XBASE_FLDHDR_SZ; psDBF->nFields = nFields; /* coverity[tainted_data] */ psDBF->pszCurrentRecord = STATIC_CAST(char *, malloc(psDBF->nRecordLength)); /* -------------------------------------------------------------------- */ /* Figure out the code page from the LDID and CPG */ /* -------------------------------------------------------------------- */ psDBF->pszCodePage = SHPLIB_NULLPTR; if (pfCPG) { memset(pabyBuf, 0, nBufSize); psDBF->sHooks.FRead(pabyBuf, 1, nBufSize - 1, pfCPG); const size_t n = strcspn(REINTERPRET_CAST(char *, pabyBuf), "\n\r"); if (n > 0) { pabyBuf[n] = '\0'; psDBF->pszCodePage = STATIC_CAST(char *, malloc(n + 1)); memcpy(psDBF->pszCodePage, pabyBuf, n + 1); } psDBF->sHooks.FClose(pfCPG); } if (psDBF->pszCodePage == SHPLIB_NULLPTR && pabyBuf[29] != 0) { snprintf(REINTERPRET_CAST(char *, pabyBuf), nBufSize, "LDID/%d", psDBF->iLanguageDriver); psDBF->pszCodePage = STATIC_CAST( char *, malloc(strlen(REINTERPRET_CAST(char *, pabyBuf)) + 1)); strcpy(psDBF->pszCodePage, REINTERPRET_CAST(char *, pabyBuf)); } /* -------------------------------------------------------------------- */ /* Read in Field Definitions */ /* -------------------------------------------------------------------- */ pabyBuf = STATIC_CAST(unsigned char *, realloc(pabyBuf, nHeadLen)); psDBF->pszHeader = REINTERPRET_CAST(char *, pabyBuf); psDBF->sHooks.FSeek(psDBF->fp, XBASE_FILEHDR_SZ, 0); if (psDBF->sHooks.FRead(pabyBuf, nHeadLen - XBASE_FILEHDR_SZ, 1, psDBF->fp) != 1) { psDBF->sHooks.FClose(psDBF->fp); free(pabyBuf); free(psDBF->pszCurrentRecord); free(psDBF->pszCodePage); free(psDBF); return SHPLIB_NULLPTR; } psDBF->panFieldOffset = STATIC_CAST(int *, malloc(sizeof(int) * nFields)); psDBF->panFieldSize = STATIC_CAST(int *, malloc(sizeof(int) * nFields)); psDBF->panFieldDecimals = STATIC_CAST(int *, malloc(sizeof(int) * nFields)); psDBF->pachFieldType = STATIC_CAST(char *, malloc(sizeof(char) * nFields)); for (int iField = 0; iField < nFields; iField++) { const unsigned char *pabyFInfo = pabyBuf + iField * XBASE_FLDHDR_SZ; if (pabyFInfo[0] == HEADER_RECORD_TERMINATOR) { psDBF->nFields = iField; break; } if (pabyFInfo[11] == 'N' || pabyFInfo[11] == 'F') { psDBF->panFieldSize[iField] = pabyFInfo[16]; psDBF->panFieldDecimals[iField] = pabyFInfo[17]; } else { psDBF->panFieldSize[iField] = pabyFInfo[16]; psDBF->panFieldDecimals[iField] = 0; /* ** The following seemed to be used sometimes to handle files with long ** string fields, but in other cases (such as bug 1202) the decimals field ** just seems to indicate some sort of preferred formatting, not very ** wide fields. So I have disabled this code. FrankW. psDBF->panFieldSize[iField] = pabyFInfo[16] + pabyFInfo[17]*256; psDBF->panFieldDecimals[iField] = 0; */ } psDBF->pachFieldType[iField] = STATIC_CAST(char, pabyFInfo[11]); if (iField == 0) psDBF->panFieldOffset[iField] = 1; else psDBF->panFieldOffset[iField] = psDBF->panFieldOffset[iField - 1] + psDBF->panFieldSize[iField - 1]; } /* Check that the total width of fields does not exceed the record width */ if (psDBF->nFields > 0 && psDBF->panFieldOffset[psDBF->nFields - 1] + psDBF->panFieldSize[psDBF->nFields - 1] > psDBF->nRecordLength) { DBFClose(psDBF); return SHPLIB_NULLPTR; } DBFSetWriteEndOfFileChar(psDBF, TRUE); psDBF->bRequireNextWriteSeek = TRUE; return (psDBF); } /************************************************************************/ /* DBFClose() */ /************************************************************************/ void SHPAPI_CALL DBFClose(DBFHandle psDBF) { if (psDBF == SHPLIB_NULLPTR) return; /* -------------------------------------------------------------------- */ /* Write out header if not already written. */ /* -------------------------------------------------------------------- */ if (psDBF->bNoHeader) DBFWriteHeader(psDBF); CPL_IGNORE_RET_VAL_INT(DBFFlushRecord(psDBF)); /* -------------------------------------------------------------------- */ /* Update last access date, and number of records if we have */ /* write access. */ /* -------------------------------------------------------------------- */ if (psDBF->bUpdated) DBFUpdateHeader(psDBF); /* -------------------------------------------------------------------- */ /* Close, and free resources. */ /* -------------------------------------------------------------------- */ psDBF->sHooks.FClose(psDBF->fp); if (psDBF->panFieldOffset != SHPLIB_NULLPTR) { free(psDBF->panFieldOffset); free(psDBF->panFieldSize); free(psDBF->panFieldDecimals); free(psDBF->pachFieldType); } if (psDBF->pszWorkField != SHPLIB_NULLPTR) free(psDBF->pszWorkField); free(psDBF->pszHeader); free(psDBF->pszCurrentRecord); free(psDBF->pszCodePage); free(psDBF); } /************************************************************************/ /* DBFCreate() */ /* */ /* Create a new .dbf file with default code page LDID/87 (0x57) */ /************************************************************************/ DBFHandle SHPAPI_CALL DBFCreate(const char *pszFilename) { return DBFCreateEx(pszFilename, "LDID/87"); // 0x57 } /************************************************************************/ /* DBFCreateEx() */ /* */ /* Create a new .dbf file. */ /************************************************************************/ DBFHandle SHPAPI_CALL DBFCreateEx(const char *pszFilename, const char *pszCodePage) { SAHooks sHooks; SASetupDefaultHooks(&sHooks); return DBFCreateLL(pszFilename, pszCodePage, &sHooks); } /************************************************************************/ /* DBFCreate() */ /* */ /* Create a new .dbf file. */ /************************************************************************/ DBFHandle SHPAPI_CALL DBFCreateLL(const char *pszFilename, const char *pszCodePage, const SAHooks *psHooks) { /* -------------------------------------------------------------------- */ /* Compute the base (layer) name. If there is any extension */ /* on the passed in filename we will strip it off. */ /* -------------------------------------------------------------------- */ const int nLenWithoutExtension = DBFGetLenWithoutExtension(pszFilename); char *pszFullname = STATIC_CAST(char *, malloc(nLenWithoutExtension + 5)); memcpy(pszFullname, pszFilename, nLenWithoutExtension); memcpy(pszFullname + nLenWithoutExtension, ".dbf", 5); /* -------------------------------------------------------------------- */ /* Create the file. */ /* -------------------------------------------------------------------- */ SAFile fp = psHooks->FOpen(pszFullname, "wb+", psHooks->pvUserData); if (fp == SHPLIB_NULLPTR) { free(pszFullname); return SHPLIB_NULLPTR; } memcpy(pszFullname + nLenWithoutExtension, ".cpg", 5); int ldid = -1; if (pszCodePage != SHPLIB_NULLPTR) { if (strncmp(pszCodePage, "LDID/", 5) == 0) { ldid = atoi(pszCodePage + 5); if (ldid > 255) ldid = -1; // don't use 0 to indicate out of range as LDID/0 is // a valid one } if (ldid < 0) { SAFile fpCPG = psHooks->FOpen(pszFullname, "w", psHooks->pvUserData); psHooks->FWrite( CONST_CAST(void *, STATIC_CAST(const void *, pszCodePage)), strlen(pszCodePage), 1, fpCPG); psHooks->FClose(fpCPG); } } if (pszCodePage == SHPLIB_NULLPTR || ldid >= 0) { psHooks->Remove(pszFullname, psHooks->pvUserData); } free(pszFullname); /* -------------------------------------------------------------------- */ /* Create the info structure. */ /* -------------------------------------------------------------------- */ DBFHandle psDBF = STATIC_CAST(DBFHandle, calloc(1, sizeof(DBFInfo))); memcpy(&(psDBF->sHooks), psHooks, sizeof(SAHooks)); psDBF->fp = fp; psDBF->nRecords = 0; psDBF->nFields = 0; psDBF->nRecordLength = 1; psDBF->nHeaderLength = XBASE_FILEHDR_SZ + 1; /* + 1 for HEADER_RECORD_TERMINATOR */ psDBF->panFieldOffset = SHPLIB_NULLPTR; psDBF->panFieldSize = SHPLIB_NULLPTR; psDBF->panFieldDecimals = SHPLIB_NULLPTR; psDBF->pachFieldType = SHPLIB_NULLPTR; psDBF->pszHeader = SHPLIB_NULLPTR; psDBF->nCurrentRecord = -1; psDBF->bCurrentRecordModified = FALSE; psDBF->pszCurrentRecord = SHPLIB_NULLPTR; psDBF->bNoHeader = TRUE; psDBF->iLanguageDriver = ldid > 0 ? ldid : 0; psDBF->pszCodePage = SHPLIB_NULLPTR; if (pszCodePage) { psDBF->pszCodePage = STATIC_CAST(char *, malloc(strlen(pszCodePage) + 1)); strcpy(psDBF->pszCodePage, pszCodePage); } DBFSetLastModifiedDate(psDBF, 95, 7, 26); /* dummy date */ DBFSetWriteEndOfFileChar(psDBF, TRUE); psDBF->bRequireNextWriteSeek = TRUE; return (psDBF); } /************************************************************************/ /* DBFAddField() */ /* */ /* Add a field to a newly created .dbf or to an existing one */ /************************************************************************/ int SHPAPI_CALL DBFAddField(DBFHandle psDBF, const char *pszFieldName, DBFFieldType eType, int nWidth, int nDecimals) { char chNativeType; if (eType == FTLogical) chNativeType = 'L'; else if (eType == FTDate) chNativeType = 'D'; else if (eType == FTString) chNativeType = 'C'; else chNativeType = 'N'; return DBFAddNativeFieldType(psDBF, pszFieldName, chNativeType, nWidth, nDecimals); } /************************************************************************/ /* DBFGetNullCharacter() */ /************************************************************************/ static char DBFGetNullCharacter(char chType) { switch (chType) { case 'N': case 'F': return '*'; case 'D': return '0'; case 'L': return '?'; default: return ' '; } } /************************************************************************/ /* DBFAddField() */ /* */ /* Add a field to a newly created .dbf file before any records */ /* are written. */ /************************************************************************/ int SHPAPI_CALL DBFAddNativeFieldType(DBFHandle psDBF, const char *pszFieldName, char chType, int nWidth, int nDecimals) { /* make sure that everything is written in .dbf */ if (!DBFFlushRecord(psDBF)) return -1; if (psDBF->nHeaderLength + XBASE_FLDHDR_SZ > 65535) { char szMessage[128]; snprintf(szMessage, sizeof(szMessage), "Cannot add field %s. Header length limit reached " "(max 65535 bytes, 2046 fields).", pszFieldName); psDBF->sHooks.Error(szMessage); return -1; } /* -------------------------------------------------------------------- */ /* Do some checking to ensure we can add records to this file. */ /* -------------------------------------------------------------------- */ if (nWidth < 1) return -1; if (nWidth > XBASE_FLD_MAX_WIDTH) nWidth = XBASE_FLD_MAX_WIDTH; if (psDBF->nRecordLength + nWidth > 65535) { char szMessage[128]; snprintf(szMessage, sizeof(szMessage), "Cannot add field %s. Record length limit reached " "(max 65535 bytes).", pszFieldName); psDBF->sHooks.Error(szMessage); return -1; } const int nOldRecordLength = psDBF->nRecordLength; const int nOldHeaderLength = psDBF->nHeaderLength; /* -------------------------------------------------------------------- */ /* realloc all the arrays larger to hold the additional field */ /* information. */ /* -------------------------------------------------------------------- */ psDBF->nFields++; psDBF->panFieldOffset = STATIC_CAST( int *, realloc(psDBF->panFieldOffset, sizeof(int) * psDBF->nFields)); psDBF->panFieldSize = STATIC_CAST( int *, realloc(psDBF->panFieldSize, sizeof(int) * psDBF->nFields)); psDBF->panFieldDecimals = STATIC_CAST( int *, realloc(psDBF->panFieldDecimals, sizeof(int) * psDBF->nFields)); psDBF->pachFieldType = STATIC_CAST( char *, realloc(psDBF->pachFieldType, sizeof(char) * psDBF->nFields)); /* -------------------------------------------------------------------- */ /* Assign the new field information fields. */ /* -------------------------------------------------------------------- */ psDBF->panFieldOffset[psDBF->nFields - 1] = psDBF->nRecordLength; psDBF->nRecordLength += nWidth; psDBF->panFieldSize[psDBF->nFields - 1] = nWidth; psDBF->panFieldDecimals[psDBF->nFields - 1] = nDecimals; psDBF->pachFieldType[psDBF->nFields - 1] = chType; /* -------------------------------------------------------------------- */ /* Extend the required header information. */ /* -------------------------------------------------------------------- */ psDBF->nHeaderLength += XBASE_FLDHDR_SZ; psDBF->bUpdated = FALSE; psDBF->pszHeader = STATIC_CAST( char *, realloc(psDBF->pszHeader, psDBF->nFields * XBASE_FLDHDR_SZ)); char *pszFInfo = psDBF->pszHeader + XBASE_FLDHDR_SZ * (psDBF->nFields - 1); for (int i = 0; i < XBASE_FLDHDR_SZ; i++) pszFInfo[i] = '\0'; strncpy(pszFInfo, pszFieldName, XBASE_FLDNAME_LEN_WRITE); pszFInfo[11] = psDBF->pachFieldType[psDBF->nFields - 1]; if (chType == 'C') { pszFInfo[16] = STATIC_CAST(unsigned char, nWidth % 256); pszFInfo[17] = STATIC_CAST(unsigned char, nWidth / 256); } else { pszFInfo[16] = STATIC_CAST(unsigned char, nWidth); pszFInfo[17] = STATIC_CAST(unsigned char, nDecimals); } /* -------------------------------------------------------------------- */ /* Make the current record buffer appropriately larger. */ /* -------------------------------------------------------------------- */ psDBF->pszCurrentRecord = STATIC_CAST( char *, realloc(psDBF->pszCurrentRecord, psDBF->nRecordLength)); /* we're done if dealing with new .dbf */ if (psDBF->bNoHeader) return (psDBF->nFields - 1); /* -------------------------------------------------------------------- */ /* For existing .dbf file, shift records */ /* -------------------------------------------------------------------- */ /* alloc record */ char *pszRecord = STATIC_CAST(char *, malloc(sizeof(char) * psDBF->nRecordLength)); const char chFieldFill = DBFGetNullCharacter(chType); SAOffset nRecordOffset; for (int i = psDBF->nRecords - 1; i >= 0; --i) { nRecordOffset = nOldRecordLength * STATIC_CAST(SAOffset, i) + nOldHeaderLength; /* load record */ psDBF->sHooks.FSeek(psDBF->fp, nRecordOffset, 0); if (psDBF->sHooks.FRead(pszRecord, nOldRecordLength, 1, psDBF->fp) != 1) { free(pszRecord); return -1; } /* set new field's value to NULL */ memset(pszRecord + nOldRecordLength, chFieldFill, nWidth); nRecordOffset = psDBF->nRecordLength * STATIC_CAST(SAOffset, i) + psDBF->nHeaderLength; /* move record to the new place*/ psDBF->sHooks.FSeek(psDBF->fp, nRecordOffset, 0); psDBF->sHooks.FWrite(pszRecord, psDBF->nRecordLength, 1, psDBF->fp); } if (psDBF->bWriteEndOfFileChar) { char ch = END_OF_FILE_CHARACTER; nRecordOffset = psDBF->nRecordLength * STATIC_CAST(SAOffset, psDBF->nRecords) + psDBF->nHeaderLength; psDBF->sHooks.FSeek(psDBF->fp, nRecordOffset, 0); psDBF->sHooks.FWrite(&ch, 1, 1, psDBF->fp); } /* free record */ free(pszRecord); /* force update of header with new header, record length and new field */ psDBF->bNoHeader = TRUE; DBFUpdateHeader(psDBF); psDBF->nCurrentRecord = -1; psDBF->bCurrentRecordModified = FALSE; psDBF->bUpdated = TRUE; return (psDBF->nFields - 1); } /************************************************************************/ /* DBFReadAttribute() */ /* */ /* Read one of the attribute fields of a record. */ /************************************************************************/ static void *DBFReadAttribute(DBFHandle psDBF, int hEntity, int iField, char chReqType) { /* -------------------------------------------------------------------- */ /* Verify selection. */ /* -------------------------------------------------------------------- */ if (hEntity < 0 || hEntity >= psDBF->nRecords) return SHPLIB_NULLPTR; if (iField < 0 || iField >= psDBF->nFields) return SHPLIB_NULLPTR; /* -------------------------------------------------------------------- */ /* Have we read the record? */ /* -------------------------------------------------------------------- */ if (!DBFLoadRecord(psDBF, hEntity)) return SHPLIB_NULLPTR; const unsigned char *pabyRec = REINTERPRET_CAST(const unsigned char *, psDBF->pszCurrentRecord); /* -------------------------------------------------------------------- */ /* Ensure we have room to extract the target field. */ /* -------------------------------------------------------------------- */ if (psDBF->panFieldSize[iField] >= psDBF->nWorkFieldLength) { psDBF->nWorkFieldLength = psDBF->panFieldSize[iField] + 100; if (psDBF->pszWorkField == SHPLIB_NULLPTR) psDBF->pszWorkField = STATIC_CAST(char *, malloc(psDBF->nWorkFieldLength)); else psDBF->pszWorkField = STATIC_CAST( char *, realloc(psDBF->pszWorkField, psDBF->nWorkFieldLength)); } /* -------------------------------------------------------------------- */ /* Extract the requested field. */ /* -------------------------------------------------------------------- */ memcpy(psDBF->pszWorkField, REINTERPRET_CAST(const char *, pabyRec) + psDBF->panFieldOffset[iField], psDBF->panFieldSize[iField]); psDBF->pszWorkField[psDBF->panFieldSize[iField]] = '\0'; void *pReturnField = psDBF->pszWorkField; /* -------------------------------------------------------------------- */ /* Decode the field. */ /* -------------------------------------------------------------------- */ if (chReqType == 'I') { psDBF->fieldValue.nIntField = atoi(psDBF->pszWorkField); pReturnField = &(psDBF->fieldValue.nIntField); } else if (chReqType == 'N') { psDBF->fieldValue.dfDoubleField = psDBF->sHooks.Atof(psDBF->pszWorkField); pReturnField = &(psDBF->fieldValue.dfDoubleField); } /* -------------------------------------------------------------------- */ /* Should we trim white space off the string attribute value? */ /* -------------------------------------------------------------------- */ #ifdef TRIM_DBF_WHITESPACE else { char *pchSrc = psDBF->pszWorkField; char *pchDst = pchSrc; while (*pchSrc == ' ') pchSrc++; while (*pchSrc != '\0') *(pchDst++) = *(pchSrc++); *pchDst = '\0'; while (pchDst != psDBF->pszWorkField && *(--pchDst) == ' ') *pchDst = '\0'; } #endif return pReturnField; } /************************************************************************/ /* DBFReadIntAttribute() */ /* */ /* Read an integer attribute. */ /************************************************************************/ int SHPAPI_CALL DBFReadIntegerAttribute(DBFHandle psDBF, int iRecord, int iField) { int *pnValue = STATIC_CAST(int *, DBFReadAttribute(psDBF, iRecord, iField, 'I')); if (pnValue == SHPLIB_NULLPTR) return 0; else return *pnValue; } /************************************************************************/ /* DBFReadDoubleAttribute() */ /* */ /* Read a double attribute. */ /************************************************************************/ double SHPAPI_CALL DBFReadDoubleAttribute(DBFHandle psDBF, int iRecord, int iField) { double *pdValue = STATIC_CAST(double *, DBFReadAttribute(psDBF, iRecord, iField, 'N')); if (pdValue == SHPLIB_NULLPTR) return 0.0; else return *pdValue; } /************************************************************************/ /* DBFReadStringAttribute() */ /* */ /* Read a string attribute. */ /************************************************************************/ const char SHPAPI_CALL1(*) DBFReadStringAttribute(DBFHandle psDBF, int iRecord, int iField) { return STATIC_CAST(const char *, DBFReadAttribute(psDBF, iRecord, iField, 'C')); } /************************************************************************/ /* DBFReadLogicalAttribute() */ /* */ /* Read a logical attribute. */ /************************************************************************/ const char SHPAPI_CALL1(*) DBFReadLogicalAttribute(DBFHandle psDBF, int iRecord, int iField) { return STATIC_CAST(const char *, DBFReadAttribute(psDBF, iRecord, iField, 'L')); } /************************************************************************/ /* DBFReadDateAttribute() */ /* */ /* Read a date attribute. */ /************************************************************************/ SHPDate SHPAPI_CALL DBFReadDateAttribute(DBFHandle psDBF, int iRecord, int iField) { const char *pdateValue = STATIC_CAST( const char *, DBFReadAttribute(psDBF, iRecord, iField, 'D')); SHPDate date; if (pdateValue == SHPLIB_NULLPTR) { date.year = 0; date.month = 0; date.day = 0; } else if (3 != sscanf(pdateValue, "%4d%2d%2d", &date.year, &date.month, &date.day)) { date.year = 0; date.month = 0; date.day = 0; } return date; } /************************************************************************/ /* DBFIsValueNULL() */ /* */ /* Return TRUE if the passed string is NULL. */ /************************************************************************/ static bool DBFIsValueNULL(char chType, const char *pszValue, int size) { if (pszValue == SHPLIB_NULLPTR) return true; switch (chType) { case 'N': case 'F': /* ** We accept all asterisks or all blanks as NULL ** though according to the spec I think it should be all ** asterisks. */ if (pszValue[0] == '*') return true; for (int i = 0; pszValue[i] != '\0'; i++) { if (pszValue[i] != ' ') return false; } return true; case 'D': { const char DIGIT_ZERO = '0'; /* NULL date fields have value "00000000" or "0"*size */ /* Some DBF files have fields filled with spaces */ /* (trimmed by DBFReadStringAttribute) to indicate null */ /* values for dates (#4265). */ /* And others have ' 0': https://lists.osgeo.org/pipermail/gdal-dev/2023-November/058010.html */ /* And others just empty string: https://github.com/OSGeo/gdal/issues/10405 */ if (pszValue[0] == 0 || strncmp(pszValue, "00000000", 8) == 0 || strcmp(pszValue, " ") == 0 || strcmp(pszValue, "0") == 0) return true; for (int i = 0; i < size; i++) if (pszValue[i] != DIGIT_ZERO) return false; return true; } case 'L': /* NULL boolean fields have value "?" */ return pszValue[0] == '?'; default: /* empty string fields are considered NULL */ return strlen(pszValue) == 0; } } /************************************************************************/ /* DBFIsAttributeNULL() */ /* */ /* Return TRUE if value for field is NULL. */ /* */ /* Contributed by Jim Matthews. */ /************************************************************************/ int SHPAPI_CALL DBFIsAttributeNULL(const DBFHandle psDBF, int iRecord, int iField) { const char *pszValue = DBFReadStringAttribute(psDBF, iRecord, iField); if (pszValue == SHPLIB_NULLPTR) return TRUE; return DBFIsValueNULL(psDBF->pachFieldType[iField], pszValue, psDBF->panFieldSize[iField]); } /************************************************************************/ /* DBFGetFieldCount() */ /* */ /* Return the number of fields in this table. */ /************************************************************************/ int SHPAPI_CALL DBFGetFieldCount(const DBFHandle psDBF) { return (psDBF->nFields); } /************************************************************************/ /* DBFGetRecordCount() */ /* */ /* Return the number of records in this table. */ /************************************************************************/ int SHPAPI_CALL DBFGetRecordCount(const DBFHandle psDBF) { return (psDBF->nRecords); } /************************************************************************/ /* DBFGetFieldInfo() */ /* */ /* Return any requested information about the field. */ /* pszFieldName must be at least XBASE_FLDNAME_LEN_READ+1 (=12) */ /* bytes long. */ /************************************************************************/ DBFFieldType SHPAPI_CALL DBFGetFieldInfo(const DBFHandle psDBF, int iField, char *pszFieldName, int *pnWidth, int *pnDecimals) { if (iField < 0 || iField >= psDBF->nFields) return (FTInvalid); if (pnWidth != SHPLIB_NULLPTR) *pnWidth = psDBF->panFieldSize[iField]; if (pnDecimals != SHPLIB_NULLPTR) *pnDecimals = psDBF->panFieldDecimals[iField]; if (pszFieldName != SHPLIB_NULLPTR) { strncpy(pszFieldName, STATIC_CAST(char *, psDBF->pszHeader) + iField * XBASE_FLDHDR_SZ, XBASE_FLDNAME_LEN_READ); pszFieldName[XBASE_FLDNAME_LEN_READ] = '\0'; for (int i = XBASE_FLDNAME_LEN_READ - 1; i > 0 && pszFieldName[i] == ' '; i--) pszFieldName[i] = '\0'; } if (psDBF->pachFieldType[iField] == 'L') return (FTLogical); else if (psDBF->pachFieldType[iField] == 'D') return (FTDate); else if (psDBF->pachFieldType[iField] == 'N' || psDBF->pachFieldType[iField] == 'F') { if (psDBF->panFieldDecimals[iField] > 0 || psDBF->panFieldSize[iField] >= 10) return (FTDouble); else return (FTInteger); } else { return (FTString); } } /************************************************************************/ /* DBFWriteAttribute() */ /* */ /* Write an attribute record to the file. */ /************************************************************************/ static bool DBFWriteAttribute(DBFHandle psDBF, int hEntity, int iField, void *pValue) { /* -------------------------------------------------------------------- */ /* Is this a valid record? */ /* -------------------------------------------------------------------- */ if (hEntity < 0 || hEntity > psDBF->nRecords) return false; if (psDBF->bNoHeader) DBFWriteHeader(psDBF); /* -------------------------------------------------------------------- */ /* Is this a brand new record? */ /* -------------------------------------------------------------------- */ if (hEntity == psDBF->nRecords) { if (!DBFFlushRecord(psDBF)) return false; psDBF->nRecords++; for (int i = 0; i < psDBF->nRecordLength; i++) psDBF->pszCurrentRecord[i] = ' '; psDBF->nCurrentRecord = hEntity; } /* -------------------------------------------------------------------- */ /* Is this an existing record, but different than the last one */ /* we accessed? */ /* -------------------------------------------------------------------- */ if (!DBFLoadRecord(psDBF, hEntity)) return false; unsigned char *pabyRec = REINTERPRET_CAST(unsigned char *, psDBF->pszCurrentRecord); psDBF->bCurrentRecordModified = TRUE; psDBF->bUpdated = TRUE; /* -------------------------------------------------------------------- */ /* Translate NULL value to valid DBF file representation. */ /* */ /* Contributed by Jim Matthews. */ /* -------------------------------------------------------------------- */ if (pValue == SHPLIB_NULLPTR) { memset(pabyRec + psDBF->panFieldOffset[iField], DBFGetNullCharacter(psDBF->pachFieldType[iField]), psDBF->panFieldSize[iField]); return true; } /* -------------------------------------------------------------------- */ /* Assign all the record fields. */ /* -------------------------------------------------------------------- */ bool nRetResult = true; switch (psDBF->pachFieldType[iField]) { case 'D': case 'N': case 'F': { int nWidth = psDBF->panFieldSize[iField]; char szSField[XBASE_FLD_MAX_WIDTH + 1]; if (STATIC_CAST(int, sizeof(szSField)) - 2 < nWidth) nWidth = sizeof(szSField) - 2; char szFormat[20]; snprintf(szFormat, sizeof(szFormat), "%%%d.%df", nWidth, psDBF->panFieldDecimals[iField]); CPLsnprintf(szSField, sizeof(szSField), szFormat, *STATIC_CAST(double *, pValue)); szSField[sizeof(szSField) - 1] = '\0'; if (STATIC_CAST(int, strlen(szSField)) > psDBF->panFieldSize[iField]) { szSField[psDBF->panFieldSize[iField]] = '\0'; nRetResult = false; } memcpy(REINTERPRET_CAST(char *, pabyRec + psDBF->panFieldOffset[iField]), szSField, strlen(szSField)); break; } case 'L': if (psDBF->panFieldSize[iField] >= 1 && (*STATIC_CAST(char *, pValue) == 'F' || *STATIC_CAST(char *, pValue) == 'T')) { *(pabyRec + psDBF->panFieldOffset[iField]) = *STATIC_CAST(char *, pValue); } else { nRetResult = false; } break; default: { int j; if (STATIC_CAST(int, strlen(STATIC_CAST(char *, pValue))) > psDBF->panFieldSize[iField]) { j = psDBF->panFieldSize[iField]; nRetResult = false; } else { memset(pabyRec + psDBF->panFieldOffset[iField], ' ', psDBF->panFieldSize[iField]); j = STATIC_CAST(int, strlen(STATIC_CAST(char *, pValue))); } strncpy(REINTERPRET_CAST(char *, pabyRec + psDBF->panFieldOffset[iField]), STATIC_CAST(const char *, pValue), j); break; } } return nRetResult; } /************************************************************************/ /* DBFWriteAttributeDirectly() */ /* */ /* Write an attribute record to the file, but without any */ /* reformatting based on type. The provided buffer is written */ /* as is to the field position in the record. */ /************************************************************************/ int SHPAPI_CALL DBFWriteAttributeDirectly(DBFHandle psDBF, int hEntity, int iField, const void *pValue) { /* -------------------------------------------------------------------- */ /* Is this a valid record? */ /* -------------------------------------------------------------------- */ if (hEntity < 0 || hEntity > psDBF->nRecords) return (FALSE); if (psDBF->bNoHeader) DBFWriteHeader(psDBF); /* -------------------------------------------------------------------- */ /* Is this a brand new record? */ /* -------------------------------------------------------------------- */ if (hEntity == psDBF->nRecords) { if (!DBFFlushRecord(psDBF)) return FALSE; psDBF->nRecords++; for (int i = 0; i < psDBF->nRecordLength; i++) psDBF->pszCurrentRecord[i] = ' '; psDBF->nCurrentRecord = hEntity; } /* -------------------------------------------------------------------- */ /* Is this an existing record, but different than the last one */ /* we accessed? */ /* -------------------------------------------------------------------- */ if (!DBFLoadRecord(psDBF, hEntity)) return FALSE; if (iField >= 0) { unsigned char *pabyRec = REINTERPRET_CAST(unsigned char *, psDBF->pszCurrentRecord); /* -------------------------------------------------------------------- */ /* Assign all the record fields. */ /* -------------------------------------------------------------------- */ int j; if (STATIC_CAST(int, strlen(STATIC_CAST(const char *, pValue))) > psDBF->panFieldSize[iField]) j = psDBF->panFieldSize[iField]; else { memset(pabyRec + psDBF->panFieldOffset[iField], ' ', psDBF->panFieldSize[iField]); j = STATIC_CAST(int, strlen(STATIC_CAST(const char *, pValue))); } memcpy( REINTERPRET_CAST(char *, pabyRec + psDBF->panFieldOffset[iField]), STATIC_CAST(const char *, pValue), j); } psDBF->bCurrentRecordModified = TRUE; psDBF->bUpdated = TRUE; return (TRUE); } /************************************************************************/ /* DBFWriteDoubleAttribute() */ /* */ /* Write a double attribute. */ /************************************************************************/ int SHPAPI_CALL DBFWriteDoubleAttribute(DBFHandle psDBF, int iRecord, int iField, double dValue) { return (DBFWriteAttribute(psDBF, iRecord, iField, STATIC_CAST(void *, &dValue))); } /************************************************************************/ /* DBFWriteIntegerAttribute() */ /* */ /* Write an integer attribute. */ /************************************************************************/ int SHPAPI_CALL DBFWriteIntegerAttribute(DBFHandle psDBF, int iRecord, int iField, int nValue) { double dValue = nValue; return (DBFWriteAttribute(psDBF, iRecord, iField, STATIC_CAST(void *, &dValue))); } /************************************************************************/ /* DBFWriteStringAttribute() */ /* */ /* Write a string attribute. */ /************************************************************************/ int SHPAPI_CALL DBFWriteStringAttribute(DBFHandle psDBF, int iRecord, int iField, const char *pszValue) { return ( DBFWriteAttribute(psDBF, iRecord, iField, STATIC_CAST(void *, CONST_CAST(char *, pszValue)))); } /************************************************************************/ /* DBFWriteNULLAttribute() */ /* */ /* Write a NULL attribute. */ /************************************************************************/ int SHPAPI_CALL DBFWriteNULLAttribute(DBFHandle psDBF, int iRecord, int iField) { return (DBFWriteAttribute(psDBF, iRecord, iField, SHPLIB_NULLPTR)); } /************************************************************************/ /* DBFWriteLogicalAttribute() */ /* */ /* Write a logical attribute. */ /************************************************************************/ int SHPAPI_CALL DBFWriteLogicalAttribute(DBFHandle psDBF, int iRecord, int iField, const char lValue) { return ( DBFWriteAttribute(psDBF, iRecord, iField, STATIC_CAST(void *, CONST_CAST(char *, &lValue)))); } /************************************************************************/ /* DBFWriteDateAttribute() */ /* */ /* Write a date attribute. */ /************************************************************************/ int SHPAPI_CALL DBFWriteDateAttribute(DBFHandle psDBF, int iRecord, int iField, const SHPDate *lValue) { if (SHPLIB_NULLPTR == lValue) return false; /* check for supported digit range, but do not check for valid date */ if (lValue->year < 0 || lValue->year > 9999) return false; if (lValue->month < 0 || lValue->month > 99) return false; if (lValue->day < 0 || lValue->day > 99) return false; char dateValue[9]; /* "yyyyMMdd\0" */ snprintf(dateValue, sizeof(dateValue), "%04d%02d%02d", lValue->year, lValue->month, lValue->day); return (DBFWriteAttributeDirectly(psDBF, iRecord, iField, dateValue)); } /************************************************************************/ /* DBFWriteTuple() */ /* */ /* Write an attribute record to the file. */ /************************************************************************/ int SHPAPI_CALL DBFWriteTuple(DBFHandle psDBF, int hEntity, const void *pRawTuple) { /* -------------------------------------------------------------------- */ /* Is this a valid record? */ /* -------------------------------------------------------------------- */ if (hEntity < 0 || hEntity > psDBF->nRecords) return (FALSE); if (psDBF->bNoHeader) DBFWriteHeader(psDBF); /* -------------------------------------------------------------------- */ /* Is this a brand new record? */ /* -------------------------------------------------------------------- */ if (hEntity == psDBF->nRecords) { if (!DBFFlushRecord(psDBF)) return FALSE; psDBF->nRecords++; for (int i = 0; i < psDBF->nRecordLength; i++) psDBF->pszCurrentRecord[i] = ' '; psDBF->nCurrentRecord = hEntity; } /* -------------------------------------------------------------------- */ /* Is this an existing record, but different than the last one */ /* we accessed? */ /* -------------------------------------------------------------------- */ if (!DBFLoadRecord(psDBF, hEntity)) return FALSE; unsigned char *pabyRec = REINTERPRET_CAST(unsigned char *, psDBF->pszCurrentRecord); memcpy(pabyRec, pRawTuple, psDBF->nRecordLength); psDBF->bCurrentRecordModified = TRUE; psDBF->bUpdated = TRUE; return (TRUE); } /************************************************************************/ /* DBFReadTuple() */ /* */ /* Read a complete record. Note that the result is only valid */ /* till the next record read for any reason. */ /************************************************************************/ const char SHPAPI_CALL1(*) DBFReadTuple(DBFHandle psDBF, int hEntity) { if (hEntity < 0 || hEntity >= psDBF->nRecords) return SHPLIB_NULLPTR; if (!DBFLoadRecord(psDBF, hEntity)) return SHPLIB_NULLPTR; return STATIC_CAST(const char *, psDBF->pszCurrentRecord); } /************************************************************************/ /* DBFCloneEmpty() */ /* */ /* Create a new .dbf file with same code page and field */ /* definitions as the given handle. */ /************************************************************************/ DBFHandle SHPAPI_CALL DBFCloneEmpty(const DBFHandle psDBF, const char *pszFilename) { DBFHandle newDBF = DBFCreateLL(pszFilename, psDBF->pszCodePage, &psDBF->sHooks); if (newDBF == SHPLIB_NULLPTR) return SHPLIB_NULLPTR; newDBF->nFields = psDBF->nFields; newDBF->nRecordLength = psDBF->nRecordLength; newDBF->nHeaderLength = psDBF->nHeaderLength; if (psDBF->pszHeader) { newDBF->pszHeader = STATIC_CAST(char *, malloc(XBASE_FLDHDR_SZ * psDBF->nFields)); memcpy(newDBF->pszHeader, psDBF->pszHeader, XBASE_FLDHDR_SZ * psDBF->nFields); } newDBF->panFieldOffset = STATIC_CAST(int *, malloc(sizeof(int) * psDBF->nFields)); memcpy(newDBF->panFieldOffset, psDBF->panFieldOffset, sizeof(int) * psDBF->nFields); newDBF->panFieldSize = STATIC_CAST(int *, malloc(sizeof(int) * psDBF->nFields)); memcpy(newDBF->panFieldSize, psDBF->panFieldSize, sizeof(int) * psDBF->nFields); newDBF->panFieldDecimals = STATIC_CAST(int *, malloc(sizeof(int) * psDBF->nFields)); memcpy(newDBF->panFieldDecimals, psDBF->panFieldDecimals, sizeof(int) * psDBF->nFields); newDBF->pachFieldType = STATIC_CAST(char *, malloc(sizeof(char) * psDBF->nFields)); memcpy(newDBF->pachFieldType, psDBF->pachFieldType, sizeof(char) * psDBF->nFields); newDBF->bNoHeader = TRUE; newDBF->bUpdated = TRUE; newDBF->bWriteEndOfFileChar = psDBF->bWriteEndOfFileChar; DBFWriteHeader(newDBF); DBFClose(newDBF); newDBF = DBFOpen(pszFilename, "rb+"); newDBF->bWriteEndOfFileChar = psDBF->bWriteEndOfFileChar; return (newDBF); } /************************************************************************/ /* DBFGetNativeFieldType() */ /* */ /* Return the DBase field type for the specified field. */ /* */ /* Value can be one of: 'C' (String), 'D' (Date), 'F' (Float), */ /* 'N' (Numeric, with or without decimal), */ /* 'L' (Logical), */ /* 'M' (Memo: 10 digits .DBT block ptr) */ /************************************************************************/ char SHPAPI_CALL DBFGetNativeFieldType(const DBFHandle psDBF, int iField) { if (iField >= 0 && iField < psDBF->nFields) return psDBF->pachFieldType[iField]; return ' '; } /************************************************************************/ /* DBFGetFieldIndex() */ /* */ /* Get the index number for a field in a .dbf file. */ /* */ /* Contributed by Jim Matthews. */ /************************************************************************/ int SHPAPI_CALL DBFGetFieldIndex(const DBFHandle psDBF, const char *pszFieldName) { char name[XBASE_FLDNAME_LEN_READ + 1]; for (int i = 0; i < DBFGetFieldCount(psDBF); i++) { DBFGetFieldInfo(psDBF, i, name, SHPLIB_NULLPTR, SHPLIB_NULLPTR); if (!STRCASECMP(pszFieldName, name)) return (i); } return (-1); } /************************************************************************/ /* DBFIsRecordDeleted() */ /* */ /* Returns TRUE if the indicated record is deleted, otherwise */ /* it returns FALSE. */ /************************************************************************/ int SHPAPI_CALL DBFIsRecordDeleted(const DBFHandle psDBF, int iShape) { /* -------------------------------------------------------------------- */ /* Verify selection. */ /* -------------------------------------------------------------------- */ if (iShape < 0 || iShape >= psDBF->nRecords) return TRUE; /* -------------------------------------------------------------------- */ /* Have we read the record? */ /* -------------------------------------------------------------------- */ if (!DBFLoadRecord(psDBF, iShape)) return FALSE; /* -------------------------------------------------------------------- */ /* '*' means deleted. */ /* -------------------------------------------------------------------- */ return psDBF->pszCurrentRecord[0] == '*'; } /************************************************************************/ /* DBFMarkRecordDeleted() */ /************************************************************************/ int SHPAPI_CALL DBFMarkRecordDeleted(DBFHandle psDBF, int iShape, int bIsDeleted) { /* -------------------------------------------------------------------- */ /* Verify selection. */ /* -------------------------------------------------------------------- */ if (iShape < 0 || iShape >= psDBF->nRecords) return FALSE; /* -------------------------------------------------------------------- */ /* Is this an existing record, but different than the last one */ /* we accessed? */ /* -------------------------------------------------------------------- */ if (!DBFLoadRecord(psDBF, iShape)) return FALSE; /* -------------------------------------------------------------------- */ /* Assign value, marking record as dirty if it changes. */ /* -------------------------------------------------------------------- */ char chNewFlag; if (bIsDeleted) chNewFlag = '*'; else chNewFlag = ' '; if (psDBF->pszCurrentRecord[0] != chNewFlag) { psDBF->bCurrentRecordModified = TRUE; psDBF->bUpdated = TRUE; psDBF->pszCurrentRecord[0] = chNewFlag; } return TRUE; } /************************************************************************/ /* DBFGetCodePage */ /************************************************************************/ const char SHPAPI_CALL1(*) DBFGetCodePage(const DBFHandle psDBF) { if (psDBF == SHPLIB_NULLPTR) return SHPLIB_NULLPTR; return psDBF->pszCodePage; } /************************************************************************/ /* DBFDeleteField() */ /* */ /* Remove a field from a .dbf file */ /************************************************************************/ int SHPAPI_CALL DBFDeleteField(DBFHandle psDBF, int iField) { if (iField < 0 || iField >= psDBF->nFields) return FALSE; /* make sure that everything is written in .dbf */ if (!DBFFlushRecord(psDBF)) return FALSE; /* get information about field to be deleted */ int nOldRecordLength = psDBF->nRecordLength; int nOldHeaderLength = psDBF->nHeaderLength; int nDeletedFieldOffset = psDBF->panFieldOffset[iField]; int nDeletedFieldSize = psDBF->panFieldSize[iField]; /* update fields info */ for (int i = iField + 1; i < psDBF->nFields; i++) { psDBF->panFieldOffset[i - 1] = psDBF->panFieldOffset[i] - nDeletedFieldSize; psDBF->panFieldSize[i - 1] = psDBF->panFieldSize[i]; psDBF->panFieldDecimals[i - 1] = psDBF->panFieldDecimals[i]; psDBF->pachFieldType[i - 1] = psDBF->pachFieldType[i]; } /* resize fields arrays */ psDBF->nFields--; psDBF->panFieldOffset = STATIC_CAST( int *, realloc(psDBF->panFieldOffset, sizeof(int) * psDBF->nFields)); psDBF->panFieldSize = STATIC_CAST( int *, realloc(psDBF->panFieldSize, sizeof(int) * psDBF->nFields)); psDBF->panFieldDecimals = STATIC_CAST( int *, realloc(psDBF->panFieldDecimals, sizeof(int) * psDBF->nFields)); psDBF->pachFieldType = STATIC_CAST( char *, realloc(psDBF->pachFieldType, sizeof(char) * psDBF->nFields)); /* update header information */ psDBF->nHeaderLength -= XBASE_FLDHDR_SZ; psDBF->nRecordLength -= nDeletedFieldSize; /* overwrite field information in header */ memmove(psDBF->pszHeader + iField * XBASE_FLDHDR_SZ, psDBF->pszHeader + (iField + 1) * XBASE_FLDHDR_SZ, sizeof(char) * (psDBF->nFields - iField) * XBASE_FLDHDR_SZ); psDBF->pszHeader = STATIC_CAST( char *, realloc(psDBF->pszHeader, psDBF->nFields * XBASE_FLDHDR_SZ)); /* update size of current record appropriately */ psDBF->pszCurrentRecord = STATIC_CAST( char *, realloc(psDBF->pszCurrentRecord, psDBF->nRecordLength)); /* we're done if we're dealing with not yet created .dbf */ if (psDBF->bNoHeader && psDBF->nRecords == 0) return TRUE; /* force update of header with new header and record length */ psDBF->bNoHeader = TRUE; DBFUpdateHeader(psDBF); /* alloc record */ char *pszRecord = STATIC_CAST(char *, malloc(sizeof(char) * nOldRecordLength)); /* shift records to their new positions */ for (int iRecord = 0; iRecord < psDBF->nRecords; iRecord++) { SAOffset nRecordOffset = nOldRecordLength * STATIC_CAST(SAOffset, iRecord) + nOldHeaderLength; /* load record */ psDBF->sHooks.FSeek(psDBF->fp, nRecordOffset, 0); if (psDBF->sHooks.FRead(pszRecord, nOldRecordLength, 1, psDBF->fp) != 1) { free(pszRecord); return FALSE; } nRecordOffset = psDBF->nRecordLength * STATIC_CAST(SAOffset, iRecord) + psDBF->nHeaderLength; /* move record in two steps */ psDBF->sHooks.FSeek(psDBF->fp, nRecordOffset, 0); psDBF->sHooks.FWrite(pszRecord, nDeletedFieldOffset, 1, psDBF->fp); psDBF->sHooks.FWrite( pszRecord + nDeletedFieldOffset + nDeletedFieldSize, nOldRecordLength - nDeletedFieldOffset - nDeletedFieldSize, 1, psDBF->fp); } if (psDBF->bWriteEndOfFileChar) { char ch = END_OF_FILE_CHARACTER; SAOffset nEOFOffset = psDBF->nRecordLength * STATIC_CAST(SAOffset, psDBF->nRecords) + psDBF->nHeaderLength; psDBF->sHooks.FSeek(psDBF->fp, nEOFOffset, 0); psDBF->sHooks.FWrite(&ch, 1, 1, psDBF->fp); } /* TODO: truncate file */ /* free record */ free(pszRecord); psDBF->nCurrentRecord = -1; psDBF->bCurrentRecordModified = FALSE; psDBF->bUpdated = TRUE; return TRUE; } /************************************************************************/ /* DBFReorderFields() */ /* */ /* Reorder the fields of a .dbf file */ /* */ /* panMap must be exactly psDBF->nFields long and be a permutation */ /* of [0, psDBF->nFields-1]. This assumption will not be asserted in the*/ /* code of DBFReorderFields. */ /************************************************************************/ int SHPAPI_CALL DBFReorderFields(DBFHandle psDBF, const int *panMap) { if (psDBF->nFields == 0) return TRUE; /* make sure that everything is written in .dbf */ if (!DBFFlushRecord(psDBF)) return FALSE; /* a simple malloc() would be enough, but calloc() helps clang static * analyzer */ int *panFieldOffsetNew = STATIC_CAST(int *, calloc(psDBF->nFields, sizeof(int))); int *panFieldSizeNew = STATIC_CAST(int *, calloc(psDBF->nFields, sizeof(int))); int *panFieldDecimalsNew = STATIC_CAST(int *, calloc(psDBF->nFields, sizeof(int))); char *pachFieldTypeNew = STATIC_CAST(char *, calloc(psDBF->nFields, sizeof(char))); char *pszHeaderNew = STATIC_CAST( char *, malloc(sizeof(char) * XBASE_FLDHDR_SZ * psDBF->nFields)); /* shuffle fields definitions */ for (int i = 0; i < psDBF->nFields; i++) { panFieldSizeNew[i] = psDBF->panFieldSize[panMap[i]]; panFieldDecimalsNew[i] = psDBF->panFieldDecimals[panMap[i]]; pachFieldTypeNew[i] = psDBF->pachFieldType[panMap[i]]; memcpy(pszHeaderNew + i * XBASE_FLDHDR_SZ, psDBF->pszHeader + panMap[i] * XBASE_FLDHDR_SZ, XBASE_FLDHDR_SZ); } panFieldOffsetNew[0] = 1; for (int i = 1; i < psDBF->nFields; i++) { panFieldOffsetNew[i] = panFieldOffsetNew[i - 1] + panFieldSizeNew[i - 1]; } free(psDBF->pszHeader); psDBF->pszHeader = pszHeaderNew; bool errorAbort = false; /* we're done if we're dealing with not yet created .dbf */ if (!(psDBF->bNoHeader && psDBF->nRecords == 0)) { /* force update of header with new header and record length */ psDBF->bNoHeader = TRUE; DBFUpdateHeader(psDBF); /* alloc record */ char *pszRecord = STATIC_CAST(char *, malloc(sizeof(char) * psDBF->nRecordLength)); char *pszRecordNew = STATIC_CAST(char *, malloc(sizeof(char) * psDBF->nRecordLength)); /* shuffle fields in records */ for (int iRecord = 0; iRecord < psDBF->nRecords; iRecord++) { const SAOffset nRecordOffset = psDBF->nRecordLength * STATIC_CAST(SAOffset, iRecord) + psDBF->nHeaderLength; /* load record */ psDBF->sHooks.FSeek(psDBF->fp, nRecordOffset, 0); if (psDBF->sHooks.FRead(pszRecord, psDBF->nRecordLength, 1, psDBF->fp) != 1) { errorAbort = true; break; } pszRecordNew[0] = pszRecord[0]; for (int i = 0; i < psDBF->nFields; i++) { memcpy(pszRecordNew + panFieldOffsetNew[i], pszRecord + psDBF->panFieldOffset[panMap[i]], psDBF->panFieldSize[panMap[i]]); } /* write record */ psDBF->sHooks.FSeek(psDBF->fp, nRecordOffset, 0); psDBF->sHooks.FWrite(pszRecordNew, psDBF->nRecordLength, 1, psDBF->fp); } /* free record */ free(pszRecord); free(pszRecordNew); } if (errorAbort) { free(panFieldOffsetNew); free(panFieldSizeNew); free(panFieldDecimalsNew); free(pachFieldTypeNew); psDBF->nCurrentRecord = -1; psDBF->bCurrentRecordModified = FALSE; psDBF->bUpdated = FALSE; return FALSE; } free(psDBF->panFieldOffset); free(psDBF->panFieldSize); free(psDBF->panFieldDecimals); free(psDBF->pachFieldType); psDBF->panFieldOffset = panFieldOffsetNew; psDBF->panFieldSize = panFieldSizeNew; psDBF->panFieldDecimals = panFieldDecimalsNew; psDBF->pachFieldType = pachFieldTypeNew; psDBF->nCurrentRecord = -1; psDBF->bCurrentRecordModified = FALSE; psDBF->bUpdated = TRUE; return TRUE; } /************************************************************************/ /* DBFAlterFieldDefn() */ /* */ /* Alter a field definition in a .dbf file */ /************************************************************************/ int SHPAPI_CALL DBFAlterFieldDefn(DBFHandle psDBF, int iField, const char *pszFieldName, char chType, int nWidth, int nDecimals) { if (iField < 0 || iField >= psDBF->nFields) return FALSE; /* make sure that everything is written in .dbf */ if (!DBFFlushRecord(psDBF)) return FALSE; const char chFieldFill = DBFGetNullCharacter(chType); const char chOldType = psDBF->pachFieldType[iField]; const int nOffset = psDBF->panFieldOffset[iField]; const int nOldWidth = psDBF->panFieldSize[iField]; const int nOldRecordLength = psDBF->nRecordLength; /* -------------------------------------------------------------------- */ /* Do some checking to ensure we can add records to this file. */ /* -------------------------------------------------------------------- */ if (nWidth < 1) return -1; if (nWidth > XBASE_FLD_MAX_WIDTH) nWidth = XBASE_FLD_MAX_WIDTH; /* -------------------------------------------------------------------- */ /* Assign the new field information fields. */ /* -------------------------------------------------------------------- */ psDBF->panFieldSize[iField] = nWidth; psDBF->panFieldDecimals[iField] = nDecimals; psDBF->pachFieldType[iField] = chType; /* -------------------------------------------------------------------- */ /* Update the header information. */ /* -------------------------------------------------------------------- */ char *pszFInfo = psDBF->pszHeader + XBASE_FLDHDR_SZ * iField; for (int i = 0; i < XBASE_FLDHDR_SZ; i++) pszFInfo[i] = '\0'; strncpy(pszFInfo, pszFieldName, XBASE_FLDNAME_LEN_WRITE); pszFInfo[11] = psDBF->pachFieldType[iField]; if (chType == 'C') { pszFInfo[16] = STATIC_CAST(unsigned char, nWidth % 256); pszFInfo[17] = STATIC_CAST(unsigned char, nWidth / 256); } else { pszFInfo[16] = STATIC_CAST(unsigned char, nWidth); pszFInfo[17] = STATIC_CAST(unsigned char, nDecimals); } /* -------------------------------------------------------------------- */ /* Update offsets */ /* -------------------------------------------------------------------- */ if (nWidth != nOldWidth) { for (int i = iField + 1; i < psDBF->nFields; i++) psDBF->panFieldOffset[i] += nWidth - nOldWidth; psDBF->nRecordLength += nWidth - nOldWidth; psDBF->pszCurrentRecord = STATIC_CAST( char *, realloc(psDBF->pszCurrentRecord, psDBF->nRecordLength)); } /* we're done if we're dealing with not yet created .dbf */ if (psDBF->bNoHeader && psDBF->nRecords == 0) return TRUE; /* force update of header with new header and record length */ psDBF->bNoHeader = TRUE; DBFUpdateHeader(psDBF); bool errorAbort = false; if (nWidth < nOldWidth || (nWidth == nOldWidth && chType != chOldType)) { char *pszRecord = STATIC_CAST(char *, malloc(sizeof(char) * nOldRecordLength)); char *pszOldField = STATIC_CAST(char *, malloc(sizeof(char) * (nOldWidth + 1))); pszOldField[nOldWidth] = 0; /* move records to their new positions */ for (int iRecord = 0; iRecord < psDBF->nRecords; iRecord++) { SAOffset nRecordOffset = nOldRecordLength * STATIC_CAST(SAOffset, iRecord) + psDBF->nHeaderLength; /* load record */ psDBF->sHooks.FSeek(psDBF->fp, nRecordOffset, 0); if (psDBF->sHooks.FRead(pszRecord, nOldRecordLength, 1, psDBF->fp) != 1) { errorAbort = true; break; } memcpy(pszOldField, pszRecord + nOffset, nOldWidth); const bool bIsNULL = DBFIsValueNULL(chOldType, pszOldField, nOldWidth); if (nWidth != nOldWidth) { if ((chOldType == 'N' || chOldType == 'F' || chOldType == 'D') && pszOldField[0] == ' ') { /* Strip leading spaces when truncating a numeric field */ memmove(pszRecord + nOffset, pszRecord + nOffset + nOldWidth - nWidth, nWidth); } if (nOffset + nOldWidth < nOldRecordLength) { memmove(pszRecord + nOffset + nWidth, pszRecord + nOffset + nOldWidth, nOldRecordLength - (nOffset + nOldWidth)); } } /* Convert null value to the appropriate value of the new type */ if (bIsNULL) { memset(pszRecord + nOffset, chFieldFill, nWidth); } nRecordOffset = psDBF->nRecordLength * STATIC_CAST(SAOffset, iRecord) + psDBF->nHeaderLength; /* write record */ psDBF->sHooks.FSeek(psDBF->fp, nRecordOffset, 0); psDBF->sHooks.FWrite(pszRecord, psDBF->nRecordLength, 1, psDBF->fp); } if (!errorAbort && psDBF->bWriteEndOfFileChar) { char ch = END_OF_FILE_CHARACTER; SAOffset nRecordOffset = psDBF->nRecordLength * STATIC_CAST(SAOffset, psDBF->nRecords) + psDBF->nHeaderLength; psDBF->sHooks.FSeek(psDBF->fp, nRecordOffset, 0); psDBF->sHooks.FWrite(&ch, 1, 1, psDBF->fp); } /* TODO: truncate file */ free(pszRecord); free(pszOldField); } else if (nWidth > nOldWidth) { char *pszRecord = STATIC_CAST(char *, malloc(sizeof(char) * psDBF->nRecordLength)); char *pszOldField = STATIC_CAST(char *, malloc(sizeof(char) * (nOldWidth + 1))); pszOldField[nOldWidth] = 0; /* move records to their new positions */ for (int iRecord = psDBF->nRecords - 1; iRecord >= 0; iRecord--) { SAOffset nRecordOffset = nOldRecordLength * STATIC_CAST(SAOffset, iRecord) + psDBF->nHeaderLength; /* load record */ psDBF->sHooks.FSeek(psDBF->fp, nRecordOffset, 0); if (psDBF->sHooks.FRead(pszRecord, nOldRecordLength, 1, psDBF->fp) != 1) { errorAbort = true; break; } memcpy(pszOldField, pszRecord + nOffset, nOldWidth); const bool bIsNULL = DBFIsValueNULL(chOldType, pszOldField, nOldWidth); if (nOffset + nOldWidth < nOldRecordLength) { memmove(pszRecord + nOffset + nWidth, pszRecord + nOffset + nOldWidth, nOldRecordLength - (nOffset + nOldWidth)); } /* Convert null value to the appropriate value of the new type */ if (bIsNULL) { memset(pszRecord + nOffset, chFieldFill, nWidth); } else { if ((chOldType == 'N' || chOldType == 'F')) { /* Add leading spaces when expanding a numeric field */ memmove(pszRecord + nOffset + nWidth - nOldWidth, pszRecord + nOffset, nOldWidth); memset(pszRecord + nOffset, ' ', nWidth - nOldWidth); } else { /* Add trailing spaces */ memset(pszRecord + nOffset + nOldWidth, ' ', nWidth - nOldWidth); } } nRecordOffset = psDBF->nRecordLength * STATIC_CAST(SAOffset, iRecord) + psDBF->nHeaderLength; /* write record */ psDBF->sHooks.FSeek(psDBF->fp, nRecordOffset, 0); psDBF->sHooks.FWrite(pszRecord, psDBF->nRecordLength, 1, psDBF->fp); } if (!errorAbort && psDBF->bWriteEndOfFileChar) { char ch = END_OF_FILE_CHARACTER; SAOffset nRecordOffset = psDBF->nRecordLength * STATIC_CAST(SAOffset, psDBF->nRecords) + psDBF->nHeaderLength; psDBF->sHooks.FSeek(psDBF->fp, nRecordOffset, 0); psDBF->sHooks.FWrite(&ch, 1, 1, psDBF->fp); } free(pszRecord); free(pszOldField); } if (errorAbort) { psDBF->nCurrentRecord = -1; psDBF->bCurrentRecordModified = TRUE; psDBF->bUpdated = FALSE; return FALSE; } psDBF->nCurrentRecord = -1; psDBF->bCurrentRecordModified = FALSE; psDBF->bUpdated = TRUE; return TRUE; } /************************************************************************/ /* DBFSetWriteEndOfFileChar() */ /************************************************************************/ void SHPAPI_CALL DBFSetWriteEndOfFileChar(DBFHandle psDBF, int bWriteFlag) { psDBF->bWriteEndOfFileChar = bWriteFlag; } shapelib-1.6.1/shapelib.def0000664000175000017500000000233414573117332012510 00000000000000EXPORTS DBFAddField DBFCloneEmpty DBFClose DBFCreate DBFGetFieldCount DBFGetFieldIndex DBFGetFieldInfo DBFGetNativeFieldType DBFGetRecordCount DBFIsAttributeNULL DBFIsRecordDeleted DBFMarkRecordDeleted DBFOpen DBFReadDateAttribute DBFReadDoubleAttribute DBFReadIntegerAttribute DBFReadLogicalAttribute DBFReadStringAttribute DBFReadTuple DBFSetLastModifiedDate DBFSetWriteEndOfFileChar DBFUpdateHeader DBFWriteDateAttribute DBFWriteDoubleAttribute DBFWriteIntegerAttribute DBFWriteLogicalAttribute DBFWriteNULLAttribute DBFWriteStringAttribute DBFWriteTuple SBNCloseDiskTree SBNOpenDiskTree SBNSearchDiskTree SBNSearchDiskTreeInteger SBNSearchFreeIds SHPCheckBoundsOverlap SHPClose SHPComputeExtents SHPCreate SHPCreateObject SHPCreateSimpleObject SHPCreateTree SHPDestroyObject SHPDestroyTree SHPGetInfo SHPOpen SHPOpenLLEx SHPPartTypeName SHPReadObject SHPRestoreSHX SHPRewindObject SHPSetFastModeReadObject SHPTreeAddShapeId SHPTreeFindLikelyShapes SHPTreeTrimExtraNodes SHPTypeName SHPWriteHeader SHPWriteObject shapelib-1.6.1/LICENSE-MIT0000664000175000017500000000213314655153023011670 00000000000000MIT License Copyright (c) 2011-2024, Even Rouault Copyright (c) 1999-2013, Frank Warmerdam 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.shapelib-1.6.1/web/0000775000175000017500000000000014657064715011105 500000000000000shapelib-1.6.1/web/shapelib-tools.html0000664000175000017500000002511514371676733014646 00000000000000 ShapeLib Tools - User Guide

ShapeLib Tools - User Guide

ShapeLib is maintained by Frank Warmerdam
This guide was created by Eduardo Patto Kanegae < eduardo~at~consultoria~dot~eti~dot~br >

dbfcreate

Purpose: creates a new and empty .dbf file.
Usage: dbfcreate xbase_file [[-s field_name width],[-n field_name width decimals]]...
  • xbase_file: the name of xBase file to be created. Doesn't need the extension.
  • -s field_name width: creates a string field with name field_name and size width.
  • -n field_name width decimals: creates a numeric field with name field_name, width of width and with decimals places sized by decimals.
Example
$ dbfcreate testbase -s NAME 20, -n AREA 9 3, -n VALUE 9 2
# this will create a file named testbase.dbf with 3 fields: NAME ( string (20)), AREA ( float (9,3)) and VALUE ( float (9,2))

dbfadd

Purpose: adds a record into an existing .dbf file.
Usage: dbfadd xbase_file field_values
  • xbase_file: the name of an existing xBase file.
  • field_values: list of values to be inserted into the xBase file. You must specify a number of values equal to the number of fields the xBase file has. The order of values must also reflect the order of fields inside xBase file.
Example
$ dbfadd testbase.dbf REGION1 25.656 150.22
# assuming that testbase.dbf has 3 fields( NAME, AREA and VALUE), this command line will insert a new record into testbase.dbf with the value "REGION1" for NAME, '25.656' for AREA and '150.22' for VALUE field.

dbfdump

Purpose: dumps the content of a xBase file to the terminal.
Usage: dbfdump [-h] [-r] [-m] xbase_file
  • -h: output header info( field descriptions).
  • -r: output raw field info, numeric values not reformatted.
  • -m: output one line per field.
  • xbase_file: the name of an existing xBase file.
Example
$ dbfdump -h testbase.dbf
# assuming that testbase.dbf has 1 record( inserted by previous example using 'dbfadd'), this command line will produce the following output:
Field 0: Type=String, Title=`NAME', Width=20, Decimals=0
Field 1: Type=Double, Title=`AREA', Width=9, Decimals=3
Field 2: Type=Double, Title=`VALUE', Width=9, Decimals=2
NAME AREA VALUE
REGION1 25.656 150.22


shpcreate

Purpose: creates a new and empty shapefile.
Usage: shpcreate shp_file [point|arc|polygon|multipoint]
  • shp_file: the name of shapefile to be created. Doesn't need the extension.
  • point/arc/polygon/multipoint: the type of shapefile that you wish to create. You must specify a valid option.
Example
$ shpcreate testpolygon polygon
# this will create a point shapefile named testpolygon( in fact testpolygon.shp and testpolygon.shx will be created).

shpadd

Purpose: adds a shape into an existing shapefile.
Usage: shpadd shp_file [[x y] [+]]*
  • shp_file: the name of an existing shapefile.
  • x1 y1 x2 y2 ... xn yn: the set of x,y coordinates that describes the shape that you wish to add. Note that you must specify the correct number of parameters for a given type of shapefile. e.g.: for point shapefiles you have to pass 1 pair of XY coordinates and for a polygon shapefile you should pass at least 4 pairs of XY coordinates( where the first and the last point must have the same coordinates).
Example
$ shpadd testpolygon 100000 7000000 250000 6500000 200000 6000000 100000 7000000
# assuming that testpolygon is a polygon shapefile, this command line will insert a new shape( a triangle) into testpolygon with the following XY coordinates:
vertice 0: 100000 7000000 ( this will also be the vertice where the shape starts and ends)
vertice 1: 250000 6500000
vertice 2: 200000 6000000
vertice 3: 100000 7000000

shpdump

Purpose: dumps content of shapefile showing information like shape type, file extents, total of objects and vertices coordinates.
Usage: shpdump [-validate] shp_file
  • -validate: count the number of objects that has invalid ring orderings.
  • shp_file: the name of an existing shapefile.
Example
$ shpdump testpolygon
# assuming that testpolygon is an existing shapefile previously created, this command line will output the following result:
Shapefile Type: Polygon   # of Shapes: 1

File Bounds: (  100000.000, 6000000.000,0,0)
         to  (  250000.000, 7000000.000,0,0)

Shape:0 (Polygon)  nVertices=4, nParts=1
  Bounds:(  100000.000, 6000000.000, 0, 0)
      to (  250000.000, 7000000.000, 0, 0)
     (  100000.000, 7000000.000, 0, 0) Ring
     (  250000.000, 6500000.000, 0, 0)
     (  200000.000, 6000000.000, 0, 0)
     (  100000.000, 7000000.000, 0, 0)

shprewind

Purpose: validates and resets the winding order of rings in polygon geometries to match the ordering required by shapefile specification. This is useful for shapefiles having troubles when checked with a 'shpdump -validate'.
Usage: shprewind in_shp_file out_shp_file
  • in_shp_file: the name of an existing shapefile.
  • out_shp_file: the name of the new fixed shapefile that will be created.
Example
$ shprewind badshapefile newshapefile

dbfinfo

Purpose: displays basic information for a given xBase file, like number of columns, number of records and type of each column.
Usage: dbfinfo xbase_file
  • xbase_file: the name of an existing xBase file.
Example
$ dbfinfo testbase
Info for testbase.dbf
3 Columns,  1 Records in file
           NAME          string  (20,0)
           AREA           float  (9,3)
          VALUE           float  (9,2)


dbfcat

Purpose: appends the records of a source xBase file into a destiny xBase file. Both files must have the same number of fields.
Usage: dbfcat [-v] [-f] from_DBFfile to_DBFfile
  • -v: verbose mode.
  • -f: forces data conversion if data field types is not the same at both files or if is there any null value into from_DBFfile.
  • from_DBFfile: source xBase file.
  • to_DBFfile: destiny xBase file.
Example
$ dbfcat -v testbase1 testbase2

shpinfo

Purpose: displays basic information for a given shapefile, like shapefile type, number of objects and its extents.
Usage: shpinfo shp_file
  • shp_file: the name of an existing shapefile.
Example
$ shpinfo testpolygon
Info for testpolygon
Polygon(5), 1 Records in file
File Bounds: (         100000,        6000000)
        (         250000,        7000000)

shpcat

Purpose: appends the content of a source shapefile into a destiny shapefile. Both files must be the same shapefile type.
Usage: shpcat from_shpfile to_shpfile
  • from_shpfile: source shapefile
  • to_shpfile: destiny shapefile
Example
$ shpcat shapefile1 shapefile2

shpcentrd

Purpose: computes XY centroid for polygon shapefiles.
Usage: shpcentrd shp_file new_shp_file
  • shp_file: the name of an existing polygon shapefile.
  • new_shp_file: the name of the point shapefile that will created.
Example
$ shpcentrd apolygonfile pointcentrd

shpdxf

Purpose: creates a DXF file from an existing shapefile.
Usage: shpdxf shapefile {idfield}
  • shapefile: the name of an existing shapefile.
  • idfield: explain
Example
$ shpdxf testshapefile IDFIELD
# explain the command

shpfix

Purpose: Utility program to fix nulls and inconsistencies in Shapefiles as happens from time to time.
Usage: shpfix shpfile new_file <Record# to Blank>
  • shpfile: input file
  • new_file: output file
Example
$ shpfix broken fixed

shapelib-1.6.1/web/codepage.html0000664000175000017500000001466014371676733013473 00000000000000 This table is derived from:

http://www.autopark.ru/ASBProgrammerGuide/DBFSTRUC.HTM

ID Codepage Description
1 0x01 437 US MS-DOS
2 0x02 850 International MS-DOS
3 0x03 1252 Windows ANSI Latin I
4 0x04 10000 Standard Macintosh
8 0x08 865 Danish OEM
9 0x09 437 Dutch OEM
10 0x0A 850 Dutch OEM*
11 0x0B 437 Finnish OEM
13 0x0D 437 French OEM
14 0x0E 850 French OEM*
15 0x0F 437 German OEM
16 0x10 850 German OEM*
17 0x11 437 Italian OEM
18 0x12 850 Italian OEM*
19 0x13 932 Japanese Shift-JIS
20 0x14 850 Spanish OEM*
21 0x15 437 Swedish OEM
22 0x16 850 Swedish OEM*
23 0x17 865 Norwegian OEM
24 0x18 437 Spanish OEM
25 0x19 437 English OEM (Great Britain)
26 0x1A 850 English OEM (Great Britain)*
27 0x1B 437 English OEM (US)
28 0x1C 863 French OEM (Canada)
29 0x1D 850 French OEM*
31 0x1F 852 Czech OEM
34 0x22 852 Hungarian OEM
35 0x23 852 Polish OEM
36 0x24 860 Portuguese OEM
37 0x25 850 Portuguese OEM*
38 0x26 866 Russian OEM
55 0x37 850 English OEM (US)*
64 0x40 852 Romanian OEM
77 0x4D 936 Chinese GBK (PRC)
78 0x4E 949 Korean (ANSI/OEM)
79 0x4F 950 Chinese Big5 (Taiwan)
80 0x50 874 Thai (ANSI/OEM)
87 0x57 Current ANSI CP ANSI
88 0x58 1252 Western European ANSI
89 0x59 1252 Spanish ANSI
100 0x64 852 Eastern European MS-DOS
101 0x65 866 Russian MS-DOS
102 0x66 865 Nordic MS-DOS
103 0x67 861 Icelandic MS-DOS
104 0x68 895 Kamenicky (Czech) MS-DOS
105 0x69 620 Mazovia (Polish) MS-DOS
106 0x6A 737 Greek MS-DOS (437G)
107 0x6B 857 Turkish MS-DOS
108 0x6C 863 French-Canadian MS-DOS
120 0x78 950 Taiwan Big 5
121 0x79 949 Hangul (Wansung)
122 0x7A 936 PRC GBK
123 0x7B 932 Japanese Shift-JIS
124 0x7C 874 Thai Windows/MS–DOS
134 0x86 737 Greek OEM
135 0x87 852 Slovenian OEM
136 0x88 857 Turkish OEM
150 0x96 10007 Russian Macintosh
151 0x97 10029 Eastern European Macintosh
152 0x98 10006 Greek Macintosh
200 0xC8 1250 Eastern European Windows
201 0xC9 1251 Russian Windows
202 0xCA 1254 Turkish Windows
203 0xCB 1253 Greek Windows
204 0xCC 1257 Baltic Windows
shapelib-1.6.1/web/manifest.html0000664000175000017500000000510414371676733013523 00000000000000 Shapefile C Library V1.2

Shapelib Manifest

  • web/index.html: This file - general documentation on the Shapefile C Library.

  • web/shp_api.html: Documentation for the API for accessing the .shp/.shx files.

  • web/dbf_api.html: Documentation for the API for accessing the .dbf attribute files.

  • shpopen.c: C code for access to .shp/.shx vertex files.

  • dbfopen.c: C code for access to .dbf attribute file.

  • shapefil.h: Include file defining all the services of dbfopen.c and shpopen.c.

  • contrib/: A directory of "in progress" contributed programs from Carl Anderson.

  • dbfcreate.c: Simple example program for creating a new .dbf file.

  • dbfadd.c: Simple example program for adding a record to a .dbf file.

  • dbfdump.c: Simple example program for displaying the contents of a .dbf file.

  • shpcreate.c: Simple example program for creating a new .shp and .shx file.

  • shpadd.c: Simple example program for adding a shape to an existing shape file.

  • shpdump.c: Simple program for dumping all the vertices in a shapefile with an indicating of the parts.

  • shputils.c: Complex contributed program capable of clipping and appending shapefiles as well as a few other things. Type shputils after building to get a full usage message.

  • Makefile: A simple makefile to compile the library and example programs.

  • makeshape.sh: A simple script for running some of the example programs.

  • shptest.c: A simple test harnass to generate each of the supported types of shapefiles.

  • shptree.c: Implements a simple quadtree algorithm for fast spatial searches of shapefiles.

  • shptreedump.c: A simple mainly showing information on quad trees build using the quad tree api.

  • stream1.sh - A test script, which should produce stream1.out. Note this will only work if you have the example data downloaded.

  • stream1.out: Expected output of stream1.sh test script.

  • stream2.sh: A test script, which should produce stream2.out.

  • stream2.out: Expected output of stream2.sh test script.

  • pyshapelib-0.1: Prototype contributed Python bindings.

shapelib-1.6.1/web/index.html0000664000175000017500000002253414526370352013020 00000000000000 Shapefile C Library

Shapefile C Library

Purpose

The Shapefile C Library provides the ability to write simple C programs for reading, writing and updating (to a limited extent) ESRI Shapefiles, and the associated attribute file (.dbf).

Supporting Information

What is a Shapefile?

If you don't know, you probably don't need this library. The Shapefile format is a working and interchange format promulgated by ESRI for simple vector data with attributes.

An excellent white paper on the shapefile format is available from ESRI.

The file format actually consists of three files.

XXX.shp - holds the actual vertices.
XXX.shx - hold index data pointing to the structures in the .shp file.
XXX.dbf - holds the attributes in xBase (dBase) format.

Download

Source code, and some other odds and ends can be downloaded from http://download.osgeo.org/shapelib.

Shapelib repository is at https://github.com/OSGeo/shapelib

Bugs, Maintainance and Support

This library is maintained by Frank Warmerdam. Please send me bug reports, patches and suggestions for the library via the maptools.org Bugzilla. Shapelib bugs can also be queried.

Shapelib is hosted at shapelib.maptools.org. A mailing list for discussion of how to use shapelib, and announcing new releases is available. To get notification of new releases of Shapelib subscribe to the project mailing list at https://lists.osgeo.org/pipermail/shapelib/.

Credits

I didn't start this section anywhere near soon enough, so alot of earlier contributors to Shapelib are lost in pre-history.
  • Bill Miller (NY-DOT) for shputils.c
  • Carl Anderson for the contents of the contrib directory, and the "tuple" additions to dbfopen.c.
  • Andrea Giacomelli for patches for dbfopen.c.
  • Doug Matthews for portability improvements.
  • Jan-Oliver Wagner for convincing me to make it available under LGPL, shared library support, and various other patches.
  • Dennis Christopher (of Avenza) for testing and bug fixes.
  • Miko Syrjä (of 3D-system Oy) for a record size bug fix.
  • Steven Lime and Curtis Hill for help with NULL shapes.
  • Jim Matthews for support of NULL attributes in dbf files.
  • PCI Geomatics who let me release a modified version of their shapefile code in the beginning and who hosted shapelib for years.

In Memorium

I would like to dedicate Shapelib to the memory of Sol Katz. While I never met him in person, his generous contributions to the GIS community took many forms, including free distribution of a variety of GIS translators with source. The fact that he used this Shapelib in some of his utilities, and thanked me was a great encouragement to me. I hope I can do his memory honour by trying to contribute in a similar fashion.

Portability

The Shapefile C Library should port easily to 32bit systems with ANSI C compilers. It should work on 64 bit architectures (such as the DEC AXP).

Care should also be taken to pass the binary access flag into SHPOpen() and DBFOpen() when operating on systems with special text file translation such as MSDOS.

The shputils.c module is contributed, and may not take the same approach to portability as the rest of the package.

On Linux, and most unix systems it should be possible to build and install shapefile support as a shared library using the "lib" and "lib_install" targets of the Makefile. Note that this Makefile doesn't use autoconf mechanisms and will generally require some hand tailoring for your environment.

Limitations

  • You can't modify the vertices of existing structures (though you can update the attributes of existing structures, and create new structures).

  • Not written in such a way as to be particularly fast. This is particularly true of the 1.2 API. For applications more concerned with speed it may be worth using the V1.1 API.

  • Doesn't set the last access time properly in the .dbf files.

  • There is no way to synchronize information to the file except to close it.

  • Poor error checking and reporting.

  • Not professionally supported (well it can be, if you want to pay).

  • Some aspects of xBase files not supported, though I believe they are not used by ESRI.

  • The application must keep the .dbf file in sync with the .shp/.shx files through appropriate use of the DBF and SHP APIs.

  • No support for the undocumented .sbn/.sbx spatial index files.

Other Shapefile Resources

  • Shapefile Format Specifications (pdf)

  • Xbase (.dbf) File Format Description.

  • Language ID / Code Page mappings

  • Shapelib is used within the multiformat OGR library. If you are looking for a high level C++ library with support for many geospatial vector formats you might want to check it out.

  • Ari Jolma has produced an initial perl binding on top of shapelib, which can be found at CPAN as Geo::ShapeFile under the Geo module.

  • Bernhard Herzog has produced python bindings for Shapelib with SWIG, available at http://ftp.intevation.de/users/bh/pyshapelib. A new version not using swig is available as part of Thuban.

  • Delphi bindings for Shapelib courtesy of Alexander Weidauer.

  • Miguel Filgueiras has implemented Tcl bindings for Shapelib as part of GPSMan.

  • David Gancarz has implemented a Microsoft .NET wrapper for Shapelib. An example of using shapelib with VB6 is also included in the .NET wrapper project file.

  • Andrey Hristov (php at hristov dot com) has developed a PHP extension based on Shapelib. It can be found in CVS at http://cvs.php.net/pecl/shp.

  • Toyoda Eizi has developed Ruby bindings found at http://sourceforge.net/projects/ruby-shapelib.

  • Davide Cesari has developed FORTRAN bindings that can be found at http://www.webalice.it/o.drofa/davide/shapelib-fortran.
  • Jan-Oliver Wagner has implemented a commandline program (gen2shp) for producing shapefiles from Arc/Info Generate format ASCII files. He maintains a web page for his work.

  • Tom Russo has implemented a shpcs2cs program, which reprojects shapefiles using arguments similar to the PROJ.4 cs2cs program including datum conversion. Use as an alternate to the contrib/shpproj which doesn't do datums. It is available at the bottom of Tom's Xastir Shapefile Resources page.

  • Andrew Williamson's Useful Scripts and Stuff page for ArcView, which includes ShapeChecker.

  • The University of Bonn sf4java project apparently includes Java classes for reading Shapefiles.

  • The ShapeIO2 Visual Basic libraries may be of interest to those wanting VB access to Shapefiles. Also available locally.

  • The ShapeFile Read/Write OCX is another option for Visual Basic programmers.

  • Isovist Analyst is a sort-of-free isovist generating extension for ArcView using shapelib.

  • shpdiff utility by Bryce Nesbitt.

  • Aequometer: a program for MS Excel to calculate the area of polygons and export as shapefiles.

shapelib-1.6.1/web/dbf_api.html0000664000175000017500000003634514657064606013311 00000000000000 Attribute (.DBF) API

Attribute (.DBF) API

The Attribute (DBF) API uses DBFHandle to represent a handle for access to one .dbf file. The contents of the DBFHandle are visible (see shapefil.h) but should be ignored by the application. It is intended that all information be accessed by API functions. Note that there should be exactly one record in the .dbf file for each shape in the .shp/.shx files. This constraint must be maintained by the application.

DBFOpen()

DBFHandle DBFOpen( const char * pszDBFFile, const char * pszAccess );

  pszDBFFile:		The name of the xBase (.dbf) file to access.

  pszAccess:		The fopen() style access string.  At this time only
			"rb" (read-only binary) and "rb+" (read/write binary)
		        should be used.
The DBFOpen() function should be used to establish access to an existing xBase format table file. The returned DBFHandle is passed to other access functions, and DBFClose() should be invoked to recover resources, and flush changes to disk when complete. The DBFCreate() function should called to create new xBase files. As a convenience, DBFOpen() can be called with the name of a .shp or .shx file, and it will figure out the name of the related .dbf file.

DBFCreate()

DBFHandle DBFCreate( const char * pszDBFFile );

  pszDBFFile:		The name of the xBase (.dbf) file to create.
The DBFCreate() function creates a new xBase format file with the given name, and returns an access handle that can be used with other DBF functions. The newly created file will have no fields, and no records. Fields should be added with DBFAddField() before any records add written.

DBFGetFieldCount()

int DBFGetFieldCount( const DBFHandle hDBF );

  hDBF:		The access handle for the file to be queried, as returned
                by DBFOpen(), or DBFCreate().
The DBFGetFieldCount() function returns the number of fields currently defined for the indicated xBase file.

DBFGetRecordCount()

int DBFGetRecordCount( const DBFHandle hDBF );

  hDBF:		The access handle for the file to be queried, as returned by
		DBFOpen(), or DBFCreate().
The DBFGetRecordCount() function returns the number of records that exist on the xBase file currently. Note that with shape files one xBase record exists for each shape in the .shp/.shx files.

DBFGetFieldIndex()

int DBFGetFieldIndex( const DBFHandle hDBF, const char *pszFieldName );

  hDBF:		The access handle for the file to be queried, as returned by
		DBFOpen(), or DBFCreate().

  pszFieldName: Name of the field to search for.
Returns the index of the field matching this name, or -1 on failure. The comparison is case insensitive. However, lengths must match exactly.

DBFGetFieldInfo()

DBFFieldType DBFGetFieldInfo( const  DBFHandle hDBF, int iField,
                              char * pszFieldName,
                              int * pnWidth, int * pnDecimals );

  hDBF:		The access handle for the file to be queried, as returned by
		DBFOpen(), or DBFCreate().

  iField:	The field to be queried.  This should be a number between
                0 and n-1, where n is the number fields on the file, as
                returned by DBFGetFieldCount().

  pszFieldName:	If this pointer is not NULL the name of the requested field
		will be written to this location.  The pszFieldName buffer
                should be at least 12 character is size in order to hold
		the longest possible field name of 11 characters plus a
                terminating zero character.

  pnWidth:	If this pointer is not NULL, the width of the requested field
		will be returned in the int pointed to by pnWidth.  This is
                the width in characters.

  pnDecimals:	If this pointer is not NULL, the number of decimal places
                precision defined for the field will be returned.  This is
                zero for integer fields, or non-numeric fields.
The DBFGetFieldInfo() returns the type of the requested field, which is one of the DBFFieldType enumerated values. As well, the field name, and field width information can optionally be returned. The field type returned does not correspond one to one with the xBase field types.

    typedef enum {
      FTString,			/* fixed length string field        */
      FTInteger,		/* numeric field with no decimals   */
      FTDouble,			/* numeric field with decimals      */
      FTLogical,		/* logical field                    */
      FTDate,			/* date field                       */
      FTInvalid			/* not a recognised field type      */
    } DBFFieldType;

DBFAddField()

int DBFAddField( DBFHandle hDBF, const char * pszFieldName,
                 DBFFieldType eType, int nWidth, int nDecimals );

  hDBF:		The access handle for the file to be updated, as returned by
		DBFOpen(), or DBFCreate().

  pszFieldName:	The name of the new field.  At most 11 character will be used.
                In order to use the xBase file in some packages it may be
                necessary to avoid some special characters in the field names
                such as spaces, or arithmetic operators.

  eType:	One of FTString, FTInteger or FTDouble in order to establish
                the type of the new field.  Note that some valid xBase field
                types cannot be created such as date fields.

  nWidth:	The width of the field to be created.  For FTString fields this
                establishes the maximum length of string that can be stored.
                For FTInteger this establishes the number of digits of the
                largest number that can
                be represented.  For FTDouble fields this in combination
                with the nDecimals value establish the size, and precision
                of the created field.

  nDecimals:    The number of decimal places to reserve for FTDouble fields.
                For all other field types this should be zero.  For instance
                with nWidth=7, and nDecimals=3 numbers would be formatted
                similarly to `123.456'.
The DBFAddField() function is used to add new fields to an existing xBase file opened with DBFOpen(), or created with DBFCreate().

The DBFAddField() return value is the field number of the new field, or -1 if the addition of the field failed.

DBFReadIntegerAttribute()

int DBFReadIntegerAttribute( DBFHandle hDBF, int iShape, int iField );

  hDBF:		The access handle for the file to be queried, as returned by
		DBFOpen(), or DBFCreate().

  iShape:	The record number (shape number) from which the field value
                should be read.

  iField:	The field within the selected record that should be read.
The DBFReadIntegerAttribute() will read the value of one field and return it as an integer. This can be used even with FTString fields, though the returned value will be zero if not interpretable as a number.

DBFReadDoubleAttribute()

double DBFReadDoubleAttribute( DBFHandle hDBF, int iShape, int iField );

  hDBF:		The access handle for the file to be queried, as returned by
		DBFOpen(), or DBFCreate().

  iShape:	The record number (shape number) from which the field value
                should be read.

  iField:	The field within the selected record that should be read.
The DBFReadDoubleAttribute() will read the value of one field and return it as a double. This can be used even with FTString fields, though the returned value will be zero if not interpretable as a number.

DBFReadStringAttribute()

const char *DBFReadStringAttribute( DBFHandle hDBF, int iShape, int iField );

  hDBF:		The access handle for the file to be queried, as returned by
		DBFOpen(), or DBFCreate().

  iShape:	The record number (shape number) from which the field value
                should be read.

  iField:	The field within the selected record that should be read.
The DBFReadStringAttribute() will read the value of one field and return it as a string. This function may be used on any field type (including FTInteger and FTDouble) and will return the string representation stored in the .dbf file. The returned pointer is to an internal buffer which is only valid until the next DBF function call. It's contents may be copied with normal string functions such as strcpy(), or strdup(). If the TRIM_DBF_WHITESPACE macro is defined in shapefil.h (it is by default) then all leading and trailing space (ASCII 32) characters will be stripped before the string is returned.

DBFIsAttributeNULL()

int DBFIsAttributeNULL( const DBFHandle hDBF, int iShape, int iField );

  hDBF:		The access handle for the file to be queried, as returned by
		DBFOpen(), or DBFCreate().

  iShape:	The record number (shape number) from which the field value
                should be read.

  iField:	The field within the selected record that should be read.
This function will return TRUE if the indicated field is NULL valued otherwise FALSE. Note that NULL fields are represented in the .dbf file as having all spaces in the field. Reading NULL fields will result in a value of 0.0 or an empty string with the other DBFRead*Attribute() functions.

DBFWriteIntegerAttribute

int DBFWriteIntegerAttribute( DBFHandle hDBF, int iShape, int iField,
                              int nFieldValue );

  hDBF:		The access handle for the file to be written, as returned by
		DBFOpen(), or DBFCreate().

  iShape:	The record number (shape number) to which the field value
                should be written.

  iField:	The field within the selected record that should be written.

  nFieldValue:	The integer value that should be written.
The DBFWriteIntegerAttribute() function is used to write a value to a numeric field (FTInteger, or FTDouble). If the write succeeds the value TRUE will be returned, otherwise FALSE will be returned. If the value is too large to fit in the field, it will be truncated and FALSE returned.

DBFWriteDoubleAttribute()

int DBFWriteDoubleAttribute( DBFHandle hDBF, int iShape, int iField,
                             double dFieldValue );

  hDBF:		The access handle for the file to be written, as returned by
		DBFOpen(), or DBFCreate().

  iShape:	The record number (shape number) to which the field value
                should be written.

  iField:	The field within the selected record that should be written.

  dFieldValue:	The floating point value that should be written.
The DBFWriteDoubleAttribute() function is used to write a value to a numeric field (FTInteger, or FTDouble). If the write succeeds the value TRUE will be returned, otherwise FALSE will be returned. If the value is too large to fit in the field, it will be truncated and FALSE returned.

DBFWriteStringAttribute()

int DBFWriteStringAttribute( DBFHandle hDBF, int iShape, int iField,
                             const char * pszFieldValue );

  hDBF:		The access handle for the file to be written, as returned by
		DBFOpen(), or DBFCreate().

  iShape:	The record number (shape number) to which the field value
                should be written.

  iField:	The field within the selected record that should be written.

  pszFieldValue: The string to be written to the field.
The DBFWriteStringAttribute() function is used to write a value to a string field (FString). If the write succeeds the value TRUE willbe returned, otherwise FALSE will be returned. If the value is too large to fit in the field, it will be truncated and FALSE returned.

DBFWriteNULLAttribute()

int DBFWriteNULLAttribute( DBFHandle hDBF, int iShape, int iField );

  hDBF:		The access handle for the file to be written, as returned by
		DBFOpen(), or DBFCreate().

  iShape:	The record number (shape number) to which the field value
                should be written.

  iField:	The field within the selected record that should be written.
The DBFWriteNULLAttribute() function is used to clear the indicated field to a NULL value. In the .dbf file this is represented by setting the entire field to spaces. If the write succeeds the value TRUE willbe returned, otherwise FALSE will be returned.

DBFClose()

void DBFClose( DBFHandle hDBF );

  hDBF:		The access handle for the file to be closed.
The DBFClose() function will close the indicated xBase file (opened with DBFOpen(), or DBFCreate()), flushing out all information to the file on disk, and recovering any resources associated with having the file open. The file handle (hDBF) should not be used again with the DBF API after calling DBFClose().

DBFIsRecordDeleted()

int DBFIsRecordDeleted( const DBFHandle hDBF, int iShape );

  hDBF:		The access handle for the file to be checked.
  iShape:       The record index to check.
Returns TRUE (non-zero) if the record is marked for deletion, otherwise it returns FALSE.

DBFMarkRecordDeleted()

int DBFMarkRecordDeleted( DBFHandle hDBF, int iShape, int bIsDeleted );

  hDBF:		The access handle for the file.
  iShape:       The record index to update.
  bIsDeleted:   TRUE to mark record deleted, or FALSE to undelete it.
Returns TRUE on success, or FALSE on error.

DBFGetNativeFieldType()

char DBFGetNativeFieldType( const DBFHandle hDBF, int iField );

  hDBF:		The access handle for the file.
  iField:       The field index to query.

This function returns the DBF type code of the indicated field. It will be one of:

  • 'C' (String)
  • 'D' (Date)
  • 'F' (Float)
  • 'N' (Numeric, with or without decimal)
  • 'L' (Logical)
  • 'M' (Memo: 10 digits .DBT block ptr)
  • ' ' (field out of range)
shapelib-1.6.1/web/release.html0000664000175000017500000002213514656617322013333 00000000000000 Shapelib Release Notes

Shapelib Release Notes

To get notification of new releases of Shapelib subscribe to the project mailing list at https://lists.osgeo.org/pipermail/shapelib/.

Release 1.6.1:

  • DBFIsValueNULL(): accept empty string as NULL Date (https://github.com/OSGeo/gdal/issues/10405)
  • DBFIsValueNULL(): Accept string containing of width times "0" as NULL Date
  • Only test for _WIN32 for Windows detection
  • Windows: Fix UTF8 hook functions
  • Various compiler warning fixes
  • contrib/csv2shp.c: fix resource leaks (#86)
  • Detect byte order at compile time
  • shapefil.h: various const-correctness improvements
  • shapefil.h: Remove SHPTreeRemoveShapeId not being implemented
  • shapefil.h: Fix API call of SHPSearchDiskTreeEx
  • Add API functions for read/write of date attributes: DBFReadDateAttribute/DBFWriteDateAttribute
  • DBFWriteAttribute/DBFWriteLogicalAttribute: no longer silently accpets invalid input, but returns false
  • DBFCloneEmpty: consider the SAHooks
  • Move endian defines to shapefil_private.h (#99)
  • Fix test execution by complete refactoring.
  • Add C++ unit testing (#113)
  • SBNOpenDiskTree(): make it work with node descriptors with non-increasing nBinStart Fixes https://github.com/OSGeo/shapelib/issues/106 / https://github.com/OSGeo/gdal/issues/9430
  • sbnsearch.c: avoid potential integer overflows on corrupted files
  • dbfdump: dump date and logical fields
  • dbfinfo: print date and logical fields
  • dbfcat: various fixes
  • Fix -Werror=calloc-transposed-args with gcc 14
  • SHPOpenLL(): avoid GDAL specific error message when .shx is missing (#129)
  • CMake: generate pkg-config file (#135)
  • CMake: Fix install interface include dir (#134)
  • CMake: Make building executables optional with CMake (set BUILD_APPS to OFF) (#78)
  • CMake: Remove duplicated shapefil.h installation in include_dir/shapelib (#80)
  • CMake: Remove INSTALL_NAME_DIR from target (#49)
  • CMake: Fix contrib.cmake
  • CMake: (>= 3.21) Fix ctest paths for shared libs (MSVC and CygWin)
  • CMake: Add GoogleTestAdapter (GTA) Run Settings
Release 1.6.0:
  • shapefil.h: add SHAPELIB_VERSION_MAJOR/MINOR/MICRO, SHAPELIB_VERSION_NUMBER, and SHAPELIB_AT_LEAST macros
  • Compiler warning fixes and various code cleanups
  • SAHooks: add a void *pvUserData member. ABI change
  • SAHooks.FOpen and FClose callbacks: add a void *pvUserData parameter. API and ABI change
  • SAHooks.FWrite: make first parameter a const void*. API change
  • Distribute LICENSE-LGPL and LICENSE-MIT files instead of COPYING file. Do not distribute INSTALL file
  • Use standard integer data types
  • Changes to allow building with cmake -DCMAKE_UNITY_BUILD=ON
  • Polygon writing: avoid considering rings slightly overlapping as inner-outer rings of others (refs OSGeo/gdal#5315)
  • Polygon writing: consider rings at non-constant Z as outer rings (fixes OSGeo/gdal#5315) As noted in code comments, this is an approximation of more complicated tests we'd likely have to do, that would take into account real co-planar testing, to allow detecting inner rings of outer rings in an oblique plane.
  • shpopen.c: Communicate why the file size cannot be reached when appending features (OSGeo/gdal#4140) Clearly state why the file size cannot be reached. This is important in order to correctly inform the user and prevent him/her from looking for other reasons. Related to https://github.com/qgis/QGIS/issues/44202
  • SHPWriteObject(): prevent potential overflows on 64-bit platforms on huge geometries
  • SHPRestoreSHX: update SHX content length even if error occurred
  • In creation, uses w+b file opening mode instead of wb followed by r+b, to support network file systems having sequential write only and when using CPL_VSIL_USE_TEMP_FILE_FOR_RANDOM_WRITE=YES (fixes OSGeo/gdal#7801)
  • Fix adding features in a .dbf without columns (fixes qgis/qgis#51247)
  • Have matching SOVERSION for CMake and autotools
  • Code reformatting
  • Enable contrib/csv2shp build with MSVC
  • Build contributed utilities via CMake
  • Use the the standard BUILD_TESTING CMake variable
  • Remove double free() in contrib/shpsrt (CVE-2022-0699)
  • SHPRestoreSHX: fix for (64 bit) big endian
  • Add config-style support for find_package(shapefile)
  • Prevent no-op FSeeks writing dbf & shp records for network filesystem performance
Release 1.5.0: Release 1.4.1:
  • Fix a regression regarding re-writing the last shape of a file (GDAL #7031)
Release 1.4.0:
  • Old Makefile build replaced by autoconf/automake (by Sandro Mani)
  • CMake build system added (by Alan W. Irwin)
  • Added read support for ESRI .sbn spatial index
  • Resynchronization with GDAL's Shapefile driver. Mostly cleanups. SHPObject and DBFInfo structures extended with new members
  • Add DBFSetLastModifiedDate() to modify the update date in the .dbf
  • Add SHPSetFastModeReadObject() to read faster (but shapes got that way share state in the handle, so only one shape at a time can be used)
  • Add SHPRestoreSHX() to recreate a missing .shx from the .shp and SHPOpenLLEx().
  • Write DBF end-of-file character 0x1A by default. This behaviour can be controlled with the DBFSetWriteEndOfFileChar() function.
Release 1.3.0:
  • Major rework to us application provided hooks for file io, and error reporting (SAHooks).
  • Added contrib/Shape_PointInPoly.cpp from Marko Podgorsek.
  • Added shapelib tools documentation from Eduardo Patto Kanegae.
  • Added dbf deletion support.
  • Added DBFAddNativeFieldType().
  • Added DBFDeleteField(), DBFReorderFields() and DBFAlterFields() to rework DBF schema.
  • likely a variety of other changes - it has been eight years since 1.2.10!
Release 1.2.10: Added SHPRewindObject() function, and shprewind utility program. Added FTLogical, DBFReadLogicalAttribute() and DBFWriteLogicalAttribute() (thanks to Olek Neyman).

Release 1.2.9: Good support for reading and writing NULL fields in .dbf files, good support for NULL shapes and addition of the DBFGetFieldIndex() functions (all contributed by Jim Matthews).

An upgraded shputils.c has been contributed by Bill Miller. Daniel Morissette contributed DBFGetNativeFieldType(). Better error checking for disk errors in dbfopen.c. Various other bug fixes and safety improvements.

Release 1.2.8: Added hacked libtool support (supplied by Jan) and "rpm ready" install logic.

Release 1.2.7: Fix record size (was 4 bytes too long). Modify SHPReadObject() to handle null shapes properly. Use atof() instead of sscanf(). Support .DBF as well as .dbf.

Release 1.2.6: Now available under old MIT style license, or at the users option, LGPL. Added the contrib directory of stuff from Carl Anderson and the shptree.c API for quadtree based spatial searches.

Release 1.2.5: SHPOpen() now forcibly uses "rb" or "r+b" access string to avoid common mistakes on Windows. Also fixed a serious bug with .dbf files with a 'F' field type.

Release 1.2.4: DBFOpen() will now automatically translate a .shp extension to .dbf for convenience. SHPOpen() will try datasets with lower and uppercase extension. DBFAddField() now returns the field number, not TRUE/FALSE.

Release 1.2.3: Disable writing measures to multi-patches as ArcView seems to puke on them (as reported by Monika Sester). Add white space trimming, and string/numeric attribute interchangability in DBF API as suggested by Steve Lime. Dbfdump was updated to include several reporting options.

Release 1.2.2: Added proper support for multipatch (reading and writing) - this release just for testing purposes.

Release 1.2 is mostly a rewrite of the .shp/.shx access API to account for ArcView 3.x 3D shapes, and to encapsulate the shapes in a structure. Existing code using the shapefile library will require substantial changes to use release 1.2.

Release V1.1 has been built on a number of platforms, and used by a number of people successfully. V1.1 is the first release with the xBase API documentation.

shapelib-1.6.1/web/shp_api.html0000664000175000017500000003163714657064606013347 00000000000000 .SHP File API

.SHP File API

The .SHP API uses a SHPHandle to represent an open .shp/.shx file pair. The contents of the SHPHandle are visible (see shapefile.h) but should be ignored by the application. It is intended that all information be accessed by the API functions.

Shape Types

Shapes have types associated with them. The following is a list of the different shapetypes supported by Shapefiles. At this time all shapes in a Shapefile must be of the same type (with the exception of NULL shapes).

  #define SHPT_NULL             0

  2D Shape Types (pre ArcView 3.x):

  #define SHPT_POINT		1	Points
  #define SHPT_ARC		3	Arcs (Polylines, possible in parts)
  #define SHPT_POLYGON		5	Polygons (possible in parts)
  #define SHPT_MULTIPOINT	8	MultiPoint (related points)

  3D Shape Types (may include "measure" values for vertices):

  #define SHPT_POINTZ		11
  #define SHPT_ARCZ		13
  #define SHPT_POLYGONZ		15
  #define SHPT_MULTIPOINTZ 	18

  2D + Measure Types:

  #define SHPT_POINTM		21
  #define SHPT_ARCM		23
  #define SHPT_POLYGONM		25
  #define SHPT_MULTIPOINTM 	28

  Complex (TIN-like) with Z, and Measure:

  #define SHPT_MULTIPATCH 	31

SHPObject

An individual shape is represented by the SHPObject structure. SHPObject's created with SHPCreateObject(), SHPCreateSimpleObject(), or SHPReadObject() should be disposed of with SHPDestroyObject().

  typedef struct
  {
    int		nSHPType;	Shape Type (SHPT_* - see list above)

    int		nShapeId; 	Shape Number (-1 is unknown/unassigned)

    int		nParts;		# of Parts (0 implies single part with no info)
    int		*panPartStart;  Start Vertex of part
    int		*panPartType;	Part Type (SHPP_RING if not SHPT_MULTIPATCH)

    int		nVertices;	Vertex list
    double	*padfX;
    double	*padfY;
    double	*padfZ;		(all zero if not provided)
    double	*padfM;		(all zero if not provided)

    double	dfXMin;		Bounds in X, Y, Z and M dimensions
    double	dfYMin;
    double	dfZMin;
    double	dfMMin;

    double	dfXMax;
    double	dfYMax;
    double	dfZMax;
    double	dfMMax;

    int bMeasureIsUsed;
    int bFastModeReadObject;
  } SHPObject;

SHPOpen()

SHPHandle SHPOpen( const char * pszShapeFile, const char * pszAccess );

  pszShapeFile:		The name of the layer to access.  This can be the
			name of either the .shp or the .shx file or can
			just be the path plus the basename of the pair.

  pszAccess:		The fopen() style access string.  At this time only
			"rb" (read-only binary) and "rb+" (read/write binary)
		        should be used.
The SHPOpen() function should be used to establish access to the two files for accessing vertices (.shp and .shx). Note that both files have to be in the indicated directory, and must have the expected extensions in lower case. The returned SHPHandle is passed to other access functions, and SHPClose() should be invoked to recover resources, and flush changes to disk when complete.

SHPGetInfo()

void SHPGetInfo( const SHPHandle hSHP, int * pnEntities, int * pnShapeType,
                 double * padfMinBound, double * padfMaxBound );

  hSHP:			The handle previously returned by SHPOpen()
			or SHPCreate().

  pnEntities:		A pointer to an integer into which the number of
			entities/structures should be placed.  May be NULL.

  pnShapetype:		A pointer to an integer into which the shapetype
			of this file should be placed.  Shapefiles may contain
			either SHPT_POINT, SHPT_ARC, SHPT_POLYGON or
			SHPT_MULTIPOINT entities.  This may be NULL.

  padfMinBound:		The X, Y, Z and M minimum values will be placed into
                        this four entry array.  This may be NULL.

  padfMaxBound:		The X, Y, Z and M maximum values will be placed into
                        this four entry array.  This may be NULL.
The SHPGetInfo() function retrieves various information about shapefile as a whole. The bounds are read from the file header, and may be inaccurate if the file was improperly generated.

SHPReadObject()

SHPObject *SHPReadObject( const SHPHandle hSHP, int iShape );

  hSHP:			The handle previously returned by SHPOpen()
			or SHPCreate().

  iShape:		The entity number of the shape to read.  Entity
			numbers are between 0 and nEntities-1 (as returned
			by SHPGetInfo()).
The SHPReadObject() call is used to read a single structure, or entity from the shapefile. See the definition of the SHPObject structure for detailed information on fields of a SHPObject. SHPObject's returned from SHPReadObject() should be deallocated with SHPDestroyShape(). SHPReadObject() will return NULL if an illegal iShape value is requested.

Note that the bounds placed into the SHPObject are those read from the file, and may not be correct. For points the bounds are generated from the single point since bounds aren't normally provided for point types.

Generally the shapes returned will be of the type of the file as a whole. However, any file may also contain type SHPT_NULL shapes which will have no geometry. Generally speaking applications should skip rather than preserve them, as they usually represented interactively deleted shapes.

SHPClose()

void	SHPClose( SHPHandle hSHP );

  hSHP:			The handle previously returned by SHPOpen()
			or SHPCreate().
The SHPClose() function will close the .shp and .shx files, and flush all outstanding header information to the files. It will also recover resources associated with the handle. After this call the hSHP handle cannot be used again.

SHPCreate()

SHPHandle SHPCreate( const char * pszShapeFile, int nShapeType );

  pszShapeFile:		The name of the layer to access.  This can be the
			name of either the .shp or the .shx file or can
			just be the path plus the basename of the pair.

  nShapeType:		The type of shapes to be stored in the newly created
			file.  It may be either SHPT_POINT, SHPT_ARC,
		        SHPT_POLYGON or SHPT_MULTIPOINT.
The SHPCreate() function will create a new .shp and .shx file of the desired type.

SHPCreateSimpleObject()

SHPObject *
     SHPCreateSimpleObject( int nSHPType, int nVertices,
			    const double *padfX, const double * padfY,
			    const double *padfZ );

  nSHPType:		The SHPT_ type of the object to be created, such
                        as SHPT_POINT, or SHPT_POLYGON.

  nVertices:		The number of vertices being passed in padfX,
                        padfY, and padfZ.

  padfX:		An array of nVertices X coordinates of the vertices
                        for this object.

  padfY:		An array of nVertices Y coordinates of the vertices
                        for this object.

  padfZ:		An array of nVertices Z coordinates of the vertices
                        for this object.  This may be NULL in which case
		        they are all assumed to be zero.
The SHPCreateSimpleObject() allows for the convenient creation of simple objects. This is normally used so that the SHPObject can be passed to SHPWriteObject() to write it to the file. The simple object creation API assumes an M (measure) value of zero for each vertex. For complex objects (such as polygons) it is assumed that there is only one part, and that it is of the default type (SHPP_RING).

Use the SHPCreateObject() function for more sophisticated objects. The SHPDestroyObject() function should be used to free resources associated with an object allocated with SHPCreateSimpleObject().

This function computes a bounding box for the SHPObject from the given vertices.

SHPCreateObject()

SHPObject *
     SHPCreateObject( int nSHPType, int iShape,
                      int nParts, const int * panPartStart,
                      const int * panPartType,
                      int nVertices, const double *padfX, const double * padfY,
                      const double *padfZ, const double *padfM );

  nSHPType:		The SHPT_ type of the object to be created, such
                        as SHPT_POINT, or SHPT_POLYGON.

  iShape:		The shapeid to be recorded with this shape.

  nParts:		The number of parts for this object.  If this is
                        zero for ARC, or POLYGON type objects, a single
                        zero valued part will be created internally.

  panPartStart:		The list of zero based start vertices for the rings
                        (parts) in this object.  The first should always be
                        zero.  This may be NULL if nParts is 0.

  panPartType:		The type of each of the parts.  This is only meaningful
                        for MULTIPATCH files.  For all other cases this may
                        be NULL, and will be assumed to be SHPP_RING.

  nVertices:		The number of vertices being passed in padfX,
                        padfY, and padfZ.

  padfX:		An array of nVertices X coordinates of the vertices
                        for this object.

  padfY:		An array of nVertices Y coordinates of the vertices
                        for this object.

  padfZ:		An array of nVertices Z coordinates of the vertices
                        for this object.  This may be NULL in which case
		        they are all assumed to be zero.

  padfM:		An array of nVertices M (measure values) of the
			vertices for this object.  This may be NULL in which
			case they are all assumed to be zero.
The SHPCreateSimpleObject() allows for the creation of objects (shapes). This is normally used so that the SHPObject can be passed to SHPWriteObject() to write it to the file.

The SHPDestroyObject() function should be used to free resources associated with an object allocated with SHPCreateObject().

This function computes a bounding box for the SHPObject from the given vertices.

SHPComputeExtents()

void SHPComputeExtents( SHPObject * psObject );

  psObject:		An existing shape object to be updated in place.
This function will recompute the extents of this shape, replacing the existing values of the dfXMin, dfYMin, dfZMin, dfMMin, dfXMax, dfYMax, dfZMax, and dfMMax values based on the current set of vertices for the shape. This function is automatically called by SHPCreateObject() but if the vertices of an existing object are altered it should be called again to fix up the extents.

SHPWriteObject()

int SHPWriteObject( SHPHandle hSHP, int iShape, const SHPObject *psObject );

  hSHP:			The handle previously returned by SHPOpen("r+")
			or SHPCreate().

  iShape:		The entity number of the shape to write.  A value of
		        -1 should be used for new shapes.

  psObject:		The shape to write to the file. This should have
                        been created with SHPCreateObject(), or
                        SHPCreateSimpleObject().
The SHPWriteObject() call is used to write a single structure, or entity to the shapefile. See the definition of the SHPObject structure for detailed information on fields of a SHPObject. The return value is the entity number of the written shape.

SHPDestroyObject()

void SHPDestroyObject( SHPObject *psObject );

  psObject:		The object to deallocate.
This function should be used to deallocate the resources associated with a SHPObject when it is no longer needed, including those created with SHPCreateSimpleObject(), SHPCreateObject() and returned from SHPReadObject().

SHPRewindObject()

int SHPRewindObject( SHPHandle hSHP, SHPObject *psObject );

  hSHP:                 The shapefile (not used at this time).
  psObject:		The object to deallocate.
This function will reverse any rings necessary in order to enforce the shapefile restrictions on the required order of inner and outer rings in the Shapefile specification. It returns TRUE if a change is made and FALSE if no change is made. Only polygon objects will be affected though any object may be passed.

shapelib-1.6.1/web/license.html0000664000175000017500000000460414526370352013331 00000000000000 Shapelib License

License

The source for the Shapefile C Library is (c) 1998 Frank Warmerdam, and released under the following conditions. The intent is that anyone can do anything with the code, but that I do not assume any liability, nor express any warranty for this code.

As of Shapelib 1.2.6 the core portions of the library are made available under two possible licenses. The licensee can choose to use the code under either the Library GNU Public License described in LICENSE-LGPL or under the MIT license described in LICENSE-MIT. The SPDX license identifier is MIT OR LGPL-2.0-or-later. Any files in the Shapelib distribution without explicit copyright license terms (such as this documentation, the Makefile and so forth) should be considered to have the following licensing terms. Some auxiliary portions of Shapelib, notably some of the components in the contrib directory come under slightly different license restrictions. Check the source files that you are actually using for conditions.

Default License Terms

Copyright (c) 1999, Frank Warmerdam

This software is available under the MIT license (see LICENSE-MIT), or at the option of the licensee under the LGPL (see LICENSE-LGPL).

Shapelib Modifications

I am pleased to receive bug fixes, and improvements for Shapelib. Unless the submissions indicate otherwise I will assume that changes submitted to me remain under the the above "dual license" terms. If changes are made to the library with the intention that those changes should be protected by the LGPL then I should be informed upon submission. Note that I will not generally incorporate changes into the core of Shapelib that are protected under the LGPL as this would effectively limit the whole file and distribution to LGPL terms.

Opting for LGPL

For licensee's opting to use Shapelib under LGPL as opposed to the MIT license above, and wishing to redistribute the software based on Shapelib, I would ask that all "dual license" modules be updated to indicate that only the LGPL (and not the MIT license) applies. This action represents opting for the LGPL, and thereafter LGPL terms apply to any redistribution and modification of the affected modules.

shapelib-1.6.1/web/maptools.css0000664000175000017500000001463414371676733013407 00000000000000/* Redefined Tags */ body { font-family: Arial, Helvetica, sans-serif; font-size: 12px; } h1 { font-family: Arial, Helvetica, sans-serif; font-size: 24px; line-height: 32px; color: #006699; border-bottom-width: 2px; border-bottom-style: solid; border-bottom-color: #80B3CC; } h2 { font-family: Arial, Helvetica, sans-serif; font-size: 20px; line-height: 26px; color: #006699; border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: #80B3CC; } h3 { font-family: Arial, Helvetica, sans-serif; font-size: 16px; line-height: 20px; font-weight: bold; color: #006699; border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: #80B3CC; } h4 { font-family: Arial, Helvetica, sans-serif; font-size: 14px; line-height: 18px; font-weight: bold; color: #006699; } h5 { font-family: Arial, Helvetica, sans-serif; font-size: 13px; font-weight: bold; color: #006699; } h6 { font-family: Arial, Helvetica, sans-serif; font-size: 12px; font-weight: bold; } p { font-family: Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16px; } span { font-family: Arial, Helvetica, sans-serif; } div { font-family: Arial, Helvetica, sans-serif; } blockquote { font-family: Arial, Helvetica, sans-serif; font-size: 12px; } pre { font-family: "Courier New", Courier, mono; font-size: 12px; } ol { font-family: Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16px; } ul { font-family: Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16px; list-style-type: square; list-style-image: url(images/bullets/squarebullet.gif); } ul.download { font-family: Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16px; list-style-type: square; list-style-image: url(images/bullets/dlbullet.gif); } ul.document { font-family: Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16px; list-style-type: square; list-style-image: url(images/bullets/pagebullet.gif); } li { font-family: Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16px; margin-top: 4px; } dl { font-family: Arial, Helvetica, sans-serif; font-size: 12px; } dd { font-family: Arial, Helvetica, sans-serif; font-size: 12px; } dt { margin-top: 8px; font-family: Arial, Helvetica, sans-serif; font-size: 12px; } td { font-family: Arial, Helvetica, sans-serif; font-size: 12px; } font { font-family: Arial, Helvetica, sans-serif; font-size: 12px; } a[href] { font-family: Arial, Helvetica, sans-serif; color: #006699; text-decoration: underline; } a[href]:link { font-family: Arial, Helvetica, sans-serif; color: #006699; text-decoration: underline; } a[href]:hover { font-family: Arial, Helvetica, sans-serif; color: #003366; text-decoration: underline; } a[href]:visited { font-family: Arial, Helvetica, sans-serif; color: #003366; text-decoration: underline; } a[href]:active { font-family: Arial, Helvetica, sans-serif; color: #199DBF; text-decoration: underline; } /* Defined Classes */ .copyright { font-family: Arial, Helvetica, sans-serif; font-size: 10px; line-height: 12px; color: #FFFFFF; text-decoration: none; } a.copyright { font-family: Arial, Helvetica, sans-serif; font-size: 10px; line-height: 12px; color: #FFFFFF; text-decoration: none; } a.copyright:link { font-family: Arial, Helvetica, sans-serif; font-size: 10px; line-height: 12px; color: #FFFFFF; text-decoration: none; } a.copyright:hover { font-family: Arial, Helvetica, sans-serif; font-size: 10px; line-height: 12px; color: #FFFFFF; text-decoration: underline; } a.copyright:visited { font-family: Arial, Helvetica, sans-serif; font-size: 10px; line-height: 12px; color: #FFFFFF; text-decoration: none; } a.copyright:active { font-family: Arial, Helvetica, sans-serif; font-size: 10px; line-height: 12px; color: #FFFFFF; text-decoration: underline; } .TechNewsHead { font-family: Arial, Helvetica, sans-serif; font-size: 12px; color: #003366; line-height: 16px; margin:0px; padding: 3px; padding-top: 14px; padding-left: 20px; padding-right: 20px; } .TechNewsBody { font-family: Arial, Helvetica, sans-serif; font-size: 11px; line-height: 13px; color: #000000; margin:0px; padding: 3px; padding-left: 20px; padding-right: 20px; } .Intro { font-family: Arial, Helvetica, sans-serif; font-size: 12px; line-height: normal; color: #003366; background-color: #EFF3F7; border: 1px dashed #DCE4ED; padding: 6px; } .shopbox { font-family: Arial, Helvetica, sans-serif; font-size: 12px; line-height: normal; color: #003366; border: 1px dashed #E7E4DA; background-color: #F7F7EF; padding: 6px; padding-bottom: 18px; padding-top: 18px; } .shopboxTitle { font-family: Arial, Helvetica, sans-serif; font-size: 16px; line-height: 20px; font-weight: bold; margin-bottom: 2px; color: #006699; text-align: left; } .welcomeTitle { font-family: Arial, Helvetica, sans-serif; font-size: 16px; line-height: 18px; font-weight: bold; color: #006699; text-align: left; } .license { padding: 5px; border: 1px solid #003366; } table.BlueBox { font-family: Arial, Helvetica, sans-serif; font-size: 12px; background-color: #003366; border-spacing: 1px; } td.BlueBox { background-color: #EFF3F7; font-size: 12px; color: #003366; margin:0px; padding: 4px; } .BlueCopyLt { color: #006699; } .BlueCopyDk { color: #003366; } .SideTitle { font-size: 12px; font-weight: bold; line-height: 16px; color: #003366; margin:0px; padding: 4px; padding-left: 7px; } .SideMenuItem { font-size: 11px; line-height: 14px; color: #003366; margin:0px; padding:4px; padding-left: 7px; } .SideText { font-size: 11px; line-height: 14px; margin:0px; padding: 4px; padding-left: 7px; } .TopMenu { font-size: 11px; color: #FFFFFF; margin:0px; padding: 4px; padding-left: 7px; } TopMenuItem { font-size: 11px; color: #FFFFFF; } a.TopMenuItem { font-size: 11px; color: #FFFFFF; text-decoration: underline; } a.TopMenuItem:link { font-size: 11px; color: #FFFFFF; text-decoration: underline; } a.TopMenuItem:hover { font-size: 11px; color: #AFBFCF; text-decoration: underline; } a.TopMenuItem:visited { font-size: 11px; color: #FFFFFF; text-decoration: underline; } a.TopMenuItem:active { font-size: 11px; color: #A0CFFF; text-decoration: underline; } shapelib-1.6.1/README.CMake0000664000175000017500000000443314573117335012105 00000000000000The CMakeLists.txt file in the current directory is a complete build system for shapelib which does everything that the shapelib Makefile does and Linux and the shapelib makefile.vc file does on Windows with a lot more flexibility. For example, full testing can be done with the present CMake-based approach because an optional and configurable location is used for the downloadable (for example, wget http://dl.maptools.org/dl/shapelib/shape_eg_data.zip) eg_data tree that is used for all the "stream1" tests. To use this build system on Unix or MinGW/MSYS/Windows: (1) (Optional) Download eg_data from the location above. (2) Download shapelib-1.6.0.tar.gz from http://download.osgeo.org/shapelib and unpack it (3) Copy the CMakeLists.txt file into the top-level of the unpacked shapelib-1.6.0 source tree. (4) Create a separate empty build tree and use it to configure, build, install and test shapelib. For example (you will need to tailor the compiler, compile options, install prefix, eg_data location, and source tree location to your own needs): # Configure with the compiler and compiler options of your choice. # N.B. the gcc -fvisibility=hidden option not (yet) supported by shapelib. env CC=gcc CFLAGS="-O3 -Wuninitialized" \ cmake \ -S /path/to/shapelib-1.6.0 -B build_dir -G "Unix Makefiles" \ -DCMAKE_INSTALL_PREFIX=/home/software/shapelib/install \ -DEG_DATA=/path/to/eg_data/ # Build and install cmake --build build_dir -- VERBOSE=1 -j4 install # Test ctest --test-dir build_dir The -DEG_DATA option is optional, but if you don't specify the eg_data directory that way the stream1 tests will be dropped. Note the above procedure is what you should do on a Unix platform like Linux where the generator -G "Unix Makefiles" works well. On MINGW/MSYS the procedure is essentially the same except you should use the -G "MSYS Makefiles" cmake option instead to specify a good generator for that platform. I have used variants of the above procedure to create, test, and install shapelib on both the Linux and MinGW/MSYS/Wine platforms. Furthermore, on both platforms I have built and tested PLplot using the installed versions created by the above procedure. No issues were discovered with PLplot example 19 (which demos PLplot map capabilities with map shapefiles) for these two separate platform tests. shapelib-1.6.1/compile0000755000175000017500000001632714656616450011633 00000000000000#! /bin/sh # Wrapper for compilers which do not understand '-c -o'. scriptversion=2018-03-07.03; # UTC # Copyright (C) 1999-2018 Free Software Foundation, Inc. # Written by Tom Tromey . # # 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, 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 to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. # This file is maintained in Automake, please report # bugs to or send patches to # . nl=' ' # We need space, tab and new line, in precisely that order. Quoting is # there to prevent tools from complaining about whitespace usage. IFS=" "" $nl" file_conv= # func_file_conv build_file lazy # Convert a $build file to $host form and store it in $file # Currently only supports Windows hosts. If the determined conversion # type is listed in (the comma separated) LAZY, no conversion will # take place. func_file_conv () { file=$1 case $file in / | /[!/]*) # absolute file, and not a UNC file if test -z "$file_conv"; then # lazily determine how to convert abs files case `uname -s` in MINGW*) file_conv=mingw ;; CYGWIN*) file_conv=cygwin ;; *) file_conv=wine ;; esac fi case $file_conv/,$2, in *,$file_conv,*) ;; mingw/*) file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'` ;; cygwin/*) file=`cygpath -m "$file" || echo "$file"` ;; wine/*) file=`winepath -w "$file" || echo "$file"` ;; esac ;; esac } # func_cl_dashL linkdir # Make cl look for libraries in LINKDIR func_cl_dashL () { func_file_conv "$1" if test -z "$lib_path"; then lib_path=$file else lib_path="$lib_path;$file" fi linker_opts="$linker_opts -LIBPATH:$file" } # func_cl_dashl library # Do a library search-path lookup for cl func_cl_dashl () { lib=$1 found=no save_IFS=$IFS IFS=';' for dir in $lib_path $LIB do IFS=$save_IFS if $shared && test -f "$dir/$lib.dll.lib"; then found=yes lib=$dir/$lib.dll.lib break fi if test -f "$dir/$lib.lib"; then found=yes lib=$dir/$lib.lib break fi if test -f "$dir/lib$lib.a"; then found=yes lib=$dir/lib$lib.a break fi done IFS=$save_IFS if test "$found" != yes; then lib=$lib.lib fi } # func_cl_wrapper cl arg... # Adjust compile command to suit cl func_cl_wrapper () { # Assume a capable shell lib_path= shared=: linker_opts= for arg do if test -n "$eat"; then eat= else case $1 in -o) # configure might choose to run compile as 'compile cc -o foo foo.c'. eat=1 case $2 in *.o | *.[oO][bB][jJ]) func_file_conv "$2" set x "$@" -Fo"$file" shift ;; *) func_file_conv "$2" set x "$@" -Fe"$file" shift ;; esac ;; -I) eat=1 func_file_conv "$2" mingw set x "$@" -I"$file" shift ;; -I*) func_file_conv "${1#-I}" mingw set x "$@" -I"$file" shift ;; -l) eat=1 func_cl_dashl "$2" set x "$@" "$lib" shift ;; -l*) func_cl_dashl "${1#-l}" set x "$@" "$lib" shift ;; -L) eat=1 func_cl_dashL "$2" ;; -L*) func_cl_dashL "${1#-L}" ;; -static) shared=false ;; -Wl,*) arg=${1#-Wl,} save_ifs="$IFS"; IFS=',' for flag in $arg; do IFS="$save_ifs" linker_opts="$linker_opts $flag" done IFS="$save_ifs" ;; -Xlinker) eat=1 linker_opts="$linker_opts $2" ;; -*) set x "$@" "$1" shift ;; *.cc | *.CC | *.cxx | *.CXX | *.[cC]++) func_file_conv "$1" set x "$@" -Tp"$file" shift ;; *.c | *.cpp | *.CPP | *.lib | *.LIB | *.Lib | *.OBJ | *.obj | *.[oO]) func_file_conv "$1" mingw set x "$@" "$file" shift ;; *) set x "$@" "$1" shift ;; esac fi shift done if test -n "$linker_opts"; then linker_opts="-link$linker_opts" fi exec "$@" $linker_opts exit 1 } eat= case $1 in '') echo "$0: No command. Try '$0 --help' for more information." 1>&2 exit 1; ;; -h | --h*) cat <<\EOF Usage: compile [--help] [--version] PROGRAM [ARGS] Wrapper for compilers which do not understand '-c -o'. Remove '-o dest.o' from ARGS, run PROGRAM with the remaining arguments, and rename the output as expected. If you are trying to build a whole package this is not the right script to run: please start by reading the file 'INSTALL'. Report bugs to . EOF exit $? ;; -v | --v*) echo "compile $scriptversion" exit $? ;; cl | *[/\\]cl | cl.exe | *[/\\]cl.exe | \ icl | *[/\\]icl | icl.exe | *[/\\]icl.exe ) func_cl_wrapper "$@" # Doesn't return... ;; esac ofile= cfile= for arg do if test -n "$eat"; then eat= else case $1 in -o) # configure might choose to run compile as 'compile cc -o foo foo.c'. # So we strip '-o arg' only if arg is an object. eat=1 case $2 in *.o | *.obj) ofile=$2 ;; *) set x "$@" -o "$2" shift ;; esac ;; *.c) cfile=$1 set x "$@" "$1" shift ;; *) set x "$@" "$1" shift ;; esac fi shift done if test -z "$ofile" || test -z "$cfile"; then # If no '-o' option was seen then we might have been invoked from a # pattern rule where we don't need one. That is ok -- this is a # normal compilation that the losing compiler can handle. If no # '.c' file was seen then we are probably linking. That is also # ok. exec "$@" fi # Name of file we expect compiler to create. cofile=`echo "$cfile" | sed 's|^.*[\\/]||; s|^[a-zA-Z]:||; s/\.c$/.o/'` # Create the lock directory. # Note: use '[/\\:.-]' here to ensure that we don't use the same name # that we are using for the .o file. Also, base the name on the expected # object file name, since that is what matters with a parallel build. lockdir=`echo "$cofile" | sed -e 's|[/\\:.-]|_|g'`.d while true; do if mkdir "$lockdir" >/dev/null 2>&1; then break fi sleep 1 done # FIXME: race condition here if user kills between mkdir and trap. trap "rmdir '$lockdir'; exit 1" 1 2 15 # Run the compile. "$@" ret=$? if test -f "$cofile"; then test "$cofile" = "$ofile" || mv "$cofile" "$ofile" elif test -f "${cofile}bj"; then test "${cofile}bj" = "$ofile" || mv "${cofile}bj" "$ofile" fi rmdir "$lockdir" exit $ret # Local Variables: # mode: shell-script # sh-indentation: 2 # eval: (add-hook 'before-save-hook 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC0" # time-stamp-end: "; # UTC" # End: shapelib-1.6.1/ar-lib0000755000175000017500000001330314656616450011340 00000000000000#! /bin/sh # Wrapper for Microsoft lib.exe me=ar-lib scriptversion=2012-03-01.08; # UTC # Copyright (C) 2010-2018 Free Software Foundation, Inc. # Written by Peter Rosin . # # 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, 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 to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. # This file is maintained in Automake, please report # bugs to or send patches to # . # func_error message func_error () { echo "$me: $1" 1>&2 exit 1 } file_conv= # func_file_conv build_file # Convert a $build file to $host form and store it in $file # Currently only supports Windows hosts. func_file_conv () { file=$1 case $file in / | /[!/]*) # absolute file, and not a UNC file if test -z "$file_conv"; then # lazily determine how to convert abs files case `uname -s` in MINGW*) file_conv=mingw ;; CYGWIN*) file_conv=cygwin ;; *) file_conv=wine ;; esac fi case $file_conv in mingw) file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'` ;; cygwin) file=`cygpath -m "$file" || echo "$file"` ;; wine) file=`winepath -w "$file" || echo "$file"` ;; esac ;; esac } # func_at_file at_file operation archive # Iterate over all members in AT_FILE performing OPERATION on ARCHIVE # for each of them. # When interpreting the content of the @FILE, do NOT use func_file_conv, # since the user would need to supply preconverted file names to # binutils ar, at least for MinGW. func_at_file () { operation=$2 archive=$3 at_file_contents=`cat "$1"` eval set x "$at_file_contents" shift for member do $AR -NOLOGO $operation:"$member" "$archive" || exit $? done } case $1 in '') func_error "no command. Try '$0 --help' for more information." ;; -h | --h*) cat < #include #include #include #include "shapefil.h" int main(int argc, char **argv) { bool bValidate = false; if (argc > 1 && strcmp(argv[1], "-validate") == 0) { bValidate = true; argv++; argc--; } bool bHeaderOnly = false; if (argc > 1 && strcmp(argv[1], "-ho") == 0) { bHeaderOnly = true; argv++; argc--; } int nPrecision = 15; if (argc > 2 && strcmp(argv[1], "-precision") == 0) { nPrecision = atoi(argv[2]); argv += 2; argc -= 2; } /* -------------------------------------------------------------------- */ /* Display a usage message. */ /* -------------------------------------------------------------------- */ if (argc != 2) { printf("shpdump [-validate] [-ho] [-precision number] shp_file\n"); exit(1); } /* -------------------------------------------------------------------- */ /* Open the passed shapefile. */ /* -------------------------------------------------------------------- */ SHPHandle hSHP = SHPOpen(argv[1], "rb"); if (hSHP == NULL) { printf("Unable to open:%s\n", argv[1]); exit(1); } /* -------------------------------------------------------------------- */ /* Print out the file bounds. */ /* -------------------------------------------------------------------- */ int nEntities; int nShapeType; double adfMinBound[4]; double adfMaxBound[4]; SHPGetInfo(hSHP, &nEntities, &nShapeType, adfMinBound, adfMaxBound); printf("Shapefile Type: %s # of Shapes: %d\n\n", SHPTypeName(nShapeType), nEntities); printf("File Bounds: (%.*g,%.*g,%.*g,%.*g)\n" " to (%.*g,%.*g,%.*g,%.*g)\n", nPrecision, adfMinBound[0], nPrecision, adfMinBound[1], nPrecision, adfMinBound[2], nPrecision, adfMinBound[3], nPrecision, adfMaxBound[0], nPrecision, adfMaxBound[1], nPrecision, adfMaxBound[2], nPrecision, adfMaxBound[3]); /* -------------------------------------------------------------------- */ /* Skim over the list of shapes, printing all the vertices. */ /* -------------------------------------------------------------------- */ int nInvalidCount = 0; for (int i = 0; i < nEntities && !bHeaderOnly; i++) { SHPObject *psShape = SHPReadObject(hSHP, i); if (psShape == NULL) { fprintf(stderr, "Unable to read shape %d, terminating object reading.\n", i); break; } if (psShape->bMeasureIsUsed) printf("\nShape:%d (%s) nVertices=%d, nParts=%d\n" " Bounds:(%.*g,%.*g, %.*g, %.*g)\n" " to (%.*g,%.*g, %.*g, %.*g)\n", i, SHPTypeName(psShape->nSHPType), psShape->nVertices, psShape->nParts, nPrecision, psShape->dfXMin, nPrecision, psShape->dfYMin, nPrecision, psShape->dfZMin, nPrecision, psShape->dfMMin, nPrecision, psShape->dfXMax, nPrecision, psShape->dfYMax, nPrecision, psShape->dfZMax, nPrecision, psShape->dfMMax); else printf("\nShape:%d (%s) nVertices=%d, nParts=%d\n" " Bounds:(%.*g,%.*g, %.*g)\n" " to (%.*g,%.*g, %.*g)\n", i, SHPTypeName(psShape->nSHPType), psShape->nVertices, psShape->nParts, nPrecision, psShape->dfXMin, nPrecision, psShape->dfYMin, nPrecision, psShape->dfZMin, nPrecision, psShape->dfXMax, nPrecision, psShape->dfYMax, nPrecision, psShape->dfZMax); if (psShape->nParts > 0 && psShape->panPartStart[0] != 0) { fprintf(stderr, "panPartStart[0] = %d, not zero as expected.\n", psShape->panPartStart[0]); } for (int j = 0, iPart = 1; j < psShape->nVertices; j++) { const char *pszPartType = ""; if (j == 0 && psShape->nParts > 0) pszPartType = SHPPartTypeName(psShape->panPartType[0]); const char *pszPlus; if (iPart < psShape->nParts && psShape->panPartStart[iPart] == j) { pszPartType = SHPPartTypeName(psShape->panPartType[iPart]); iPart++; pszPlus = "+"; } else pszPlus = " "; if (psShape->bMeasureIsUsed) printf(" %s (%.*g,%.*g, %.*g, %.*g) %s \n", pszPlus, nPrecision, psShape->padfX[j], nPrecision, psShape->padfY[j], nPrecision, psShape->padfZ[j], nPrecision, psShape->padfM[j], pszPartType); else printf(" %s (%.*g,%.*g, %.*g) %s \n", pszPlus, nPrecision, psShape->padfX[j], nPrecision, psShape->padfY[j], nPrecision, psShape->padfZ[j], pszPartType); } if (bValidate) { int nAltered = SHPRewindObject(hSHP, psShape); if (nAltered > 0) { printf(" %d rings wound in the wrong direction.\n", nAltered); nInvalidCount++; } } SHPDestroyObject(psShape); } SHPClose(hSHP); if (bValidate) { printf("%d object has invalid ring orderings.\n", nInvalidCount); } exit(0); } shapelib-1.6.1/shapefil_private.h0000664000175000017500000001315414655153023013737 00000000000000#ifndef SHAPEFILE_PRIVATE_H_INCLUDED #define SHAPEFILE_PRIVATE_H_INCLUDED /****************************************************************************** * * Project: Shapelib * Purpose: Private include file for Shapelib. * Author: Frank Warmerdam, warmerdam@pobox.com * ****************************************************************************** * Copyright (c) 1999, Frank Warmerdam * Copyright (c) 2012-2024, Even Rouault * * SPDX-License-Identifier: MIT OR LGPL-2.0-or-later ****************************************************************************** * */ #ifdef __cplusplus #define STATIC_CAST(type, x) static_cast(x) #define REINTERPRET_CAST(type, x) reinterpret_cast(x) #define CONST_CAST(type, x) const_cast(x) #define SHPLIB_NULLPTR nullptr #else #define STATIC_CAST(type, x) ((type)(x)) #define REINTERPRET_CAST(type, x) ((type)(x)) #define CONST_CAST(type, x) ((type)(x)) #define SHPLIB_NULLPTR NULL #endif #if !defined(SHP_BIG_ENDIAN) #if defined(CPL_MSB) #define SHP_BIG_ENDIAN 1 #elif (defined(__GNUC__) && __GNUC__ >= 5) || \ (defined(__GNUC__) && defined(__GNUC_MINOR__) && __GNUC__ == 4 && \ __GNUC_MINOR__ >= 6) #if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__ #define SHP_BIG_ENDIAN 1 #endif #elif defined(__GLIBC__) #if __BYTE_ORDER == __BIG_ENDIAN #define SHP_BIG_ENDIAN 1 #endif #elif defined(_BIG_ENDIAN) && !defined(_LITTLE_ENDIAN) #define SHP_BIG_ENDIAN 1 #elif defined(_LITTLE_ENDIAN) && !defined(_BIG_ENDIAN) #elif defined(__sparc) || defined(__sparc__) || defined(_POWER) || \ defined(__powerpc__) || defined(__ppc__) || defined(__hpux) || \ defined(_MIPSEB) || defined(_POWER) || defined(__s390__) #define SHP_BIG_ENDIAN 1 #endif #endif #include "shapefil.h" #include #include /************************************************************************/ /* Little endian <==> big endian byte swap macros. */ /************************************************************************/ #if (defined(__GNUC__) && __GNUC__ >= 5) || \ (defined(__GNUC__) && defined(__GNUC_MINOR__) && __GNUC__ == 4 && \ __GNUC_MINOR__ >= 8) #define _SHP_SWAP32(x) \ STATIC_CAST(uint32_t, __builtin_bswap32(STATIC_CAST(uint32_t, x))) #define _SHP_SWAP64(x) \ STATIC_CAST(uint64_t, __builtin_bswap64(STATIC_CAST(uint64_t, x))) #elif defined(_MSC_VER) #define _SHP_SWAP32(x) \ STATIC_CAST(uint32_t, _byteswap_ulong(STATIC_CAST(uint32_t, x))) #define _SHP_SWAP64(x) \ STATIC_CAST(uint64_t, _byteswap_uint64(STATIC_CAST(uint64_t, x))) #else #define _SHP_SWAP32(x) \ STATIC_CAST(uint32_t, \ ((STATIC_CAST(uint32_t, x) & 0x000000ffU) << 24) | \ ((STATIC_CAST(uint32_t, x) & 0x0000ff00U) << 8) | \ ((STATIC_CAST(uint32_t, x) & 0x00ff0000U) >> 8) | \ ((STATIC_CAST(uint32_t, x) & 0xff000000U) >> 24)) #define _SHP_SWAP64(x) \ ((STATIC_CAST(uint64_t, _SHP_SWAP32(STATIC_CAST(uint32_t, x))) << 32) | \ (STATIC_CAST(uint64_t, _SHP_SWAP32(STATIC_CAST( \ uint32_t, STATIC_CAST(uint64_t, x) >> 32))))) #endif /* in-place uint32_t* swap */ #define SHP_SWAP32(p) \ *REINTERPRET_CAST(uint32_t *, p) = \ _SHP_SWAP32(*REINTERPRET_CAST(uint32_t *, p)) /* in-place uint64_t* swap */ #define SHP_SWAP64(p) \ *REINTERPRET_CAST(uint64_t *, p) = \ _SHP_SWAP64(*REINTERPRET_CAST(uint64_t *, p)) /* in-place double* swap */ #define SHP_SWAPDOUBLE(x) \ do \ { \ uint64_t _n64; \ void *_lx = x; \ memcpy(&_n64, _lx, 8); \ _n64 = _SHP_SWAP64(_n64); \ memcpy(_lx, &_n64, 8); \ } while (0) /* copy double* swap*/ #define SHP_SWAPDOUBLE_CPY(dst, src) \ do \ { \ uint64_t _n64; \ const void *_ls = src; \ void *_ld = dst; \ memcpy(&_n64, _ls, 8); \ _n64 = _SHP_SWAP64(_n64); \ memcpy(_ld, &_n64, 8); \ } while (0) #endif /* ndef SHAPEFILE_PRIVATE_H_INCLUDED */ shapelib-1.6.1/missing0000755000175000017500000001533614656616450011653 00000000000000#! /bin/sh # Common wrapper for a few potentially missing GNU programs. scriptversion=2018-03-07.03; # UTC # Copyright (C) 1996-2018 Free Software Foundation, Inc. # Originally written by Fran,cois Pinard , 1996. # 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, 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 to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. if test $# -eq 0; then echo 1>&2 "Try '$0 --help' for more information" exit 1 fi case $1 in --is-lightweight) # Used by our autoconf macros to check whether the available missing # script is modern enough. exit 0 ;; --run) # Back-compat with the calling convention used by older automake. shift ;; -h|--h|--he|--hel|--help) echo "\ $0 [OPTION]... PROGRAM [ARGUMENT]... Run 'PROGRAM [ARGUMENT]...', returning a proper advice when this fails due to PROGRAM being missing or too old. Options: -h, --help display this help and exit -v, --version output version information and exit Supported PROGRAM values: aclocal autoconf autoheader autom4te automake makeinfo bison yacc flex lex help2man Version suffixes to PROGRAM as well as the prefixes 'gnu-', 'gnu', and 'g' are ignored when checking the name. Send bug reports to ." exit $? ;; -v|--v|--ve|--ver|--vers|--versi|--versio|--version) echo "missing $scriptversion (GNU Automake)" exit $? ;; -*) echo 1>&2 "$0: unknown '$1' option" echo 1>&2 "Try '$0 --help' for more information" exit 1 ;; esac # Run the given program, remember its exit status. "$@"; st=$? # If it succeeded, we are done. test $st -eq 0 && exit 0 # Also exit now if we it failed (or wasn't found), and '--version' was # passed; such an option is passed most likely to detect whether the # program is present and works. case $2 in --version|--help) exit $st;; esac # Exit code 63 means version mismatch. This often happens when the user # tries to use an ancient version of a tool on a file that requires a # minimum version. if test $st -eq 63; then msg="probably too old" elif test $st -eq 127; then # Program was missing. msg="missing on your system" else # Program was found and executed, but failed. Give up. exit $st fi perl_URL=https://www.perl.org/ flex_URL=https://github.com/westes/flex gnu_software_URL=https://www.gnu.org/software program_details () { case $1 in aclocal|automake) echo "The '$1' program is part of the GNU Automake package:" echo "<$gnu_software_URL/automake>" echo "It also requires GNU Autoconf, GNU m4 and Perl in order to run:" echo "<$gnu_software_URL/autoconf>" echo "<$gnu_software_URL/m4/>" echo "<$perl_URL>" ;; autoconf|autom4te|autoheader) echo "The '$1' program is part of the GNU Autoconf package:" echo "<$gnu_software_URL/autoconf/>" echo "It also requires GNU m4 and Perl in order to run:" echo "<$gnu_software_URL/m4/>" echo "<$perl_URL>" ;; esac } give_advice () { # Normalize program name to check for. normalized_program=`echo "$1" | sed ' s/^gnu-//; t s/^gnu//; t s/^g//; t'` printf '%s\n' "'$1' is $msg." configure_deps="'configure.ac' or m4 files included by 'configure.ac'" case $normalized_program in autoconf*) echo "You should only need it if you modified 'configure.ac'," echo "or m4 files included by it." program_details 'autoconf' ;; autoheader*) echo "You should only need it if you modified 'acconfig.h' or" echo "$configure_deps." program_details 'autoheader' ;; automake*) echo "You should only need it if you modified 'Makefile.am' or" echo "$configure_deps." program_details 'automake' ;; aclocal*) echo "You should only need it if you modified 'acinclude.m4' or" echo "$configure_deps." program_details 'aclocal' ;; autom4te*) echo "You might have modified some maintainer files that require" echo "the 'autom4te' program to be rebuilt." program_details 'autom4te' ;; bison*|yacc*) echo "You should only need it if you modified a '.y' file." echo "You may want to install the GNU Bison package:" echo "<$gnu_software_URL/bison/>" ;; lex*|flex*) echo "You should only need it if you modified a '.l' file." echo "You may want to install the Fast Lexical Analyzer package:" echo "<$flex_URL>" ;; help2man*) echo "You should only need it if you modified a dependency" \ "of a man page." echo "You may want to install the GNU Help2man package:" echo "<$gnu_software_URL/help2man/>" ;; makeinfo*) echo "You should only need it if you modified a '.texi' file, or" echo "any other file indirectly affecting the aspect of the manual." echo "You might want to install the Texinfo package:" echo "<$gnu_software_URL/texinfo/>" echo "The spurious makeinfo call might also be the consequence of" echo "using a buggy 'make' (AIX, DU, IRIX), in which case you might" echo "want to install GNU make:" echo "<$gnu_software_URL/make/>" ;; *) echo "You might have modified some files without having the proper" echo "tools for further handling them. Check the 'README' file, it" echo "often tells you about the needed prerequisites for installing" echo "this package. You may also peek at any GNU archive site, in" echo "case some other package contains this missing '$1' program." ;; esac } give_advice "$1" | sed -e '1s/^/WARNING: /' \ -e '2,$s/^/ /' >&2 # Propagate the correct exit status (expected to be 127 for a program # not found, 63 for a program that failed due to version mismatch). exit $st # Local variables: # eval: (add-hook 'before-save-hook 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC0" # time-stamp-end: "; # UTC" # End: shapelib-1.6.1/m4/0000775000175000017500000000000014657064715010650 500000000000000shapelib-1.6.1/m4/lt~obsolete.m40000644000175000017500000001377414656616446013421 00000000000000# lt~obsolete.m4 -- aclocal satisfying obsolete definitions. -*-Autoconf-*- # # Copyright (C) 2004-2005, 2007, 2009, 2011-2015 Free Software # Foundation, Inc. # Written by Scott James Remnant, 2004. # # This file is free software; the Free Software Foundation gives # unlimited permission to copy and/or distribute it, with or without # modifications, as long as this notice is preserved. # serial 5 lt~obsolete.m4 # These exist entirely to fool aclocal when bootstrapping libtool. # # In the past libtool.m4 has provided macros via AC_DEFUN (or AU_DEFUN), # which have later been changed to m4_define as they aren't part of the # exported API, or moved to Autoconf or Automake where they belong. # # The trouble is, aclocal is a bit thick. It'll see the old AC_DEFUN # in /usr/share/aclocal/libtool.m4 and remember it, then when it sees us # using a macro with the same name in our local m4/libtool.m4 it'll # pull the old libtool.m4 in (it doesn't see our shiny new m4_define # and doesn't know about Autoconf macros at all.) # # So we provide this file, which has a silly filename so it's always # included after everything else. This provides aclocal with the # AC_DEFUNs it wants, but when m4 processes it, it doesn't do anything # because those macros already exist, or will be overwritten later. # We use AC_DEFUN over AU_DEFUN for compatibility with aclocal-1.6. # # Anytime we withdraw an AC_DEFUN or AU_DEFUN, remember to add it here. # Yes, that means every name once taken will need to remain here until # we give up compatibility with versions before 1.7, at which point # we need to keep only those names which we still refer to. # This is to help aclocal find these macros, as it can't see m4_define. AC_DEFUN([LTOBSOLETE_VERSION], [m4_if([1])]) m4_ifndef([AC_LIBTOOL_LINKER_OPTION], [AC_DEFUN([AC_LIBTOOL_LINKER_OPTION])]) m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP])]) m4_ifndef([_LT_AC_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH])]) m4_ifndef([_LT_AC_SHELL_INIT], [AC_DEFUN([_LT_AC_SHELL_INIT])]) m4_ifndef([_LT_AC_SYS_LIBPATH_AIX], [AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX])]) m4_ifndef([_LT_PROG_LTMAIN], [AC_DEFUN([_LT_PROG_LTMAIN])]) m4_ifndef([_LT_AC_TAGVAR], [AC_DEFUN([_LT_AC_TAGVAR])]) m4_ifndef([AC_LTDL_ENABLE_INSTALL], [AC_DEFUN([AC_LTDL_ENABLE_INSTALL])]) m4_ifndef([AC_LTDL_PREOPEN], [AC_DEFUN([AC_LTDL_PREOPEN])]) m4_ifndef([_LT_AC_SYS_COMPILER], [AC_DEFUN([_LT_AC_SYS_COMPILER])]) m4_ifndef([_LT_AC_LOCK], [AC_DEFUN([_LT_AC_LOCK])]) m4_ifndef([AC_LIBTOOL_SYS_OLD_ARCHIVE], [AC_DEFUN([AC_LIBTOOL_SYS_OLD_ARCHIVE])]) m4_ifndef([_LT_AC_TRY_DLOPEN_SELF], [AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF])]) m4_ifndef([AC_LIBTOOL_PROG_CC_C_O], [AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O])]) m4_ifndef([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], [AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS])]) m4_ifndef([AC_LIBTOOL_OBJDIR], [AC_DEFUN([AC_LIBTOOL_OBJDIR])]) m4_ifndef([AC_LTDL_OBJDIR], [AC_DEFUN([AC_LTDL_OBJDIR])]) m4_ifndef([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], [AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH])]) m4_ifndef([AC_LIBTOOL_SYS_LIB_STRIP], [AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP])]) m4_ifndef([AC_PATH_MAGIC], [AC_DEFUN([AC_PATH_MAGIC])]) m4_ifndef([AC_PROG_LD_GNU], [AC_DEFUN([AC_PROG_LD_GNU])]) m4_ifndef([AC_PROG_LD_RELOAD_FLAG], [AC_DEFUN([AC_PROG_LD_RELOAD_FLAG])]) m4_ifndef([AC_DEPLIBS_CHECK_METHOD], [AC_DEFUN([AC_DEPLIBS_CHECK_METHOD])]) m4_ifndef([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI])]) m4_ifndef([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], [AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE])]) m4_ifndef([AC_LIBTOOL_PROG_COMPILER_PIC], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC])]) m4_ifndef([AC_LIBTOOL_PROG_LD_SHLIBS], [AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS])]) m4_ifndef([AC_LIBTOOL_POSTDEP_PREDEP], [AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP])]) m4_ifndef([LT_AC_PROG_EGREP], [AC_DEFUN([LT_AC_PROG_EGREP])]) m4_ifndef([LT_AC_PROG_SED], [AC_DEFUN([LT_AC_PROG_SED])]) m4_ifndef([_LT_CC_BASENAME], [AC_DEFUN([_LT_CC_BASENAME])]) m4_ifndef([_LT_COMPILER_BOILERPLATE], [AC_DEFUN([_LT_COMPILER_BOILERPLATE])]) m4_ifndef([_LT_LINKER_BOILERPLATE], [AC_DEFUN([_LT_LINKER_BOILERPLATE])]) m4_ifndef([_AC_PROG_LIBTOOL], [AC_DEFUN([_AC_PROG_LIBTOOL])]) m4_ifndef([AC_LIBTOOL_SETUP], [AC_DEFUN([AC_LIBTOOL_SETUP])]) m4_ifndef([_LT_AC_CHECK_DLFCN], [AC_DEFUN([_LT_AC_CHECK_DLFCN])]) m4_ifndef([AC_LIBTOOL_SYS_DYNAMIC_LINKER], [AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER])]) m4_ifndef([_LT_AC_TAGCONFIG], [AC_DEFUN([_LT_AC_TAGCONFIG])]) m4_ifndef([AC_DISABLE_FAST_INSTALL], [AC_DEFUN([AC_DISABLE_FAST_INSTALL])]) m4_ifndef([_LT_AC_LANG_CXX], [AC_DEFUN([_LT_AC_LANG_CXX])]) m4_ifndef([_LT_AC_LANG_F77], [AC_DEFUN([_LT_AC_LANG_F77])]) m4_ifndef([_LT_AC_LANG_GCJ], [AC_DEFUN([_LT_AC_LANG_GCJ])]) m4_ifndef([AC_LIBTOOL_LANG_C_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG])]) m4_ifndef([_LT_AC_LANG_C_CONFIG], [AC_DEFUN([_LT_AC_LANG_C_CONFIG])]) m4_ifndef([AC_LIBTOOL_LANG_CXX_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG])]) m4_ifndef([_LT_AC_LANG_CXX_CONFIG], [AC_DEFUN([_LT_AC_LANG_CXX_CONFIG])]) m4_ifndef([AC_LIBTOOL_LANG_F77_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG])]) m4_ifndef([_LT_AC_LANG_F77_CONFIG], [AC_DEFUN([_LT_AC_LANG_F77_CONFIG])]) m4_ifndef([AC_LIBTOOL_LANG_GCJ_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG])]) m4_ifndef([_LT_AC_LANG_GCJ_CONFIG], [AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG])]) m4_ifndef([AC_LIBTOOL_LANG_RC_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG])]) m4_ifndef([_LT_AC_LANG_RC_CONFIG], [AC_DEFUN([_LT_AC_LANG_RC_CONFIG])]) m4_ifndef([AC_LIBTOOL_CONFIG], [AC_DEFUN([AC_LIBTOOL_CONFIG])]) m4_ifndef([_LT_AC_FILE_LTDLL_C], [AC_DEFUN([_LT_AC_FILE_LTDLL_C])]) m4_ifndef([_LT_REQUIRED_DARWIN_CHECKS], [AC_DEFUN([_LT_REQUIRED_DARWIN_CHECKS])]) m4_ifndef([_LT_AC_PROG_CXXCPP], [AC_DEFUN([_LT_AC_PROG_CXXCPP])]) m4_ifndef([_LT_PREPARE_SED_QUOTE_VARS], [AC_DEFUN([_LT_PREPARE_SED_QUOTE_VARS])]) m4_ifndef([_LT_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_PROG_ECHO_BACKSLASH])]) m4_ifndef([_LT_PROG_F77], [AC_DEFUN([_LT_PROG_F77])]) m4_ifndef([_LT_PROG_FC], [AC_DEFUN([_LT_PROG_FC])]) m4_ifndef([_LT_PROG_CXX], [AC_DEFUN([_LT_PROG_CXX])]) shapelib-1.6.1/m4/ltoptions.m40000644000175000017500000003426214656616446013075 00000000000000# Helper functions for option handling. -*- Autoconf -*- # # Copyright (C) 2004-2005, 2007-2009, 2011-2015 Free Software # Foundation, Inc. # Written by Gary V. Vaughan, 2004 # # This file is free software; the Free Software Foundation gives # unlimited permission to copy and/or distribute it, with or without # modifications, as long as this notice is preserved. # serial 8 ltoptions.m4 # This is to help aclocal find these macros, as it can't see m4_define. AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])]) # _LT_MANGLE_OPTION(MACRO-NAME, OPTION-NAME) # ------------------------------------------ m4_define([_LT_MANGLE_OPTION], [[_LT_OPTION_]m4_bpatsubst($1__$2, [[^a-zA-Z0-9_]], [_])]) # _LT_SET_OPTION(MACRO-NAME, OPTION-NAME) # --------------------------------------- # Set option OPTION-NAME for macro MACRO-NAME, and if there is a # matching handler defined, dispatch to it. Other OPTION-NAMEs are # saved as a flag. m4_define([_LT_SET_OPTION], [m4_define(_LT_MANGLE_OPTION([$1], [$2]))dnl m4_ifdef(_LT_MANGLE_DEFUN([$1], [$2]), _LT_MANGLE_DEFUN([$1], [$2]), [m4_warning([Unknown $1 option '$2'])])[]dnl ]) # _LT_IF_OPTION(MACRO-NAME, OPTION-NAME, IF-SET, [IF-NOT-SET]) # ------------------------------------------------------------ # Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. m4_define([_LT_IF_OPTION], [m4_ifdef(_LT_MANGLE_OPTION([$1], [$2]), [$3], [$4])]) # _LT_UNLESS_OPTIONS(MACRO-NAME, OPTION-LIST, IF-NOT-SET) # ------------------------------------------------------- # Execute IF-NOT-SET unless all options in OPTION-LIST for MACRO-NAME # are set. m4_define([_LT_UNLESS_OPTIONS], [m4_foreach([_LT_Option], m4_split(m4_normalize([$2])), [m4_ifdef(_LT_MANGLE_OPTION([$1], _LT_Option), [m4_define([$0_found])])])[]dnl m4_ifdef([$0_found], [m4_undefine([$0_found])], [$3 ])[]dnl ]) # _LT_SET_OPTIONS(MACRO-NAME, OPTION-LIST) # ---------------------------------------- # OPTION-LIST is a space-separated list of Libtool options associated # with MACRO-NAME. If any OPTION has a matching handler declared with # LT_OPTION_DEFINE, dispatch to that macro; otherwise complain about # the unknown option and exit. m4_defun([_LT_SET_OPTIONS], [# Set options m4_foreach([_LT_Option], m4_split(m4_normalize([$2])), [_LT_SET_OPTION([$1], _LT_Option)]) m4_if([$1],[LT_INIT],[ dnl dnl Simply set some default values (i.e off) if boolean options were not dnl specified: _LT_UNLESS_OPTIONS([LT_INIT], [dlopen], [enable_dlopen=no ]) _LT_UNLESS_OPTIONS([LT_INIT], [win32-dll], [enable_win32_dll=no ]) dnl dnl If no reference was made to various pairs of opposing options, then dnl we run the default mode handler for the pair. For example, if neither dnl 'shared' nor 'disable-shared' was passed, we enable building of shared dnl archives by default: _LT_UNLESS_OPTIONS([LT_INIT], [shared disable-shared], [_LT_ENABLE_SHARED]) _LT_UNLESS_OPTIONS([LT_INIT], [static disable-static], [_LT_ENABLE_STATIC]) _LT_UNLESS_OPTIONS([LT_INIT], [pic-only no-pic], [_LT_WITH_PIC]) _LT_UNLESS_OPTIONS([LT_INIT], [fast-install disable-fast-install], [_LT_ENABLE_FAST_INSTALL]) _LT_UNLESS_OPTIONS([LT_INIT], [aix-soname=aix aix-soname=both aix-soname=svr4], [_LT_WITH_AIX_SONAME([aix])]) ]) ])# _LT_SET_OPTIONS ## --------------------------------- ## ## Macros to handle LT_INIT options. ## ## --------------------------------- ## # _LT_MANGLE_DEFUN(MACRO-NAME, OPTION-NAME) # ----------------------------------------- m4_define([_LT_MANGLE_DEFUN], [[_LT_OPTION_DEFUN_]m4_bpatsubst(m4_toupper([$1__$2]), [[^A-Z0-9_]], [_])]) # LT_OPTION_DEFINE(MACRO-NAME, OPTION-NAME, CODE) # ----------------------------------------------- m4_define([LT_OPTION_DEFINE], [m4_define(_LT_MANGLE_DEFUN([$1], [$2]), [$3])[]dnl ])# LT_OPTION_DEFINE # dlopen # ------ LT_OPTION_DEFINE([LT_INIT], [dlopen], [enable_dlopen=yes ]) AU_DEFUN([AC_LIBTOOL_DLOPEN], [_LT_SET_OPTION([LT_INIT], [dlopen]) AC_DIAGNOSE([obsolete], [$0: Remove this warning and the call to _LT_SET_OPTION when you put the 'dlopen' option into LT_INIT's first parameter.]) ]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_LIBTOOL_DLOPEN], []) # win32-dll # --------- # Declare package support for building win32 dll's. LT_OPTION_DEFINE([LT_INIT], [win32-dll], [enable_win32_dll=yes case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*) AC_CHECK_TOOL(AS, as, false) AC_CHECK_TOOL(DLLTOOL, dlltool, false) AC_CHECK_TOOL(OBJDUMP, objdump, false) ;; esac test -z "$AS" && AS=as _LT_DECL([], [AS], [1], [Assembler program])dnl test -z "$DLLTOOL" && DLLTOOL=dlltool _LT_DECL([], [DLLTOOL], [1], [DLL creation program])dnl test -z "$OBJDUMP" && OBJDUMP=objdump _LT_DECL([], [OBJDUMP], [1], [Object dumper program])dnl ])# win32-dll AU_DEFUN([AC_LIBTOOL_WIN32_DLL], [AC_REQUIRE([AC_CANONICAL_HOST])dnl _LT_SET_OPTION([LT_INIT], [win32-dll]) AC_DIAGNOSE([obsolete], [$0: Remove this warning and the call to _LT_SET_OPTION when you put the 'win32-dll' option into LT_INIT's first parameter.]) ]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_LIBTOOL_WIN32_DLL], []) # _LT_ENABLE_SHARED([DEFAULT]) # ---------------------------- # implement the --enable-shared flag, and supports the 'shared' and # 'disable-shared' LT_INIT options. # DEFAULT is either 'yes' or 'no'. If omitted, it defaults to 'yes'. m4_define([_LT_ENABLE_SHARED], [m4_define([_LT_ENABLE_SHARED_DEFAULT], [m4_if($1, no, no, yes)])dnl AC_ARG_ENABLE([shared], [AS_HELP_STRING([--enable-shared@<:@=PKGS@:>@], [build shared libraries @<:@default=]_LT_ENABLE_SHARED_DEFAULT[@:>@])], [p=${PACKAGE-default} case $enableval in yes) enable_shared=yes ;; no) enable_shared=no ;; *) enable_shared=no # Look at the argument we got. We use all the common list separators. lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, for pkg in $enableval; do IFS=$lt_save_ifs if test "X$pkg" = "X$p"; then enable_shared=yes fi done IFS=$lt_save_ifs ;; esac], [enable_shared=]_LT_ENABLE_SHARED_DEFAULT) _LT_DECL([build_libtool_libs], [enable_shared], [0], [Whether or not to build shared libraries]) ])# _LT_ENABLE_SHARED LT_OPTION_DEFINE([LT_INIT], [shared], [_LT_ENABLE_SHARED([yes])]) LT_OPTION_DEFINE([LT_INIT], [disable-shared], [_LT_ENABLE_SHARED([no])]) # Old names: AC_DEFUN([AC_ENABLE_SHARED], [_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[shared]) ]) AC_DEFUN([AC_DISABLE_SHARED], [_LT_SET_OPTION([LT_INIT], [disable-shared]) ]) AU_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)]) AU_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AM_ENABLE_SHARED], []) dnl AC_DEFUN([AM_DISABLE_SHARED], []) # _LT_ENABLE_STATIC([DEFAULT]) # ---------------------------- # implement the --enable-static flag, and support the 'static' and # 'disable-static' LT_INIT options. # DEFAULT is either 'yes' or 'no'. If omitted, it defaults to 'yes'. m4_define([_LT_ENABLE_STATIC], [m4_define([_LT_ENABLE_STATIC_DEFAULT], [m4_if($1, no, no, yes)])dnl AC_ARG_ENABLE([static], [AS_HELP_STRING([--enable-static@<:@=PKGS@:>@], [build static libraries @<:@default=]_LT_ENABLE_STATIC_DEFAULT[@:>@])], [p=${PACKAGE-default} case $enableval in yes) enable_static=yes ;; no) enable_static=no ;; *) enable_static=no # Look at the argument we got. We use all the common list separators. lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, for pkg in $enableval; do IFS=$lt_save_ifs if test "X$pkg" = "X$p"; then enable_static=yes fi done IFS=$lt_save_ifs ;; esac], [enable_static=]_LT_ENABLE_STATIC_DEFAULT) _LT_DECL([build_old_libs], [enable_static], [0], [Whether or not to build static libraries]) ])# _LT_ENABLE_STATIC LT_OPTION_DEFINE([LT_INIT], [static], [_LT_ENABLE_STATIC([yes])]) LT_OPTION_DEFINE([LT_INIT], [disable-static], [_LT_ENABLE_STATIC([no])]) # Old names: AC_DEFUN([AC_ENABLE_STATIC], [_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[static]) ]) AC_DEFUN([AC_DISABLE_STATIC], [_LT_SET_OPTION([LT_INIT], [disable-static]) ]) AU_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)]) AU_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AM_ENABLE_STATIC], []) dnl AC_DEFUN([AM_DISABLE_STATIC], []) # _LT_ENABLE_FAST_INSTALL([DEFAULT]) # ---------------------------------- # implement the --enable-fast-install flag, and support the 'fast-install' # and 'disable-fast-install' LT_INIT options. # DEFAULT is either 'yes' or 'no'. If omitted, it defaults to 'yes'. m4_define([_LT_ENABLE_FAST_INSTALL], [m4_define([_LT_ENABLE_FAST_INSTALL_DEFAULT], [m4_if($1, no, no, yes)])dnl AC_ARG_ENABLE([fast-install], [AS_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@], [optimize for fast installation @<:@default=]_LT_ENABLE_FAST_INSTALL_DEFAULT[@:>@])], [p=${PACKAGE-default} case $enableval in yes) enable_fast_install=yes ;; no) enable_fast_install=no ;; *) enable_fast_install=no # Look at the argument we got. We use all the common list separators. lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, for pkg in $enableval; do IFS=$lt_save_ifs if test "X$pkg" = "X$p"; then enable_fast_install=yes fi done IFS=$lt_save_ifs ;; esac], [enable_fast_install=]_LT_ENABLE_FAST_INSTALL_DEFAULT) _LT_DECL([fast_install], [enable_fast_install], [0], [Whether or not to optimize for fast installation])dnl ])# _LT_ENABLE_FAST_INSTALL LT_OPTION_DEFINE([LT_INIT], [fast-install], [_LT_ENABLE_FAST_INSTALL([yes])]) LT_OPTION_DEFINE([LT_INIT], [disable-fast-install], [_LT_ENABLE_FAST_INSTALL([no])]) # Old names: AU_DEFUN([AC_ENABLE_FAST_INSTALL], [_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install]) AC_DIAGNOSE([obsolete], [$0: Remove this warning and the call to _LT_SET_OPTION when you put the 'fast-install' option into LT_INIT's first parameter.]) ]) AU_DEFUN([AC_DISABLE_FAST_INSTALL], [_LT_SET_OPTION([LT_INIT], [disable-fast-install]) AC_DIAGNOSE([obsolete], [$0: Remove this warning and the call to _LT_SET_OPTION when you put the 'disable-fast-install' option into LT_INIT's first parameter.]) ]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_ENABLE_FAST_INSTALL], []) dnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], []) # _LT_WITH_AIX_SONAME([DEFAULT]) # ---------------------------------- # implement the --with-aix-soname flag, and support the `aix-soname=aix' # and `aix-soname=both' and `aix-soname=svr4' LT_INIT options. DEFAULT # is either `aix', `both' or `svr4'. If omitted, it defaults to `aix'. m4_define([_LT_WITH_AIX_SONAME], [m4_define([_LT_WITH_AIX_SONAME_DEFAULT], [m4_if($1, svr4, svr4, m4_if($1, both, both, aix))])dnl shared_archive_member_spec= case $host,$enable_shared in power*-*-aix[[5-9]]*,yes) AC_MSG_CHECKING([which variant of shared library versioning to provide]) AC_ARG_WITH([aix-soname], [AS_HELP_STRING([--with-aix-soname=aix|svr4|both], [shared library versioning (aka "SONAME") variant to provide on AIX, @<:@default=]_LT_WITH_AIX_SONAME_DEFAULT[@:>@.])], [case $withval in aix|svr4|both) ;; *) AC_MSG_ERROR([Unknown argument to --with-aix-soname]) ;; esac lt_cv_with_aix_soname=$with_aix_soname], [AC_CACHE_VAL([lt_cv_with_aix_soname], [lt_cv_with_aix_soname=]_LT_WITH_AIX_SONAME_DEFAULT) with_aix_soname=$lt_cv_with_aix_soname]) AC_MSG_RESULT([$with_aix_soname]) if test aix != "$with_aix_soname"; then # For the AIX way of multilib, we name the shared archive member # based on the bitwidth used, traditionally 'shr.o' or 'shr_64.o', # and 'shr.imp' or 'shr_64.imp', respectively, for the Import File. # Even when GNU compilers ignore OBJECT_MODE but need '-maix64' flag, # the AIX toolchain works better with OBJECT_MODE set (default 32). if test 64 = "${OBJECT_MODE-32}"; then shared_archive_member_spec=shr_64 else shared_archive_member_spec=shr fi fi ;; *) with_aix_soname=aix ;; esac _LT_DECL([], [shared_archive_member_spec], [0], [Shared archive member basename, for filename based shared library versioning on AIX])dnl ])# _LT_WITH_AIX_SONAME LT_OPTION_DEFINE([LT_INIT], [aix-soname=aix], [_LT_WITH_AIX_SONAME([aix])]) LT_OPTION_DEFINE([LT_INIT], [aix-soname=both], [_LT_WITH_AIX_SONAME([both])]) LT_OPTION_DEFINE([LT_INIT], [aix-soname=svr4], [_LT_WITH_AIX_SONAME([svr4])]) # _LT_WITH_PIC([MODE]) # -------------------- # implement the --with-pic flag, and support the 'pic-only' and 'no-pic' # LT_INIT options. # MODE is either 'yes' or 'no'. If omitted, it defaults to 'both'. m4_define([_LT_WITH_PIC], [AC_ARG_WITH([pic], [AS_HELP_STRING([--with-pic@<:@=PKGS@:>@], [try to use only PIC/non-PIC objects @<:@default=use both@:>@])], [lt_p=${PACKAGE-default} case $withval in yes|no) pic_mode=$withval ;; *) pic_mode=default # Look at the argument we got. We use all the common list separators. lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, for lt_pkg in $withval; do IFS=$lt_save_ifs if test "X$lt_pkg" = "X$lt_p"; then pic_mode=yes fi done IFS=$lt_save_ifs ;; esac], [pic_mode=m4_default([$1], [default])]) _LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl ])# _LT_WITH_PIC LT_OPTION_DEFINE([LT_INIT], [pic-only], [_LT_WITH_PIC([yes])]) LT_OPTION_DEFINE([LT_INIT], [no-pic], [_LT_WITH_PIC([no])]) # Old name: AU_DEFUN([AC_LIBTOOL_PICMODE], [_LT_SET_OPTION([LT_INIT], [pic-only]) AC_DIAGNOSE([obsolete], [$0: Remove this warning and the call to _LT_SET_OPTION when you put the 'pic-only' option into LT_INIT's first parameter.]) ]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_LIBTOOL_PICMODE], []) ## ----------------- ## ## LTDL_INIT Options ## ## ----------------- ## m4_define([_LTDL_MODE], []) LT_OPTION_DEFINE([LTDL_INIT], [nonrecursive], [m4_define([_LTDL_MODE], [nonrecursive])]) LT_OPTION_DEFINE([LTDL_INIT], [recursive], [m4_define([_LTDL_MODE], [recursive])]) LT_OPTION_DEFINE([LTDL_INIT], [subproject], [m4_define([_LTDL_MODE], [subproject])]) m4_define([_LTDL_TYPE], []) LT_OPTION_DEFINE([LTDL_INIT], [installable], [m4_define([_LTDL_TYPE], [installable])]) LT_OPTION_DEFINE([LTDL_INIT], [convenience], [m4_define([_LTDL_TYPE], [convenience])]) shapelib-1.6.1/m4/libtool.m40000644000175000017500000112676314656616446012517 00000000000000# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*- # # Copyright (C) 1996-2001, 2003-2015 Free Software Foundation, Inc. # Written by Gordon Matzigkeit, 1996 # # This file is free software; the Free Software Foundation gives # unlimited permission to copy and/or distribute it, with or without # modifications, as long as this notice is preserved. m4_define([_LT_COPYING], [dnl # Copyright (C) 2014 Free Software Foundation, Inc. # This is free software; see the source for copying conditions. There is NO # warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. # GNU Libtool 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 of the License, or # (at your option) any later version. # # As a special exception to the GNU General Public License, if you # distribute this file as part of a program or library that is built # using GNU Libtool, you may include this file under the same # distribution terms that you use for the rest of that program. # # GNU Libtool 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 . ]) # serial 58 LT_INIT # LT_PREREQ(VERSION) # ------------------ # Complain and exit if this libtool version is less that VERSION. m4_defun([LT_PREREQ], [m4_if(m4_version_compare(m4_defn([LT_PACKAGE_VERSION]), [$1]), -1, [m4_default([$3], [m4_fatal([Libtool version $1 or higher is required], 63)])], [$2])]) # _LT_CHECK_BUILDDIR # ------------------ # Complain if the absolute build directory name contains unusual characters m4_defun([_LT_CHECK_BUILDDIR], [case `pwd` in *\ * | *\ *) AC_MSG_WARN([Libtool does not cope well with whitespace in `pwd`]) ;; esac ]) # LT_INIT([OPTIONS]) # ------------------ AC_DEFUN([LT_INIT], [AC_PREREQ([2.62])dnl We use AC_PATH_PROGS_FEATURE_CHECK AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl AC_BEFORE([$0], [LT_LANG])dnl AC_BEFORE([$0], [LT_OUTPUT])dnl AC_BEFORE([$0], [LTDL_INIT])dnl m4_require([_LT_CHECK_BUILDDIR])dnl dnl Autoconf doesn't catch unexpanded LT_ macros by default: m4_pattern_forbid([^_?LT_[A-Z_]+$])dnl m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])dnl dnl aclocal doesn't pull ltoptions.m4, ltsugar.m4, or ltversion.m4 dnl unless we require an AC_DEFUNed macro: AC_REQUIRE([LTOPTIONS_VERSION])dnl AC_REQUIRE([LTSUGAR_VERSION])dnl AC_REQUIRE([LTVERSION_VERSION])dnl AC_REQUIRE([LTOBSOLETE_VERSION])dnl m4_require([_LT_PROG_LTMAIN])dnl _LT_SHELL_INIT([SHELL=${CONFIG_SHELL-/bin/sh}]) dnl Parse OPTIONS _LT_SET_OPTIONS([$0], [$1]) # This can be used to rebuild libtool when needed LIBTOOL_DEPS=$ltmain # Always use our own libtool. LIBTOOL='$(SHELL) $(top_builddir)/libtool' AC_SUBST(LIBTOOL)dnl _LT_SETUP # Only expand once: m4_define([LT_INIT]) ])# LT_INIT # Old names: AU_ALIAS([AC_PROG_LIBTOOL], [LT_INIT]) AU_ALIAS([AM_PROG_LIBTOOL], [LT_INIT]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_PROG_LIBTOOL], []) dnl AC_DEFUN([AM_PROG_LIBTOOL], []) # _LT_PREPARE_CC_BASENAME # ----------------------- m4_defun([_LT_PREPARE_CC_BASENAME], [ # Calculate cc_basename. Skip known compiler wrappers and cross-prefix. func_cc_basename () { for cc_temp in @S|@*""; do case $cc_temp in compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;; distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;; \-*) ;; *) break;; esac done func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` } ])# _LT_PREPARE_CC_BASENAME # _LT_CC_BASENAME(CC) # ------------------- # It would be clearer to call AC_REQUIREs from _LT_PREPARE_CC_BASENAME, # but that macro is also expanded into generated libtool script, which # arranges for $SED and $ECHO to be set by different means. m4_defun([_LT_CC_BASENAME], [m4_require([_LT_PREPARE_CC_BASENAME])dnl AC_REQUIRE([_LT_DECL_SED])dnl AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl func_cc_basename $1 cc_basename=$func_cc_basename_result ]) # _LT_FILEUTILS_DEFAULTS # ---------------------- # It is okay to use these file commands and assume they have been set # sensibly after 'm4_require([_LT_FILEUTILS_DEFAULTS])'. m4_defun([_LT_FILEUTILS_DEFAULTS], [: ${CP="cp -f"} : ${MV="mv -f"} : ${RM="rm -f"} ])# _LT_FILEUTILS_DEFAULTS # _LT_SETUP # --------- m4_defun([_LT_SETUP], [AC_REQUIRE([AC_CANONICAL_HOST])dnl AC_REQUIRE([AC_CANONICAL_BUILD])dnl AC_REQUIRE([_LT_PREPARE_SED_QUOTE_VARS])dnl AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl _LT_DECL([], [PATH_SEPARATOR], [1], [The PATH separator for the build system])dnl dnl _LT_DECL([], [host_alias], [0], [The host system])dnl _LT_DECL([], [host], [0])dnl _LT_DECL([], [host_os], [0])dnl dnl _LT_DECL([], [build_alias], [0], [The build system])dnl _LT_DECL([], [build], [0])dnl _LT_DECL([], [build_os], [0])dnl dnl AC_REQUIRE([AC_PROG_CC])dnl AC_REQUIRE([LT_PATH_LD])dnl AC_REQUIRE([LT_PATH_NM])dnl dnl AC_REQUIRE([AC_PROG_LN_S])dnl test -z "$LN_S" && LN_S="ln -s" _LT_DECL([], [LN_S], [1], [Whether we need soft or hard links])dnl dnl AC_REQUIRE([LT_CMD_MAX_LEN])dnl _LT_DECL([objext], [ac_objext], [0], [Object file suffix (normally "o")])dnl _LT_DECL([], [exeext], [0], [Executable file suffix (normally "")])dnl dnl m4_require([_LT_FILEUTILS_DEFAULTS])dnl m4_require([_LT_CHECK_SHELL_FEATURES])dnl m4_require([_LT_PATH_CONVERSION_FUNCTIONS])dnl m4_require([_LT_CMD_RELOAD])dnl m4_require([_LT_CHECK_MAGIC_METHOD])dnl m4_require([_LT_CHECK_SHAREDLIB_FROM_LINKLIB])dnl m4_require([_LT_CMD_OLD_ARCHIVE])dnl m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl m4_require([_LT_WITH_SYSROOT])dnl m4_require([_LT_CMD_TRUNCATE])dnl _LT_CONFIG_LIBTOOL_INIT([ # See if we are running on zsh, and set the options that allow our # commands through without removal of \ escapes INIT. if test -n "\${ZSH_VERSION+set}"; then setopt NO_GLOB_SUBST fi ]) if test -n "${ZSH_VERSION+set}"; then setopt NO_GLOB_SUBST fi _LT_CHECK_OBJDIR m4_require([_LT_TAG_COMPILER])dnl case $host_os in aix3*) # AIX sometimes has problems with the GCC collect2 program. For some # reason, if we set the COLLECT_NAMES environment variable, the problems # vanish in a puff of smoke. if test set != "${COLLECT_NAMES+set}"; then COLLECT_NAMES= export COLLECT_NAMES fi ;; esac # Global variables: ofile=libtool can_build_shared=yes # All known linkers require a '.a' archive for static linking (except MSVC, # which needs '.lib'). libext=a with_gnu_ld=$lt_cv_prog_gnu_ld old_CC=$CC old_CFLAGS=$CFLAGS # Set sane defaults for various variables test -z "$CC" && CC=cc test -z "$LTCC" && LTCC=$CC test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS test -z "$LD" && LD=ld test -z "$ac_objext" && ac_objext=o _LT_CC_BASENAME([$compiler]) # Only perform the check for file, if the check method requires it test -z "$MAGIC_CMD" && MAGIC_CMD=file case $deplibs_check_method in file_magic*) if test "$file_magic_cmd" = '$MAGIC_CMD'; then _LT_PATH_MAGIC fi ;; esac # Use C for the default configuration in the libtool script LT_SUPPORTED_TAG([CC]) _LT_LANG_C_CONFIG _LT_LANG_DEFAULT_CONFIG _LT_CONFIG_COMMANDS ])# _LT_SETUP # _LT_PREPARE_SED_QUOTE_VARS # -------------------------- # Define a few sed substitution that help us do robust quoting. m4_defun([_LT_PREPARE_SED_QUOTE_VARS], [# Backslashify metacharacters that are still active within # double-quoted strings. sed_quote_subst='s/\([["`$\\]]\)/\\\1/g' # Same as above, but do not quote variable references. double_quote_subst='s/\([["`\\]]\)/\\\1/g' # Sed substitution to delay expansion of an escaped shell variable in a # double_quote_subst'ed string. delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' # Sed substitution to delay expansion of an escaped single quote. delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g' # Sed substitution to avoid accidental globbing in evaled expressions no_glob_subst='s/\*/\\\*/g' ]) # _LT_PROG_LTMAIN # --------------- # Note that this code is called both from 'configure', and 'config.status' # now that we use AC_CONFIG_COMMANDS to generate libtool. Notably, # 'config.status' has no value for ac_aux_dir unless we are using Automake, # so we pass a copy along to make sure it has a sensible value anyway. m4_defun([_LT_PROG_LTMAIN], [m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([ltmain.sh])])dnl _LT_CONFIG_LIBTOOL_INIT([ac_aux_dir='$ac_aux_dir']) ltmain=$ac_aux_dir/ltmain.sh ])# _LT_PROG_LTMAIN ## ------------------------------------- ## ## Accumulate code for creating libtool. ## ## ------------------------------------- ## # So that we can recreate a full libtool script including additional # tags, we accumulate the chunks of code to send to AC_CONFIG_COMMANDS # in macros and then make a single call at the end using the 'libtool' # label. # _LT_CONFIG_LIBTOOL_INIT([INIT-COMMANDS]) # ---------------------------------------- # Register INIT-COMMANDS to be passed to AC_CONFIG_COMMANDS later. m4_define([_LT_CONFIG_LIBTOOL_INIT], [m4_ifval([$1], [m4_append([_LT_OUTPUT_LIBTOOL_INIT], [$1 ])])]) # Initialize. m4_define([_LT_OUTPUT_LIBTOOL_INIT]) # _LT_CONFIG_LIBTOOL([COMMANDS]) # ------------------------------ # Register COMMANDS to be passed to AC_CONFIG_COMMANDS later. m4_define([_LT_CONFIG_LIBTOOL], [m4_ifval([$1], [m4_append([_LT_OUTPUT_LIBTOOL_COMMANDS], [$1 ])])]) # Initialize. m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS]) # _LT_CONFIG_SAVE_COMMANDS([COMMANDS], [INIT_COMMANDS]) # ----------------------------------------------------- m4_defun([_LT_CONFIG_SAVE_COMMANDS], [_LT_CONFIG_LIBTOOL([$1]) _LT_CONFIG_LIBTOOL_INIT([$2]) ]) # _LT_FORMAT_COMMENT([COMMENT]) # ----------------------------- # Add leading comment marks to the start of each line, and a trailing # full-stop to the whole comment if one is not present already. m4_define([_LT_FORMAT_COMMENT], [m4_ifval([$1], [ m4_bpatsubst([m4_bpatsubst([$1], [^ *], [# ])], [['`$\]], [\\\&])]m4_bmatch([$1], [[!?.]$], [], [.]) )]) ## ------------------------ ## ## FIXME: Eliminate VARNAME ## ## ------------------------ ## # _LT_DECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION], [IS-TAGGED?]) # ------------------------------------------------------------------- # CONFIGNAME is the name given to the value in the libtool script. # VARNAME is the (base) name used in the configure script. # VALUE may be 0, 1 or 2 for a computed quote escaped value based on # VARNAME. Any other value will be used directly. m4_define([_LT_DECL], [lt_if_append_uniq([lt_decl_varnames], [$2], [, ], [lt_dict_add_subkey([lt_decl_dict], [$2], [libtool_name], [m4_ifval([$1], [$1], [$2])]) lt_dict_add_subkey([lt_decl_dict], [$2], [value], [$3]) m4_ifval([$4], [lt_dict_add_subkey([lt_decl_dict], [$2], [description], [$4])]) lt_dict_add_subkey([lt_decl_dict], [$2], [tagged?], [m4_ifval([$5], [yes], [no])])]) ]) # _LT_TAGDECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION]) # -------------------------------------------------------- m4_define([_LT_TAGDECL], [_LT_DECL([$1], [$2], [$3], [$4], [yes])]) # lt_decl_tag_varnames([SEPARATOR], [VARNAME1...]) # ------------------------------------------------ m4_define([lt_decl_tag_varnames], [_lt_decl_filter([tagged?], [yes], $@)]) # _lt_decl_filter(SUBKEY, VALUE, [SEPARATOR], [VARNAME1..]) # --------------------------------------------------------- m4_define([_lt_decl_filter], [m4_case([$#], [0], [m4_fatal([$0: too few arguments: $#])], [1], [m4_fatal([$0: too few arguments: $#: $1])], [2], [lt_dict_filter([lt_decl_dict], [$1], [$2], [], lt_decl_varnames)], [3], [lt_dict_filter([lt_decl_dict], [$1], [$2], [$3], lt_decl_varnames)], [lt_dict_filter([lt_decl_dict], $@)])[]dnl ]) # lt_decl_quote_varnames([SEPARATOR], [VARNAME1...]) # -------------------------------------------------- m4_define([lt_decl_quote_varnames], [_lt_decl_filter([value], [1], $@)]) # lt_decl_dquote_varnames([SEPARATOR], [VARNAME1...]) # --------------------------------------------------- m4_define([lt_decl_dquote_varnames], [_lt_decl_filter([value], [2], $@)]) # lt_decl_varnames_tagged([SEPARATOR], [VARNAME1...]) # --------------------------------------------------- m4_define([lt_decl_varnames_tagged], [m4_assert([$# <= 2])dnl _$0(m4_quote(m4_default([$1], [[, ]])), m4_ifval([$2], [[$2]], [m4_dquote(lt_decl_tag_varnames)]), m4_split(m4_normalize(m4_quote(_LT_TAGS)), [ ]))]) m4_define([_lt_decl_varnames_tagged], [m4_ifval([$3], [lt_combine([$1], [$2], [_], $3)])]) # lt_decl_all_varnames([SEPARATOR], [VARNAME1...]) # ------------------------------------------------ m4_define([lt_decl_all_varnames], [_$0(m4_quote(m4_default([$1], [[, ]])), m4_if([$2], [], m4_quote(lt_decl_varnames), m4_quote(m4_shift($@))))[]dnl ]) m4_define([_lt_decl_all_varnames], [lt_join($@, lt_decl_varnames_tagged([$1], lt_decl_tag_varnames([[, ]], m4_shift($@))))dnl ]) # _LT_CONFIG_STATUS_DECLARE([VARNAME]) # ------------------------------------ # Quote a variable value, and forward it to 'config.status' so that its # declaration there will have the same value as in 'configure'. VARNAME # must have a single quote delimited value for this to work. m4_define([_LT_CONFIG_STATUS_DECLARE], [$1='`$ECHO "$][$1" | $SED "$delay_single_quote_subst"`']) # _LT_CONFIG_STATUS_DECLARATIONS # ------------------------------ # We delimit libtool config variables with single quotes, so when # we write them to config.status, we have to be sure to quote all # embedded single quotes properly. In configure, this macro expands # each variable declared with _LT_DECL (and _LT_TAGDECL) into: # # ='`$ECHO "$" | $SED "$delay_single_quote_subst"`' m4_defun([_LT_CONFIG_STATUS_DECLARATIONS], [m4_foreach([_lt_var], m4_quote(lt_decl_all_varnames), [m4_n([_LT_CONFIG_STATUS_DECLARE(_lt_var)])])]) # _LT_LIBTOOL_TAGS # ---------------- # Output comment and list of tags supported by the script m4_defun([_LT_LIBTOOL_TAGS], [_LT_FORMAT_COMMENT([The names of the tagged configurations supported by this script])dnl available_tags='_LT_TAGS'dnl ]) # _LT_LIBTOOL_DECLARE(VARNAME, [TAG]) # ----------------------------------- # Extract the dictionary values for VARNAME (optionally with TAG) and # expand to a commented shell variable setting: # # # Some comment about what VAR is for. # visible_name=$lt_internal_name m4_define([_LT_LIBTOOL_DECLARE], [_LT_FORMAT_COMMENT(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [description])))[]dnl m4_pushdef([_libtool_name], m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [libtool_name])))[]dnl m4_case(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [value])), [0], [_libtool_name=[$]$1], [1], [_libtool_name=$lt_[]$1], [2], [_libtool_name=$lt_[]$1], [_libtool_name=lt_dict_fetch([lt_decl_dict], [$1], [value])])[]dnl m4_ifval([$2], [_$2])[]m4_popdef([_libtool_name])[]dnl ]) # _LT_LIBTOOL_CONFIG_VARS # ----------------------- # Produce commented declarations of non-tagged libtool config variables # suitable for insertion in the LIBTOOL CONFIG section of the 'libtool' # script. Tagged libtool config variables (even for the LIBTOOL CONFIG # section) are produced by _LT_LIBTOOL_TAG_VARS. m4_defun([_LT_LIBTOOL_CONFIG_VARS], [m4_foreach([_lt_var], m4_quote(_lt_decl_filter([tagged?], [no], [], lt_decl_varnames)), [m4_n([_LT_LIBTOOL_DECLARE(_lt_var)])])]) # _LT_LIBTOOL_TAG_VARS(TAG) # ------------------------- m4_define([_LT_LIBTOOL_TAG_VARS], [m4_foreach([_lt_var], m4_quote(lt_decl_tag_varnames), [m4_n([_LT_LIBTOOL_DECLARE(_lt_var, [$1])])])]) # _LT_TAGVAR(VARNAME, [TAGNAME]) # ------------------------------ m4_define([_LT_TAGVAR], [m4_ifval([$2], [$1_$2], [$1])]) # _LT_CONFIG_COMMANDS # ------------------- # Send accumulated output to $CONFIG_STATUS. Thanks to the lists of # variables for single and double quote escaping we saved from calls # to _LT_DECL, we can put quote escaped variables declarations # into 'config.status', and then the shell code to quote escape them in # for loops in 'config.status'. Finally, any additional code accumulated # from calls to _LT_CONFIG_LIBTOOL_INIT is expanded. m4_defun([_LT_CONFIG_COMMANDS], [AC_PROVIDE_IFELSE([LT_OUTPUT], dnl If the libtool generation code has been placed in $CONFIG_LT, dnl instead of duplicating it all over again into config.status, dnl then we will have config.status run $CONFIG_LT later, so it dnl needs to know what name is stored there: [AC_CONFIG_COMMANDS([libtool], [$SHELL $CONFIG_LT || AS_EXIT(1)], [CONFIG_LT='$CONFIG_LT'])], dnl If the libtool generation code is destined for config.status, dnl expand the accumulated commands and init code now: [AC_CONFIG_COMMANDS([libtool], [_LT_OUTPUT_LIBTOOL_COMMANDS], [_LT_OUTPUT_LIBTOOL_COMMANDS_INIT])]) ])#_LT_CONFIG_COMMANDS # Initialize. m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS_INIT], [ # The HP-UX ksh and POSIX shell print the target directory to stdout # if CDPATH is set. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH sed_quote_subst='$sed_quote_subst' double_quote_subst='$double_quote_subst' delay_variable_subst='$delay_variable_subst' _LT_CONFIG_STATUS_DECLARATIONS LTCC='$LTCC' LTCFLAGS='$LTCFLAGS' compiler='$compiler_DEFAULT' # A function that is used when there is no print builtin or printf. func_fallback_echo () { eval 'cat <<_LTECHO_EOF \$[]1 _LTECHO_EOF' } # Quote evaled strings. for var in lt_decl_all_varnames([[ \ ]], lt_decl_quote_varnames); do case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in *[[\\\\\\\`\\"\\\$]]*) eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes ;; *) eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" ;; esac done # Double-quote double-evaled strings. for var in lt_decl_all_varnames([[ \ ]], lt_decl_dquote_varnames); do case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in *[[\\\\\\\`\\"\\\$]]*) eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes ;; *) eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" ;; esac done _LT_OUTPUT_LIBTOOL_INIT ]) # _LT_GENERATED_FILE_INIT(FILE, [COMMENT]) # ------------------------------------ # Generate a child script FILE with all initialization necessary to # reuse the environment learned by the parent script, and make the # file executable. If COMMENT is supplied, it is inserted after the # '#!' sequence but before initialization text begins. After this # macro, additional text can be appended to FILE to form the body of # the child script. The macro ends with non-zero status if the # file could not be fully written (such as if the disk is full). m4_ifdef([AS_INIT_GENERATED], [m4_defun([_LT_GENERATED_FILE_INIT],[AS_INIT_GENERATED($@)])], [m4_defun([_LT_GENERATED_FILE_INIT], [m4_require([AS_PREPARE])]dnl [m4_pushdef([AS_MESSAGE_LOG_FD])]dnl [lt_write_fail=0 cat >$1 <<_ASEOF || lt_write_fail=1 #! $SHELL # Generated by $as_me. $2 SHELL=\${CONFIG_SHELL-$SHELL} export SHELL _ASEOF cat >>$1 <<\_ASEOF || lt_write_fail=1 AS_SHELL_SANITIZE _AS_PREPARE exec AS_MESSAGE_FD>&1 _ASEOF test 0 = "$lt_write_fail" && chmod +x $1[]dnl m4_popdef([AS_MESSAGE_LOG_FD])])])# _LT_GENERATED_FILE_INIT # LT_OUTPUT # --------- # This macro allows early generation of the libtool script (before # AC_OUTPUT is called), incase it is used in configure for compilation # tests. AC_DEFUN([LT_OUTPUT], [: ${CONFIG_LT=./config.lt} AC_MSG_NOTICE([creating $CONFIG_LT]) _LT_GENERATED_FILE_INIT(["$CONFIG_LT"], [# Run this file to recreate a libtool stub with the current configuration.]) cat >>"$CONFIG_LT" <<\_LTEOF lt_cl_silent=false exec AS_MESSAGE_LOG_FD>>config.log { echo AS_BOX([Running $as_me.]) } >&AS_MESSAGE_LOG_FD lt_cl_help="\ '$as_me' creates a local libtool stub from the current configuration, for use in further configure time tests before the real libtool is generated. Usage: $[0] [[OPTIONS]] -h, --help print this help, then exit -V, --version print version number, then exit -q, --quiet do not print progress messages -d, --debug don't remove temporary files Report bugs to ." lt_cl_version="\ m4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION]) configured by $[0], generated by m4_PACKAGE_STRING. Copyright (C) 2011 Free Software Foundation, Inc. This config.lt script is free software; the Free Software Foundation gives unlimited permision to copy, distribute and modify it." while test 0 != $[#] do case $[1] in --version | --v* | -V ) echo "$lt_cl_version"; exit 0 ;; --help | --h* | -h ) echo "$lt_cl_help"; exit 0 ;; --debug | --d* | -d ) debug=: ;; --quiet | --q* | --silent | --s* | -q ) lt_cl_silent=: ;; -*) AC_MSG_ERROR([unrecognized option: $[1] Try '$[0] --help' for more information.]) ;; *) AC_MSG_ERROR([unrecognized argument: $[1] Try '$[0] --help' for more information.]) ;; esac shift done if $lt_cl_silent; then exec AS_MESSAGE_FD>/dev/null fi _LTEOF cat >>"$CONFIG_LT" <<_LTEOF _LT_OUTPUT_LIBTOOL_COMMANDS_INIT _LTEOF cat >>"$CONFIG_LT" <<\_LTEOF AC_MSG_NOTICE([creating $ofile]) _LT_OUTPUT_LIBTOOL_COMMANDS AS_EXIT(0) _LTEOF chmod +x "$CONFIG_LT" # configure is writing to config.log, but config.lt does its own redirection, # appending to config.log, which fails on DOS, as config.log is still kept # open by configure. Here we exec the FD to /dev/null, effectively closing # config.log, so it can be properly (re)opened and appended to by config.lt. lt_cl_success=: test yes = "$silent" && lt_config_lt_args="$lt_config_lt_args --quiet" exec AS_MESSAGE_LOG_FD>/dev/null $SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false exec AS_MESSAGE_LOG_FD>>config.log $lt_cl_success || AS_EXIT(1) ])# LT_OUTPUT # _LT_CONFIG(TAG) # --------------- # If TAG is the built-in tag, create an initial libtool script with a # default configuration from the untagged config vars. Otherwise add code # to config.status for appending the configuration named by TAG from the # matching tagged config vars. m4_defun([_LT_CONFIG], [m4_require([_LT_FILEUTILS_DEFAULTS])dnl _LT_CONFIG_SAVE_COMMANDS([ m4_define([_LT_TAG], m4_if([$1], [], [C], [$1]))dnl m4_if(_LT_TAG, [C], [ # See if we are running on zsh, and set the options that allow our # commands through without removal of \ escapes. if test -n "${ZSH_VERSION+set}"; then setopt NO_GLOB_SUBST fi cfgfile=${ofile}T trap "$RM \"$cfgfile\"; exit 1" 1 2 15 $RM "$cfgfile" cat <<_LT_EOF >> "$cfgfile" #! $SHELL # Generated automatically by $as_me ($PACKAGE) $VERSION # NOTE: Changes made to this file will be lost: look at ltmain.sh. # Provide generalized library-building support services. # Written by Gordon Matzigkeit, 1996 _LT_COPYING _LT_LIBTOOL_TAGS # Configured defaults for sys_lib_dlsearch_path munging. : \${LT_SYS_LIBRARY_PATH="$configure_time_lt_sys_library_path"} # ### BEGIN LIBTOOL CONFIG _LT_LIBTOOL_CONFIG_VARS _LT_LIBTOOL_TAG_VARS # ### END LIBTOOL CONFIG _LT_EOF cat <<'_LT_EOF' >> "$cfgfile" # ### BEGIN FUNCTIONS SHARED WITH CONFIGURE _LT_PREPARE_MUNGE_PATH_LIST _LT_PREPARE_CC_BASENAME # ### END FUNCTIONS SHARED WITH CONFIGURE _LT_EOF case $host_os in aix3*) cat <<\_LT_EOF >> "$cfgfile" # AIX sometimes has problems with the GCC collect2 program. For some # reason, if we set the COLLECT_NAMES environment variable, the problems # vanish in a puff of smoke. if test set != "${COLLECT_NAMES+set}"; then COLLECT_NAMES= export COLLECT_NAMES fi _LT_EOF ;; esac _LT_PROG_LTMAIN # We use sed instead of cat because bash on DJGPP gets confused if # if finds mixed CR/LF and LF-only lines. Since sed operates in # text mode, it properly converts lines to CR/LF. This bash problem # is reportedly fixed, but why not run on old versions too? sed '$q' "$ltmain" >> "$cfgfile" \ || (rm -f "$cfgfile"; exit 1) mv -f "$cfgfile" "$ofile" || (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") chmod +x "$ofile" ], [cat <<_LT_EOF >> "$ofile" dnl Unfortunately we have to use $1 here, since _LT_TAG is not expanded dnl in a comment (ie after a #). # ### BEGIN LIBTOOL TAG CONFIG: $1 _LT_LIBTOOL_TAG_VARS(_LT_TAG) # ### END LIBTOOL TAG CONFIG: $1 _LT_EOF ])dnl /m4_if ], [m4_if([$1], [], [ PACKAGE='$PACKAGE' VERSION='$VERSION' RM='$RM' ofile='$ofile'], []) ])dnl /_LT_CONFIG_SAVE_COMMANDS ])# _LT_CONFIG # LT_SUPPORTED_TAG(TAG) # --------------------- # Trace this macro to discover what tags are supported by the libtool # --tag option, using: # autoconf --trace 'LT_SUPPORTED_TAG:$1' AC_DEFUN([LT_SUPPORTED_TAG], []) # C support is built-in for now m4_define([_LT_LANG_C_enabled], []) m4_define([_LT_TAGS], []) # LT_LANG(LANG) # ------------- # Enable libtool support for the given language if not already enabled. AC_DEFUN([LT_LANG], [AC_BEFORE([$0], [LT_OUTPUT])dnl m4_case([$1], [C], [_LT_LANG(C)], [C++], [_LT_LANG(CXX)], [Go], [_LT_LANG(GO)], [Java], [_LT_LANG(GCJ)], [Fortran 77], [_LT_LANG(F77)], [Fortran], [_LT_LANG(FC)], [Windows Resource], [_LT_LANG(RC)], [m4_ifdef([_LT_LANG_]$1[_CONFIG], [_LT_LANG($1)], [m4_fatal([$0: unsupported language: "$1"])])])dnl ])# LT_LANG # _LT_LANG(LANGNAME) # ------------------ m4_defun([_LT_LANG], [m4_ifdef([_LT_LANG_]$1[_enabled], [], [LT_SUPPORTED_TAG([$1])dnl m4_append([_LT_TAGS], [$1 ])dnl m4_define([_LT_LANG_]$1[_enabled], [])dnl _LT_LANG_$1_CONFIG($1)])dnl ])# _LT_LANG m4_ifndef([AC_PROG_GO], [ ############################################################ # NOTE: This macro has been submitted for inclusion into # # GNU Autoconf as AC_PROG_GO. When it is available in # # a released version of Autoconf we should remove this # # macro and use it instead. # ############################################################ m4_defun([AC_PROG_GO], [AC_LANG_PUSH(Go)dnl AC_ARG_VAR([GOC], [Go compiler command])dnl AC_ARG_VAR([GOFLAGS], [Go compiler flags])dnl _AC_ARG_VAR_LDFLAGS()dnl AC_CHECK_TOOL(GOC, gccgo) if test -z "$GOC"; then if test -n "$ac_tool_prefix"; then AC_CHECK_PROG(GOC, [${ac_tool_prefix}gccgo], [${ac_tool_prefix}gccgo]) fi fi if test -z "$GOC"; then AC_CHECK_PROG(GOC, gccgo, gccgo, false) fi ])#m4_defun ])#m4_ifndef # _LT_LANG_DEFAULT_CONFIG # ----------------------- m4_defun([_LT_LANG_DEFAULT_CONFIG], [AC_PROVIDE_IFELSE([AC_PROG_CXX], [LT_LANG(CXX)], [m4_define([AC_PROG_CXX], defn([AC_PROG_CXX])[LT_LANG(CXX)])]) AC_PROVIDE_IFELSE([AC_PROG_F77], [LT_LANG(F77)], [m4_define([AC_PROG_F77], defn([AC_PROG_F77])[LT_LANG(F77)])]) AC_PROVIDE_IFELSE([AC_PROG_FC], [LT_LANG(FC)], [m4_define([AC_PROG_FC], defn([AC_PROG_FC])[LT_LANG(FC)])]) dnl The call to [A][M_PROG_GCJ] is quoted like that to stop aclocal dnl pulling things in needlessly. AC_PROVIDE_IFELSE([AC_PROG_GCJ], [LT_LANG(GCJ)], [AC_PROVIDE_IFELSE([A][M_PROG_GCJ], [LT_LANG(GCJ)], [AC_PROVIDE_IFELSE([LT_PROG_GCJ], [LT_LANG(GCJ)], [m4_ifdef([AC_PROG_GCJ], [m4_define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[LT_LANG(GCJ)])]) m4_ifdef([A][M_PROG_GCJ], [m4_define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[LT_LANG(GCJ)])]) m4_ifdef([LT_PROG_GCJ], [m4_define([LT_PROG_GCJ], defn([LT_PROG_GCJ])[LT_LANG(GCJ)])])])])]) AC_PROVIDE_IFELSE([AC_PROG_GO], [LT_LANG(GO)], [m4_define([AC_PROG_GO], defn([AC_PROG_GO])[LT_LANG(GO)])]) AC_PROVIDE_IFELSE([LT_PROG_RC], [LT_LANG(RC)], [m4_define([LT_PROG_RC], defn([LT_PROG_RC])[LT_LANG(RC)])]) ])# _LT_LANG_DEFAULT_CONFIG # Obsolete macros: AU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)]) AU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)]) AU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)]) AU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)]) AU_DEFUN([AC_LIBTOOL_RC], [LT_LANG(Windows Resource)]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_LIBTOOL_CXX], []) dnl AC_DEFUN([AC_LIBTOOL_F77], []) dnl AC_DEFUN([AC_LIBTOOL_FC], []) dnl AC_DEFUN([AC_LIBTOOL_GCJ], []) dnl AC_DEFUN([AC_LIBTOOL_RC], []) # _LT_TAG_COMPILER # ---------------- m4_defun([_LT_TAG_COMPILER], [AC_REQUIRE([AC_PROG_CC])dnl _LT_DECL([LTCC], [CC], [1], [A C compiler])dnl _LT_DECL([LTCFLAGS], [CFLAGS], [1], [LTCC compiler flags])dnl _LT_TAGDECL([CC], [compiler], [1], [A language specific compiler])dnl _LT_TAGDECL([with_gcc], [GCC], [0], [Is the compiler the GNU compiler?])dnl # If no C compiler was specified, use CC. LTCC=${LTCC-"$CC"} # If no C compiler flags were specified, use CFLAGS. LTCFLAGS=${LTCFLAGS-"$CFLAGS"} # Allow CC to be a program name with arguments. compiler=$CC ])# _LT_TAG_COMPILER # _LT_COMPILER_BOILERPLATE # ------------------------ # Check for compiler boilerplate output or warnings with # the simple compiler test code. m4_defun([_LT_COMPILER_BOILERPLATE], [m4_require([_LT_DECL_SED])dnl ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" >conftest.$ac_ext eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_compiler_boilerplate=`cat conftest.err` $RM conftest* ])# _LT_COMPILER_BOILERPLATE # _LT_LINKER_BOILERPLATE # ---------------------- # Check for linker boilerplate output or warnings with # the simple link test code. m4_defun([_LT_LINKER_BOILERPLATE], [m4_require([_LT_DECL_SED])dnl ac_outfile=conftest.$ac_objext echo "$lt_simple_link_test_code" >conftest.$ac_ext eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_linker_boilerplate=`cat conftest.err` $RM -r conftest* ])# _LT_LINKER_BOILERPLATE # _LT_REQUIRED_DARWIN_CHECKS # ------------------------- m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[ case $host_os in rhapsody* | darwin*) AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:]) AC_CHECK_TOOL([NMEDIT], [nmedit], [:]) AC_CHECK_TOOL([LIPO], [lipo], [:]) AC_CHECK_TOOL([OTOOL], [otool], [:]) AC_CHECK_TOOL([OTOOL64], [otool64], [:]) _LT_DECL([], [DSYMUTIL], [1], [Tool to manipulate archived DWARF debug symbol files on Mac OS X]) _LT_DECL([], [NMEDIT], [1], [Tool to change global to local symbols on Mac OS X]) _LT_DECL([], [LIPO], [1], [Tool to manipulate fat objects and archives on Mac OS X]) _LT_DECL([], [OTOOL], [1], [ldd/readelf like tool for Mach-O binaries on Mac OS X]) _LT_DECL([], [OTOOL64], [1], [ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4]) AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod], [lt_cv_apple_cc_single_mod=no if test -z "$LT_MULTI_MODULE"; then # By default we will add the -single_module flag. You can override # by either setting the environment variable LT_MULTI_MODULE # non-empty at configure time, or by adding -multi_module to the # link flags. rm -rf libconftest.dylib* echo "int foo(void){return 1;}" > conftest.c echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ -dynamiclib -Wl,-single_module conftest.c" >&AS_MESSAGE_LOG_FD $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ -dynamiclib -Wl,-single_module conftest.c 2>conftest.err _lt_result=$? # If there is a non-empty error log, and "single_module" # appears in it, assume the flag caused a linker warning if test -s conftest.err && $GREP single_module conftest.err; then cat conftest.err >&AS_MESSAGE_LOG_FD # Otherwise, if the output was created with a 0 exit code from # the compiler, it worked. elif test -f libconftest.dylib && test 0 = "$_lt_result"; then lt_cv_apple_cc_single_mod=yes else cat conftest.err >&AS_MESSAGE_LOG_FD fi rm -rf libconftest.dylib* rm -f conftest.* fi]) AC_CACHE_CHECK([for -exported_symbols_list linker flag], [lt_cv_ld_exported_symbols_list], [lt_cv_ld_exported_symbols_list=no save_LDFLAGS=$LDFLAGS echo "_main" > conftest.sym LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym" AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])], [lt_cv_ld_exported_symbols_list=yes], [lt_cv_ld_exported_symbols_list=no]) LDFLAGS=$save_LDFLAGS ]) AC_CACHE_CHECK([for -force_load linker flag],[lt_cv_ld_force_load], [lt_cv_ld_force_load=no cat > conftest.c << _LT_EOF int forced_loaded() { return 2;} _LT_EOF echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&AS_MESSAGE_LOG_FD $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&AS_MESSAGE_LOG_FD echo "$AR cr libconftest.a conftest.o" >&AS_MESSAGE_LOG_FD $AR cr libconftest.a conftest.o 2>&AS_MESSAGE_LOG_FD echo "$RANLIB libconftest.a" >&AS_MESSAGE_LOG_FD $RANLIB libconftest.a 2>&AS_MESSAGE_LOG_FD cat > conftest.c << _LT_EOF int main() { return 0;} _LT_EOF echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&AS_MESSAGE_LOG_FD $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err _lt_result=$? if test -s conftest.err && $GREP force_load conftest.err; then cat conftest.err >&AS_MESSAGE_LOG_FD elif test -f conftest && test 0 = "$_lt_result" && $GREP forced_load conftest >/dev/null 2>&1; then lt_cv_ld_force_load=yes else cat conftest.err >&AS_MESSAGE_LOG_FD fi rm -f conftest.err libconftest.a conftest conftest.c rm -rf conftest.dSYM ]) case $host_os in rhapsody* | darwin1.[[012]]) _lt_dar_allow_undefined='$wl-undefined ${wl}suppress' ;; darwin1.*) _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; darwin*) # darwin 5.x on # if running on 10.5 or later, the deployment target defaults # to the OS version, if on x86, and 10.4, the deployment # target defaults to 10.4. Don't you love it? case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in 10.0,*86*-darwin8*|10.0,*-darwin[[91]]*) _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;; 10.[[012]][[,.]]*) _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; 10.*) _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;; esac ;; esac if test yes = "$lt_cv_apple_cc_single_mod"; then _lt_dar_single_mod='$single_module' fi if test yes = "$lt_cv_ld_exported_symbols_list"; then _lt_dar_export_syms=' $wl-exported_symbols_list,$output_objdir/$libname-symbols.expsym' else _lt_dar_export_syms='~$NMEDIT -s $output_objdir/$libname-symbols.expsym $lib' fi if test : != "$DSYMUTIL" && test no = "$lt_cv_ld_force_load"; then _lt_dsymutil='~$DSYMUTIL $lib || :' else _lt_dsymutil= fi ;; esac ]) # _LT_DARWIN_LINKER_FEATURES([TAG]) # --------------------------------- # Checks for linker and compiler features on darwin m4_defun([_LT_DARWIN_LINKER_FEATURES], [ m4_require([_LT_REQUIRED_DARWIN_CHECKS]) _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_automatic, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported if test yes = "$lt_cv_ld_force_load"; then _LT_TAGVAR(whole_archive_flag_spec, $1)='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience $wl-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`' m4_case([$1], [F77], [_LT_TAGVAR(compiler_needs_object, $1)=yes], [FC], [_LT_TAGVAR(compiler_needs_object, $1)=yes]) else _LT_TAGVAR(whole_archive_flag_spec, $1)='' fi _LT_TAGVAR(link_all_deplibs, $1)=yes _LT_TAGVAR(allow_undefined_flag, $1)=$_lt_dar_allow_undefined case $cc_basename in ifort*|nagfor*) _lt_dar_can_shared=yes ;; *) _lt_dar_can_shared=$GCC ;; esac if test yes = "$_lt_dar_can_shared"; then output_verbose_link_cmd=func_echo_all _LT_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil" _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil" _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dar_export_syms$_lt_dsymutil" _LT_TAGVAR(module_expsym_cmds, $1)="sed -e 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dar_export_syms$_lt_dsymutil" m4_if([$1], [CXX], [ if test yes != "$lt_cv_apple_cc_single_mod"; then _LT_TAGVAR(archive_cmds, $1)="\$CC -r -keep_private_externs -nostdlib -o \$lib-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$lib-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring$_lt_dsymutil" _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \$lib-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$lib-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring$_lt_dar_export_syms$_lt_dsymutil" fi ],[]) else _LT_TAGVAR(ld_shlibs, $1)=no fi ]) # _LT_SYS_MODULE_PATH_AIX([TAGNAME]) # ---------------------------------- # Links a minimal program and checks the executable # for the system default hardcoded library path. In most cases, # this is /usr/lib:/lib, but when the MPI compilers are used # the location of the communication and MPI libs are included too. # If we don't find anything, use the default library path according # to the aix ld manual. # Store the results from the different compilers for each TAGNAME. # Allow to override them for all tags through lt_cv_aix_libpath. m4_defun([_LT_SYS_MODULE_PATH_AIX], [m4_require([_LT_DECL_SED])dnl if test set = "${lt_cv_aix_libpath+set}"; then aix_libpath=$lt_cv_aix_libpath else AC_CACHE_VAL([_LT_TAGVAR([lt_cv_aix_libpath_], [$1])], [AC_LINK_IFELSE([AC_LANG_PROGRAM],[ lt_aix_libpath_sed='[ /Import File Strings/,/^$/ { /^0/ { s/^0 *\([^ ]*\) *$/\1/ p } }]' _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` # Check for a 64-bit object if we didn't find anything. if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` fi],[]) if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=/usr/lib:/lib fi ]) aix_libpath=$_LT_TAGVAR([lt_cv_aix_libpath_], [$1]) fi ])# _LT_SYS_MODULE_PATH_AIX # _LT_SHELL_INIT(ARG) # ------------------- m4_define([_LT_SHELL_INIT], [m4_divert_text([M4SH-INIT], [$1 ])])# _LT_SHELL_INIT # _LT_PROG_ECHO_BACKSLASH # ----------------------- # Find how we can fake an echo command that does not interpret backslash. # In particular, with Autoconf 2.60 or later we add some code to the start # of the generated configure script that will find a shell with a builtin # printf (that we can use as an echo command). m4_defun([_LT_PROG_ECHO_BACKSLASH], [ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO AC_MSG_CHECKING([how to print strings]) # Test print first, because it will be a builtin if present. if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \ test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then ECHO='print -r --' elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then ECHO='printf %s\n' else # Use this function as a fallback that always works. func_fallback_echo () { eval 'cat <<_LTECHO_EOF $[]1 _LTECHO_EOF' } ECHO='func_fallback_echo' fi # func_echo_all arg... # Invoke $ECHO with all args, space-separated. func_echo_all () { $ECHO "$*" } case $ECHO in printf*) AC_MSG_RESULT([printf]) ;; print*) AC_MSG_RESULT([print -r]) ;; *) AC_MSG_RESULT([cat]) ;; esac m4_ifdef([_AS_DETECT_SUGGESTED], [_AS_DETECT_SUGGESTED([ test -n "${ZSH_VERSION+set}${BASH_VERSION+set}" || ( ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO PATH=/empty FPATH=/empty; export PATH FPATH test "X`printf %s $ECHO`" = "X$ECHO" \ || test "X`print -r -- $ECHO`" = "X$ECHO" )])]) _LT_DECL([], [SHELL], [1], [Shell to use when invoking shell scripts]) _LT_DECL([], [ECHO], [1], [An echo program that protects backslashes]) ])# _LT_PROG_ECHO_BACKSLASH # _LT_WITH_SYSROOT # ---------------- AC_DEFUN([_LT_WITH_SYSROOT], [AC_MSG_CHECKING([for sysroot]) AC_ARG_WITH([sysroot], [AS_HELP_STRING([--with-sysroot@<:@=DIR@:>@], [Search for dependent libraries within DIR (or the compiler's sysroot if not specified).])], [], [with_sysroot=no]) dnl lt_sysroot will always be passed unquoted. We quote it here dnl in case the user passed a directory name. lt_sysroot= case $with_sysroot in #( yes) if test yes = "$GCC"; then lt_sysroot=`$CC --print-sysroot 2>/dev/null` fi ;; #( /*) lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"` ;; #( no|'') ;; #( *) AC_MSG_RESULT([$with_sysroot]) AC_MSG_ERROR([The sysroot must be an absolute path.]) ;; esac AC_MSG_RESULT([${lt_sysroot:-no}]) _LT_DECL([], [lt_sysroot], [0], [The root where to search for ]dnl [dependent libraries, and where our libraries should be installed.])]) # _LT_ENABLE_LOCK # --------------- m4_defun([_LT_ENABLE_LOCK], [AC_ARG_ENABLE([libtool-lock], [AS_HELP_STRING([--disable-libtool-lock], [avoid locking (might break parallel builds)])]) test no = "$enable_libtool_lock" || enable_libtool_lock=yes # Some flags need to be propagated to the compiler or linker for good # libtool support. case $host in ia64-*-hpux*) # Find out what ABI is being produced by ac_compile, and set mode # options accordingly. echo 'int i;' > conftest.$ac_ext if AC_TRY_EVAL(ac_compile); then case `/usr/bin/file conftest.$ac_objext` in *ELF-32*) HPUX_IA64_MODE=32 ;; *ELF-64*) HPUX_IA64_MODE=64 ;; esac fi rm -rf conftest* ;; *-*-irix6*) # Find out what ABI is being produced by ac_compile, and set linker # options accordingly. echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext if AC_TRY_EVAL(ac_compile); then if test yes = "$lt_cv_prog_gnu_ld"; then case `/usr/bin/file conftest.$ac_objext` in *32-bit*) LD="${LD-ld} -melf32bsmip" ;; *N32*) LD="${LD-ld} -melf32bmipn32" ;; *64-bit*) LD="${LD-ld} -melf64bmip" ;; esac else case `/usr/bin/file conftest.$ac_objext` in *32-bit*) LD="${LD-ld} -32" ;; *N32*) LD="${LD-ld} -n32" ;; *64-bit*) LD="${LD-ld} -64" ;; esac fi fi rm -rf conftest* ;; mips64*-*linux*) # Find out what ABI is being produced by ac_compile, and set linker # options accordingly. echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext if AC_TRY_EVAL(ac_compile); then emul=elf case `/usr/bin/file conftest.$ac_objext` in *32-bit*) emul="${emul}32" ;; *64-bit*) emul="${emul}64" ;; esac case `/usr/bin/file conftest.$ac_objext` in *MSB*) emul="${emul}btsmip" ;; *LSB*) emul="${emul}ltsmip" ;; esac case `/usr/bin/file conftest.$ac_objext` in *N32*) emul="${emul}n32" ;; esac LD="${LD-ld} -m $emul" fi rm -rf conftest* ;; x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \ s390*-*linux*|s390*-*tpf*|sparc*-*linux*) # Find out what ABI is being produced by ac_compile, and set linker # options accordingly. Note that the listed cases only cover the # situations where additional linker options are needed (such as when # doing 32-bit compilation for a host where ld defaults to 64-bit, or # vice versa); the common cases where no linker options are needed do # not appear in the list. echo 'int i;' > conftest.$ac_ext if AC_TRY_EVAL(ac_compile); then case `/usr/bin/file conftest.o` in *32-bit*) case $host in x86_64-*kfreebsd*-gnu) LD="${LD-ld} -m elf_i386_fbsd" ;; x86_64-*linux*) case `/usr/bin/file conftest.o` in *x86-64*) LD="${LD-ld} -m elf32_x86_64" ;; *) LD="${LD-ld} -m elf_i386" ;; esac ;; powerpc64le-*linux*) LD="${LD-ld} -m elf32lppclinux" ;; powerpc64-*linux*) LD="${LD-ld} -m elf32ppclinux" ;; s390x-*linux*) LD="${LD-ld} -m elf_s390" ;; sparc64-*linux*) LD="${LD-ld} -m elf32_sparc" ;; esac ;; *64-bit*) case $host in x86_64-*kfreebsd*-gnu) LD="${LD-ld} -m elf_x86_64_fbsd" ;; x86_64-*linux*) LD="${LD-ld} -m elf_x86_64" ;; powerpcle-*linux*) LD="${LD-ld} -m elf64lppc" ;; powerpc-*linux*) LD="${LD-ld} -m elf64ppc" ;; s390*-*linux*|s390*-*tpf*) LD="${LD-ld} -m elf64_s390" ;; sparc*-*linux*) LD="${LD-ld} -m elf64_sparc" ;; esac ;; esac fi rm -rf conftest* ;; *-*-sco3.2v5*) # On SCO OpenServer 5, we need -belf to get full-featured binaries. SAVE_CFLAGS=$CFLAGS CFLAGS="$CFLAGS -belf" AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf, [AC_LANG_PUSH(C) AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[]])],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no]) AC_LANG_POP]) if test yes != "$lt_cv_cc_needs_belf"; then # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf CFLAGS=$SAVE_CFLAGS fi ;; *-*solaris*) # Find out what ABI is being produced by ac_compile, and set linker # options accordingly. echo 'int i;' > conftest.$ac_ext if AC_TRY_EVAL(ac_compile); then case `/usr/bin/file conftest.o` in *64-bit*) case $lt_cv_prog_gnu_ld in yes*) case $host in i?86-*-solaris*|x86_64-*-solaris*) LD="${LD-ld} -m elf_x86_64" ;; sparc*-*-solaris*) LD="${LD-ld} -m elf64_sparc" ;; esac # GNU ld 2.21 introduced _sol2 emulations. Use them if available. if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then LD=${LD-ld}_sol2 fi ;; *) if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then LD="${LD-ld} -64" fi ;; esac ;; esac fi rm -rf conftest* ;; esac need_locks=$enable_libtool_lock ])# _LT_ENABLE_LOCK # _LT_PROG_AR # ----------- m4_defun([_LT_PROG_AR], [AC_CHECK_TOOLS(AR, [ar], false) : ${AR=ar} : ${AR_FLAGS=cr} _LT_DECL([], [AR], [1], [The archiver]) _LT_DECL([], [AR_FLAGS], [1], [Flags to create an archive]) AC_CACHE_CHECK([for archiver @FILE support], [lt_cv_ar_at_file], [lt_cv_ar_at_file=no AC_COMPILE_IFELSE([AC_LANG_PROGRAM], [echo conftest.$ac_objext > conftest.lst lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&AS_MESSAGE_LOG_FD' AC_TRY_EVAL([lt_ar_try]) if test 0 -eq "$ac_status"; then # Ensure the archiver fails upon bogus file names. rm -f conftest.$ac_objext libconftest.a AC_TRY_EVAL([lt_ar_try]) if test 0 -ne "$ac_status"; then lt_cv_ar_at_file=@ fi fi rm -f conftest.* libconftest.a ]) ]) if test no = "$lt_cv_ar_at_file"; then archiver_list_spec= else archiver_list_spec=$lt_cv_ar_at_file fi _LT_DECL([], [archiver_list_spec], [1], [How to feed a file listing to the archiver]) ])# _LT_PROG_AR # _LT_CMD_OLD_ARCHIVE # ------------------- m4_defun([_LT_CMD_OLD_ARCHIVE], [_LT_PROG_AR AC_CHECK_TOOL(STRIP, strip, :) test -z "$STRIP" && STRIP=: _LT_DECL([], [STRIP], [1], [A symbol stripping program]) AC_CHECK_TOOL(RANLIB, ranlib, :) test -z "$RANLIB" && RANLIB=: _LT_DECL([], [RANLIB], [1], [Commands used to install an old-style archive]) # Determine commands to create old-style static archives. old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs' old_postinstall_cmds='chmod 644 $oldlib' old_postuninstall_cmds= if test -n "$RANLIB"; then case $host_os in bitrig* | openbsd*) old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib" ;; *) old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib" ;; esac old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib" fi case $host_os in darwin*) lock_old_archive_extraction=yes ;; *) lock_old_archive_extraction=no ;; esac _LT_DECL([], [old_postinstall_cmds], [2]) _LT_DECL([], [old_postuninstall_cmds], [2]) _LT_TAGDECL([], [old_archive_cmds], [2], [Commands used to build an old-style archive]) _LT_DECL([], [lock_old_archive_extraction], [0], [Whether to use a lock for old archive extraction]) ])# _LT_CMD_OLD_ARCHIVE # _LT_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, # [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE]) # ---------------------------------------------------------------- # Check whether the given compiler option works AC_DEFUN([_LT_COMPILER_OPTION], [m4_require([_LT_FILEUTILS_DEFAULTS])dnl m4_require([_LT_DECL_SED])dnl AC_CACHE_CHECK([$1], [$2], [$2=no m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4]) echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="$3" ## exclude from sc_useless_quotes_in_assignment # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. # The option is referenced via a variable to avoid confusing sed. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&AS_MESSAGE_LOG_FD echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then $2=yes fi fi $RM conftest* ]) if test yes = "[$]$2"; then m4_if([$5], , :, [$5]) else m4_if([$6], , :, [$6]) fi ])# _LT_COMPILER_OPTION # Old name: AU_ALIAS([AC_LIBTOOL_COMPILER_OPTION], [_LT_COMPILER_OPTION]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], []) # _LT_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, # [ACTION-SUCCESS], [ACTION-FAILURE]) # ---------------------------------------------------- # Check whether the given linker option works AC_DEFUN([_LT_LINKER_OPTION], [m4_require([_LT_FILEUTILS_DEFAULTS])dnl m4_require([_LT_DECL_SED])dnl AC_CACHE_CHECK([$1], [$2], [$2=no save_LDFLAGS=$LDFLAGS LDFLAGS="$LDFLAGS $3" echo "$lt_simple_link_test_code" > conftest.$ac_ext if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then # The linker can only warn and ignore the option if not recognized # So say no if there are warnings if test -s conftest.err; then # Append any errors to the config.log. cat conftest.err 1>&AS_MESSAGE_LOG_FD $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if diff conftest.exp conftest.er2 >/dev/null; then $2=yes fi else $2=yes fi fi $RM -r conftest* LDFLAGS=$save_LDFLAGS ]) if test yes = "[$]$2"; then m4_if([$4], , :, [$4]) else m4_if([$5], , :, [$5]) fi ])# _LT_LINKER_OPTION # Old name: AU_ALIAS([AC_LIBTOOL_LINKER_OPTION], [_LT_LINKER_OPTION]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], []) # LT_CMD_MAX_LEN #--------------- AC_DEFUN([LT_CMD_MAX_LEN], [AC_REQUIRE([AC_CANONICAL_HOST])dnl # find the maximum length of command line arguments AC_MSG_CHECKING([the maximum length of command line arguments]) AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl i=0 teststring=ABCD case $build_os in msdosdjgpp*) # On DJGPP, this test can blow up pretty badly due to problems in libc # (any single argument exceeding 2000 bytes causes a buffer overrun # during glob expansion). Even if it were fixed, the result of this # check would be larger than it should be. lt_cv_sys_max_cmd_len=12288; # 12K is about right ;; gnu*) # Under GNU Hurd, this test is not required because there is # no limit to the length of command line arguments. # Libtool will interpret -1 as no limit whatsoever lt_cv_sys_max_cmd_len=-1; ;; cygwin* | mingw* | cegcc*) # On Win9x/ME, this test blows up -- it succeeds, but takes # about 5 minutes as the teststring grows exponentially. # Worse, since 9x/ME are not pre-emptively multitasking, # you end up with a "frozen" computer, even though with patience # the test eventually succeeds (with a max line length of 256k). # Instead, let's just punt: use the minimum linelength reported by # all of the supported platforms: 8192 (on NT/2K/XP). lt_cv_sys_max_cmd_len=8192; ;; mint*) # On MiNT this can take a long time and run out of memory. lt_cv_sys_max_cmd_len=8192; ;; amigaos*) # On AmigaOS with pdksh, this test takes hours, literally. # So we just punt and use a minimum line length of 8192. lt_cv_sys_max_cmd_len=8192; ;; bitrig* | darwin* | dragonfly* | freebsd* | netbsd* | openbsd*) # This has been around since 386BSD, at least. Likely further. if test -x /sbin/sysctl; then lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` elif test -x /usr/sbin/sysctl; then lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` else lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs fi # And add a safety zone lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` ;; interix*) # We know the value 262144 and hardcode it with a safety zone (like BSD) lt_cv_sys_max_cmd_len=196608 ;; os2*) # The test takes a long time on OS/2. lt_cv_sys_max_cmd_len=8192 ;; osf*) # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not # nice to cause kernel panics so lets avoid the loop below. # First set a reasonable default. lt_cv_sys_max_cmd_len=16384 # if test -x /sbin/sysconfig; then case `/sbin/sysconfig -q proc exec_disable_arg_limit` in *1*) lt_cv_sys_max_cmd_len=-1 ;; esac fi ;; sco3.2v5*) lt_cv_sys_max_cmd_len=102400 ;; sysv5* | sco5v6* | sysv4.2uw2*) kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` if test -n "$kargmax"; then lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'` else lt_cv_sys_max_cmd_len=32768 fi ;; *) lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` if test -n "$lt_cv_sys_max_cmd_len" && \ test undefined != "$lt_cv_sys_max_cmd_len"; then lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` else # Make teststring a little bigger before we do anything with it. # a 1K string should be a reasonable start. for i in 1 2 3 4 5 6 7 8; do teststring=$teststring$teststring done SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} # If test is not a shell built-in, we'll probably end up computing a # maximum length that is only half of the actual maximum length, but # we can't tell. while { test X`env echo "$teststring$teststring" 2>/dev/null` \ = "X$teststring$teststring"; } >/dev/null 2>&1 && test 17 != "$i" # 1/2 MB should be enough do i=`expr $i + 1` teststring=$teststring$teststring done # Only check the string length outside the loop. lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1` teststring= # Add a significant safety factor because C++ compilers can tack on # massive amounts of additional arguments before passing them to the # linker. It appears as though 1/2 is a usable value. lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` fi ;; esac ]) if test -n "$lt_cv_sys_max_cmd_len"; then AC_MSG_RESULT($lt_cv_sys_max_cmd_len) else AC_MSG_RESULT(none) fi max_cmd_len=$lt_cv_sys_max_cmd_len _LT_DECL([], [max_cmd_len], [0], [What is the maximum length of a command?]) ])# LT_CMD_MAX_LEN # Old name: AU_ALIAS([AC_LIBTOOL_SYS_MAX_CMD_LEN], [LT_CMD_MAX_LEN]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], []) # _LT_HEADER_DLFCN # ---------------- m4_defun([_LT_HEADER_DLFCN], [AC_CHECK_HEADERS([dlfcn.h], [], [], [AC_INCLUDES_DEFAULT])dnl ])# _LT_HEADER_DLFCN # _LT_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE, # ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING) # ---------------------------------------------------------------- m4_defun([_LT_TRY_DLOPEN_SELF], [m4_require([_LT_HEADER_DLFCN])dnl if test yes = "$cross_compiling"; then : [$4] else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF [#line $LINENO "configure" #include "confdefs.h" #if HAVE_DLFCN_H #include #endif #include #ifdef RTLD_GLOBAL # define LT_DLGLOBAL RTLD_GLOBAL #else # ifdef DL_GLOBAL # define LT_DLGLOBAL DL_GLOBAL # else # define LT_DLGLOBAL 0 # endif #endif /* We may have to define LT_DLLAZY_OR_NOW in the command line if we find out it does not work in some platform. */ #ifndef LT_DLLAZY_OR_NOW # ifdef RTLD_LAZY # define LT_DLLAZY_OR_NOW RTLD_LAZY # else # ifdef DL_LAZY # define LT_DLLAZY_OR_NOW DL_LAZY # else # ifdef RTLD_NOW # define LT_DLLAZY_OR_NOW RTLD_NOW # else # ifdef DL_NOW # define LT_DLLAZY_OR_NOW DL_NOW # else # define LT_DLLAZY_OR_NOW 0 # endif # endif # endif # endif #endif /* When -fvisibility=hidden is used, assume the code has been annotated correspondingly for the symbols needed. */ #if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) int fnord () __attribute__((visibility("default"))); #endif int fnord () { return 42; } int main () { void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); int status = $lt_dlunknown; if (self) { if (dlsym (self,"fnord")) status = $lt_dlno_uscore; else { if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; else puts (dlerror ()); } /* dlclose (self); */ } else puts (dlerror ()); return status; }] _LT_EOF if AC_TRY_EVAL(ac_link) && test -s "conftest$ac_exeext" 2>/dev/null; then (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null lt_status=$? case x$lt_status in x$lt_dlno_uscore) $1 ;; x$lt_dlneed_uscore) $2 ;; x$lt_dlunknown|x*) $3 ;; esac else : # compilation failed $3 fi fi rm -fr conftest* ])# _LT_TRY_DLOPEN_SELF # LT_SYS_DLOPEN_SELF # ------------------ AC_DEFUN([LT_SYS_DLOPEN_SELF], [m4_require([_LT_HEADER_DLFCN])dnl if test yes != "$enable_dlopen"; then enable_dlopen=unknown enable_dlopen_self=unknown enable_dlopen_self_static=unknown else lt_cv_dlopen=no lt_cv_dlopen_libs= case $host_os in beos*) lt_cv_dlopen=load_add_on lt_cv_dlopen_libs= lt_cv_dlopen_self=yes ;; mingw* | pw32* | cegcc*) lt_cv_dlopen=LoadLibrary lt_cv_dlopen_libs= ;; cygwin*) lt_cv_dlopen=dlopen lt_cv_dlopen_libs= ;; darwin*) # if libdl is installed we need to link against it AC_CHECK_LIB([dl], [dlopen], [lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl],[ lt_cv_dlopen=dyld lt_cv_dlopen_libs= lt_cv_dlopen_self=yes ]) ;; tpf*) # Don't try to run any link tests for TPF. We know it's impossible # because TPF is a cross-compiler, and we know how we open DSOs. lt_cv_dlopen=dlopen lt_cv_dlopen_libs= lt_cv_dlopen_self=no ;; *) AC_CHECK_FUNC([shl_load], [lt_cv_dlopen=shl_load], [AC_CHECK_LIB([dld], [shl_load], [lt_cv_dlopen=shl_load lt_cv_dlopen_libs=-ldld], [AC_CHECK_FUNC([dlopen], [lt_cv_dlopen=dlopen], [AC_CHECK_LIB([dl], [dlopen], [lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl], [AC_CHECK_LIB([svld], [dlopen], [lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-lsvld], [AC_CHECK_LIB([dld], [dld_link], [lt_cv_dlopen=dld_link lt_cv_dlopen_libs=-ldld]) ]) ]) ]) ]) ]) ;; esac if test no = "$lt_cv_dlopen"; then enable_dlopen=no else enable_dlopen=yes fi case $lt_cv_dlopen in dlopen) save_CPPFLAGS=$CPPFLAGS test yes = "$ac_cv_header_dlfcn_h" && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" save_LDFLAGS=$LDFLAGS wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" save_LIBS=$LIBS LIBS="$lt_cv_dlopen_libs $LIBS" AC_CACHE_CHECK([whether a program can dlopen itself], lt_cv_dlopen_self, [dnl _LT_TRY_DLOPEN_SELF( lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes, lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross) ]) if test yes = "$lt_cv_dlopen_self"; then wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" AC_CACHE_CHECK([whether a statically linked program can dlopen itself], lt_cv_dlopen_self_static, [dnl _LT_TRY_DLOPEN_SELF( lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross) ]) fi CPPFLAGS=$save_CPPFLAGS LDFLAGS=$save_LDFLAGS LIBS=$save_LIBS ;; esac case $lt_cv_dlopen_self in yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; *) enable_dlopen_self=unknown ;; esac case $lt_cv_dlopen_self_static in yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; *) enable_dlopen_self_static=unknown ;; esac fi _LT_DECL([dlopen_support], [enable_dlopen], [0], [Whether dlopen is supported]) _LT_DECL([dlopen_self], [enable_dlopen_self], [0], [Whether dlopen of programs is supported]) _LT_DECL([dlopen_self_static], [enable_dlopen_self_static], [0], [Whether dlopen of statically linked programs is supported]) ])# LT_SYS_DLOPEN_SELF # Old name: AU_ALIAS([AC_LIBTOOL_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], []) # _LT_COMPILER_C_O([TAGNAME]) # --------------------------- # Check to see if options -c and -o are simultaneously supported by compiler. # This macro does not hard code the compiler like AC_PROG_CC_C_O. m4_defun([_LT_COMPILER_C_O], [m4_require([_LT_DECL_SED])dnl m4_require([_LT_FILEUTILS_DEFAULTS])dnl m4_require([_LT_TAG_COMPILER])dnl AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext], [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)], [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no $RM -r conftest 2>/dev/null mkdir conftest cd conftest mkdir out echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="-o out/conftest2.$ac_objext" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&AS_MESSAGE_LOG_FD echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes fi fi chmod u+w . 2>&AS_MESSAGE_LOG_FD $RM conftest* # SGI C++ compiler will create directory out/ii_files/ for # template instantiation test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files $RM out/* && rmdir out cd .. $RM -r conftest $RM conftest* ]) _LT_TAGDECL([compiler_c_o], [lt_cv_prog_compiler_c_o], [1], [Does compiler simultaneously support -c and -o options?]) ])# _LT_COMPILER_C_O # _LT_COMPILER_FILE_LOCKS([TAGNAME]) # ---------------------------------- # Check to see if we can do hard links to lock some files if needed m4_defun([_LT_COMPILER_FILE_LOCKS], [m4_require([_LT_ENABLE_LOCK])dnl m4_require([_LT_FILEUTILS_DEFAULTS])dnl _LT_COMPILER_C_O([$1]) hard_links=nottested if test no = "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" && test no != "$need_locks"; then # do not overwrite the value of need_locks provided by the user AC_MSG_CHECKING([if we can lock with hard links]) hard_links=yes $RM conftest* ln conftest.a conftest.b 2>/dev/null && hard_links=no touch conftest.a ln conftest.a conftest.b 2>&5 || hard_links=no ln conftest.a conftest.b 2>/dev/null && hard_links=no AC_MSG_RESULT([$hard_links]) if test no = "$hard_links"; then AC_MSG_WARN(['$CC' does not support '-c -o', so 'make -j' may be unsafe]) need_locks=warn fi else need_locks=no fi _LT_DECL([], [need_locks], [1], [Must we lock files when doing compilation?]) ])# _LT_COMPILER_FILE_LOCKS # _LT_CHECK_OBJDIR # ---------------- m4_defun([_LT_CHECK_OBJDIR], [AC_CACHE_CHECK([for objdir], [lt_cv_objdir], [rm -f .libs 2>/dev/null mkdir .libs 2>/dev/null if test -d .libs; then lt_cv_objdir=.libs else # MS-DOS does not allow filenames that begin with a dot. lt_cv_objdir=_libs fi rmdir .libs 2>/dev/null]) objdir=$lt_cv_objdir _LT_DECL([], [objdir], [0], [The name of the directory that contains temporary libtool files])dnl m4_pattern_allow([LT_OBJDIR])dnl AC_DEFINE_UNQUOTED([LT_OBJDIR], "$lt_cv_objdir/", [Define to the sub-directory where libtool stores uninstalled libraries.]) ])# _LT_CHECK_OBJDIR # _LT_LINKER_HARDCODE_LIBPATH([TAGNAME]) # -------------------------------------- # Check hardcoding attributes. m4_defun([_LT_LINKER_HARDCODE_LIBPATH], [AC_MSG_CHECKING([how to hardcode library paths into programs]) _LT_TAGVAR(hardcode_action, $1)= if test -n "$_LT_TAGVAR(hardcode_libdir_flag_spec, $1)" || test -n "$_LT_TAGVAR(runpath_var, $1)" || test yes = "$_LT_TAGVAR(hardcode_automatic, $1)"; then # We can hardcode non-existent directories. if test no != "$_LT_TAGVAR(hardcode_direct, $1)" && # If the only mechanism to avoid hardcoding is shlibpath_var, we # have to relink, otherwise we might link with an installed library # when we should be linking with a yet-to-be-installed one ## test no != "$_LT_TAGVAR(hardcode_shlibpath_var, $1)" && test no != "$_LT_TAGVAR(hardcode_minus_L, $1)"; then # Linking always hardcodes the temporary library directory. _LT_TAGVAR(hardcode_action, $1)=relink else # We can link without hardcoding, and we can hardcode nonexisting dirs. _LT_TAGVAR(hardcode_action, $1)=immediate fi else # We cannot hardcode anything, or else we can only hardcode existing # directories. _LT_TAGVAR(hardcode_action, $1)=unsupported fi AC_MSG_RESULT([$_LT_TAGVAR(hardcode_action, $1)]) if test relink = "$_LT_TAGVAR(hardcode_action, $1)" || test yes = "$_LT_TAGVAR(inherit_rpath, $1)"; then # Fast installation is not supported enable_fast_install=no elif test yes = "$shlibpath_overrides_runpath" || test no = "$enable_shared"; then # Fast installation is not necessary enable_fast_install=needless fi _LT_TAGDECL([], [hardcode_action], [0], [How to hardcode a shared library path into an executable]) ])# _LT_LINKER_HARDCODE_LIBPATH # _LT_CMD_STRIPLIB # ---------------- m4_defun([_LT_CMD_STRIPLIB], [m4_require([_LT_DECL_EGREP]) striplib= old_striplib= AC_MSG_CHECKING([whether stripping libraries is possible]) if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" test -z "$striplib" && striplib="$STRIP --strip-unneeded" AC_MSG_RESULT([yes]) else # FIXME - insert some real tests, host_os isn't really good enough case $host_os in darwin*) if test -n "$STRIP"; then striplib="$STRIP -x" old_striplib="$STRIP -S" AC_MSG_RESULT([yes]) else AC_MSG_RESULT([no]) fi ;; *) AC_MSG_RESULT([no]) ;; esac fi _LT_DECL([], [old_striplib], [1], [Commands to strip libraries]) _LT_DECL([], [striplib], [1]) ])# _LT_CMD_STRIPLIB # _LT_PREPARE_MUNGE_PATH_LIST # --------------------------- # Make sure func_munge_path_list() is defined correctly. m4_defun([_LT_PREPARE_MUNGE_PATH_LIST], [[# func_munge_path_list VARIABLE PATH # ----------------------------------- # VARIABLE is name of variable containing _space_ separated list of # directories to be munged by the contents of PATH, which is string # having a format: # "DIR[:DIR]:" # string "DIR[ DIR]" will be prepended to VARIABLE # ":DIR[:DIR]" # string "DIR[ DIR]" will be appended to VARIABLE # "DIRP[:DIRP]::[DIRA:]DIRA" # string "DIRP[ DIRP]" will be prepended to VARIABLE and string # "DIRA[ DIRA]" will be appended to VARIABLE # "DIR[:DIR]" # VARIABLE will be replaced by "DIR[ DIR]" func_munge_path_list () { case x@S|@2 in x) ;; *:) eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'` \@S|@@S|@1\" ;; x:*) eval @S|@1=\"\@S|@@S|@1 `$ECHO @S|@2 | $SED 's/:/ /g'`\" ;; *::*) eval @S|@1=\"\@S|@@S|@1\ `$ECHO @S|@2 | $SED -e 's/.*:://' -e 's/:/ /g'`\" eval @S|@1=\"`$ECHO @S|@2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \@S|@@S|@1\" ;; *) eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'`\" ;; esac } ]])# _LT_PREPARE_PATH_LIST # _LT_SYS_DYNAMIC_LINKER([TAG]) # ----------------------------- # PORTME Fill in your ld.so characteristics m4_defun([_LT_SYS_DYNAMIC_LINKER], [AC_REQUIRE([AC_CANONICAL_HOST])dnl m4_require([_LT_DECL_EGREP])dnl m4_require([_LT_FILEUTILS_DEFAULTS])dnl m4_require([_LT_DECL_OBJDUMP])dnl m4_require([_LT_DECL_SED])dnl m4_require([_LT_CHECK_SHELL_FEATURES])dnl m4_require([_LT_PREPARE_MUNGE_PATH_LIST])dnl AC_MSG_CHECKING([dynamic linker characteristics]) m4_if([$1], [], [ if test yes = "$GCC"; then case $host_os in darwin*) lt_awk_arg='/^libraries:/,/LR/' ;; *) lt_awk_arg='/^libraries:/' ;; esac case $host_os in mingw* | cegcc*) lt_sed_strip_eq='s|=\([[A-Za-z]]:\)|\1|g' ;; *) lt_sed_strip_eq='s|=/|/|g' ;; esac lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq` case $lt_search_path_spec in *\;*) # if the path contains ";" then we assume it to be the separator # otherwise default to the standard path separator (i.e. ":") - it is # assumed that no part of a normal pathname contains ";" but that should # okay in the real world where ";" in dirpaths is itself problematic. lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'` ;; *) lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"` ;; esac # Ok, now we have the path, separated by spaces, we can step through it # and add multilib dir if necessary... lt_tmp_lt_search_path_spec= lt_multi_os_dir=/`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` # ...but if some path component already ends with the multilib dir we assume # that all is fine and trust -print-search-dirs as is (GCC 4.2? or newer). case "$lt_multi_os_dir; $lt_search_path_spec " in "/; "* | "/.; "* | "/./; "* | *"$lt_multi_os_dir "* | *"$lt_multi_os_dir/ "*) lt_multi_os_dir= ;; esac for lt_sys_path in $lt_search_path_spec; do if test -d "$lt_sys_path$lt_multi_os_dir"; then lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path$lt_multi_os_dir" elif test -n "$lt_multi_os_dir"; then test -d "$lt_sys_path" && \ lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" fi done lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk ' BEGIN {RS = " "; FS = "/|\n";} { lt_foo = ""; lt_count = 0; for (lt_i = NF; lt_i > 0; lt_i--) { if ($lt_i != "" && $lt_i != ".") { if ($lt_i == "..") { lt_count++; } else { if (lt_count == 0) { lt_foo = "/" $lt_i lt_foo; } else { lt_count--; } } } } if (lt_foo != "") { lt_freq[[lt_foo]]++; } if (lt_freq[[lt_foo]] == 1) { print lt_foo; } }'` # AWK program above erroneously prepends '/' to C:/dos/paths # for these hosts. case $host_os in mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\ $SED 's|/\([[A-Za-z]]:\)|\1|g'` ;; esac sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP` else sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" fi]) library_names_spec= libname_spec='lib$name' soname_spec= shrext_cmds=.so postinstall_cmds= postuninstall_cmds= finish_cmds= finish_eval= shlibpath_var= shlibpath_overrides_runpath=unknown version_type=none dynamic_linker="$host_os ld.so" sys_lib_dlsearch_path_spec="/lib /usr/lib" need_lib_prefix=unknown hardcode_into_libs=no # when you set need_version to no, make sure it does not cause -set_version # flags to be left without arguments need_version=unknown AC_ARG_VAR([LT_SYS_LIBRARY_PATH], [User-defined run-time library search path.]) case $host_os in aix3*) version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='$libname$release$shared_ext$versuffix $libname.a' shlibpath_var=LIBPATH # AIX 3 has no versioning support, so we append a major version to the name. soname_spec='$libname$release$shared_ext$major' ;; aix[[4-9]]*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no hardcode_into_libs=yes if test ia64 = "$host_cpu"; then # AIX 5 supports IA64 library_names_spec='$libname$release$shared_ext$major $libname$release$shared_ext$versuffix $libname$shared_ext' shlibpath_var=LD_LIBRARY_PATH else # With GCC up to 2.95.x, collect2 would create an import file # for dependence libraries. The import file would start with # the line '#! .'. This would cause the generated library to # depend on '.', always an invalid library. This was fixed in # development snapshots of GCC prior to 3.0. case $host_os in aix4 | aix4.[[01]] | aix4.[[01]].*) if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' echo ' yes ' echo '#endif'; } | $CC -E - | $GREP yes > /dev/null; then : else can_build_shared=no fi ;; esac # Using Import Files as archive members, it is possible to support # filename-based versioning of shared library archives on AIX. While # this would work for both with and without runtime linking, it will # prevent static linking of such archives. So we do filename-based # shared library versioning with .so extension only, which is used # when both runtime linking and shared linking is enabled. # Unfortunately, runtime linking may impact performance, so we do # not want this to be the default eventually. Also, we use the # versioned .so libs for executables only if there is the -brtl # linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only. # To allow for filename-based versioning support, we need to create # libNAME.so.V as an archive file, containing: # *) an Import File, referring to the versioned filename of the # archive as well as the shared archive member, telling the # bitwidth (32 or 64) of that shared object, and providing the # list of exported symbols of that shared object, eventually # decorated with the 'weak' keyword # *) the shared object with the F_LOADONLY flag set, to really avoid # it being seen by the linker. # At run time we better use the real file rather than another symlink, # but for link time we create the symlink libNAME.so -> libNAME.so.V case $with_aix_soname,$aix_use_runtimelinking in # AIX (on Power*) has no versioning support, so currently we cannot hardcode correct # soname into executable. Probably we can add versioning support to # collect2, so additional links can be useful in future. aix,yes) # traditional libtool dynamic_linker='AIX unversionable lib.so' # If using run time linking (on AIX 4.2 or later) use lib.so # instead of lib.a to let people know that these are not # typical AIX shared libraries. library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' ;; aix,no) # traditional AIX only dynamic_linker='AIX lib.a[(]lib.so.V[)]' # We preserve .a as extension for shared libraries through AIX4.2 # and later when we are not doing run time linking. library_names_spec='$libname$release.a $libname.a' soname_spec='$libname$release$shared_ext$major' ;; svr4,*) # full svr4 only dynamic_linker="AIX lib.so.V[(]$shared_archive_member_spec.o[)]" library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' # We do not specify a path in Import Files, so LIBPATH fires. shlibpath_overrides_runpath=yes ;; *,yes) # both, prefer svr4 dynamic_linker="AIX lib.so.V[(]$shared_archive_member_spec.o[)], lib.a[(]lib.so.V[)]" library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' # unpreferred sharedlib libNAME.a needs extra handling postinstall_cmds='test -n "$linkname" || linkname="$realname"~func_stripname "" ".so" "$linkname"~$install_shared_prog "$dir/$func_stripname_result.$libext" "$destdir/$func_stripname_result.$libext"~test -z "$tstripme" || test -z "$striplib" || $striplib "$destdir/$func_stripname_result.$libext"' postuninstall_cmds='for n in $library_names $old_library; do :; done~func_stripname "" ".so" "$n"~test "$func_stripname_result" = "$n" || func_append rmfiles " $odir/$func_stripname_result.$libext"' # We do not specify a path in Import Files, so LIBPATH fires. shlibpath_overrides_runpath=yes ;; *,no) # both, prefer aix dynamic_linker="AIX lib.a[(]lib.so.V[)], lib.so.V[(]$shared_archive_member_spec.o[)]" library_names_spec='$libname$release.a $libname.a' soname_spec='$libname$release$shared_ext$major' # unpreferred sharedlib libNAME.so.V and symlink libNAME.so need extra handling postinstall_cmds='test -z "$dlname" || $install_shared_prog $dir/$dlname $destdir/$dlname~test -z "$tstripme" || test -z "$striplib" || $striplib $destdir/$dlname~test -n "$linkname" || linkname=$realname~func_stripname "" ".a" "$linkname"~(cd "$destdir" && $LN_S -f $dlname $func_stripname_result.so)' postuninstall_cmds='test -z "$dlname" || func_append rmfiles " $odir/$dlname"~for n in $old_library $library_names; do :; done~func_stripname "" ".a" "$n"~func_append rmfiles " $odir/$func_stripname_result.so"' ;; esac shlibpath_var=LIBPATH fi ;; amigaos*) case $host_cpu in powerpc) # Since July 2007 AmigaOS4 officially supports .so libraries. # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' ;; m68k) library_names_spec='$libname.ixlibrary $libname.a' # Create ${libname}_ixlibrary.a entries in /sys/libs. finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' ;; esac ;; beos*) library_names_spec='$libname$shared_ext' dynamic_linker="$host_os ld.so" shlibpath_var=LIBRARY_PATH ;; bsdi[[45]]*) version_type=linux # correct to gnu/linux during the next big refactor need_version=no library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' shlibpath_var=LD_LIBRARY_PATH sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" # the default ld.so.conf also contains /usr/contrib/lib and # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow # libtool to hard-code these into programs ;; cygwin* | mingw* | pw32* | cegcc*) version_type=windows shrext_cmds=.dll need_version=no need_lib_prefix=no case $GCC,$cc_basename in yes,*) # gcc library_names_spec='$libname.dll.a' # DLL is installed to $(libdir)/../bin by postinstall_cmds postinstall_cmds='base_file=`basename \$file`~ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ dldir=$destdir/`dirname \$dlpath`~ test -d \$dldir || mkdir -p \$dldir~ $install_prog $dir/$dlname \$dldir/$dlname~ chmod a+x \$dldir/$dlname~ if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; fi' postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ dlpath=$dir/\$dldll~ $RM \$dlpath' shlibpath_overrides_runpath=yes case $host_os in cygwin*) # Cygwin DLLs use 'cyg' prefix rather than 'lib' soname_spec='`echo $libname | sed -e 's/^lib/cyg/'``echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext' m4_if([$1], [],[ sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"]) ;; mingw* | cegcc*) # MinGW DLLs use traditional 'lib' prefix soname_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext' ;; pw32*) # pw32 DLLs use 'pw' prefix rather than 'lib' library_names_spec='`echo $libname | sed -e 's/^lib/pw/'``echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext' ;; esac dynamic_linker='Win32 ld.exe' ;; *,cl*) # Native MSVC libname_spec='$name' soname_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext' library_names_spec='$libname.dll.lib' case $build_os in mingw*) sys_lib_search_path_spec= lt_save_ifs=$IFS IFS=';' for lt_path in $LIB do IFS=$lt_save_ifs # Let DOS variable expansion print the short 8.3 style file name. lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"` sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path" done IFS=$lt_save_ifs # Convert to MSYS style. sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([[a-zA-Z]]\\):| /\\1|g' -e 's|^ ||'` ;; cygwin*) # Convert to unix form, then to dos form, then back to unix form # but this time dos style (no spaces!) so that the unix form looks # like /cygdrive/c/PROGRA~1:/cygdr... sys_lib_search_path_spec=`cygpath --path --unix "$LIB"` sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null` sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` ;; *) sys_lib_search_path_spec=$LIB if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; then # It is most probably a Windows format PATH. sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` else sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` fi # FIXME: find the short name or the path components, as spaces are # common. (e.g. "Program Files" -> "PROGRA~1") ;; esac # DLL is installed to $(libdir)/../bin by postinstall_cmds postinstall_cmds='base_file=`basename \$file`~ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ dldir=$destdir/`dirname \$dlpath`~ test -d \$dldir || mkdir -p \$dldir~ $install_prog $dir/$dlname \$dldir/$dlname' postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ dlpath=$dir/\$dldll~ $RM \$dlpath' shlibpath_overrides_runpath=yes dynamic_linker='Win32 link.exe' ;; *) # Assume MSVC wrapper library_names_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext $libname.lib' dynamic_linker='Win32 ld.exe' ;; esac # FIXME: first we should search . and the directory the executable is in shlibpath_var=PATH ;; darwin* | rhapsody*) dynamic_linker="$host_os dyld" version_type=darwin need_lib_prefix=no need_version=no library_names_spec='$libname$release$major$shared_ext $libname$shared_ext' soname_spec='$libname$release$major$shared_ext' shlibpath_overrides_runpath=yes shlibpath_var=DYLD_LIBRARY_PATH shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' m4_if([$1], [],[ sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"]) sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' ;; dgux*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' shlibpath_var=LD_LIBRARY_PATH ;; freebsd* | dragonfly*) # DragonFly does not have aout. When/if they implement a new # versioning mechanism, adjust this. if test -x /usr/bin/objformat; then objformat=`/usr/bin/objformat` else case $host_os in freebsd[[23]].*) objformat=aout ;; *) objformat=elf ;; esac fi version_type=freebsd-$objformat case $version_type in freebsd-elf*) library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' need_version=no need_lib_prefix=no ;; freebsd-*) library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' need_version=yes ;; esac shlibpath_var=LD_LIBRARY_PATH case $host_os in freebsd2.*) shlibpath_overrides_runpath=yes ;; freebsd3.[[01]]* | freebsdelf3.[[01]]*) shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \ freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1) shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; *) # from 4.6 on, and DragonFly shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; esac ;; haiku*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no dynamic_linker="$host_os runtime_loader" library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' shlibpath_var=LIBRARY_PATH shlibpath_overrides_runpath=no sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib' hardcode_into_libs=yes ;; hpux9* | hpux10* | hpux11*) # Give a soname corresponding to the major version so that dld.sl refuses to # link against other versions. version_type=sunos need_lib_prefix=no need_version=no case $host_cpu in ia64*) shrext_cmds='.so' hardcode_into_libs=yes dynamic_linker="$host_os dld.so" shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' if test 32 = "$HPUX_IA64_MODE"; then sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" sys_lib_dlsearch_path_spec=/usr/lib/hpux32 else sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" sys_lib_dlsearch_path_spec=/usr/lib/hpux64 fi ;; hppa*64*) shrext_cmds='.sl' hardcode_into_libs=yes dynamic_linker="$host_os dld.sl" shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec ;; *) shrext_cmds='.sl' dynamic_linker="$host_os dld.sl" shlibpath_var=SHLIB_PATH shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' ;; esac # HP-UX runs *really* slowly unless shared libraries are mode 555, ... postinstall_cmds='chmod 555 $lib' # or fails outright, so override atomically: install_override_mode=555 ;; interix[[3-9]]*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; irix5* | irix6* | nonstopux*) case $host_os in nonstopux*) version_type=nonstopux ;; *) if test yes = "$lt_cv_prog_gnu_ld"; then version_type=linux # correct to gnu/linux during the next big refactor else version_type=irix fi ;; esac need_lib_prefix=no need_version=no soname_spec='$libname$release$shared_ext$major' library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$release$shared_ext $libname$shared_ext' case $host_os in irix5* | nonstopux*) libsuff= shlibsuff= ;; *) case $LD in # libtool.m4 will add one of these switches to LD *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") libsuff= shlibsuff= libmagic=32-bit;; *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") libsuff=32 shlibsuff=N32 libmagic=N32;; *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") libsuff=64 shlibsuff=64 libmagic=64-bit;; *) libsuff= shlibsuff= libmagic=never-match;; esac ;; esac shlibpath_var=LD_LIBRARY${shlibsuff}_PATH shlibpath_overrides_runpath=no sys_lib_search_path_spec="/usr/lib$libsuff /lib$libsuff /usr/local/lib$libsuff" sys_lib_dlsearch_path_spec="/usr/lib$libsuff /lib$libsuff" hardcode_into_libs=yes ;; # No shared lib support for Linux oldld, aout, or coff. linux*oldld* | linux*aout* | linux*coff*) dynamic_linker=no ;; linux*android*) version_type=none # Android doesn't support versioned libraries. need_lib_prefix=no need_version=no library_names_spec='$libname$release$shared_ext' soname_spec='$libname$release$shared_ext' finish_cmds= shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes # This implies no fast_install, which is unacceptable. # Some rework will be needed to allow for fast_install # before this can be enabled. hardcode_into_libs=yes dynamic_linker='Android linker' # Don't embed -rpath directories since the linker doesn't support them. _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' ;; # This must be glibc/ELF. linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no # Some binutils ld are patched to set DT_RUNPATH AC_CACHE_VAL([lt_cv_shlibpath_overrides_runpath], [lt_cv_shlibpath_overrides_runpath=no save_LDFLAGS=$LDFLAGS save_libdir=$libdir eval "libdir=/foo; wl=\"$_LT_TAGVAR(lt_prog_compiler_wl, $1)\"; \ LDFLAGS=\"\$LDFLAGS $_LT_TAGVAR(hardcode_libdir_flag_spec, $1)\"" AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])], [AS_IF([ ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null], [lt_cv_shlibpath_overrides_runpath=yes])]) LDFLAGS=$save_LDFLAGS libdir=$save_libdir ]) shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath # This implies no fast_install, which is unacceptable. # Some rework will be needed to allow for fast_install # before this can be enabled. hardcode_into_libs=yes # Ideally, we could use ldconfig to report *all* directores which are # searched for libraries, however this is still not possible. Aside from not # being certain /sbin/ldconfig is available, command # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64, # even though it is searched at run-time. Try to do the best guess by # appending ld.so.conf contents (and includes) to the search path. if test -f /etc/ld.so.conf; then lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '` sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" fi # We used to test for /lib/ld.so.1 and disable shared libraries on # powerpc, because MkLinux only supported shared libraries with the # GNU dynamic linker. Since this was broken with cross compilers, # most powerpc-linux boxes support dynamic linking these days and # people can always --disable-shared, the test was removed, and we # assume the GNU/Linux dynamic linker is in use. dynamic_linker='GNU/Linux ld.so' ;; netbsdelf*-gnu) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes dynamic_linker='NetBSD ld.elf_so' ;; netbsd*) version_type=sunos need_lib_prefix=no need_version=no if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' dynamic_linker='NetBSD (a.out) ld.so' else library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' dynamic_linker='NetBSD ld.elf_so' fi shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; newsos6) version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes ;; *nto* | *qnx*) version_type=qnx need_lib_prefix=no need_version=no library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes dynamic_linker='ldqnx.so' ;; openbsd* | bitrig*) version_type=sunos sys_lib_dlsearch_path_spec=/usr/lib need_lib_prefix=no if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then need_version=no else need_version=yes fi library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes ;; os2*) libname_spec='$name' version_type=windows shrext_cmds=.dll need_version=no need_lib_prefix=no # OS/2 can only load a DLL with a base name of 8 characters or less. soname_spec='`test -n "$os2dllname" && libname="$os2dllname"; v=$($ECHO $release$versuffix | tr -d .-); n=$($ECHO $libname | cut -b -$((8 - ${#v})) | tr . _); $ECHO $n$v`$shared_ext' library_names_spec='${libname}_dll.$libext' dynamic_linker='OS/2 ld.exe' shlibpath_var=BEGINLIBPATH sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec postinstall_cmds='base_file=`basename \$file`~ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; $ECHO \$dlname'\''`~ dldir=$destdir/`dirname \$dlpath`~ test -d \$dldir || mkdir -p \$dldir~ $install_prog $dir/$dlname \$dldir/$dlname~ chmod a+x \$dldir/$dlname~ if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; fi' postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; $ECHO \$dlname'\''`~ dlpath=$dir/\$dldll~ $RM \$dlpath' ;; osf3* | osf4* | osf5*) version_type=osf need_lib_prefix=no need_version=no soname_spec='$libname$release$shared_ext$major' library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' shlibpath_var=LD_LIBRARY_PATH sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec ;; rdos*) dynamic_linker=no ;; solaris*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes # ldd complains unless libraries are executable postinstall_cmds='chmod +x $lib' ;; sunos4*) version_type=sunos library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes if test yes = "$with_gnu_ld"; then need_lib_prefix=no fi need_version=yes ;; sysv4 | sysv4.3*) version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' shlibpath_var=LD_LIBRARY_PATH case $host_vendor in sni) shlibpath_overrides_runpath=no need_lib_prefix=no runpath_var=LD_RUN_PATH ;; siemens) need_lib_prefix=no ;; motorola) need_lib_prefix=no need_version=no shlibpath_overrides_runpath=no sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' ;; esac ;; sysv4*MP*) if test -d /usr/nec; then version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='$libname$shared_ext.$versuffix $libname$shared_ext.$major $libname$shared_ext' soname_spec='$libname$shared_ext.$major' shlibpath_var=LD_LIBRARY_PATH fi ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) version_type=sco need_lib_prefix=no need_version=no library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes if test yes = "$with_gnu_ld"; then sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' else sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' case $host_os in sco3.2v5*) sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" ;; esac fi sys_lib_dlsearch_path_spec='/usr/lib' ;; tpf*) # TPF is a cross-target only. Preferred cross-host = GNU/Linux. version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; uts4*) version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' shlibpath_var=LD_LIBRARY_PATH ;; *) dynamic_linker=no ;; esac AC_MSG_RESULT([$dynamic_linker]) test no = "$dynamic_linker" && can_build_shared=no variables_saved_for_relink="PATH $shlibpath_var $runpath_var" if test yes = "$GCC"; then variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" fi if test set = "${lt_cv_sys_lib_search_path_spec+set}"; then sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec fi if test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec fi # remember unaugmented sys_lib_dlsearch_path content for libtool script decls... configure_time_dlsearch_path=$sys_lib_dlsearch_path_spec # ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code func_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH" # to be used as default LT_SYS_LIBRARY_PATH value in generated libtool configure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH _LT_DECL([], [variables_saved_for_relink], [1], [Variables whose values should be saved in libtool wrapper scripts and restored at link time]) _LT_DECL([], [need_lib_prefix], [0], [Do we need the "lib" prefix for modules?]) _LT_DECL([], [need_version], [0], [Do we need a version for libraries?]) _LT_DECL([], [version_type], [0], [Library versioning type]) _LT_DECL([], [runpath_var], [0], [Shared library runtime path variable]) _LT_DECL([], [shlibpath_var], [0],[Shared library path variable]) _LT_DECL([], [shlibpath_overrides_runpath], [0], [Is shlibpath searched before the hard-coded library search path?]) _LT_DECL([], [libname_spec], [1], [Format of library name prefix]) _LT_DECL([], [library_names_spec], [1], [[List of archive names. First name is the real one, the rest are links. The last name is the one that the linker finds with -lNAME]]) _LT_DECL([], [soname_spec], [1], [[The coded name of the library, if different from the real name]]) _LT_DECL([], [install_override_mode], [1], [Permission mode override for installation of shared libraries]) _LT_DECL([], [postinstall_cmds], [2], [Command to use after installation of a shared archive]) _LT_DECL([], [postuninstall_cmds], [2], [Command to use after uninstallation of a shared archive]) _LT_DECL([], [finish_cmds], [2], [Commands used to finish a libtool library installation in a directory]) _LT_DECL([], [finish_eval], [1], [[As "finish_cmds", except a single script fragment to be evaled but not shown]]) _LT_DECL([], [hardcode_into_libs], [0], [Whether we should hardcode library paths into libraries]) _LT_DECL([], [sys_lib_search_path_spec], [2], [Compile-time system search path for libraries]) _LT_DECL([sys_lib_dlsearch_path_spec], [configure_time_dlsearch_path], [2], [Detected run-time system search path for libraries]) _LT_DECL([], [configure_time_lt_sys_library_path], [2], [Explicit LT_SYS_LIBRARY_PATH set during ./configure time]) ])# _LT_SYS_DYNAMIC_LINKER # _LT_PATH_TOOL_PREFIX(TOOL) # -------------------------- # find a file program that can recognize shared library AC_DEFUN([_LT_PATH_TOOL_PREFIX], [m4_require([_LT_DECL_EGREP])dnl AC_MSG_CHECKING([for $1]) AC_CACHE_VAL(lt_cv_path_MAGIC_CMD, [case $MAGIC_CMD in [[\\/*] | ?:[\\/]*]) lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path. ;; *) lt_save_MAGIC_CMD=$MAGIC_CMD lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR dnl $ac_dummy forces splitting on constant user-supplied paths. dnl POSIX.2 word splitting is done only on the output of word expansions, dnl not every word. This closes a longstanding sh security hole. ac_dummy="m4_if([$2], , $PATH, [$2])" for ac_dir in $ac_dummy; do IFS=$lt_save_ifs test -z "$ac_dir" && ac_dir=. if test -f "$ac_dir/$1"; then lt_cv_path_MAGIC_CMD=$ac_dir/"$1" if test -n "$file_magic_test_file"; then case $deplibs_check_method in "file_magic "*) file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` MAGIC_CMD=$lt_cv_path_MAGIC_CMD if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | $EGREP "$file_magic_regex" > /dev/null; then : else cat <<_LT_EOF 1>&2 *** Warning: the command libtool uses to detect shared libraries, *** $file_magic_cmd, produces output that libtool cannot recognize. *** The result is that libtool may fail to recognize shared libraries *** as such. This will affect the creation of libtool libraries that *** depend on shared libraries, but programs linked with such libtool *** libraries will work regardless of this problem. Nevertheless, you *** may want to report the problem to your system manager and/or to *** bug-libtool@gnu.org _LT_EOF fi ;; esac fi break fi done IFS=$lt_save_ifs MAGIC_CMD=$lt_save_MAGIC_CMD ;; esac]) MAGIC_CMD=$lt_cv_path_MAGIC_CMD if test -n "$MAGIC_CMD"; then AC_MSG_RESULT($MAGIC_CMD) else AC_MSG_RESULT(no) fi _LT_DECL([], [MAGIC_CMD], [0], [Used to examine libraries when file_magic_cmd begins with "file"])dnl ])# _LT_PATH_TOOL_PREFIX # Old name: AU_ALIAS([AC_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_PATH_TOOL_PREFIX], []) # _LT_PATH_MAGIC # -------------- # find a file program that can recognize a shared library m4_defun([_LT_PATH_MAGIC], [_LT_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH) if test -z "$lt_cv_path_MAGIC_CMD"; then if test -n "$ac_tool_prefix"; then _LT_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH) else MAGIC_CMD=: fi fi ])# _LT_PATH_MAGIC # LT_PATH_LD # ---------- # find the pathname to the GNU or non-GNU linker AC_DEFUN([LT_PATH_LD], [AC_REQUIRE([AC_PROG_CC])dnl AC_REQUIRE([AC_CANONICAL_HOST])dnl AC_REQUIRE([AC_CANONICAL_BUILD])dnl m4_require([_LT_DECL_SED])dnl m4_require([_LT_DECL_EGREP])dnl m4_require([_LT_PROG_ECHO_BACKSLASH])dnl AC_ARG_WITH([gnu-ld], [AS_HELP_STRING([--with-gnu-ld], [assume the C compiler uses GNU ld @<:@default=no@:>@])], [test no = "$withval" || with_gnu_ld=yes], [with_gnu_ld=no])dnl ac_prog=ld if test yes = "$GCC"; then # Check if gcc -print-prog-name=ld gives a path. AC_MSG_CHECKING([for ld used by $CC]) case $host in *-*-mingw*) # gcc leaves a trailing carriage return, which upsets mingw ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; *) ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; esac case $ac_prog in # Accept absolute paths. [[\\/]]* | ?:[[\\/]]*) re_direlt='/[[^/]][[^/]]*/\.\./' # Canonicalize the pathname of ld ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` done test -z "$LD" && LD=$ac_prog ;; "") # If it fails, then pretend we aren't using GCC. ac_prog=ld ;; *) # If it is relative, then search for the first ld in PATH. with_gnu_ld=unknown ;; esac elif test yes = "$with_gnu_ld"; then AC_MSG_CHECKING([for GNU ld]) else AC_MSG_CHECKING([for non-GNU ld]) fi AC_CACHE_VAL(lt_cv_path_LD, [if test -z "$LD"; then lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR for ac_dir in $PATH; do IFS=$lt_save_ifs test -z "$ac_dir" && ac_dir=. if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then lt_cv_path_LD=$ac_dir/$ac_prog # Check to see if the program is GNU ld. I'd rather use --version, # but apparently some variants of GNU ld only accept -v. # Break only if it was the GNU/non-GNU ld that we prefer. case `"$lt_cv_path_LD" -v 2>&1 &1 conftest.i cat conftest.i conftest.i >conftest2.i : ${lt_DD:=$DD} AC_PATH_PROGS_FEATURE_CHECK([lt_DD], [dd], [if "$ac_path_lt_DD" bs=32 count=1 conftest.out 2>/dev/null; then cmp -s conftest.i conftest.out \ && ac_cv_path_lt_DD="$ac_path_lt_DD" ac_path_lt_DD_found=: fi]) rm -f conftest.i conftest2.i conftest.out]) ])# _LT_PATH_DD # _LT_CMD_TRUNCATE # ---------------- # find command to truncate a binary pipe m4_defun([_LT_CMD_TRUNCATE], [m4_require([_LT_PATH_DD]) AC_CACHE_CHECK([how to truncate binary pipes], [lt_cv_truncate_bin], [printf 0123456789abcdef0123456789abcdef >conftest.i cat conftest.i conftest.i >conftest2.i lt_cv_truncate_bin= if "$ac_cv_path_lt_DD" bs=32 count=1 conftest.out 2>/dev/null; then cmp -s conftest.i conftest.out \ && lt_cv_truncate_bin="$ac_cv_path_lt_DD bs=4096 count=1" fi rm -f conftest.i conftest2.i conftest.out test -z "$lt_cv_truncate_bin" && lt_cv_truncate_bin="$SED -e 4q"]) _LT_DECL([lt_truncate_bin], [lt_cv_truncate_bin], [1], [Command to truncate a binary pipe]) ])# _LT_CMD_TRUNCATE # _LT_CHECK_MAGIC_METHOD # ---------------------- # how to check for library dependencies # -- PORTME fill in with the dynamic library characteristics m4_defun([_LT_CHECK_MAGIC_METHOD], [m4_require([_LT_DECL_EGREP]) m4_require([_LT_DECL_OBJDUMP]) AC_CACHE_CHECK([how to recognize dependent libraries], lt_cv_deplibs_check_method, [lt_cv_file_magic_cmd='$MAGIC_CMD' lt_cv_file_magic_test_file= lt_cv_deplibs_check_method='unknown' # Need to set the preceding variable on all platforms that support # interlibrary dependencies. # 'none' -- dependencies not supported. # 'unknown' -- same as none, but documents that we really don't know. # 'pass_all' -- all dependencies passed with no checks. # 'test_compile' -- check by making test program. # 'file_magic [[regex]]' -- check by looking for files in library path # that responds to the $file_magic_cmd with a given extended regex. # If you have 'file' or equivalent on your system and you're not sure # whether 'pass_all' will *always* work, you probably want this one. case $host_os in aix[[4-9]]*) lt_cv_deplibs_check_method=pass_all ;; beos*) lt_cv_deplibs_check_method=pass_all ;; bsdi[[45]]*) lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)' lt_cv_file_magic_cmd='/usr/bin/file -L' lt_cv_file_magic_test_file=/shlib/libc.so ;; cygwin*) # func_win32_libid is a shell function defined in ltmain.sh lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' lt_cv_file_magic_cmd='func_win32_libid' ;; mingw* | pw32*) # Base MSYS/MinGW do not provide the 'file' command needed by # func_win32_libid shell function, so use a weaker test based on 'objdump', # unless we find 'file', for example because we are cross-compiling. if ( file / ) >/dev/null 2>&1; then lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' lt_cv_file_magic_cmd='func_win32_libid' else # Keep this pattern in sync with the one in func_win32_libid. lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' lt_cv_file_magic_cmd='$OBJDUMP -f' fi ;; cegcc*) # use the weaker test based on 'objdump'. See mingw*. lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?' lt_cv_file_magic_cmd='$OBJDUMP -f' ;; darwin* | rhapsody*) lt_cv_deplibs_check_method=pass_all ;; freebsd* | dragonfly*) if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then case $host_cpu in i*86 ) # Not sure whether the presence of OpenBSD here was a mistake. # Let's accept both of them until this is cleared up. lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library' lt_cv_file_magic_cmd=/usr/bin/file lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` ;; esac else lt_cv_deplibs_check_method=pass_all fi ;; haiku*) lt_cv_deplibs_check_method=pass_all ;; hpux10.20* | hpux11*) lt_cv_file_magic_cmd=/usr/bin/file case $host_cpu in ia64*) lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64' lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so ;; hppa*64*) [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]'] lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl ;; *) lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]]\.[[0-9]]) shared library' lt_cv_file_magic_test_file=/usr/lib/libc.sl ;; esac ;; interix[[3-9]]*) # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$' ;; irix5* | irix6* | nonstopux*) case $LD in *-32|*"-32 ") libmagic=32-bit;; *-n32|*"-n32 ") libmagic=N32;; *-64|*"-64 ") libmagic=64-bit;; *) libmagic=never-match;; esac lt_cv_deplibs_check_method=pass_all ;; # This must be glibc/ELF. linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) lt_cv_deplibs_check_method=pass_all ;; netbsd* | netbsdelf*-gnu) if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' else lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$' fi ;; newos6*) lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)' lt_cv_file_magic_cmd=/usr/bin/file lt_cv_file_magic_test_file=/usr/lib/libnls.so ;; *nto* | *qnx*) lt_cv_deplibs_check_method=pass_all ;; openbsd* | bitrig*) if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$' else lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' fi ;; osf3* | osf4* | osf5*) lt_cv_deplibs_check_method=pass_all ;; rdos*) lt_cv_deplibs_check_method=pass_all ;; solaris*) lt_cv_deplibs_check_method=pass_all ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) lt_cv_deplibs_check_method=pass_all ;; sysv4 | sysv4.3*) case $host_vendor in motorola) lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]' lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` ;; ncr) lt_cv_deplibs_check_method=pass_all ;; sequent) lt_cv_file_magic_cmd='/bin/file' lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )' ;; sni) lt_cv_file_magic_cmd='/bin/file' lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib" lt_cv_file_magic_test_file=/lib/libc.so ;; siemens) lt_cv_deplibs_check_method=pass_all ;; pc) lt_cv_deplibs_check_method=pass_all ;; esac ;; tpf*) lt_cv_deplibs_check_method=pass_all ;; os2*) lt_cv_deplibs_check_method=pass_all ;; esac ]) file_magic_glob= want_nocaseglob=no if test "$build" = "$host"; then case $host_os in mingw* | pw32*) if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then want_nocaseglob=yes else file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[[\1]]\/[[\1]]\/g;/g"` fi ;; esac fi file_magic_cmd=$lt_cv_file_magic_cmd deplibs_check_method=$lt_cv_deplibs_check_method test -z "$deplibs_check_method" && deplibs_check_method=unknown _LT_DECL([], [deplibs_check_method], [1], [Method to check whether dependent libraries are shared objects]) _LT_DECL([], [file_magic_cmd], [1], [Command to use when deplibs_check_method = "file_magic"]) _LT_DECL([], [file_magic_glob], [1], [How to find potential files when deplibs_check_method = "file_magic"]) _LT_DECL([], [want_nocaseglob], [1], [Find potential files using nocaseglob when deplibs_check_method = "file_magic"]) ])# _LT_CHECK_MAGIC_METHOD # LT_PATH_NM # ---------- # find the pathname to a BSD- or MS-compatible name lister AC_DEFUN([LT_PATH_NM], [AC_REQUIRE([AC_PROG_CC])dnl AC_CACHE_CHECK([for BSD- or MS-compatible name lister (nm)], lt_cv_path_NM, [if test -n "$NM"; then # Let the user override the test. lt_cv_path_NM=$NM else lt_nm_to_check=${ac_tool_prefix}nm if test -n "$ac_tool_prefix" && test "$build" = "$host"; then lt_nm_to_check="$lt_nm_to_check nm" fi for lt_tmp_nm in $lt_nm_to_check; do lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do IFS=$lt_save_ifs test -z "$ac_dir" && ac_dir=. tmp_nm=$ac_dir/$lt_tmp_nm if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext"; then # Check to see if the nm accepts a BSD-compat flag. # Adding the 'sed 1q' prevents false positives on HP-UX, which says: # nm: unknown option "B" ignored # Tru64's nm complains that /dev/null is an invalid object file # MSYS converts /dev/null to NUL, MinGW nm treats NUL as empty case $build_os in mingw*) lt_bad_file=conftest.nm/nofile ;; *) lt_bad_file=/dev/null ;; esac case `"$tmp_nm" -B $lt_bad_file 2>&1 | sed '1q'` in *$lt_bad_file* | *'Invalid file or object type'*) lt_cv_path_NM="$tmp_nm -B" break 2 ;; *) case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in */dev/null*) lt_cv_path_NM="$tmp_nm -p" break 2 ;; *) lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but continue # so that we can try to find one that supports BSD flags ;; esac ;; esac fi done IFS=$lt_save_ifs done : ${lt_cv_path_NM=no} fi]) if test no != "$lt_cv_path_NM"; then NM=$lt_cv_path_NM else # Didn't find any BSD compatible name lister, look for dumpbin. if test -n "$DUMPBIN"; then : # Let the user override the test. else AC_CHECK_TOOLS(DUMPBIN, [dumpbin "link -dump"], :) case `$DUMPBIN -symbols -headers /dev/null 2>&1 | sed '1q'` in *COFF*) DUMPBIN="$DUMPBIN -symbols -headers" ;; *) DUMPBIN=: ;; esac fi AC_SUBST([DUMPBIN]) if test : != "$DUMPBIN"; then NM=$DUMPBIN fi fi test -z "$NM" && NM=nm AC_SUBST([NM]) _LT_DECL([], [NM], [1], [A BSD- or MS-compatible name lister])dnl AC_CACHE_CHECK([the name lister ($NM) interface], [lt_cv_nm_interface], [lt_cv_nm_interface="BSD nm" echo "int some_variable = 0;" > conftest.$ac_ext (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&AS_MESSAGE_LOG_FD) (eval "$ac_compile" 2>conftest.err) cat conftest.err >&AS_MESSAGE_LOG_FD (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD) (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) cat conftest.err >&AS_MESSAGE_LOG_FD (eval echo "\"\$as_me:$LINENO: output\"" >&AS_MESSAGE_LOG_FD) cat conftest.out >&AS_MESSAGE_LOG_FD if $GREP 'External.*some_variable' conftest.out > /dev/null; then lt_cv_nm_interface="MS dumpbin" fi rm -f conftest*]) ])# LT_PATH_NM # Old names: AU_ALIAS([AM_PROG_NM], [LT_PATH_NM]) AU_ALIAS([AC_PROG_NM], [LT_PATH_NM]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AM_PROG_NM], []) dnl AC_DEFUN([AC_PROG_NM], []) # _LT_CHECK_SHAREDLIB_FROM_LINKLIB # -------------------------------- # how to determine the name of the shared library # associated with a specific link library. # -- PORTME fill in with the dynamic library characteristics m4_defun([_LT_CHECK_SHAREDLIB_FROM_LINKLIB], [m4_require([_LT_DECL_EGREP]) m4_require([_LT_DECL_OBJDUMP]) m4_require([_LT_DECL_DLLTOOL]) AC_CACHE_CHECK([how to associate runtime and link libraries], lt_cv_sharedlib_from_linklib_cmd, [lt_cv_sharedlib_from_linklib_cmd='unknown' case $host_os in cygwin* | mingw* | pw32* | cegcc*) # two different shell functions defined in ltmain.sh; # decide which one to use based on capabilities of $DLLTOOL case `$DLLTOOL --help 2>&1` in *--identify-strict*) lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib ;; *) lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback ;; esac ;; *) # fallback: assume linklib IS sharedlib lt_cv_sharedlib_from_linklib_cmd=$ECHO ;; esac ]) sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO _LT_DECL([], [sharedlib_from_linklib_cmd], [1], [Command to associate shared and link libraries]) ])# _LT_CHECK_SHAREDLIB_FROM_LINKLIB # _LT_PATH_MANIFEST_TOOL # ---------------------- # locate the manifest tool m4_defun([_LT_PATH_MANIFEST_TOOL], [AC_CHECK_TOOL(MANIFEST_TOOL, mt, :) test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt AC_CACHE_CHECK([if $MANIFEST_TOOL is a manifest tool], [lt_cv_path_mainfest_tool], [lt_cv_path_mainfest_tool=no echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&AS_MESSAGE_LOG_FD $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out cat conftest.err >&AS_MESSAGE_LOG_FD if $GREP 'Manifest Tool' conftest.out > /dev/null; then lt_cv_path_mainfest_tool=yes fi rm -f conftest*]) if test yes != "$lt_cv_path_mainfest_tool"; then MANIFEST_TOOL=: fi _LT_DECL([], [MANIFEST_TOOL], [1], [Manifest tool])dnl ])# _LT_PATH_MANIFEST_TOOL # _LT_DLL_DEF_P([FILE]) # --------------------- # True iff FILE is a Windows DLL '.def' file. # Keep in sync with func_dll_def_p in the libtool script AC_DEFUN([_LT_DLL_DEF_P], [dnl test DEF = "`$SED -n dnl -e '\''s/^[[ ]]*//'\'' dnl Strip leading whitespace -e '\''/^\(;.*\)*$/d'\'' dnl Delete empty lines and comments -e '\''s/^\(EXPORTS\|LIBRARY\)\([[ ]].*\)*$/DEF/p'\'' dnl -e q dnl Only consider the first "real" line $1`" dnl ])# _LT_DLL_DEF_P # LT_LIB_M # -------- # check for math library AC_DEFUN([LT_LIB_M], [AC_REQUIRE([AC_CANONICAL_HOST])dnl LIBM= case $host in *-*-beos* | *-*-cegcc* | *-*-cygwin* | *-*-haiku* | *-*-pw32* | *-*-darwin*) # These system don't have libm, or don't need it ;; *-ncr-sysv4.3*) AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM=-lmw) AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm") ;; *) AC_CHECK_LIB(m, cos, LIBM=-lm) ;; esac AC_SUBST([LIBM]) ])# LT_LIB_M # Old name: AU_ALIAS([AC_CHECK_LIBM], [LT_LIB_M]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_CHECK_LIBM], []) # _LT_COMPILER_NO_RTTI([TAGNAME]) # ------------------------------- m4_defun([_LT_COMPILER_NO_RTTI], [m4_require([_LT_TAG_COMPILER])dnl _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= if test yes = "$GCC"; then case $cc_basename in nvcc*) _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -Xcompiler -fno-builtin' ;; *) _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' ;; esac _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions], lt_cv_prog_compiler_rtti_exceptions, [-fno-rtti -fno-exceptions], [], [_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"]) fi _LT_TAGDECL([no_builtin_flag], [lt_prog_compiler_no_builtin_flag], [1], [Compiler flag to turn off builtin functions]) ])# _LT_COMPILER_NO_RTTI # _LT_CMD_GLOBAL_SYMBOLS # ---------------------- m4_defun([_LT_CMD_GLOBAL_SYMBOLS], [AC_REQUIRE([AC_CANONICAL_HOST])dnl AC_REQUIRE([AC_PROG_CC])dnl AC_REQUIRE([AC_PROG_AWK])dnl AC_REQUIRE([LT_PATH_NM])dnl AC_REQUIRE([LT_PATH_LD])dnl m4_require([_LT_DECL_SED])dnl m4_require([_LT_DECL_EGREP])dnl m4_require([_LT_TAG_COMPILER])dnl # Check for command to grab the raw symbol name followed by C symbol from nm. AC_MSG_CHECKING([command to parse $NM output from $compiler object]) AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe], [ # These are sane defaults that work on at least a few old systems. # [They come from Ultrix. What could be older than Ultrix?!! ;)] # Character class describing NM global symbol codes. symcode='[[BCDEGRST]]' # Regexp to match symbols that can be accessed directly from C. sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)' # Define system-specific variables. case $host_os in aix*) symcode='[[BCDT]]' ;; cygwin* | mingw* | pw32* | cegcc*) symcode='[[ABCDGISTW]]' ;; hpux*) if test ia64 = "$host_cpu"; then symcode='[[ABCDEGRST]]' fi ;; irix* | nonstopux*) symcode='[[BCDEGRST]]' ;; osf*) symcode='[[BCDEGQRST]]' ;; solaris*) symcode='[[BDRT]]' ;; sco3.2v5*) symcode='[[DT]]' ;; sysv4.2uw2*) symcode='[[DT]]' ;; sysv5* | sco5v6* | unixware* | OpenUNIX*) symcode='[[ABDT]]' ;; sysv4) symcode='[[DFNSTU]]' ;; esac # If we're using GNU nm, then use its standard symbol codes. case `$NM -V 2>&1` in *GNU* | *'with BFD'*) symcode='[[ABCDGIRSTW]]' ;; esac if test "$lt_cv_nm_interface" = "MS dumpbin"; then # Gets list of data symbols to import. lt_cv_sys_global_symbol_to_import="sed -n -e 's/^I .* \(.*\)$/\1/p'" # Adjust the below global symbol transforms to fixup imported variables. lt_cdecl_hook=" -e 's/^I .* \(.*\)$/extern __declspec(dllimport) char \1;/p'" lt_c_name_hook=" -e 's/^I .* \(.*\)$/ {\"\1\", (void *) 0},/p'" lt_c_name_lib_hook="\ -e 's/^I .* \(lib.*\)$/ {\"\1\", (void *) 0},/p'\ -e 's/^I .* \(.*\)$/ {\"lib\1\", (void *) 0},/p'" else # Disable hooks by default. lt_cv_sys_global_symbol_to_import= lt_cdecl_hook= lt_c_name_hook= lt_c_name_lib_hook= fi # Transform an extracted symbol line into a proper C declaration. # Some systems (esp. on ia64) link data and code symbols differently, # so use this general approach. lt_cv_sys_global_symbol_to_cdecl="sed -n"\ $lt_cdecl_hook\ " -e 's/^T .* \(.*\)$/extern int \1();/p'"\ " -e 's/^$symcode$symcode* .* \(.*\)$/extern char \1;/p'" # Transform an extracted symbol line into symbol name and symbol address lt_cv_sys_global_symbol_to_c_name_address="sed -n"\ $lt_c_name_hook\ " -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\ " -e 's/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/p'" # Transform an extracted symbol line into symbol name with lib prefix and # symbol address. lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n"\ $lt_c_name_lib_hook\ " -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\ " -e 's/^$symcode$symcode* .* \(lib.*\)$/ {\"\1\", (void *) \&\1},/p'"\ " -e 's/^$symcode$symcode* .* \(.*\)$/ {\"lib\1\", (void *) \&\1},/p'" # Handle CRLF in mingw tool chain opt_cr= case $build_os in mingw*) opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp ;; esac # Try without a prefix underscore, then with it. for ac_symprfx in "" "_"; do # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. symxfrm="\\1 $ac_symprfx\\2 \\2" # Write the raw and C identifiers. if test "$lt_cv_nm_interface" = "MS dumpbin"; then # Fake it for dumpbin and say T for any non-static function, # D for any global variable and I for any imported variable. # Also find C++ and __fastcall symbols from MSVC++, # which start with @ or ?. lt_cv_sys_global_symbol_pipe="$AWK ['"\ " {last_section=section; section=\$ 3};"\ " /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\ " /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\ " /^ *Symbol name *: /{split(\$ 0,sn,\":\"); si=substr(sn[2],2)};"\ " /^ *Type *: code/{print \"T\",si,substr(si,length(prfx))};"\ " /^ *Type *: data/{print \"I\",si,substr(si,length(prfx))};"\ " \$ 0!~/External *\|/{next};"\ " / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\ " {if(hide[section]) next};"\ " {f=\"D\"}; \$ 0~/\(\).*\|/{f=\"T\"};"\ " {split(\$ 0,a,/\||\r/); split(a[2],s)};"\ " s[1]~/^[@?]/{print f,s[1],s[1]; next};"\ " s[1]~prfx {split(s[1],t,\"@\"); print f,t[1],substr(t[1],length(prfx))}"\ " ' prfx=^$ac_symprfx]" else lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" fi lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'" # Check to see that the pipe works correctly. pipe_works=no rm -f conftest* cat > conftest.$ac_ext <<_LT_EOF #ifdef __cplusplus extern "C" { #endif char nm_test_var; void nm_test_func(void); void nm_test_func(void){} #ifdef __cplusplus } #endif int main(){nm_test_var='a';nm_test_func();return(0);} _LT_EOF if AC_TRY_EVAL(ac_compile); then # Now try to grab the symbols. nlist=conftest.nm $ECHO "$as_me:$LINENO: $NM conftest.$ac_objext | $lt_cv_sys_global_symbol_pipe > $nlist" >&AS_MESSAGE_LOG_FD if eval "$NM" conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist 2>&AS_MESSAGE_LOG_FD && test -s "$nlist"; then # Try sorting and uniquifying the output. if sort "$nlist" | uniq > "$nlist"T; then mv -f "$nlist"T "$nlist" else rm -f "$nlist"T fi # Make sure that we snagged all the symbols we need. if $GREP ' nm_test_var$' "$nlist" >/dev/null; then if $GREP ' nm_test_func$' "$nlist" >/dev/null; then cat <<_LT_EOF > conftest.$ac_ext /* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ #if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE /* DATA imports from DLLs on WIN32 can't be const, because runtime relocations are performed -- see ld's documentation on pseudo-relocs. */ # define LT@&t@_DLSYM_CONST #elif defined __osf__ /* This system does not cope well with relocations in const data. */ # define LT@&t@_DLSYM_CONST #else # define LT@&t@_DLSYM_CONST const #endif #ifdef __cplusplus extern "C" { #endif _LT_EOF # Now generate the symbol file. eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext' cat <<_LT_EOF >> conftest.$ac_ext /* The mapping between symbol names and symbols. */ LT@&t@_DLSYM_CONST struct { const char *name; void *address; } lt__PROGRAM__LTX_preloaded_symbols[[]] = { { "@PROGRAM@", (void *) 0 }, _LT_EOF $SED "s/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext cat <<\_LT_EOF >> conftest.$ac_ext {0, (void *) 0} }; /* This works around a problem in FreeBSD linker */ #ifdef FREEBSD_WORKAROUND static const void *lt_preloaded_setup() { return lt__PROGRAM__LTX_preloaded_symbols; } #endif #ifdef __cplusplus } #endif _LT_EOF # Now try linking the two files. mv conftest.$ac_objext conftstm.$ac_objext lt_globsym_save_LIBS=$LIBS lt_globsym_save_CFLAGS=$CFLAGS LIBS=conftstm.$ac_objext CFLAGS="$CFLAGS$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)" if AC_TRY_EVAL(ac_link) && test -s conftest$ac_exeext; then pipe_works=yes fi LIBS=$lt_globsym_save_LIBS CFLAGS=$lt_globsym_save_CFLAGS else echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD fi else echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD fi else echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD fi else echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD cat conftest.$ac_ext >&5 fi rm -rf conftest* conftst* # Do not use the global_symbol_pipe unless it works. if test yes = "$pipe_works"; then break else lt_cv_sys_global_symbol_pipe= fi done ]) if test -z "$lt_cv_sys_global_symbol_pipe"; then lt_cv_sys_global_symbol_to_cdecl= fi if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then AC_MSG_RESULT(failed) else AC_MSG_RESULT(ok) fi # Response file support. if test "$lt_cv_nm_interface" = "MS dumpbin"; then nm_file_list_spec='@' elif $NM --help 2>/dev/null | grep '[[@]]FILE' >/dev/null; then nm_file_list_spec='@' fi _LT_DECL([global_symbol_pipe], [lt_cv_sys_global_symbol_pipe], [1], [Take the output of nm and produce a listing of raw symbols and C names]) _LT_DECL([global_symbol_to_cdecl], [lt_cv_sys_global_symbol_to_cdecl], [1], [Transform the output of nm in a proper C declaration]) _LT_DECL([global_symbol_to_import], [lt_cv_sys_global_symbol_to_import], [1], [Transform the output of nm into a list of symbols to manually relocate]) _LT_DECL([global_symbol_to_c_name_address], [lt_cv_sys_global_symbol_to_c_name_address], [1], [Transform the output of nm in a C name address pair]) _LT_DECL([global_symbol_to_c_name_address_lib_prefix], [lt_cv_sys_global_symbol_to_c_name_address_lib_prefix], [1], [Transform the output of nm in a C name address pair when lib prefix is needed]) _LT_DECL([nm_interface], [lt_cv_nm_interface], [1], [The name lister interface]) _LT_DECL([], [nm_file_list_spec], [1], [Specify filename containing input files for $NM]) ]) # _LT_CMD_GLOBAL_SYMBOLS # _LT_COMPILER_PIC([TAGNAME]) # --------------------------- m4_defun([_LT_COMPILER_PIC], [m4_require([_LT_TAG_COMPILER])dnl _LT_TAGVAR(lt_prog_compiler_wl, $1)= _LT_TAGVAR(lt_prog_compiler_pic, $1)= _LT_TAGVAR(lt_prog_compiler_static, $1)= m4_if([$1], [CXX], [ # C++ specific cases for pic, static, wl, etc. if test yes = "$GXX"; then _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' case $host_os in aix*) # All AIX code is PIC. if test ia64 = "$host_cpu"; then # AIX 5 now supports IA64 processor _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' fi _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; amigaos*) case $host_cpu in powerpc) # see comment about AmigaOS4 .so support _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; m68k) # FIXME: we need at least 68020 code to build shared libraries, but # adding the '-m68020' flag to GCC prevents building anything better, # like '-m68040'. _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' ;; esac ;; beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) # PIC is the default for these OSes. ;; mingw* | cygwin* | os2* | pw32* | cegcc*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). # Although the cygwin gcc ignores -fPIC, still need this for old-style # (--disable-auto-import) libraries m4_if([$1], [GCJ], [], [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) case $host_os in os2*) _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static' ;; esac ;; darwin* | rhapsody*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' ;; *djgpp*) # DJGPP does not support shared libraries at all _LT_TAGVAR(lt_prog_compiler_pic, $1)= ;; haiku*) # PIC is the default for Haiku. # The "-static" flag exists, but is broken. _LT_TAGVAR(lt_prog_compiler_static, $1)= ;; interix[[3-9]]*) # Interix 3.x gcc -fpic/-fPIC options generate broken code. # Instead, we relocate shared libraries at runtime. ;; sysv4*MP*) if test -d /usr/nec; then _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic fi ;; hpux*) # PIC is the default for 64-bit PA HP-UX, but not for 32-bit # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag # sets the default TLS model and affects inlining. case $host_cpu in hppa*64*) ;; *) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; esac ;; *qnx* | *nto*) # QNX uses GNU C++, but need to define -shared option too, otherwise # it will coredump. _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' ;; *) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; esac else case $host_os in aix[[4-9]]*) # All AIX code is PIC. if test ia64 = "$host_cpu"; then # AIX 5 now supports IA64 processor _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' else _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' fi ;; chorus*) case $cc_basename in cxch68*) # Green Hills C++ Compiler # _LT_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a" ;; esac ;; mingw* | cygwin* | os2* | pw32* | cegcc*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). m4_if([$1], [GCJ], [], [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) ;; dgux*) case $cc_basename in ec++*) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' ;; ghcx*) # Green Hills C++ Compiler _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' ;; *) ;; esac ;; freebsd* | dragonfly*) # FreeBSD uses GNU C++ ;; hpux9* | hpux10* | hpux11*) case $cc_basename in CC*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-a ${wl}archive' if test ia64 != "$host_cpu"; then _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' fi ;; aCC*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-a ${wl}archive' case $host_cpu in hppa*64*|ia64*) # +Z the default ;; *) _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' ;; esac ;; *) ;; esac ;; interix*) # This is c89, which is MS Visual C++ (no shared libs) # Anyone wants to do a port? ;; irix5* | irix6* | nonstopux*) case $cc_basename in CC*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' # CC pic flag -KPIC is the default. ;; *) ;; esac ;; linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) case $cc_basename in KCC*) # KAI C++ Compiler _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; ecpc* ) # old Intel C++ for x86_64, which still supported -KPIC. _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' ;; icpc* ) # Intel C++, used to be incompatible with GCC. # ICC 10 doesn't accept -KPIC any more. _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' ;; pgCC* | pgcpp*) # Portland Group C++ compiler _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; cxx*) # Compaq C++ # Make sure the PIC flag is empty. It appears that all Alpha # Linux and Compaq Tru64 Unix objects are PIC. _LT_TAGVAR(lt_prog_compiler_pic, $1)= _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' ;; xlc* | xlC* | bgxl[[cC]]* | mpixl[[cC]]*) # IBM XL 8.0, 9.0 on PPC and BlueGene _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic' _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink' ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C++ 5.9 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' ;; esac ;; esac ;; lynxos*) ;; m88k*) ;; mvs*) case $cc_basename in cxx*) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall' ;; *) ;; esac ;; netbsd* | netbsdelf*-gnu) ;; *qnx* | *nto*) # QNX uses GNU C++, but need to define -shared option too, otherwise # it will coredump. _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' ;; osf3* | osf4* | osf5*) case $cc_basename in KCC*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' ;; RCC*) # Rational C++ 2.4.1 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' ;; cxx*) # Digital/Compaq C++ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' # Make sure the PIC flag is empty. It appears that all Alpha # Linux and Compaq Tru64 Unix objects are PIC. _LT_TAGVAR(lt_prog_compiler_pic, $1)= _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' ;; *) ;; esac ;; psos*) ;; solaris*) case $cc_basename in CC* | sunCC*) # Sun C++ 4.2, 5.x and Centerline C++ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' ;; gcx*) # Green Hills C++ Compiler _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' ;; *) ;; esac ;; sunos4*) case $cc_basename in CC*) # Sun C++ 4.x _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; lcc*) # Lucid _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' ;; *) ;; esac ;; sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) case $cc_basename in CC*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; esac ;; tandem*) case $cc_basename in NCC*) # NonStop-UX NCC 3.20 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' ;; *) ;; esac ;; vxworks*) ;; *) _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no ;; esac fi ], [ if test yes = "$GCC"; then _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' case $host_os in aix*) # All AIX code is PIC. if test ia64 = "$host_cpu"; then # AIX 5 now supports IA64 processor _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' fi _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; amigaos*) case $host_cpu in powerpc) # see comment about AmigaOS4 .so support _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; m68k) # FIXME: we need at least 68020 code to build shared libraries, but # adding the '-m68020' flag to GCC prevents building anything better, # like '-m68040'. _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' ;; esac ;; beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) # PIC is the default for these OSes. ;; mingw* | cygwin* | pw32* | os2* | cegcc*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). # Although the cygwin gcc ignores -fPIC, still need this for old-style # (--disable-auto-import) libraries m4_if([$1], [GCJ], [], [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) case $host_os in os2*) _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static' ;; esac ;; darwin* | rhapsody*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' ;; haiku*) # PIC is the default for Haiku. # The "-static" flag exists, but is broken. _LT_TAGVAR(lt_prog_compiler_static, $1)= ;; hpux*) # PIC is the default for 64-bit PA HP-UX, but not for 32-bit # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag # sets the default TLS model and affects inlining. case $host_cpu in hppa*64*) # +Z the default ;; *) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; esac ;; interix[[3-9]]*) # Interix 3.x gcc -fpic/-fPIC options generate broken code. # Instead, we relocate shared libraries at runtime. ;; msdosdjgpp*) # Just because we use GCC doesn't mean we suddenly get shared libraries # on systems that don't support them. _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no enable_shared=no ;; *nto* | *qnx*) # QNX uses GNU C++, but need to define -shared option too, otherwise # it will coredump. _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' ;; sysv4*MP*) if test -d /usr/nec; then _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic fi ;; *) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; esac case $cc_basename in nvcc*) # Cuda Compiler Driver 2.2 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Xlinker ' if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then _LT_TAGVAR(lt_prog_compiler_pic, $1)="-Xcompiler $_LT_TAGVAR(lt_prog_compiler_pic, $1)" fi ;; esac else # PORTME Check for flag to pass linker flags through the system compiler. case $host_os in aix*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' if test ia64 = "$host_cpu"; then # AIX 5 now supports IA64 processor _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' else _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' fi ;; darwin* | rhapsody*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' case $cc_basename in nagfor*) # NAG Fortran compiler _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,-Wl,,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; esac ;; mingw* | cygwin* | pw32* | os2* | cegcc*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). m4_if([$1], [GCJ], [], [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) case $host_os in os2*) _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static' ;; esac ;; hpux9* | hpux10* | hpux11*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but # not for PA HP-UX. case $host_cpu in hppa*64*|ia64*) # +Z the default ;; *) _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' ;; esac # Is there a better lt_prog_compiler_static that works with the bundled CC? _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-a ${wl}archive' ;; irix5* | irix6* | nonstopux*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' # PIC (with -KPIC) is the default. _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' ;; linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) case $cc_basename in # old Intel for x86_64, which still supported -KPIC. ecc*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' ;; # flang / f18. f95 an alias for gfortran or flang on Debian flang* | f18* | f95*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' ;; # icc used to be incompatible with GCC. # ICC 10 doesn't accept -KPIC any more. icc* | ifort*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' ;; # Lahey Fortran 8.1. lf95*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='--shared' _LT_TAGVAR(lt_prog_compiler_static, $1)='--static' ;; nagfor*) # NAG Fortran compiler _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,-Wl,,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; tcc*) # Fabrice Bellard et al's Tiny C Compiler _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' ;; pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*) # Portland Group compilers (*not* the Pentium gcc compiler, # which looks to be a dead project) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; ccc*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' # All Alpha code is PIC. _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' ;; xl* | bgxl* | bgf* | mpixl*) # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic' _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink' ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [[1-7]].* | *Sun*Fortran*\ 8.[[0-3]]*) # Sun Fortran 8.3 passes all unrecognized flags to the linker _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' _LT_TAGVAR(lt_prog_compiler_wl, $1)='' ;; *Sun\ F* | *Sun*Fortran*) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' ;; *Sun\ C*) # Sun C 5.9 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' ;; *Intel*\ [[CF]]*Compiler*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' ;; *Portland\ Group*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; esac ;; esac ;; newsos6) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; *nto* | *qnx*) # QNX uses GNU C++, but need to define -shared option too, otherwise # it will coredump. _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' ;; osf3* | osf4* | osf5*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' # All OSF/1 code is PIC. _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' ;; rdos*) _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' ;; solaris*) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' case $cc_basename in f77* | f90* | f95* | sunf77* | sunf90* | sunf95*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';; *) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';; esac ;; sunos4*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; sysv4 | sysv4.2uw2* | sysv4.3*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; sysv4*MP*) if test -d /usr/nec; then _LT_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' fi ;; sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; unicos*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no ;; uts4*) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; *) _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no ;; esac fi ]) case $host_os in # For platforms that do not support PIC, -DPIC is meaningless: *djgpp*) _LT_TAGVAR(lt_prog_compiler_pic, $1)= ;; *) _LT_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])" ;; esac AC_CACHE_CHECK([for $compiler option to produce PIC], [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)], [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_prog_compiler_pic, $1)]) _LT_TAGVAR(lt_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_cv_prog_compiler_pic, $1) # # Check to make sure the PIC flag actually works. # if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, $1) works], [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, $1)], [$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])], [], [case $_LT_TAGVAR(lt_prog_compiler_pic, $1) in "" | " "*) ;; *) _LT_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_TAGVAR(lt_prog_compiler_pic, $1)" ;; esac], [_LT_TAGVAR(lt_prog_compiler_pic, $1)= _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no]) fi _LT_TAGDECL([pic_flag], [lt_prog_compiler_pic], [1], [Additional compiler flags for building library objects]) _LT_TAGDECL([wl], [lt_prog_compiler_wl], [1], [How to pass a linker flag through the compiler]) # # Check to make sure the static flag actually works. # wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_TAGVAR(lt_prog_compiler_static, $1)\" _LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works], _LT_TAGVAR(lt_cv_prog_compiler_static_works, $1), $lt_tmp_static_flag, [], [_LT_TAGVAR(lt_prog_compiler_static, $1)=]) _LT_TAGDECL([link_static_flag], [lt_prog_compiler_static], [1], [Compiler flag to prevent dynamic linking]) ])# _LT_COMPILER_PIC # _LT_LINKER_SHLIBS([TAGNAME]) # ---------------------------- # See if the linker supports building shared libraries. m4_defun([_LT_LINKER_SHLIBS], [AC_REQUIRE([LT_PATH_LD])dnl AC_REQUIRE([LT_PATH_NM])dnl m4_require([_LT_PATH_MANIFEST_TOOL])dnl m4_require([_LT_FILEUTILS_DEFAULTS])dnl m4_require([_LT_DECL_EGREP])dnl m4_require([_LT_DECL_SED])dnl m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl m4_require([_LT_TAG_COMPILER])dnl AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) m4_if([$1], [CXX], [ _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'] case $host_os in aix[[4-9]]*) # If we're using GNU nm, then we don't want the "-C" option. # -C means demangle to GNU nm, but means don't demangle to AIX nm. # Without the "-l" option, or with the "-B" option, AIX nm treats # weak defined symbols like other global defined symbols, whereas # GNU nm marks them as "W". # While the 'weak' keyword is ignored in the Export File, we need # it in the Import File for the 'aix-soname' feature, so we have # to replace the "-B" option with "-P" for AIX nm. if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols' else _LT_TAGVAR(export_symbols_cmds, $1)='`func_echo_all $NM | $SED -e '\''s/B\([[^B]]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && ([substr](\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols' fi ;; pw32*) _LT_TAGVAR(export_symbols_cmds, $1)=$ltdll_cmds ;; cygwin* | mingw* | cegcc*) case $cc_basename in cl*) _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' ;; *) _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols' _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'] ;; esac ;; linux* | k*bsd*-gnu | gnu*) _LT_TAGVAR(link_all_deplibs, $1)=no ;; *) _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' ;; esac ], [ runpath_var= _LT_TAGVAR(allow_undefined_flag, $1)= _LT_TAGVAR(always_export_symbols, $1)=no _LT_TAGVAR(archive_cmds, $1)= _LT_TAGVAR(archive_expsym_cmds, $1)= _LT_TAGVAR(compiler_needs_object, $1)=no _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no _LT_TAGVAR(export_dynamic_flag_spec, $1)= _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' _LT_TAGVAR(hardcode_automatic, $1)=no _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_direct_absolute, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= _LT_TAGVAR(hardcode_libdir_separator, $1)= _LT_TAGVAR(hardcode_minus_L, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported _LT_TAGVAR(inherit_rpath, $1)=no _LT_TAGVAR(link_all_deplibs, $1)=unknown _LT_TAGVAR(module_cmds, $1)= _LT_TAGVAR(module_expsym_cmds, $1)= _LT_TAGVAR(old_archive_from_new_cmds, $1)= _LT_TAGVAR(old_archive_from_expsyms_cmds, $1)= _LT_TAGVAR(thread_safe_flag_spec, $1)= _LT_TAGVAR(whole_archive_flag_spec, $1)= # include_expsyms should be a list of space-separated symbols to be *always* # included in the symbol list _LT_TAGVAR(include_expsyms, $1)= # exclude_expsyms can be an extended regexp of symbols to exclude # it will be wrapped by ' (' and ')$', so one must not match beginning or # end of line. Example: 'a|bc|.*d.*' will exclude the symbols 'a' and 'bc', # as well as any symbol that contains 'd'. _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'] # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out # platforms (ab)use it in PIC code, but their linkers get confused if # the symbol is explicitly referenced. Since portable code cannot # rely on this symbol name, it's probably fine to never include it in # preloaded symbol tables. # Exclude shared library initialization/finalization symbols. dnl Note also adjust exclude_expsyms for C++ above. extract_expsyms_cmds= case $host_os in cygwin* | mingw* | pw32* | cegcc*) # FIXME: the MSVC++ port hasn't been tested in a loooong time # When not using gcc, we currently assume that we are using # Microsoft Visual C++. if test yes != "$GCC"; then with_gnu_ld=no fi ;; interix*) # we just hope/assume this is gcc and not c89 (= MSVC++) with_gnu_ld=yes ;; openbsd* | bitrig*) with_gnu_ld=no ;; linux* | k*bsd*-gnu | gnu*) _LT_TAGVAR(link_all_deplibs, $1)=no ;; esac _LT_TAGVAR(ld_shlibs, $1)=yes # On some targets, GNU ld is compatible enough with the native linker # that we're better off using the native interface for both. lt_use_gnu_ld_interface=no if test yes = "$with_gnu_ld"; then case $host_os in aix*) # The AIX port of GNU ld has always aspired to compatibility # with the native linker. However, as the warning in the GNU ld # block says, versions before 2.19.5* couldn't really create working # shared libraries, regardless of the interface used. case `$LD -v 2>&1` in *\ \(GNU\ Binutils\)\ 2.19.5*) ;; *\ \(GNU\ Binutils\)\ 2.[[2-9]]*) ;; *\ \(GNU\ Binutils\)\ [[3-9]]*) ;; *) lt_use_gnu_ld_interface=yes ;; esac ;; *) lt_use_gnu_ld_interface=yes ;; esac fi if test yes = "$lt_use_gnu_ld_interface"; then # If archive_cmds runs LD, not CC, wlarc should be empty wlarc='$wl' # Set some defaults for GNU ld with shared library support. These # are reset later if shared libraries are not supported. Putting them # here allows them to be overridden if necessary. runpath_var=LD_RUN_PATH _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic' # ancient GNU ld didn't support --whole-archive et. al. if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then _LT_TAGVAR(whole_archive_flag_spec, $1)=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' else _LT_TAGVAR(whole_archive_flag_spec, $1)= fi supports_anon_versioning=no case `$LD -v | $SED -e 's/([^)]\+)\s\+//' 2>&1` in *GNU\ gold*) supports_anon_versioning=yes ;; *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11 *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... *\ 2.11.*) ;; # other 2.11 versions *) supports_anon_versioning=yes ;; esac # See if GNU ld supports shared libraries. case $host_os in aix[[3-9]]*) # On AIX/PPC, the GNU linker is very broken if test ia64 != "$host_cpu"; then _LT_TAGVAR(ld_shlibs, $1)=no cat <<_LT_EOF 1>&2 *** Warning: the GNU linker, at least up to release 2.19, is reported *** to be unable to reliably create shared libraries on AIX. *** Therefore, libtool is disabling shared libraries support. If you *** really care for shared libraries, you may want to install binutils *** 2.20 or above, or modify your PATH so that a non-GNU linker is found. *** You will then need to restart the configuration process. _LT_EOF fi ;; amigaos*) case $host_cpu in powerpc) # see comment about AmigaOS4 .so support _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='' ;; m68k) _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(hardcode_minus_L, $1)=yes ;; esac ;; beos*) if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then _LT_TAGVAR(allow_undefined_flag, $1)=unsupported # Joseph Beckenbach says some releases of gcc # support --undefined. This deserves some investigation. FIXME _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; cygwin* | mingw* | pw32* | cegcc*) # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, # as there is no search path for DLLs. _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-all-symbols' _LT_TAGVAR(allow_undefined_flag, $1)=unsupported _LT_TAGVAR(always_export_symbols, $1)=no _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols' _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'] if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' # If the export-symbols file already is a .def file, use it as # is; otherwise, prepend EXPORTS... _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then cp $export_symbols $output_objdir/$soname.def; else echo EXPORTS > $output_objdir/$soname.def; cat $export_symbols >> $output_objdir/$soname.def; fi~ $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; haiku*) _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' _LT_TAGVAR(link_all_deplibs, $1)=yes ;; os2*) _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(hardcode_minus_L, $1)=yes _LT_TAGVAR(allow_undefined_flag, $1)=unsupported shrext_cmds=.dll _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ $ECHO EXPORTS >> $output_objdir/$libname.def~ emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ emximp -o $lib $output_objdir/$libname.def' _LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ $ECHO EXPORTS >> $output_objdir/$libname.def~ prefix_cmds="$SED"~ if test EXPORTS = "`$SED 1q $export_symbols`"; then prefix_cmds="$prefix_cmds -e 1d"; fi~ prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ emximp -o $lib $output_objdir/$libname.def' _LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes ;; interix[[3-9]]*) _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. # Instead, shared libraries are loaded at an image base (0x10000000 by # default) and relocated if they conflict, which is a slow very memory # consuming and fragmenting process. To avoid this, we pick a random, # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link # time. Moving up from 0x10000000 also allows more sbrk(2) space. _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' ;; gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) tmp_diet=no if test linux-dietlibc = "$host_os"; then case $cc_basename in diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn) esac fi if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ && test no = "$tmp_diet" then tmp_addflag=' $pic_flag' tmp_sharedflag='-shared' case $cc_basename,$host_cpu in pgcc*) # Portland Group C compiler _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' tmp_addflag=' $pic_flag' ;; pgf77* | pgf90* | pgf95* | pgfortran*) # Portland Group f77 and f90 compilers _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' tmp_addflag=' $pic_flag -Mnomain' ;; ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 tmp_addflag=' -i_dynamic' ;; efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 tmp_addflag=' -i_dynamic -nofor_main' ;; ifc* | ifort*) # Intel Fortran compiler tmp_addflag=' -nofor_main' ;; lf95*) # Lahey Fortran 8.1 _LT_TAGVAR(whole_archive_flag_spec, $1)= tmp_sharedflag='--shared' ;; nagfor*) # NAGFOR 5.3 tmp_sharedflag='-Wl,-shared' ;; xl[[cC]]* | bgxl[[cC]]* | mpixl[[cC]]*) # IBM XL C 8.0 on PPC (deal with xlf below) tmp_sharedflag='-qmkshrobj' tmp_addflag= ;; nvcc*) # Cuda Compiler Driver 2.2 _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' _LT_TAGVAR(compiler_needs_object, $1)=yes ;; esac case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C 5.9 _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' _LT_TAGVAR(compiler_needs_object, $1)=yes tmp_sharedflag='-G' ;; *Sun\ F*) # Sun Fortran 8.3 tmp_sharedflag='-G' ;; esac _LT_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' if test yes = "$supports_anon_versioning"; then _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ echo "local: *; };" >> $output_objdir/$libname.ver~ $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib' fi case $cc_basename in tcc*) _LT_TAGVAR(export_dynamic_flag_spec, $1)='-rdynamic' ;; xlf* | bgf* | bgxlf* | mpixlf*) # IBM XL Fortran 10.1 on PPC cannot create shared libs itself _LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib' if test yes = "$supports_anon_versioning"; then _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ echo "local: *; };" >> $output_objdir/$libname.ver~ $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' fi ;; esac else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; netbsd* | netbsdelf*-gnu) if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' wlarc= else _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' fi ;; solaris*) if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then _LT_TAGVAR(ld_shlibs, $1)=no cat <<_LT_EOF 1>&2 *** Warning: The releases 2.8.* of the GNU linker cannot reliably *** create shared libraries on Solaris systems. Therefore, libtool *** is disabling shared libraries support. We urge you to upgrade GNU *** binutils to release 2.9.1 or newer. Another option is to modify *** your PATH or compiler configuration so that the native linker is *** used, and then restart. _LT_EOF elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) case `$LD -v 2>&1` in *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*) _LT_TAGVAR(ld_shlibs, $1)=no cat <<_LT_EOF 1>&2 *** Warning: Releases of the GNU linker prior to 2.16.91.0.3 cannot *** reliably create shared libraries on SCO systems. Therefore, libtool *** is disabling shared libraries support. We urge you to upgrade GNU *** binutils to release 2.16.91.0.3 or newer. Another option is to modify *** your PATH or compiler configuration so that the native linker is *** used, and then restart. _LT_EOF ;; *) # For security reasons, it is highly recommended that you always # use absolute paths for naming shared libraries, and exclude the # DT_RUNPATH tag from executables and libraries. But doing so # requires that you compile everything twice, which is a pain. if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; esac ;; sunos4*) _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' wlarc= _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; *) if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; esac if test no = "$_LT_TAGVAR(ld_shlibs, $1)"; then runpath_var= _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= _LT_TAGVAR(export_dynamic_flag_spec, $1)= _LT_TAGVAR(whole_archive_flag_spec, $1)= fi else # PORTME fill in a description of your system's linker (not GNU ld) case $host_os in aix3*) _LT_TAGVAR(allow_undefined_flag, $1)=unsupported _LT_TAGVAR(always_export_symbols, $1)=yes _LT_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' # Note: this linker hardcodes the directories in LIBPATH if there # are no directories specified by -L. _LT_TAGVAR(hardcode_minus_L, $1)=yes if test yes = "$GCC" && test -z "$lt_prog_compiler_static"; then # Neither direct hardcoding nor static linking is supported with a # broken collect2. _LT_TAGVAR(hardcode_direct, $1)=unsupported fi ;; aix[[4-9]]*) if test ia64 = "$host_cpu"; then # On IA64, the linker does run time linking by default, so we don't # have to do anything special. aix_use_runtimelinking=no exp_sym_flag='-Bexport' no_entry_flag= else # If we're using GNU nm, then we don't want the "-C" option. # -C means demangle to GNU nm, but means don't demangle to AIX nm. # Without the "-l" option, or with the "-B" option, AIX nm treats # weak defined symbols like other global defined symbols, whereas # GNU nm marks them as "W". # While the 'weak' keyword is ignored in the Export File, we need # it in the Import File for the 'aix-soname' feature, so we have # to replace the "-B" option with "-P" for AIX nm. if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols' else _LT_TAGVAR(export_symbols_cmds, $1)='`func_echo_all $NM | $SED -e '\''s/B\([[^B]]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && ([substr](\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols' fi aix_use_runtimelinking=no # Test if we are trying to use run time linking or normal # AIX style linking. If -brtl is somewhere in LDFLAGS, we # have runtime linking enabled, and use it for executables. # For shared libraries, we enable/disable runtime linking # depending on the kind of the shared library created - # when "with_aix_soname,aix_use_runtimelinking" is: # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables # "aix,yes" lib.so shared, rtl:yes, for executables # lib.a static archive # "both,no" lib.so.V(shr.o) shared, rtl:yes # lib.a(lib.so.V) shared, rtl:no, for executables # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables # lib.a(lib.so.V) shared, rtl:no # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables # lib.a static archive case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*) for ld_flag in $LDFLAGS; do if (test x-brtl = "x$ld_flag" || test x-Wl,-brtl = "x$ld_flag"); then aix_use_runtimelinking=yes break fi done if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then # With aix-soname=svr4, we create the lib.so.V shared archives only, # so we don't have lib.a shared libs to link our executables. # We have to force runtime linking in this case. aix_use_runtimelinking=yes LDFLAGS="$LDFLAGS -Wl,-brtl" fi ;; esac exp_sym_flag='-bexport' no_entry_flag='-bnoentry' fi # When large executables or shared objects are built, AIX ld can # have problems creating the table of contents. If linking a library # or program results in "error TOC overflow" add -mminimal-toc to # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. _LT_TAGVAR(archive_cmds, $1)='' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_direct_absolute, $1)=yes _LT_TAGVAR(hardcode_libdir_separator, $1)=':' _LT_TAGVAR(link_all_deplibs, $1)=yes _LT_TAGVAR(file_list_spec, $1)='$wl-f,' case $with_aix_soname,$aix_use_runtimelinking in aix,*) ;; # traditional, no import file svr4,* | *,yes) # use import file # The Import File defines what to hardcode. _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_direct_absolute, $1)=no ;; esac if test yes = "$GCC"; then case $host_os in aix4.[[012]]|aix4.[[012]].*) # We only want to do this on AIX 4.2 and lower, the check # below for broken collect2 doesn't work under 4.3+ collect2name=`$CC -print-prog-name=collect2` if test -f "$collect2name" && strings "$collect2name" | $GREP resolve_lib_name >/dev/null then # We have reworked collect2 : else # We have old collect2 _LT_TAGVAR(hardcode_direct, $1)=unsupported # It fails to find uninstalled libraries when the uninstalled # path is not listed in the libpath. Setting hardcode_minus_L # to unsupported forces relinking _LT_TAGVAR(hardcode_minus_L, $1)=yes _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)= fi ;; esac shared_flag='-shared' if test yes = "$aix_use_runtimelinking"; then shared_flag="$shared_flag "'$wl-G' fi # Need to ensure runtime linking is disabled for the traditional # shared library, or the linker may eventually find shared libraries # /with/ Import File - we do not want to mix them. shared_flag_aix='-shared' shared_flag_svr4='-shared $wl-G' else # not using gcc if test ia64 = "$host_cpu"; then # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release # chokes on -Wl,-G. The following line is correct: shared_flag='-G' else if test yes = "$aix_use_runtimelinking"; then shared_flag='$wl-G' else shared_flag='$wl-bM:SRE' fi shared_flag_aix='$wl-bM:SRE' shared_flag_svr4='$wl-G' fi fi _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-bexpall' # It seems that -bexpall does not export symbols beginning with # underscore (_), so it is better to generate a list of symbols to export. _LT_TAGVAR(always_export_symbols, $1)=yes if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then # Warning - without using the other runtime loading flags (-brtl), # -berok will link without error, but may produce a broken library. _LT_TAGVAR(allow_undefined_flag, $1)='-berok' # Determine the default libpath from the value encoded in an # empty executable. _LT_SYS_MODULE_PATH_AIX([$1]) _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath" _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags `if test -n "$allow_undefined_flag"; then func_echo_all "$wl$allow_undefined_flag"; else :; fi` $wl'$exp_sym_flag:\$export_symbols' '$shared_flag else if test ia64 = "$host_cpu"; then _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $libdir:/usr/lib:/lib' _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs" _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\$wl$no_entry_flag"' $compiler_flags $wl$allow_undefined_flag '"\$wl$exp_sym_flag:\$export_symbols" else # Determine the default libpath from the value encoded in an # empty executable. _LT_SYS_MODULE_PATH_AIX([$1]) _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath" # Warning - without using the other run time loading flags, # -berok will link without error, but may produce a broken library. _LT_TAGVAR(no_undefined_flag, $1)=' $wl-bernotok' _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-berok' if test yes = "$with_gnu_ld"; then # We only use this code for GNU lds that support --whole-archive. _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive$convenience $wl--no-whole-archive' else # Exported symbols can be pulled into shared objects from archives _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience' fi _LT_TAGVAR(archive_cmds_need_lc, $1)=yes _LT_TAGVAR(archive_expsym_cmds, $1)='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d' # -brtl affects multiple linker settings, -berok does not and is overridden later compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([[, ]]\\)%-berok\\1%g"`' if test svr4 != "$with_aix_soname"; then # This is similar to how AIX traditionally builds its shared libraries. _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_aix' -o $output_objdir/$realname.d/$soname $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$realname.d/$soname' fi if test aix != "$with_aix_soname"; then _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_svr4' -o $output_objdir/$realname.d/$shared_archive_member_spec.o $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$STRIP -e $output_objdir/$realname.d/$shared_archive_member_spec.o~( func_echo_all "#! $soname($shared_archive_member_spec.o)"; if test shr_64 = "$shared_archive_member_spec"; then func_echo_all "# 64"; else func_echo_all "# 32"; fi; cat $export_symbols ) > $output_objdir/$realname.d/$shared_archive_member_spec.imp~$AR $AR_FLAGS $output_objdir/$soname $output_objdir/$realname.d/$shared_archive_member_spec.o $output_objdir/$realname.d/$shared_archive_member_spec.imp' else # used by -dlpreopen to get the symbols _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$MV $output_objdir/$realname.d/$soname $output_objdir' fi _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$RM -r $output_objdir/$realname.d' fi fi ;; amigaos*) case $host_cpu in powerpc) # see comment about AmigaOS4 .so support _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='' ;; m68k) _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(hardcode_minus_L, $1)=yes ;; esac ;; bsdi[[45]]*) _LT_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic ;; cygwin* | mingw* | pw32* | cegcc*) # When not using gcc, we currently assume that we are using # Microsoft Visual C++. # hardcode_libdir_flag_spec is actually meaningless, as there is # no search path for DLLs. case $cc_basename in cl*) # Native MSVC _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' _LT_TAGVAR(allow_undefined_flag, $1)=unsupported _LT_TAGVAR(always_export_symbols, $1)=yes _LT_TAGVAR(file_list_spec, $1)='@' # Tell ltmain to make .lib files, not .a files. libext=lib # Tell ltmain to make .dll files, not .so files. shrext_cmds=.dll # FIXME: Setting linknames here is a bad hack. _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames=' _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then cp "$export_symbols" "$output_objdir/$soname.def"; echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp"; else $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp; fi~ $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ linknames=' # The linker will not automatically build a static lib if we build a DLL. # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true' _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1,DATA/'\'' | $SED -e '\''/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols' # Don't use ranlib _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib' _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~ lt_tool_outputfile="@TOOL_OUTPUT@"~ case $lt_outputfile in *.exe|*.EXE) ;; *) lt_outputfile=$lt_outputfile.exe lt_tool_outputfile=$lt_tool_outputfile.exe ;; esac~ if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; $RM "$lt_outputfile.manifest"; fi' ;; *) # Assume MSVC wrapper _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' _LT_TAGVAR(allow_undefined_flag, $1)=unsupported # Tell ltmain to make .lib files, not .a files. libext=lib # Tell ltmain to make .dll files, not .so files. shrext_cmds=.dll # FIXME: Setting linknames here is a bad hack. _LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames=' # The linker will automatically build a .lib file if we build a DLL. _LT_TAGVAR(old_archive_from_new_cmds, $1)='true' # FIXME: Should let the user specify the lib program. _LT_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs' _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes ;; esac ;; darwin* | rhapsody*) _LT_DARWIN_LINKER_FEATURES($1) ;; dgux*) _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor # support. Future versions do this automatically, but an explicit c++rt0.o # does not break anything, and helps significantly (at the cost of a little # extra space). freebsd2.2*) _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; # Unfortunately, older versions of FreeBSD 2 do not have this feature. freebsd2.*) _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_minus_L, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; # FreeBSD 3 and greater uses gcc -shared to do shared libraries. freebsd* | dragonfly*) _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; hpux9*) if test yes = "$GCC"; then _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared $pic_flag $wl+b $wl$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib' else _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib' fi _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: _LT_TAGVAR(hardcode_direct, $1)=yes # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. _LT_TAGVAR(hardcode_minus_L, $1)=yes _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' ;; hpux10*) if test yes,no = "$GCC,$with_gnu_ld"; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' else _LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' fi if test no = "$with_gnu_ld"; then _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_direct_absolute, $1)=yes _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. _LT_TAGVAR(hardcode_minus_L, $1)=yes fi ;; hpux11*) if test yes,no = "$GCC,$with_gnu_ld"; then case $host_cpu in hppa*64*) _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' ;; ia64*) _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' ;; *) _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' ;; esac else case $host_cpu in hppa*64*) _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' ;; ia64*) _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' ;; *) m4_if($1, [], [ # Older versions of the 11.00 compiler do not understand -b yet # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does) _LT_LINKER_OPTION([if $CC understands -b], _LT_TAGVAR(lt_cv_prog_compiler__b, $1), [-b], [_LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'], [_LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'])], [_LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags']) ;; esac fi if test no = "$with_gnu_ld"; then _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: case $host_cpu in hppa*64*|ia64*) _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; *) _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_direct_absolute, $1)=yes _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. _LT_TAGVAR(hardcode_minus_L, $1)=yes ;; esac fi ;; irix5* | irix6* | nonstopux*) if test yes = "$GCC"; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' # Try to use the -exported_symbol ld option, if it does not # work, assume that -exports_file does not work either and # implicitly export all symbols. # This should be the same for all languages, so no per-tag cache variable. AC_CACHE_CHECK([whether the $host_os linker accepts -exported_symbol], [lt_cv_irix_exported_symbol], [save_LDFLAGS=$LDFLAGS LDFLAGS="$LDFLAGS -shared $wl-exported_symbol ${wl}foo $wl-update_registry $wl/dev/null" AC_LINK_IFELSE( [AC_LANG_SOURCE( [AC_LANG_CASE([C], [[int foo (void) { return 0; }]], [C++], [[int foo (void) { return 0; }]], [Fortran 77], [[ subroutine foo end]], [Fortran], [[ subroutine foo end]])])], [lt_cv_irix_exported_symbol=yes], [lt_cv_irix_exported_symbol=no]) LDFLAGS=$save_LDFLAGS]) if test yes = "$lt_cv_irix_exported_symbol"; then _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations $wl-exports_file $wl$export_symbols -o $lib' fi _LT_TAGVAR(link_all_deplibs, $1)=no else _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -exports_file $export_symbols -o $lib' fi _LT_TAGVAR(archive_cmds_need_lc, $1)='no' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: _LT_TAGVAR(inherit_rpath, $1)=yes _LT_TAGVAR(link_all_deplibs, $1)=yes ;; linux*) case $cc_basename in tcc*) # Fabrice Bellard et al's Tiny C Compiler _LT_TAGVAR(ld_shlibs, $1)=yes _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' ;; esac ;; netbsd* | netbsdelf*-gnu) if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out else _LT_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF fi _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; newsos6) _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; *nto* | *qnx*) ;; openbsd* | bitrig*) if test -f /usr/libexec/ld.so; then _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_TAGVAR(hardcode_direct_absolute, $1)=yes if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags $wl-retain-symbols-file,$export_symbols' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' else _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' fi else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; os2*) _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(hardcode_minus_L, $1)=yes _LT_TAGVAR(allow_undefined_flag, $1)=unsupported shrext_cmds=.dll _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ $ECHO EXPORTS >> $output_objdir/$libname.def~ emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ emximp -o $lib $output_objdir/$libname.def' _LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ $ECHO EXPORTS >> $output_objdir/$libname.def~ prefix_cmds="$SED"~ if test EXPORTS = "`$SED 1q $export_symbols`"; then prefix_cmds="$prefix_cmds -e 1d"; fi~ prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ emximp -o $lib $output_objdir/$libname.def' _LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes ;; osf3*) if test yes = "$GCC"; then _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*' _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' else _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' fi _LT_TAGVAR(archive_cmds_need_lc, $1)='no' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: ;; osf4* | osf5*) # as osf3* with the addition of -msym flag if test yes = "$GCC"; then _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*' _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $pic_flag $libobjs $deplibs $compiler_flags $wl-msym $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' else _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~ $CC -shared$allow_undefined_flag $wl-input $wl$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib~$RM $lib.exp' # Both c and cxx compiler support -rpath directly _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' fi _LT_TAGVAR(archive_cmds_need_lc, $1)='no' _LT_TAGVAR(hardcode_libdir_separator, $1)=: ;; solaris*) _LT_TAGVAR(no_undefined_flag, $1)=' -z defs' if test yes = "$GCC"; then wlarc='$wl' _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl-z ${wl}text $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $CC -shared $pic_flag $wl-z ${wl}text $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' else case `$CC -V 2>&1` in *"Compilers 5.0"*) wlarc='' _LT_TAGVAR(archive_cmds, $1)='$LD -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $LD -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' ;; *) wlarc='$wl' _LT_TAGVAR(archive_cmds, $1)='$CC -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $CC -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' ;; esac fi _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_TAGVAR(hardcode_shlibpath_var, $1)=no case $host_os in solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; *) # The compiler driver will combine and reorder linker options, # but understands '-z linker_flag'. GCC discards it without '$wl', # but is careful enough not to reorder. # Supported since Solaris 2.6 (maybe 2.5.1?) if test yes = "$GCC"; then _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract' else _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' fi ;; esac _LT_TAGVAR(link_all_deplibs, $1)=yes ;; sunos4*) if test sequent = "$host_vendor"; then # Use $CC to link under sequent, because it throws in some extra .o # files that make .init and .fini sections work. _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h $soname -o $lib $libobjs $deplibs $compiler_flags' else _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' fi _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_minus_L, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; sysv4) case $host_vendor in sni) _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(hardcode_direct, $1)=yes # is this really true??? ;; siemens) ## LD is ld it makes a PLAMLIB ## CC just makes a GrossModule. _LT_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs' _LT_TAGVAR(hardcode_direct, $1)=no ;; motorola) _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie ;; esac runpath_var='LD_RUN_PATH' _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; sysv4.3*) _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport' ;; sysv4*MP*) if test -d /usr/nec; then _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(hardcode_shlibpath_var, $1)=no runpath_var=LD_RUN_PATH hardcode_runpath_var=yes _LT_TAGVAR(ld_shlibs, $1)=yes fi ;; sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text' _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=no runpath_var='LD_RUN_PATH' if test yes = "$GCC"; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' else _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' fi ;; sysv5* | sco3.2v5* | sco5v6*) # Note: We CANNOT use -z defs as we might desire, because we do not # link with -lc, and that would cause any symbols used from libc to # always be unresolved, which means just about no library would # ever link correctly. If we're not using GNU ld we use -z text # though, which does catch some bad symbols but isn't as heavy-handed # as -z defs. _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text' _LT_TAGVAR(allow_undefined_flag, $1)='$wl-z,nodefs' _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R,$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=':' _LT_TAGVAR(link_all_deplibs, $1)=yes _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-Bexport' runpath_var='LD_RUN_PATH' if test yes = "$GCC"; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' else _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' fi ;; uts4*) _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; *) _LT_TAGVAR(ld_shlibs, $1)=no ;; esac if test sni = "$host_vendor"; then case $host in sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-Blargedynsym' ;; esac fi fi ]) AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)]) test no = "$_LT_TAGVAR(ld_shlibs, $1)" && can_build_shared=no _LT_TAGVAR(with_gnu_ld, $1)=$with_gnu_ld _LT_DECL([], [libext], [0], [Old archive suffix (normally "a")])dnl _LT_DECL([], [shrext_cmds], [1], [Shared library suffix (normally ".so")])dnl _LT_DECL([], [extract_expsyms_cmds], [2], [The commands to extract the exported symbol list from a shared archive]) # # Do we need to explicitly link libc? # case "x$_LT_TAGVAR(archive_cmds_need_lc, $1)" in x|xyes) # Assume -lc should be added _LT_TAGVAR(archive_cmds_need_lc, $1)=yes if test yes,yes = "$GCC,$enable_shared"; then case $_LT_TAGVAR(archive_cmds, $1) in *'~'*) # FIXME: we may have to deal with multi-command sequences. ;; '$CC '*) # Test whether the compiler implicitly links with -lc since on some # systems, -lgcc has to come before -lc. If gcc already passes -lc # to ld, don't add -lc before -lgcc. AC_CACHE_CHECK([whether -lc should be explicitly linked in], [lt_cv_]_LT_TAGVAR(archive_cmds_need_lc, $1), [$RM conftest* echo "$lt_simple_compile_test_code" > conftest.$ac_ext if AC_TRY_EVAL(ac_compile) 2>conftest.err; then soname=conftest lib=conftest libobjs=conftest.$ac_objext deplibs= wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) pic_flag=$_LT_TAGVAR(lt_prog_compiler_pic, $1) compiler_flags=-v linker_flags=-v verstring= output_objdir=. libname=conftest lt_save_allow_undefined_flag=$_LT_TAGVAR(allow_undefined_flag, $1) _LT_TAGVAR(allow_undefined_flag, $1)= if AC_TRY_EVAL(_LT_TAGVAR(archive_cmds, $1) 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) then lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=no else lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=yes fi _LT_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag else cat conftest.err 1>&5 fi $RM conftest* ]) _LT_TAGVAR(archive_cmds_need_lc, $1)=$lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1) ;; esac fi ;; esac _LT_TAGDECL([build_libtool_need_lc], [archive_cmds_need_lc], [0], [Whether or not to add -lc for building shared libraries]) _LT_TAGDECL([allow_libtool_libs_with_static_runtimes], [enable_shared_with_static_runtimes], [0], [Whether or not to disallow shared libs when runtime libs are static]) _LT_TAGDECL([], [export_dynamic_flag_spec], [1], [Compiler flag to allow reflexive dlopens]) _LT_TAGDECL([], [whole_archive_flag_spec], [1], [Compiler flag to generate shared objects directly from archives]) _LT_TAGDECL([], [compiler_needs_object], [1], [Whether the compiler copes with passing no objects directly]) _LT_TAGDECL([], [old_archive_from_new_cmds], [2], [Create an old-style archive from a shared archive]) _LT_TAGDECL([], [old_archive_from_expsyms_cmds], [2], [Create a temporary old-style archive to link instead of a shared archive]) _LT_TAGDECL([], [archive_cmds], [2], [Commands used to build a shared archive]) _LT_TAGDECL([], [archive_expsym_cmds], [2]) _LT_TAGDECL([], [module_cmds], [2], [Commands used to build a loadable module if different from building a shared archive.]) _LT_TAGDECL([], [module_expsym_cmds], [2]) _LT_TAGDECL([], [with_gnu_ld], [1], [Whether we are building with GNU ld or not]) _LT_TAGDECL([], [allow_undefined_flag], [1], [Flag that allows shared libraries with undefined symbols to be built]) _LT_TAGDECL([], [no_undefined_flag], [1], [Flag that enforces no undefined symbols]) _LT_TAGDECL([], [hardcode_libdir_flag_spec], [1], [Flag to hardcode $libdir into a binary during linking. This must work even if $libdir does not exist]) _LT_TAGDECL([], [hardcode_libdir_separator], [1], [Whether we need a single "-rpath" flag with a separated argument]) _LT_TAGDECL([], [hardcode_direct], [0], [Set to "yes" if using DIR/libNAME$shared_ext during linking hardcodes DIR into the resulting binary]) _LT_TAGDECL([], [hardcode_direct_absolute], [0], [Set to "yes" if using DIR/libNAME$shared_ext during linking hardcodes DIR into the resulting binary and the resulting library dependency is "absolute", i.e impossible to change by setting $shlibpath_var if the library is relocated]) _LT_TAGDECL([], [hardcode_minus_L], [0], [Set to "yes" if using the -LDIR flag during linking hardcodes DIR into the resulting binary]) _LT_TAGDECL([], [hardcode_shlibpath_var], [0], [Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into the resulting binary]) _LT_TAGDECL([], [hardcode_automatic], [0], [Set to "yes" if building a shared library automatically hardcodes DIR into the library and all subsequent libraries and executables linked against it]) _LT_TAGDECL([], [inherit_rpath], [0], [Set to yes if linker adds runtime paths of dependent libraries to runtime path list]) _LT_TAGDECL([], [link_all_deplibs], [0], [Whether libtool must link a program against all its dependency libraries]) _LT_TAGDECL([], [always_export_symbols], [0], [Set to "yes" if exported symbols are required]) _LT_TAGDECL([], [export_symbols_cmds], [2], [The commands to list exported symbols]) _LT_TAGDECL([], [exclude_expsyms], [1], [Symbols that should not be listed in the preloaded symbols]) _LT_TAGDECL([], [include_expsyms], [1], [Symbols that must always be exported]) _LT_TAGDECL([], [prelink_cmds], [2], [Commands necessary for linking programs (against libraries) with templates]) _LT_TAGDECL([], [postlink_cmds], [2], [Commands necessary for finishing linking programs]) _LT_TAGDECL([], [file_list_spec], [1], [Specify filename containing input files]) dnl FIXME: Not yet implemented dnl _LT_TAGDECL([], [thread_safe_flag_spec], [1], dnl [Compiler flag to generate thread safe objects]) ])# _LT_LINKER_SHLIBS # _LT_LANG_C_CONFIG([TAG]) # ------------------------ # Ensure that the configuration variables for a C compiler are suitably # defined. These variables are subsequently used by _LT_CONFIG to write # the compiler configuration to 'libtool'. m4_defun([_LT_LANG_C_CONFIG], [m4_require([_LT_DECL_EGREP])dnl lt_save_CC=$CC AC_LANG_PUSH(C) # Source file extension for C test sources. ac_ext=c # Object file extension for compiled C test sources. objext=o _LT_TAGVAR(objext, $1)=$objext # Code to be used in simple compile tests lt_simple_compile_test_code="int some_variable = 0;" # Code to be used in simple link tests lt_simple_link_test_code='int main(){return(0);}' _LT_TAG_COMPILER # Save the default compiler, since it gets overwritten when the other # tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP. compiler_DEFAULT=$CC # save warnings/boilerplate of simple test code _LT_COMPILER_BOILERPLATE _LT_LINKER_BOILERPLATE ## CAVEAT EMPTOR: ## There is no encapsulation within the following macros, do not change ## the running order or otherwise move them around unless you know exactly ## what you are doing... if test -n "$compiler"; then _LT_COMPILER_NO_RTTI($1) _LT_COMPILER_PIC($1) _LT_COMPILER_C_O($1) _LT_COMPILER_FILE_LOCKS($1) _LT_LINKER_SHLIBS($1) _LT_SYS_DYNAMIC_LINKER($1) _LT_LINKER_HARDCODE_LIBPATH($1) LT_SYS_DLOPEN_SELF _LT_CMD_STRIPLIB # Report what library types will actually be built AC_MSG_CHECKING([if libtool supports shared libraries]) AC_MSG_RESULT([$can_build_shared]) AC_MSG_CHECKING([whether to build shared libraries]) test no = "$can_build_shared" && enable_shared=no # On AIX, shared libraries and static libraries use the same namespace, and # are all built from PIC. case $host_os in aix3*) test yes = "$enable_shared" && enable_static=no if test -n "$RANLIB"; then archive_cmds="$archive_cmds~\$RANLIB \$lib" postinstall_cmds='$RANLIB $lib' fi ;; aix[[4-9]]*) if test ia64 != "$host_cpu"; then case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in yes,aix,yes) ;; # shared object as lib.so file only yes,svr4,*) ;; # shared object as lib.so archive member only yes,*) enable_static=no ;; # shared object in lib.a archive as well esac fi ;; esac AC_MSG_RESULT([$enable_shared]) AC_MSG_CHECKING([whether to build static libraries]) # Make sure either enable_shared or enable_static is yes. test yes = "$enable_shared" || enable_static=yes AC_MSG_RESULT([$enable_static]) _LT_CONFIG($1) fi AC_LANG_POP CC=$lt_save_CC ])# _LT_LANG_C_CONFIG # _LT_LANG_CXX_CONFIG([TAG]) # -------------------------- # Ensure that the configuration variables for a C++ compiler are suitably # defined. These variables are subsequently used by _LT_CONFIG to write # the compiler configuration to 'libtool'. m4_defun([_LT_LANG_CXX_CONFIG], [m4_require([_LT_FILEUTILS_DEFAULTS])dnl m4_require([_LT_DECL_EGREP])dnl m4_require([_LT_PATH_MANIFEST_TOOL])dnl if test -n "$CXX" && ( test no != "$CXX" && ( (test g++ = "$CXX" && `g++ -v >/dev/null 2>&1` ) || (test g++ != "$CXX"))); then AC_PROG_CXXCPP else _lt_caught_CXX_error=yes fi AC_LANG_PUSH(C++) _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(allow_undefined_flag, $1)= _LT_TAGVAR(always_export_symbols, $1)=no _LT_TAGVAR(archive_expsym_cmds, $1)= _LT_TAGVAR(compiler_needs_object, $1)=no _LT_TAGVAR(export_dynamic_flag_spec, $1)= _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_direct_absolute, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= _LT_TAGVAR(hardcode_libdir_separator, $1)= _LT_TAGVAR(hardcode_minus_L, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported _LT_TAGVAR(hardcode_automatic, $1)=no _LT_TAGVAR(inherit_rpath, $1)=no _LT_TAGVAR(module_cmds, $1)= _LT_TAGVAR(module_expsym_cmds, $1)= _LT_TAGVAR(link_all_deplibs, $1)=unknown _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds _LT_TAGVAR(reload_flag, $1)=$reload_flag _LT_TAGVAR(reload_cmds, $1)=$reload_cmds _LT_TAGVAR(no_undefined_flag, $1)= _LT_TAGVAR(whole_archive_flag_spec, $1)= _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no # Source file extension for C++ test sources. ac_ext=cpp # Object file extension for compiled C++ test sources. objext=o _LT_TAGVAR(objext, $1)=$objext # No sense in running all these tests if we already determined that # the CXX compiler isn't working. Some variables (like enable_shared) # are currently assumed to apply to all compilers on this platform, # and will be corrupted by setting them based on a non-working compiler. if test yes != "$_lt_caught_CXX_error"; then # Code to be used in simple compile tests lt_simple_compile_test_code="int some_variable = 0;" # Code to be used in simple link tests lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }' # ltmain only uses $CC for tagged configurations so make sure $CC is set. _LT_TAG_COMPILER # save warnings/boilerplate of simple test code _LT_COMPILER_BOILERPLATE _LT_LINKER_BOILERPLATE # Allow CC to be a program name with arguments. lt_save_CC=$CC lt_save_CFLAGS=$CFLAGS lt_save_LD=$LD lt_save_GCC=$GCC GCC=$GXX lt_save_with_gnu_ld=$with_gnu_ld lt_save_path_LD=$lt_cv_path_LD if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx else $as_unset lt_cv_prog_gnu_ld fi if test -n "${lt_cv_path_LDCXX+set}"; then lt_cv_path_LD=$lt_cv_path_LDCXX else $as_unset lt_cv_path_LD fi test -z "${LDCXX+set}" || LD=$LDCXX CC=${CXX-"c++"} CFLAGS=$CXXFLAGS compiler=$CC _LT_TAGVAR(compiler, $1)=$CC _LT_CC_BASENAME([$compiler]) if test -n "$compiler"; then # We don't want -fno-exception when compiling C++ code, so set the # no_builtin_flag separately if test yes = "$GXX"; then _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' else _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= fi if test yes = "$GXX"; then # Set up default GNU C++ configuration LT_PATH_LD # Check if GNU C++ uses GNU ld as the underlying linker, since the # archiving commands below assume that GNU ld is being used. if test yes = "$with_gnu_ld"; then _LT_TAGVAR(archive_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic' # If archive_cmds runs LD, not CC, wlarc should be empty # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to # investigate it a little bit more. (MM) wlarc='$wl' # ancient GNU ld didn't support --whole-archive et. al. if eval "`$CC -print-prog-name=ld` --help 2>&1" | $GREP 'no-whole-archive' > /dev/null; then _LT_TAGVAR(whole_archive_flag_spec, $1)=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' else _LT_TAGVAR(whole_archive_flag_spec, $1)= fi else with_gnu_ld=no wlarc= # A generic and very simple default shared library creation # command for GNU C++ for the case where it uses the native # linker, instead of GNU ld. If possible, this setting should # overridden to take advantage of the native linker features on # the platform it is being used on. _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' fi # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP " \-L"' else GXX=no with_gnu_ld=no wlarc= fi # PORTME: fill in a description of your system's C++ link characteristics AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) _LT_TAGVAR(ld_shlibs, $1)=yes case $host_os in aix3*) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; aix[[4-9]]*) if test ia64 = "$host_cpu"; then # On IA64, the linker does run time linking by default, so we don't # have to do anything special. aix_use_runtimelinking=no exp_sym_flag='-Bexport' no_entry_flag= else aix_use_runtimelinking=no # Test if we are trying to use run time linking or normal # AIX style linking. If -brtl is somewhere in LDFLAGS, we # have runtime linking enabled, and use it for executables. # For shared libraries, we enable/disable runtime linking # depending on the kind of the shared library created - # when "with_aix_soname,aix_use_runtimelinking" is: # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables # "aix,yes" lib.so shared, rtl:yes, for executables # lib.a static archive # "both,no" lib.so.V(shr.o) shared, rtl:yes # lib.a(lib.so.V) shared, rtl:no, for executables # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables # lib.a(lib.so.V) shared, rtl:no # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables # lib.a static archive case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*) for ld_flag in $LDFLAGS; do case $ld_flag in *-brtl*) aix_use_runtimelinking=yes break ;; esac done if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then # With aix-soname=svr4, we create the lib.so.V shared archives only, # so we don't have lib.a shared libs to link our executables. # We have to force runtime linking in this case. aix_use_runtimelinking=yes LDFLAGS="$LDFLAGS -Wl,-brtl" fi ;; esac exp_sym_flag='-bexport' no_entry_flag='-bnoentry' fi # When large executables or shared objects are built, AIX ld can # have problems creating the table of contents. If linking a library # or program results in "error TOC overflow" add -mminimal-toc to # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. _LT_TAGVAR(archive_cmds, $1)='' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_direct_absolute, $1)=yes _LT_TAGVAR(hardcode_libdir_separator, $1)=':' _LT_TAGVAR(link_all_deplibs, $1)=yes _LT_TAGVAR(file_list_spec, $1)='$wl-f,' case $with_aix_soname,$aix_use_runtimelinking in aix,*) ;; # no import file svr4,* | *,yes) # use import file # The Import File defines what to hardcode. _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_direct_absolute, $1)=no ;; esac if test yes = "$GXX"; then case $host_os in aix4.[[012]]|aix4.[[012]].*) # We only want to do this on AIX 4.2 and lower, the check # below for broken collect2 doesn't work under 4.3+ collect2name=`$CC -print-prog-name=collect2` if test -f "$collect2name" && strings "$collect2name" | $GREP resolve_lib_name >/dev/null then # We have reworked collect2 : else # We have old collect2 _LT_TAGVAR(hardcode_direct, $1)=unsupported # It fails to find uninstalled libraries when the uninstalled # path is not listed in the libpath. Setting hardcode_minus_L # to unsupported forces relinking _LT_TAGVAR(hardcode_minus_L, $1)=yes _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)= fi esac shared_flag='-shared' if test yes = "$aix_use_runtimelinking"; then shared_flag=$shared_flag' $wl-G' fi # Need to ensure runtime linking is disabled for the traditional # shared library, or the linker may eventually find shared libraries # /with/ Import File - we do not want to mix them. shared_flag_aix='-shared' shared_flag_svr4='-shared $wl-G' else # not using gcc if test ia64 = "$host_cpu"; then # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release # chokes on -Wl,-G. The following line is correct: shared_flag='-G' else if test yes = "$aix_use_runtimelinking"; then shared_flag='$wl-G' else shared_flag='$wl-bM:SRE' fi shared_flag_aix='$wl-bM:SRE' shared_flag_svr4='$wl-G' fi fi _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-bexpall' # It seems that -bexpall does not export symbols beginning with # underscore (_), so it is better to generate a list of symbols to # export. _LT_TAGVAR(always_export_symbols, $1)=yes if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then # Warning - without using the other runtime loading flags (-brtl), # -berok will link without error, but may produce a broken library. # The "-G" linker flag allows undefined symbols. _LT_TAGVAR(no_undefined_flag, $1)='-bernotok' # Determine the default libpath from the value encoded in an empty # executable. _LT_SYS_MODULE_PATH_AIX([$1]) _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath" _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags `if test -n "$allow_undefined_flag"; then func_echo_all "$wl$allow_undefined_flag"; else :; fi` $wl'$exp_sym_flag:\$export_symbols' '$shared_flag else if test ia64 = "$host_cpu"; then _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $libdir:/usr/lib:/lib' _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs" _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\$wl$no_entry_flag"' $compiler_flags $wl$allow_undefined_flag '"\$wl$exp_sym_flag:\$export_symbols" else # Determine the default libpath from the value encoded in an # empty executable. _LT_SYS_MODULE_PATH_AIX([$1]) _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath" # Warning - without using the other run time loading flags, # -berok will link without error, but may produce a broken library. _LT_TAGVAR(no_undefined_flag, $1)=' $wl-bernotok' _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-berok' if test yes = "$with_gnu_ld"; then # We only use this code for GNU lds that support --whole-archive. _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive$convenience $wl--no-whole-archive' else # Exported symbols can be pulled into shared objects from archives _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience' fi _LT_TAGVAR(archive_cmds_need_lc, $1)=yes _LT_TAGVAR(archive_expsym_cmds, $1)='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d' # -brtl affects multiple linker settings, -berok does not and is overridden later compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([[, ]]\\)%-berok\\1%g"`' if test svr4 != "$with_aix_soname"; then # This is similar to how AIX traditionally builds its shared # libraries. Need -bnortl late, we may have -brtl in LDFLAGS. _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_aix' -o $output_objdir/$realname.d/$soname $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$realname.d/$soname' fi if test aix != "$with_aix_soname"; then _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_svr4' -o $output_objdir/$realname.d/$shared_archive_member_spec.o $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$STRIP -e $output_objdir/$realname.d/$shared_archive_member_spec.o~( func_echo_all "#! $soname($shared_archive_member_spec.o)"; if test shr_64 = "$shared_archive_member_spec"; then func_echo_all "# 64"; else func_echo_all "# 32"; fi; cat $export_symbols ) > $output_objdir/$realname.d/$shared_archive_member_spec.imp~$AR $AR_FLAGS $output_objdir/$soname $output_objdir/$realname.d/$shared_archive_member_spec.o $output_objdir/$realname.d/$shared_archive_member_spec.imp' else # used by -dlpreopen to get the symbols _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$MV $output_objdir/$realname.d/$soname $output_objdir' fi _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$RM -r $output_objdir/$realname.d' fi fi ;; beos*) if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then _LT_TAGVAR(allow_undefined_flag, $1)=unsupported # Joseph Beckenbach says some releases of gcc # support --undefined. This deserves some investigation. FIXME _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; chorus*) case $cc_basename in *) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; esac ;; cygwin* | mingw* | pw32* | cegcc*) case $GXX,$cc_basename in ,cl* | no,cl*) # Native MSVC # hardcode_libdir_flag_spec is actually meaningless, as there is # no search path for DLLs. _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' _LT_TAGVAR(allow_undefined_flag, $1)=unsupported _LT_TAGVAR(always_export_symbols, $1)=yes _LT_TAGVAR(file_list_spec, $1)='@' # Tell ltmain to make .lib files, not .a files. libext=lib # Tell ltmain to make .dll files, not .so files. shrext_cmds=.dll # FIXME: Setting linknames here is a bad hack. _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames=' _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then cp "$export_symbols" "$output_objdir/$soname.def"; echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp"; else $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp; fi~ $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ linknames=' # The linker will not automatically build a static lib if we build a DLL. # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true' _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes # Don't use ranlib _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib' _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~ lt_tool_outputfile="@TOOL_OUTPUT@"~ case $lt_outputfile in *.exe|*.EXE) ;; *) lt_outputfile=$lt_outputfile.exe lt_tool_outputfile=$lt_tool_outputfile.exe ;; esac~ func_to_tool_file "$lt_outputfile"~ if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; $RM "$lt_outputfile.manifest"; fi' ;; *) # g++ # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, # as there is no search path for DLLs. _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-all-symbols' _LT_TAGVAR(allow_undefined_flag, $1)=unsupported _LT_TAGVAR(always_export_symbols, $1)=no _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' # If the export-symbols file already is a .def file, use it as # is; otherwise, prepend EXPORTS... _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then cp $export_symbols $output_objdir/$soname.def; else echo EXPORTS > $output_objdir/$soname.def; cat $export_symbols >> $output_objdir/$soname.def; fi~ $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; esac ;; darwin* | rhapsody*) _LT_DARWIN_LINKER_FEATURES($1) ;; os2*) _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(hardcode_minus_L, $1)=yes _LT_TAGVAR(allow_undefined_flag, $1)=unsupported shrext_cmds=.dll _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ $ECHO EXPORTS >> $output_objdir/$libname.def~ emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ emximp -o $lib $output_objdir/$libname.def' _LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ $ECHO EXPORTS >> $output_objdir/$libname.def~ prefix_cmds="$SED"~ if test EXPORTS = "`$SED 1q $export_symbols`"; then prefix_cmds="$prefix_cmds -e 1d"; fi~ prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ emximp -o $lib $output_objdir/$libname.def' _LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes ;; dgux*) case $cc_basename in ec++*) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; ghcx*) # Green Hills C++ Compiler # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; *) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; esac ;; freebsd2.*) # C++ shared libraries reported to be fairly broken before # switch to ELF _LT_TAGVAR(ld_shlibs, $1)=no ;; freebsd-elf*) _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;; freebsd* | dragonfly*) # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF # conventions _LT_TAGVAR(ld_shlibs, $1)=yes ;; haiku*) _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' _LT_TAGVAR(link_all_deplibs, $1)=yes ;; hpux9*) _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, # but as the default # location of the library. case $cc_basename in CC*) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; aCC*) _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -b $wl+b $wl$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib' # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP " \-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' ;; *) if test yes = "$GXX"; then _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -nostdlib $pic_flag $wl+b $wl$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib' else # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no fi ;; esac ;; hpux10*|hpux11*) if test no = "$with_gnu_ld"; then _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: case $host_cpu in hppa*64*|ia64*) ;; *) _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' ;; esac fi case $host_cpu in hppa*64*|ia64*) _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; *) _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_direct_absolute, $1)=yes _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, # but as the default # location of the library. ;; esac case $cc_basename in CC*) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; aCC*) case $host_cpu in hppa*64*) _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; ia64*) _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; *) _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; esac # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP " \-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' ;; *) if test yes = "$GXX"; then if test no = "$with_gnu_ld"; then case $host_cpu in hppa*64*) _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC $wl+h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; ia64*) _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; *) _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; esac fi else # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no fi ;; esac ;; interix[[3-9]]*) _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. # Instead, shared libraries are loaded at an image base (0x10000000 by # default) and relocated if they conflict, which is a slow very memory # consuming and fragmenting process. To avoid this, we pick a random, # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link # time. Moving up from 0x10000000 also allows more sbrk(2) space. _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' ;; irix5* | irix6*) case $cc_basename in CC*) # SGI C++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' # Archives containing C++ object files must be created using # "CC -ar", where "CC" is the IRIX C++ compiler. This is # necessary to make sure instantiated templates are included # in the archive. _LT_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs' ;; *) if test yes = "$GXX"; then if test no = "$with_gnu_ld"; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' else _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` -o $lib' fi fi _LT_TAGVAR(link_all_deplibs, $1)=yes ;; esac _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: _LT_TAGVAR(inherit_rpath, $1)=yes ;; linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) case $cc_basename in KCC*) # Kuck and Associates, Inc. (KAI) C++ Compiler # KCC will only create a shared library if the output file # ends with ".so" (or ".sl" for HP-UX), so rename the library # to its proper name (with version) after linking. _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib $wl-retain-symbols-file,$export_symbols; mv \$templib $lib' # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic' # Archives containing C++ object files must be created using # "CC -Bstatic", where "CC" is the KAI C++ compiler. _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;; icpc* | ecpc* ) # Intel C++ with_gnu_ld=yes # version 8.0 and above of icpc choke on multiply defined symbols # if we add $predep_objects and $postdep_objects, however 7.1 and # earlier do not add the objects themselves. case `$CC -V 2>&1` in *"Version 7."*) _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' ;; *) # Version 8.0 or newer tmp_idyn= case $host_cpu in ia64*) tmp_idyn=' -i_dynamic';; esac _LT_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' ;; esac _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic' _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive$convenience $wl--no-whole-archive' ;; pgCC* | pgcpp*) # Portland Group C++ compiler case `$CC -V` in *pgCC\ [[1-5]].* | *pgcpp\ [[1-5]].*) _LT_TAGVAR(prelink_cmds, $1)='tpldir=Template.dir~ rm -rf $tpldir~ $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~ compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"' _LT_TAGVAR(old_archive_cmds, $1)='tpldir=Template.dir~ rm -rf $tpldir~ $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~ $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~ $RANLIB $oldlib' _LT_TAGVAR(archive_cmds, $1)='tpldir=Template.dir~ rm -rf $tpldir~ $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='tpldir=Template.dir~ rm -rf $tpldir~ $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' ;; *) # Version 6 and above use weak symbols _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' ;; esac _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl--rpath $wl$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic' _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' ;; cxx*) # Compaq C++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib $wl-retain-symbols-file $wl$export_symbols' runpath_var=LD_RUN_PATH _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "X$list" | $Xsed' ;; xl* | mpixl* | bgxl*) # IBM XL 8.0 on PPC, with GNU ld _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic' _LT_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' if test yes = "$supports_anon_versioning"; then _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ echo "local: *; };" >> $output_objdir/$libname.ver~ $CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib' fi ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C++ 5.9 _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs' _LT_TAGVAR(archive_cmds, $1)='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-retain-symbols-file $wl$export_symbols' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' _LT_TAGVAR(compiler_needs_object, $1)=yes # Not sure whether something based on # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 # would be better. output_verbose_link_cmd='func_echo_all' # Archives containing C++ object files must be created using # "CC -xar", where "CC" is the Sun C++ compiler. This is # necessary to make sure instantiated templates are included # in the archive. _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' ;; esac ;; esac ;; lynxos*) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; m88k*) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; mvs*) case $cc_basename in cxx*) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; *) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; esac ;; netbsd*) if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' wlarc= _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=no fi # Workaround some broken pre-1.5 toolchains output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' ;; *nto* | *qnx*) _LT_TAGVAR(ld_shlibs, $1)=yes ;; openbsd* | bitrig*) if test -f /usr/libexec/ld.so; then _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_TAGVAR(hardcode_direct_absolute, $1)=yes _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`"; then _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-retain-symbols-file,$export_symbols -o $lib' _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' _LT_TAGVAR(whole_archive_flag_spec, $1)=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' fi output_verbose_link_cmd=func_echo_all else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; osf3* | osf4* | osf5*) case $cc_basename in KCC*) # Kuck and Associates, Inc. (KAI) C++ Compiler # KCC will only create a shared library if the output file # ends with ".so" (or ".sl" for HP-UX), so rename the library # to its proper name (with version) after linking. _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: # Archives containing C++ object files must be created using # the KAI C++ compiler. case $host in osf3*) _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;; *) _LT_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' ;; esac ;; RCC*) # Rational C++ 2.4.1 # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; cxx*) case $host in osf3*) _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*' _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $soname `test -n "$verstring" && func_echo_all "$wl-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' ;; *) _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ echo "-hidden">> $lib.exp~ $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname $wl-input $wl$lib.exp `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib~ $RM $lib.exp' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' ;; esac _LT_TAGVAR(hardcode_libdir_separator, $1)=: # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' ;; *) if test yes,no = "$GXX,$with_gnu_ld"; then _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*' case $host in osf3*) _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' ;; *) _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-msym $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' ;; esac _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP " \-L"' else # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no fi ;; esac ;; psos*) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; sunos4*) case $cc_basename in CC*) # Sun C++ 4.x # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; lcc*) # Lucid # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; *) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; esac ;; solaris*) case $cc_basename in CC* | sunCC*) # Sun C++ 4.2, 5.x and Centerline C++ _LT_TAGVAR(archive_cmds_need_lc,$1)=yes _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs' _LT_TAGVAR(archive_cmds, $1)='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $CC -G$allow_undefined_flag $wl-M $wl$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_TAGVAR(hardcode_shlibpath_var, $1)=no case $host_os in solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; *) # The compiler driver will combine and reorder linker options, # but understands '-z linker_flag'. # Supported since Solaris 2.6 (maybe 2.5.1?) _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' ;; esac _LT_TAGVAR(link_all_deplibs, $1)=yes output_verbose_link_cmd='func_echo_all' # Archives containing C++ object files must be created using # "CC -xar", where "CC" is the Sun C++ compiler. This is # necessary to make sure instantiated templates are included # in the archive. _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' ;; gcx*) # Green Hills C++ Compiler _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib' # The C++ compiler must be used to create the archive. _LT_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs' ;; *) # GNU C++ compiler with Solaris linker if test yes,no = "$GXX,$with_gnu_ld"; then _LT_TAGVAR(no_undefined_flag, $1)=' $wl-z ${wl}defs' if $CC --version | $GREP -v '^2\.7' > /dev/null; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $CC -shared $pic_flag -nostdlib $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP " \-L"' else # g++ 2.7 appears to require '-G' NOT '-shared' on this # platform. _LT_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $CC -G -nostdlib $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP " \-L"' fi _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $wl$libdir' case $host_os in solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; *) _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract' ;; esac fi ;; esac ;; sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text' _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=no runpath_var='LD_RUN_PATH' case $cc_basename in CC*) _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' ;; *) _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' ;; esac ;; sysv5* | sco3.2v5* | sco5v6*) # Note: We CANNOT use -z defs as we might desire, because we do not # link with -lc, and that would cause any symbols used from libc to # always be unresolved, which means just about no library would # ever link correctly. If we're not using GNU ld we use -z text # though, which does catch some bad symbols but isn't as heavy-handed # as -z defs. _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text' _LT_TAGVAR(allow_undefined_flag, $1)='$wl-z,nodefs' _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R,$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=':' _LT_TAGVAR(link_all_deplibs, $1)=yes _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-Bexport' runpath_var='LD_RUN_PATH' case $cc_basename in CC*) _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(old_archive_cmds, $1)='$CC -Tprelink_objects $oldobjs~ '"$_LT_TAGVAR(old_archive_cmds, $1)" _LT_TAGVAR(reload_cmds, $1)='$CC -Tprelink_objects $reload_objs~ '"$_LT_TAGVAR(reload_cmds, $1)" ;; *) _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' ;; esac ;; tandem*) case $cc_basename in NCC*) # NonStop-UX NCC 3.20 # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; *) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; esac ;; vxworks*) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; *) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; esac AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)]) test no = "$_LT_TAGVAR(ld_shlibs, $1)" && can_build_shared=no _LT_TAGVAR(GCC, $1)=$GXX _LT_TAGVAR(LD, $1)=$LD ## CAVEAT EMPTOR: ## There is no encapsulation within the following macros, do not change ## the running order or otherwise move them around unless you know exactly ## what you are doing... _LT_SYS_HIDDEN_LIBDEPS($1) _LT_COMPILER_PIC($1) _LT_COMPILER_C_O($1) _LT_COMPILER_FILE_LOCKS($1) _LT_LINKER_SHLIBS($1) _LT_SYS_DYNAMIC_LINKER($1) _LT_LINKER_HARDCODE_LIBPATH($1) _LT_CONFIG($1) fi # test -n "$compiler" CC=$lt_save_CC CFLAGS=$lt_save_CFLAGS LDCXX=$LD LD=$lt_save_LD GCC=$lt_save_GCC with_gnu_ld=$lt_save_with_gnu_ld lt_cv_path_LDCXX=$lt_cv_path_LD lt_cv_path_LD=$lt_save_path_LD lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld fi # test yes != "$_lt_caught_CXX_error" AC_LANG_POP ])# _LT_LANG_CXX_CONFIG # _LT_FUNC_STRIPNAME_CNF # ---------------------- # func_stripname_cnf prefix suffix name # strip PREFIX and SUFFIX off of NAME. # PREFIX and SUFFIX must not contain globbing or regex special # characters, hashes, percent signs, but SUFFIX may contain a leading # dot (in which case that matches only a dot). # # This function is identical to the (non-XSI) version of func_stripname, # except this one can be used by m4 code that may be executed by configure, # rather than the libtool script. m4_defun([_LT_FUNC_STRIPNAME_CNF],[dnl AC_REQUIRE([_LT_DECL_SED]) AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH]) func_stripname_cnf () { case @S|@2 in .*) func_stripname_result=`$ECHO "@S|@3" | $SED "s%^@S|@1%%; s%\\\\@S|@2\$%%"`;; *) func_stripname_result=`$ECHO "@S|@3" | $SED "s%^@S|@1%%; s%@S|@2\$%%"`;; esac } # func_stripname_cnf ])# _LT_FUNC_STRIPNAME_CNF # _LT_SYS_HIDDEN_LIBDEPS([TAGNAME]) # --------------------------------- # Figure out "hidden" library dependencies from verbose # compiler output when linking a shared library. # Parse the compiler output and extract the necessary # objects, libraries and library flags. m4_defun([_LT_SYS_HIDDEN_LIBDEPS], [m4_require([_LT_FILEUTILS_DEFAULTS])dnl AC_REQUIRE([_LT_FUNC_STRIPNAME_CNF])dnl # Dependencies to place before and after the object being linked: _LT_TAGVAR(predep_objects, $1)= _LT_TAGVAR(postdep_objects, $1)= _LT_TAGVAR(predeps, $1)= _LT_TAGVAR(postdeps, $1)= _LT_TAGVAR(compiler_lib_search_path, $1)= dnl we can't use the lt_simple_compile_test_code here, dnl because it contains code intended for an executable, dnl not a library. It's possible we should let each dnl tag define a new lt_????_link_test_code variable, dnl but it's only used here... m4_if([$1], [], [cat > conftest.$ac_ext <<_LT_EOF int a; void foo (void) { a = 0; } _LT_EOF ], [$1], [CXX], [cat > conftest.$ac_ext <<_LT_EOF class Foo { public: Foo (void) { a = 0; } private: int a; }; _LT_EOF ], [$1], [F77], [cat > conftest.$ac_ext <<_LT_EOF subroutine foo implicit none integer*4 a a=0 return end _LT_EOF ], [$1], [FC], [cat > conftest.$ac_ext <<_LT_EOF subroutine foo implicit none integer a a=0 return end _LT_EOF ], [$1], [GCJ], [cat > conftest.$ac_ext <<_LT_EOF public class foo { private int a; public void bar (void) { a = 0; } }; _LT_EOF ], [$1], [GO], [cat > conftest.$ac_ext <<_LT_EOF package foo func foo() { } _LT_EOF ]) _lt_libdeps_save_CFLAGS=$CFLAGS case "$CC $CFLAGS " in #( *\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;; *\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;; *\ -fuse-linker-plugin*\ *) CFLAGS="$CFLAGS -fno-use-linker-plugin" ;; esac dnl Parse the compiler output and extract the necessary dnl objects, libraries and library flags. if AC_TRY_EVAL(ac_compile); then # Parse the compiler output and extract the necessary # objects, libraries and library flags. # Sentinel used to keep track of whether or not we are before # the conftest object file. pre_test_object_deps_done=no for p in `eval "$output_verbose_link_cmd"`; do case $prev$p in -L* | -R* | -l*) # Some compilers place space between "-{L,R}" and the path. # Remove the space. if test x-L = "$p" || test x-R = "$p"; then prev=$p continue fi # Expand the sysroot to ease extracting the directories later. if test -z "$prev"; then case $p in -L*) func_stripname_cnf '-L' '' "$p"; prev=-L; p=$func_stripname_result ;; -R*) func_stripname_cnf '-R' '' "$p"; prev=-R; p=$func_stripname_result ;; -l*) func_stripname_cnf '-l' '' "$p"; prev=-l; p=$func_stripname_result ;; esac fi case $p in =*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;; esac if test no = "$pre_test_object_deps_done"; then case $prev in -L | -R) # Internal compiler library paths should come after those # provided the user. The postdeps already come after the # user supplied libs so there is no need to process them. if test -z "$_LT_TAGVAR(compiler_lib_search_path, $1)"; then _LT_TAGVAR(compiler_lib_search_path, $1)=$prev$p else _LT_TAGVAR(compiler_lib_search_path, $1)="${_LT_TAGVAR(compiler_lib_search_path, $1)} $prev$p" fi ;; # The "-l" case would never come before the object being # linked, so don't bother handling this case. esac else if test -z "$_LT_TAGVAR(postdeps, $1)"; then _LT_TAGVAR(postdeps, $1)=$prev$p else _LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} $prev$p" fi fi prev= ;; *.lto.$objext) ;; # Ignore GCC LTO objects *.$objext) # This assumes that the test object file only shows up # once in the compiler output. if test "$p" = "conftest.$objext"; then pre_test_object_deps_done=yes continue fi if test no = "$pre_test_object_deps_done"; then if test -z "$_LT_TAGVAR(predep_objects, $1)"; then _LT_TAGVAR(predep_objects, $1)=$p else _LT_TAGVAR(predep_objects, $1)="$_LT_TAGVAR(predep_objects, $1) $p" fi else if test -z "$_LT_TAGVAR(postdep_objects, $1)"; then _LT_TAGVAR(postdep_objects, $1)=$p else _LT_TAGVAR(postdep_objects, $1)="$_LT_TAGVAR(postdep_objects, $1) $p" fi fi ;; *) ;; # Ignore the rest. esac done # Clean up. rm -f a.out a.exe else echo "libtool.m4: error: problem compiling $1 test program" fi $RM -f confest.$objext CFLAGS=$_lt_libdeps_save_CFLAGS # PORTME: override above test on systems where it is broken m4_if([$1], [CXX], [case $host_os in interix[[3-9]]*) # Interix 3.5 installs completely hosed .la files for C++, so rather than # hack all around it, let's just trust "g++" to DTRT. _LT_TAGVAR(predep_objects,$1)= _LT_TAGVAR(postdep_objects,$1)= _LT_TAGVAR(postdeps,$1)= ;; esac ]) case " $_LT_TAGVAR(postdeps, $1) " in *" -lc "*) _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;; esac _LT_TAGVAR(compiler_lib_search_dirs, $1)= if test -n "${_LT_TAGVAR(compiler_lib_search_path, $1)}"; then _LT_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_TAGVAR(compiler_lib_search_path, $1)}" | $SED -e 's! -L! !g' -e 's!^ !!'` fi _LT_TAGDECL([], [compiler_lib_search_dirs], [1], [The directories searched by this compiler when creating a shared library]) _LT_TAGDECL([], [predep_objects], [1], [Dependencies to place before and after the objects being linked to create a shared library]) _LT_TAGDECL([], [postdep_objects], [1]) _LT_TAGDECL([], [predeps], [1]) _LT_TAGDECL([], [postdeps], [1]) _LT_TAGDECL([], [compiler_lib_search_path], [1], [The library search path used internally by the compiler when linking a shared library]) ])# _LT_SYS_HIDDEN_LIBDEPS # _LT_LANG_F77_CONFIG([TAG]) # -------------------------- # Ensure that the configuration variables for a Fortran 77 compiler are # suitably defined. These variables are subsequently used by _LT_CONFIG # to write the compiler configuration to 'libtool'. m4_defun([_LT_LANG_F77_CONFIG], [AC_LANG_PUSH(Fortran 77) if test -z "$F77" || test no = "$F77"; then _lt_disable_F77=yes fi _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(allow_undefined_flag, $1)= _LT_TAGVAR(always_export_symbols, $1)=no _LT_TAGVAR(archive_expsym_cmds, $1)= _LT_TAGVAR(export_dynamic_flag_spec, $1)= _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_direct_absolute, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= _LT_TAGVAR(hardcode_libdir_separator, $1)= _LT_TAGVAR(hardcode_minus_L, $1)=no _LT_TAGVAR(hardcode_automatic, $1)=no _LT_TAGVAR(inherit_rpath, $1)=no _LT_TAGVAR(module_cmds, $1)= _LT_TAGVAR(module_expsym_cmds, $1)= _LT_TAGVAR(link_all_deplibs, $1)=unknown _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds _LT_TAGVAR(reload_flag, $1)=$reload_flag _LT_TAGVAR(reload_cmds, $1)=$reload_cmds _LT_TAGVAR(no_undefined_flag, $1)= _LT_TAGVAR(whole_archive_flag_spec, $1)= _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no # Source file extension for f77 test sources. ac_ext=f # Object file extension for compiled f77 test sources. objext=o _LT_TAGVAR(objext, $1)=$objext # No sense in running all these tests if we already determined that # the F77 compiler isn't working. Some variables (like enable_shared) # are currently assumed to apply to all compilers on this platform, # and will be corrupted by setting them based on a non-working compiler. if test yes != "$_lt_disable_F77"; then # Code to be used in simple compile tests lt_simple_compile_test_code="\ subroutine t return end " # Code to be used in simple link tests lt_simple_link_test_code="\ program t end " # ltmain only uses $CC for tagged configurations so make sure $CC is set. _LT_TAG_COMPILER # save warnings/boilerplate of simple test code _LT_COMPILER_BOILERPLATE _LT_LINKER_BOILERPLATE # Allow CC to be a program name with arguments. lt_save_CC=$CC lt_save_GCC=$GCC lt_save_CFLAGS=$CFLAGS CC=${F77-"f77"} CFLAGS=$FFLAGS compiler=$CC _LT_TAGVAR(compiler, $1)=$CC _LT_CC_BASENAME([$compiler]) GCC=$G77 if test -n "$compiler"; then AC_MSG_CHECKING([if libtool supports shared libraries]) AC_MSG_RESULT([$can_build_shared]) AC_MSG_CHECKING([whether to build shared libraries]) test no = "$can_build_shared" && enable_shared=no # On AIX, shared libraries and static libraries use the same namespace, and # are all built from PIC. case $host_os in aix3*) test yes = "$enable_shared" && enable_static=no if test -n "$RANLIB"; then archive_cmds="$archive_cmds~\$RANLIB \$lib" postinstall_cmds='$RANLIB $lib' fi ;; aix[[4-9]]*) if test ia64 != "$host_cpu"; then case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in yes,aix,yes) ;; # shared object as lib.so file only yes,svr4,*) ;; # shared object as lib.so archive member only yes,*) enable_static=no ;; # shared object in lib.a archive as well esac fi ;; esac AC_MSG_RESULT([$enable_shared]) AC_MSG_CHECKING([whether to build static libraries]) # Make sure either enable_shared or enable_static is yes. test yes = "$enable_shared" || enable_static=yes AC_MSG_RESULT([$enable_static]) _LT_TAGVAR(GCC, $1)=$G77 _LT_TAGVAR(LD, $1)=$LD ## CAVEAT EMPTOR: ## There is no encapsulation within the following macros, do not change ## the running order or otherwise move them around unless you know exactly ## what you are doing... _LT_COMPILER_PIC($1) _LT_COMPILER_C_O($1) _LT_COMPILER_FILE_LOCKS($1) _LT_LINKER_SHLIBS($1) _LT_SYS_DYNAMIC_LINKER($1) _LT_LINKER_HARDCODE_LIBPATH($1) _LT_CONFIG($1) fi # test -n "$compiler" GCC=$lt_save_GCC CC=$lt_save_CC CFLAGS=$lt_save_CFLAGS fi # test yes != "$_lt_disable_F77" AC_LANG_POP ])# _LT_LANG_F77_CONFIG # _LT_LANG_FC_CONFIG([TAG]) # ------------------------- # Ensure that the configuration variables for a Fortran compiler are # suitably defined. These variables are subsequently used by _LT_CONFIG # to write the compiler configuration to 'libtool'. m4_defun([_LT_LANG_FC_CONFIG], [AC_LANG_PUSH(Fortran) if test -z "$FC" || test no = "$FC"; then _lt_disable_FC=yes fi _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(allow_undefined_flag, $1)= _LT_TAGVAR(always_export_symbols, $1)=no _LT_TAGVAR(archive_expsym_cmds, $1)= _LT_TAGVAR(export_dynamic_flag_spec, $1)= _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_direct_absolute, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= _LT_TAGVAR(hardcode_libdir_separator, $1)= _LT_TAGVAR(hardcode_minus_L, $1)=no _LT_TAGVAR(hardcode_automatic, $1)=no _LT_TAGVAR(inherit_rpath, $1)=no _LT_TAGVAR(module_cmds, $1)= _LT_TAGVAR(module_expsym_cmds, $1)= _LT_TAGVAR(link_all_deplibs, $1)=unknown _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds _LT_TAGVAR(reload_flag, $1)=$reload_flag _LT_TAGVAR(reload_cmds, $1)=$reload_cmds _LT_TAGVAR(no_undefined_flag, $1)= _LT_TAGVAR(whole_archive_flag_spec, $1)= _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no # Source file extension for fc test sources. ac_ext=${ac_fc_srcext-f} # Object file extension for compiled fc test sources. objext=o _LT_TAGVAR(objext, $1)=$objext # No sense in running all these tests if we already determined that # the FC compiler isn't working. Some variables (like enable_shared) # are currently assumed to apply to all compilers on this platform, # and will be corrupted by setting them based on a non-working compiler. if test yes != "$_lt_disable_FC"; then # Code to be used in simple compile tests lt_simple_compile_test_code="\ subroutine t return end " # Code to be used in simple link tests lt_simple_link_test_code="\ program t end " # ltmain only uses $CC for tagged configurations so make sure $CC is set. _LT_TAG_COMPILER # save warnings/boilerplate of simple test code _LT_COMPILER_BOILERPLATE _LT_LINKER_BOILERPLATE # Allow CC to be a program name with arguments. lt_save_CC=$CC lt_save_GCC=$GCC lt_save_CFLAGS=$CFLAGS CC=${FC-"f95"} CFLAGS=$FCFLAGS compiler=$CC GCC=$ac_cv_fc_compiler_gnu _LT_TAGVAR(compiler, $1)=$CC _LT_CC_BASENAME([$compiler]) if test -n "$compiler"; then AC_MSG_CHECKING([if libtool supports shared libraries]) AC_MSG_RESULT([$can_build_shared]) AC_MSG_CHECKING([whether to build shared libraries]) test no = "$can_build_shared" && enable_shared=no # On AIX, shared libraries and static libraries use the same namespace, and # are all built from PIC. case $host_os in aix3*) test yes = "$enable_shared" && enable_static=no if test -n "$RANLIB"; then archive_cmds="$archive_cmds~\$RANLIB \$lib" postinstall_cmds='$RANLIB $lib' fi ;; aix[[4-9]]*) if test ia64 != "$host_cpu"; then case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in yes,aix,yes) ;; # shared object as lib.so file only yes,svr4,*) ;; # shared object as lib.so archive member only yes,*) enable_static=no ;; # shared object in lib.a archive as well esac fi ;; esac AC_MSG_RESULT([$enable_shared]) AC_MSG_CHECKING([whether to build static libraries]) # Make sure either enable_shared or enable_static is yes. test yes = "$enable_shared" || enable_static=yes AC_MSG_RESULT([$enable_static]) _LT_TAGVAR(GCC, $1)=$ac_cv_fc_compiler_gnu _LT_TAGVAR(LD, $1)=$LD ## CAVEAT EMPTOR: ## There is no encapsulation within the following macros, do not change ## the running order or otherwise move them around unless you know exactly ## what you are doing... _LT_SYS_HIDDEN_LIBDEPS($1) _LT_COMPILER_PIC($1) _LT_COMPILER_C_O($1) _LT_COMPILER_FILE_LOCKS($1) _LT_LINKER_SHLIBS($1) _LT_SYS_DYNAMIC_LINKER($1) _LT_LINKER_HARDCODE_LIBPATH($1) _LT_CONFIG($1) fi # test -n "$compiler" GCC=$lt_save_GCC CC=$lt_save_CC CFLAGS=$lt_save_CFLAGS fi # test yes != "$_lt_disable_FC" AC_LANG_POP ])# _LT_LANG_FC_CONFIG # _LT_LANG_GCJ_CONFIG([TAG]) # -------------------------- # Ensure that the configuration variables for the GNU Java Compiler compiler # are suitably defined. These variables are subsequently used by _LT_CONFIG # to write the compiler configuration to 'libtool'. m4_defun([_LT_LANG_GCJ_CONFIG], [AC_REQUIRE([LT_PROG_GCJ])dnl AC_LANG_SAVE # Source file extension for Java test sources. ac_ext=java # Object file extension for compiled Java test sources. objext=o _LT_TAGVAR(objext, $1)=$objext # Code to be used in simple compile tests lt_simple_compile_test_code="class foo {}" # Code to be used in simple link tests lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }' # ltmain only uses $CC for tagged configurations so make sure $CC is set. _LT_TAG_COMPILER # save warnings/boilerplate of simple test code _LT_COMPILER_BOILERPLATE _LT_LINKER_BOILERPLATE # Allow CC to be a program name with arguments. lt_save_CC=$CC lt_save_CFLAGS=$CFLAGS lt_save_GCC=$GCC GCC=yes CC=${GCJ-"gcj"} CFLAGS=$GCJFLAGS compiler=$CC _LT_TAGVAR(compiler, $1)=$CC _LT_TAGVAR(LD, $1)=$LD _LT_CC_BASENAME([$compiler]) # GCJ did not exist at the time GCC didn't implicitly link libc in. _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds _LT_TAGVAR(reload_flag, $1)=$reload_flag _LT_TAGVAR(reload_cmds, $1)=$reload_cmds ## CAVEAT EMPTOR: ## There is no encapsulation within the following macros, do not change ## the running order or otherwise move them around unless you know exactly ## what you are doing... if test -n "$compiler"; then _LT_COMPILER_NO_RTTI($1) _LT_COMPILER_PIC($1) _LT_COMPILER_C_O($1) _LT_COMPILER_FILE_LOCKS($1) _LT_LINKER_SHLIBS($1) _LT_LINKER_HARDCODE_LIBPATH($1) _LT_CONFIG($1) fi AC_LANG_RESTORE GCC=$lt_save_GCC CC=$lt_save_CC CFLAGS=$lt_save_CFLAGS ])# _LT_LANG_GCJ_CONFIG # _LT_LANG_GO_CONFIG([TAG]) # -------------------------- # Ensure that the configuration variables for the GNU Go compiler # are suitably defined. These variables are subsequently used by _LT_CONFIG # to write the compiler configuration to 'libtool'. m4_defun([_LT_LANG_GO_CONFIG], [AC_REQUIRE([LT_PROG_GO])dnl AC_LANG_SAVE # Source file extension for Go test sources. ac_ext=go # Object file extension for compiled Go test sources. objext=o _LT_TAGVAR(objext, $1)=$objext # Code to be used in simple compile tests lt_simple_compile_test_code="package main; func main() { }" # Code to be used in simple link tests lt_simple_link_test_code='package main; func main() { }' # ltmain only uses $CC for tagged configurations so make sure $CC is set. _LT_TAG_COMPILER # save warnings/boilerplate of simple test code _LT_COMPILER_BOILERPLATE _LT_LINKER_BOILERPLATE # Allow CC to be a program name with arguments. lt_save_CC=$CC lt_save_CFLAGS=$CFLAGS lt_save_GCC=$GCC GCC=yes CC=${GOC-"gccgo"} CFLAGS=$GOFLAGS compiler=$CC _LT_TAGVAR(compiler, $1)=$CC _LT_TAGVAR(LD, $1)=$LD _LT_CC_BASENAME([$compiler]) # Go did not exist at the time GCC didn't implicitly link libc in. _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds _LT_TAGVAR(reload_flag, $1)=$reload_flag _LT_TAGVAR(reload_cmds, $1)=$reload_cmds ## CAVEAT EMPTOR: ## There is no encapsulation within the following macros, do not change ## the running order or otherwise move them around unless you know exactly ## what you are doing... if test -n "$compiler"; then _LT_COMPILER_NO_RTTI($1) _LT_COMPILER_PIC($1) _LT_COMPILER_C_O($1) _LT_COMPILER_FILE_LOCKS($1) _LT_LINKER_SHLIBS($1) _LT_LINKER_HARDCODE_LIBPATH($1) _LT_CONFIG($1) fi AC_LANG_RESTORE GCC=$lt_save_GCC CC=$lt_save_CC CFLAGS=$lt_save_CFLAGS ])# _LT_LANG_GO_CONFIG # _LT_LANG_RC_CONFIG([TAG]) # ------------------------- # Ensure that the configuration variables for the Windows resource compiler # are suitably defined. These variables are subsequently used by _LT_CONFIG # to write the compiler configuration to 'libtool'. m4_defun([_LT_LANG_RC_CONFIG], [AC_REQUIRE([LT_PROG_RC])dnl AC_LANG_SAVE # Source file extension for RC test sources. ac_ext=rc # Object file extension for compiled RC test sources. objext=o _LT_TAGVAR(objext, $1)=$objext # Code to be used in simple compile tests lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }' # Code to be used in simple link tests lt_simple_link_test_code=$lt_simple_compile_test_code # ltmain only uses $CC for tagged configurations so make sure $CC is set. _LT_TAG_COMPILER # save warnings/boilerplate of simple test code _LT_COMPILER_BOILERPLATE _LT_LINKER_BOILERPLATE # Allow CC to be a program name with arguments. lt_save_CC=$CC lt_save_CFLAGS=$CFLAGS lt_save_GCC=$GCC GCC= CC=${RC-"windres"} CFLAGS= compiler=$CC _LT_TAGVAR(compiler, $1)=$CC _LT_CC_BASENAME([$compiler]) _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes if test -n "$compiler"; then : _LT_CONFIG($1) fi GCC=$lt_save_GCC AC_LANG_RESTORE CC=$lt_save_CC CFLAGS=$lt_save_CFLAGS ])# _LT_LANG_RC_CONFIG # LT_PROG_GCJ # ----------- AC_DEFUN([LT_PROG_GCJ], [m4_ifdef([AC_PROG_GCJ], [AC_PROG_GCJ], [m4_ifdef([A][M_PROG_GCJ], [A][M_PROG_GCJ], [AC_CHECK_TOOL(GCJ, gcj,) test set = "${GCJFLAGS+set}" || GCJFLAGS="-g -O2" AC_SUBST(GCJFLAGS)])])[]dnl ]) # Old name: AU_ALIAS([LT_AC_PROG_GCJ], [LT_PROG_GCJ]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([LT_AC_PROG_GCJ], []) # LT_PROG_GO # ---------- AC_DEFUN([LT_PROG_GO], [AC_CHECK_TOOL(GOC, gccgo,) ]) # LT_PROG_RC # ---------- AC_DEFUN([LT_PROG_RC], [AC_CHECK_TOOL(RC, windres,) ]) # Old name: AU_ALIAS([LT_AC_PROG_RC], [LT_PROG_RC]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([LT_AC_PROG_RC], []) # _LT_DECL_EGREP # -------------- # If we don't have a new enough Autoconf to choose the best grep # available, choose the one first in the user's PATH. m4_defun([_LT_DECL_EGREP], [AC_REQUIRE([AC_PROG_EGREP])dnl AC_REQUIRE([AC_PROG_FGREP])dnl test -z "$GREP" && GREP=grep _LT_DECL([], [GREP], [1], [A grep program that handles long lines]) _LT_DECL([], [EGREP], [1], [An ERE matcher]) _LT_DECL([], [FGREP], [1], [A literal string matcher]) dnl Non-bleeding-edge autoconf doesn't subst GREP, so do it here too AC_SUBST([GREP]) ]) # _LT_DECL_OBJDUMP # -------------- # If we don't have a new enough Autoconf to choose the best objdump # available, choose the one first in the user's PATH. m4_defun([_LT_DECL_OBJDUMP], [AC_CHECK_TOOL(OBJDUMP, objdump, false) test -z "$OBJDUMP" && OBJDUMP=objdump _LT_DECL([], [OBJDUMP], [1], [An object symbol dumper]) AC_SUBST([OBJDUMP]) ]) # _LT_DECL_DLLTOOL # ---------------- # Ensure DLLTOOL variable is set. m4_defun([_LT_DECL_DLLTOOL], [AC_CHECK_TOOL(DLLTOOL, dlltool, false) test -z "$DLLTOOL" && DLLTOOL=dlltool _LT_DECL([], [DLLTOOL], [1], [DLL creation program]) AC_SUBST([DLLTOOL]) ]) # _LT_DECL_SED # ------------ # Check for a fully-functional sed program, that truncates # as few characters as possible. Prefer GNU sed if found. m4_defun([_LT_DECL_SED], [AC_PROG_SED test -z "$SED" && SED=sed Xsed="$SED -e 1s/^X//" _LT_DECL([], [SED], [1], [A sed program that does not truncate output]) _LT_DECL([], [Xsed], ["\$SED -e 1s/^X//"], [Sed that helps us avoid accidentally triggering echo(1) options like -n]) ])# _LT_DECL_SED m4_ifndef([AC_PROG_SED], [ ############################################################ # NOTE: This macro has been submitted for inclusion into # # GNU Autoconf as AC_PROG_SED. When it is available in # # a released version of Autoconf we should remove this # # macro and use it instead. # ############################################################ m4_defun([AC_PROG_SED], [AC_MSG_CHECKING([for a sed that does not truncate output]) AC_CACHE_VAL(lt_cv_path_SED, [# Loop through the user's path and test for sed and gsed. # Then use that list of sed's as ones to test for truncation. as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for lt_ac_prog in sed gsed; do for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext" fi done done done IFS=$as_save_IFS lt_ac_max=0 lt_ac_count=0 # Add /usr/xpg4/bin/sed as it is typically found on Solaris # along with /bin/sed that truncates output. for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do test ! -f "$lt_ac_sed" && continue cat /dev/null > conftest.in lt_ac_count=0 echo $ECHO_N "0123456789$ECHO_C" >conftest.in # Check for GNU sed and select it if it is found. if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then lt_cv_path_SED=$lt_ac_sed break fi while true; do cat conftest.in conftest.in >conftest.tmp mv conftest.tmp conftest.in cp conftest.in conftest.nl echo >>conftest.nl $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break cmp -s conftest.out conftest.nl || break # 10000 chars as input seems more than enough test 10 -lt "$lt_ac_count" && break lt_ac_count=`expr $lt_ac_count + 1` if test "$lt_ac_count" -gt "$lt_ac_max"; then lt_ac_max=$lt_ac_count lt_cv_path_SED=$lt_ac_sed fi done done ]) SED=$lt_cv_path_SED AC_SUBST([SED]) AC_MSG_RESULT([$SED]) ])#AC_PROG_SED ])#m4_ifndef # Old name: AU_ALIAS([LT_AC_PROG_SED], [AC_PROG_SED]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([LT_AC_PROG_SED], []) # _LT_CHECK_SHELL_FEATURES # ------------------------ # Find out whether the shell is Bourne or XSI compatible, # or has some other useful features. m4_defun([_LT_CHECK_SHELL_FEATURES], [if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then lt_unset=unset else lt_unset=false fi _LT_DECL([], [lt_unset], [0], [whether the shell understands "unset"])dnl # test EBCDIC or ASCII case `echo X|tr X '\101'` in A) # ASCII based system # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr lt_SP2NL='tr \040 \012' lt_NL2SP='tr \015\012 \040\040' ;; *) # EBCDIC based system lt_SP2NL='tr \100 \n' lt_NL2SP='tr \r\n \100\100' ;; esac _LT_DECL([SP2NL], [lt_SP2NL], [1], [turn spaces into newlines])dnl _LT_DECL([NL2SP], [lt_NL2SP], [1], [turn newlines into spaces])dnl ])# _LT_CHECK_SHELL_FEATURES # _LT_PATH_CONVERSION_FUNCTIONS # ----------------------------- # Determine what file name conversion functions should be used by # func_to_host_file (and, implicitly, by func_to_host_path). These are needed # for certain cross-compile configurations and native mingw. m4_defun([_LT_PATH_CONVERSION_FUNCTIONS], [AC_REQUIRE([AC_CANONICAL_HOST])dnl AC_REQUIRE([AC_CANONICAL_BUILD])dnl AC_MSG_CHECKING([how to convert $build file names to $host format]) AC_CACHE_VAL(lt_cv_to_host_file_cmd, [case $host in *-*-mingw* ) case $build in *-*-mingw* ) # actually msys lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32 ;; *-*-cygwin* ) lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32 ;; * ) # otherwise, assume *nix lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32 ;; esac ;; *-*-cygwin* ) case $build in *-*-mingw* ) # actually msys lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin ;; *-*-cygwin* ) lt_cv_to_host_file_cmd=func_convert_file_noop ;; * ) # otherwise, assume *nix lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin ;; esac ;; * ) # unhandled hosts (and "normal" native builds) lt_cv_to_host_file_cmd=func_convert_file_noop ;; esac ]) to_host_file_cmd=$lt_cv_to_host_file_cmd AC_MSG_RESULT([$lt_cv_to_host_file_cmd]) _LT_DECL([to_host_file_cmd], [lt_cv_to_host_file_cmd], [0], [convert $build file names to $host format])dnl AC_MSG_CHECKING([how to convert $build file names to toolchain format]) AC_CACHE_VAL(lt_cv_to_tool_file_cmd, [#assume ordinary cross tools, or native build. lt_cv_to_tool_file_cmd=func_convert_file_noop case $host in *-*-mingw* ) case $build in *-*-mingw* ) # actually msys lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32 ;; esac ;; esac ]) to_tool_file_cmd=$lt_cv_to_tool_file_cmd AC_MSG_RESULT([$lt_cv_to_tool_file_cmd]) _LT_DECL([to_tool_file_cmd], [lt_cv_to_tool_file_cmd], [0], [convert $build files to toolchain format])dnl ])# _LT_PATH_CONVERSION_FUNCTIONS shapelib-1.6.1/m4/ltsugar.m40000644000175000017500000001044014656616446012513 00000000000000# ltsugar.m4 -- libtool m4 base layer. -*-Autoconf-*- # # Copyright (C) 2004-2005, 2007-2008, 2011-2015 Free Software # Foundation, Inc. # Written by Gary V. Vaughan, 2004 # # This file is free software; the Free Software Foundation gives # unlimited permission to copy and/or distribute it, with or without # modifications, as long as this notice is preserved. # serial 6 ltsugar.m4 # This is to help aclocal find these macros, as it can't see m4_define. AC_DEFUN([LTSUGAR_VERSION], [m4_if([0.1])]) # lt_join(SEP, ARG1, [ARG2...]) # ----------------------------- # Produce ARG1SEPARG2...SEPARGn, omitting [] arguments and their # associated separator. # Needed until we can rely on m4_join from Autoconf 2.62, since all earlier # versions in m4sugar had bugs. m4_define([lt_join], [m4_if([$#], [1], [], [$#], [2], [[$2]], [m4_if([$2], [], [], [[$2]_])$0([$1], m4_shift(m4_shift($@)))])]) m4_define([_lt_join], [m4_if([$#$2], [2], [], [m4_if([$2], [], [], [[$1$2]])$0([$1], m4_shift(m4_shift($@)))])]) # lt_car(LIST) # lt_cdr(LIST) # ------------ # Manipulate m4 lists. # These macros are necessary as long as will still need to support # Autoconf-2.59, which quotes differently. m4_define([lt_car], [[$1]]) m4_define([lt_cdr], [m4_if([$#], 0, [m4_fatal([$0: cannot be called without arguments])], [$#], 1, [], [m4_dquote(m4_shift($@))])]) m4_define([lt_unquote], $1) # lt_append(MACRO-NAME, STRING, [SEPARATOR]) # ------------------------------------------ # Redefine MACRO-NAME to hold its former content plus 'SEPARATOR''STRING'. # Note that neither SEPARATOR nor STRING are expanded; they are appended # to MACRO-NAME as is (leaving the expansion for when MACRO-NAME is invoked). # No SEPARATOR is output if MACRO-NAME was previously undefined (different # than defined and empty). # # This macro is needed until we can rely on Autoconf 2.62, since earlier # versions of m4sugar mistakenly expanded SEPARATOR but not STRING. m4_define([lt_append], [m4_define([$1], m4_ifdef([$1], [m4_defn([$1])[$3]])[$2])]) # lt_combine(SEP, PREFIX-LIST, INFIX, SUFFIX1, [SUFFIX2...]) # ---------------------------------------------------------- # Produce a SEP delimited list of all paired combinations of elements of # PREFIX-LIST with SUFFIX1 through SUFFIXn. Each element of the list # has the form PREFIXmINFIXSUFFIXn. # Needed until we can rely on m4_combine added in Autoconf 2.62. m4_define([lt_combine], [m4_if(m4_eval([$# > 3]), [1], [m4_pushdef([_Lt_sep], [m4_define([_Lt_sep], m4_defn([lt_car]))])]]dnl [[m4_foreach([_Lt_prefix], [$2], [m4_foreach([_Lt_suffix], ]m4_dquote(m4_dquote(m4_shift(m4_shift(m4_shift($@)))))[, [_Lt_sep([$1])[]m4_defn([_Lt_prefix])[$3]m4_defn([_Lt_suffix])])])])]) # lt_if_append_uniq(MACRO-NAME, VARNAME, [SEPARATOR], [UNIQ], [NOT-UNIQ]) # ----------------------------------------------------------------------- # Iff MACRO-NAME does not yet contain VARNAME, then append it (delimited # by SEPARATOR if supplied) and expand UNIQ, else NOT-UNIQ. m4_define([lt_if_append_uniq], [m4_ifdef([$1], [m4_if(m4_index([$3]m4_defn([$1])[$3], [$3$2$3]), [-1], [lt_append([$1], [$2], [$3])$4], [$5])], [lt_append([$1], [$2], [$3])$4])]) # lt_dict_add(DICT, KEY, VALUE) # ----------------------------- m4_define([lt_dict_add], [m4_define([$1($2)], [$3])]) # lt_dict_add_subkey(DICT, KEY, SUBKEY, VALUE) # -------------------------------------------- m4_define([lt_dict_add_subkey], [m4_define([$1($2:$3)], [$4])]) # lt_dict_fetch(DICT, KEY, [SUBKEY]) # ---------------------------------- m4_define([lt_dict_fetch], [m4_ifval([$3], m4_ifdef([$1($2:$3)], [m4_defn([$1($2:$3)])]), m4_ifdef([$1($2)], [m4_defn([$1($2)])]))]) # lt_if_dict_fetch(DICT, KEY, [SUBKEY], VALUE, IF-TRUE, [IF-FALSE]) # ----------------------------------------------------------------- m4_define([lt_if_dict_fetch], [m4_if(lt_dict_fetch([$1], [$2], [$3]), [$4], [$5], [$6])]) # lt_dict_filter(DICT, [SUBKEY], VALUE, [SEPARATOR], KEY, [...]) # -------------------------------------------------------------- m4_define([lt_dict_filter], [m4_if([$5], [], [], [lt_join(m4_quote(m4_default([$4], [[, ]])), lt_unquote(m4_split(m4_normalize(m4_foreach(_Lt_key, lt_car([m4_shiftn(4, $@)]), [lt_if_dict_fetch([$1], _Lt_key, [$2], [$3], [_Lt_key ])])))))])[]dnl ]) shapelib-1.6.1/m4/ltversion.m40000644000175000017500000000127314656616446013063 00000000000000# ltversion.m4 -- version numbers -*- Autoconf -*- # # Copyright (C) 2004, 2011-2015 Free Software Foundation, Inc. # Written by Scott James Remnant, 2004 # # This file is free software; the Free Software Foundation gives # unlimited permission to copy and/or distribute it, with or without # modifications, as long as this notice is preserved. # @configure_input@ # serial 4179 ltversion.m4 # This file is part of GNU Libtool m4_define([LT_PACKAGE_VERSION], [2.4.6]) m4_define([LT_PACKAGE_REVISION], [2.4.6]) AC_DEFUN([LTVERSION_VERSION], [macro_version='2.4.6' macro_revision='2.4.6' _LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?]) _LT_DECL(, macro_revision, 0) ]) shapelib-1.6.1/dbfdump.c0000664000175000017500000002131514625633764012040 00000000000000/****************************************************************************** * * Project: Shapelib * Purpose: Sample application for dumping .dbf files to the terminal. * Author: Frank Warmerdam, warmerdam@pobox.com * ****************************************************************************** * Copyright (c) 1999, Frank Warmerdam * * SPDX-License-Identifier: MIT OR LGPL-2.0-or-later ****************************************************************************** * */ #include #include #include #include #include "shapefil.h" int main(int argc, char **argv) { /* -------------------------------------------------------------------- */ /* Handle arguments. */ /* -------------------------------------------------------------------- */ bool bHeader = false; bool bRaw = false; bool bMultiLine = false; const char *pszFilename = NULL; for (int i = 1; i < argc; i++) { if (strcmp(argv[i], "-h") == 0) bHeader = true; else if (strcmp(argv[i], "-r") == 0) bRaw = true; else if (strcmp(argv[i], "-m") == 0) bMultiLine = true; else pszFilename = argv[i]; } /* -------------------------------------------------------------------- */ /* Display a usage message. */ /* -------------------------------------------------------------------- */ if (pszFilename == NULL) { printf("dbfdump [-h] [-r] [-m] xbase_file\n"); printf(" -h: Write header info (field descriptions)\n"); printf(" -r: Write raw field info, numeric values not " "reformatted\n"); printf(" -m: Multiline, one line per field.\n"); exit(1); } /* -------------------------------------------------------------------- */ /* Open the file. */ /* -------------------------------------------------------------------- */ DBFHandle hDBF = DBFOpen(pszFilename, "rb"); if (hDBF == NULL) { printf("DBFOpen(%s,\"r\") failed.\n", argv[1]); exit(2); } /* -------------------------------------------------------------------- */ /* If there is no data in this file let the user know. */ /* -------------------------------------------------------------------- */ if (DBFGetFieldCount(hDBF) == 0) { printf("There are no fields in this table!\n"); DBFClose(hDBF); exit(3); } /* -------------------------------------------------------------------- */ /* Dump header definitions. */ /* -------------------------------------------------------------------- */ char szTitle[XBASE_FLDNAME_LEN_READ + 1]; int nWidth; int nDecimals; if (bHeader) { for (int i = 0; i < DBFGetFieldCount(hDBF); i++) { const char chNativeType = DBFGetNativeFieldType(hDBF, i); const DBFFieldType eType = DBFGetFieldInfo(hDBF, i, szTitle, &nWidth, &nDecimals); const char *pszTypeName = NULL; if (eType == FTString) pszTypeName = "String"; else if (eType == FTInteger) pszTypeName = "Integer"; else if (eType == FTDouble) pszTypeName = "Double"; else if (eType == FTLogical) pszTypeName = "Logical"; else if (eType == FTDate) pszTypeName = "Date"; else pszTypeName = "Invalid"; printf("Field %d: Type=%c/%s, Title=`%s', Width=%d, Decimals=%d\n", i, chNativeType, pszTypeName, szTitle, nWidth, nDecimals); } } /* -------------------------------------------------------------------- */ /* Compute offsets to use when printing each of the field */ /* values. We make each field as wide as the field title+1, or */ /* the field value + 1. */ /* -------------------------------------------------------------------- */ int *panWidth = (int *)malloc(DBFGetFieldCount(hDBF) * sizeof(int)); char szFormat[32]; for (int i = 0; i < DBFGetFieldCount(hDBF) && !bMultiLine; i++) { const DBFFieldType eType = DBFGetFieldInfo(hDBF, i, szTitle, &nWidth, &nDecimals); const int titleLen = (int)strlen(szTitle); if (titleLen > nWidth) panWidth[i] = titleLen; else panWidth[i] = nWidth; if (eType == FTString) sprintf(szFormat, "%%-%ds ", panWidth[i]); else sprintf(szFormat, "%%%ds ", panWidth[i]); printf(szFormat, szTitle); } printf("\n"); /* -------------------------------------------------------------------- */ /* Read all the records */ /* -------------------------------------------------------------------- */ for (int iRecord = 0; iRecord < DBFGetRecordCount(hDBF); iRecord++) { if (bMultiLine) printf("Record: %d\n", iRecord); for (int i = 0; i < DBFGetFieldCount(hDBF); i++) { const DBFFieldType eType = DBFGetFieldInfo(hDBF, i, szTitle, &nWidth, &nDecimals); if (bMultiLine) { printf("%s: ", szTitle); } /* -------------------------------------------------------------------- */ /* Print the record according to the type and formatting */ /* information implicit in the DBF field description. */ /* -------------------------------------------------------------------- */ if (!bRaw) { if (DBFIsAttributeNULL(hDBF, iRecord, i)) { if (eType == FTString) sprintf(szFormat, "%%-%ds", nWidth); else sprintf(szFormat, "%%%ds", nWidth); printf(szFormat, "(NULL)"); } else { switch (eType) { case FTString: case FTDate: sprintf(szFormat, "%%-%ds", nWidth); printf(szFormat, DBFReadStringAttribute(hDBF, iRecord, i)); break; case FTInteger: sprintf(szFormat, "%%%dd", nWidth); printf(szFormat, DBFReadIntegerAttribute(hDBF, iRecord, i)); break; case FTDouble: sprintf(szFormat, "%%%d.%dlf", nWidth, nDecimals); printf(szFormat, DBFReadDoubleAttribute(hDBF, iRecord, i)); break; case FTLogical: sprintf(szFormat, "%%-%ds", nWidth); printf(szFormat, DBFReadLogicalAttribute(hDBF, iRecord, i)); break; default: break; } } } /* -------------------------------------------------------------------- */ /* Just dump in raw form (as formatted in the file). */ /* -------------------------------------------------------------------- */ else { sprintf(szFormat, "%%-%ds", nWidth); printf(szFormat, DBFReadStringAttribute(hDBF, iRecord, i)); } /* -------------------------------------------------------------------- */ /* Write out any extra spaces required to pad out the field */ /* width. */ /* -------------------------------------------------------------------- */ if (bMultiLine) { printf("\n"); } else { sprintf(szFormat, "%%%ds", panWidth[i] - nWidth + 1); printf(szFormat, ""); } fflush(stdout); } if (DBFIsRecordDeleted(hDBF, iRecord)) printf("(DELETED)"); printf("\n"); } DBFClose(hDBF); free(panWidth); return (0); } shapelib-1.6.1/shputils.c0000664000175000017500000011654114655412564012274 00000000000000/****************************************************************************** * * Project: Shapelib * Purpose: * Altered "shpdump" and "dbfdump" to allow two files to be appended. * Other Functions: * Selecting from the DBF before the write occurs. * Change the UNITS between Feet and Meters and Shift X,Y. * Clip and Erase boundary. The program only passes thru the * data once. * * Bill Miller North Carolina - Department of Transportation * Feb. 1997 -- bmiller@dot.state.nc.us * There was not a lot of time to debug hidden problems; * And the code is not very well organized or documented. * The clip/erase function was not well tested. * Oct. 2000 -- bmiller@dot.state.nc.us * Fixed the problem when select is using numbers * larger than short integer. It now reads long integer. * NOTE: DBF files created using windows NT will read as a string with * a length of 381 characters. This is a bug in "dbfopen". * * Author: Bill Miller (bmiller@dot.state.nc.us) * ****************************************************************************** * Copyright (c) 1999, Frank Warmerdam * * SPDX-License-Identifier: MIT OR LGPL-2.0-or-later ****************************************************************************** * */ #include "shapefil.h" #include #include #include #include char infile[80], outfile[80], temp[400]; /* Variables for shape files */ SHPHandle hSHP; SHPHandle hSHPappend; int nShapeType, nEntities, iPart; int nShapeTypeAppend, nEntitiesAppend; SHPObject *psCShape; double adfBoundsMin[4], adfBoundsMax[4]; /* Variables for DBF files */ DBFHandle hDBF; DBFHandle hDBFappend; DBFFieldType iType; DBFFieldType jType; char iszTitle[12]; char jszTitle[12]; int *pt; // TODO(schwehr): Danger. Shadowed char iszFormat[32], iszField[1024]; char jszFormat[32], jszField[1024]; int ti, iWidth, iDecimals; int tj, jWidth, jDecimals; /* -------------------------------------------------------------------- */ /* Variables for the DESCRIBE function */ /* -------------------------------------------------------------------- */ bool ilist = false; bool iall = false; /* -------------------------------------------------------------------- */ /* Variables for the SELECT function */ /* -------------------------------------------------------------------- */ bool found = false; bool newdbf = false; char selectitem[40], *cpt; long int selectvalues[150], selcount = 0; bool iselect = false; int iselectitem = -1; bool iunselect = false; /* -------------------------------------------------------------------- */ /* Variables for the CLIP and ERASE functions */ /* -------------------------------------------------------------------- */ double cxmin, cymin, cxmax, cymax; bool iclip = false; bool ierase = false; bool itouch = false; bool iinside = false; bool icut = false; char clipfile[80]; /* -------------------------------------------------------------------- */ /* Variables for the FACTOR function */ /* -------------------------------------------------------------------- */ double infactor, outfactor, factor = 0; /* NO FACTOR */ bool iunit = false; /* -------------------------------------------------------------------- */ /* Variables for the SHIFT function */ /* -------------------------------------------------------------------- */ double xshift = 0, yshift = 0; /* NO SHIFT */ /* -------------------------------------------------------------------- */ /* Change the extension. If there is any extension on the */ /* filename, strip it off and add the new extension */ /* -------------------------------------------------------------------- */ void setext(char *pt, const char *ext) { int i = (int)(strlen(pt) - 1); for (; i > 0 && pt[i] != '.' && pt[i] != '/' && pt[i] != '\\'; i--) { } if (pt[i] == '.') pt[i] = '\0'; strcat(pt, "."); strcat(pt, ext); } /************************************************************************/ /* openfiles() */ /************************************************************************/ void openfiles() { /* -------------------------------------------------------------------- */ /* Open the DBF file. */ /* -------------------------------------------------------------------- */ setext(infile, "dbf"); hDBF = DBFOpen(infile, "rb"); if (hDBF == NULL) { printf("ERROR: Unable to open the input DBF:%s\n", infile); exit(1); } /* -------------------------------------------------------------------- */ /* Open the append DBF file. */ /* -------------------------------------------------------------------- */ if (strcmp(outfile, "")) { setext(outfile, "dbf"); hDBFappend = DBFOpen(outfile, "rb+"); newdbf = false; if (hDBFappend == NULL) { newdbf = true; hDBFappend = DBFCreate(outfile); if (hDBFappend == NULL) { printf("ERROR: Unable to open the append DBF:%s\n", outfile); exit(1); } } } /* -------------------------------------------------------------------- */ /* Open the passed shapefile. */ /* -------------------------------------------------------------------- */ setext(infile, "shp"); hSHP = SHPOpen(infile, "rb"); if (hSHP == NULL) { printf("ERROR: Unable to open the input shape file:%s\n", infile); exit(1); } SHPGetInfo(hSHP, &nEntities, &nShapeType, NULL, NULL); /* -------------------------------------------------------------------- */ /* Open the passed append shapefile. */ /* -------------------------------------------------------------------- */ if (strcmp(outfile, "")) { setext(outfile, "shp"); hSHPappend = SHPOpen(outfile, "rb+"); if (hSHPappend == NULL) { hSHPappend = SHPCreate(outfile, nShapeType); if (hSHPappend == NULL) { printf("ERROR: Unable to open the append shape file:%s\n", outfile); exit(1); } } SHPGetInfo(hSHPappend, &nEntitiesAppend, &nShapeTypeAppend, NULL, NULL); if (nShapeType != nShapeTypeAppend) { puts("ERROR: Input and Append shape files are of different types."); exit(1); } } } /* -------------------------------------------------------------------- */ /* Find matching fields in the append file. */ /* Output file must have zero records to add any new fields. */ /* -------------------------------------------------------------------- */ void mergefields() { ti = DBFGetFieldCount(hDBF); tj = DBFGetFieldCount(hDBFappend); /* Create a pointer array for the max # of fields in the output file */ pt = (int *)malloc((ti + tj + 1) * sizeof(int)); for (int i = 0; i < ti; i++) { pt[i] = -1; /* Initial pt values to -1 */ } /* DBF must be empty before adding items */ const int jRecord = DBFGetRecordCount(hDBFappend); int j; for (int i = 0; i < ti; i++) { iType = DBFGetFieldInfo(hDBF, i, iszTitle, &iWidth, &iDecimals); found = false; for (j = 0; j < tj; j++) /* Search all field names for a match */ { jType = DBFGetFieldInfo(hDBFappend, j, jszTitle, &jWidth, &jDecimals); if (iType == jType && (strcmp(iszTitle, jszTitle) == 0)) { if (found || newdbf) { if (i == j) pt[i] = j; printf("Warning: Duplicate field name found (%s)\n", iszTitle); /* Duplicate field name (Try to guess the correct field by position) */ } else { pt[i] = j; found = true; } } } if (pt[i] == -1 && (!found)) /* Try to force into an existing field */ { /* Ignore the field name, width, and decimal places */ jType = DBFGetFieldInfo(hDBFappend, j, jszTitle, &jWidth, &jDecimals); if (iType == jType) { pt[i] = i; found = true; } } if ((!found) && jRecord == 0) /* Add missing field to the append table */ { /* The output DBF must be is empty */ pt[i] = tj; tj++; if (DBFAddField(hDBFappend, iszTitle, iType, iWidth, iDecimals) == -1) { printf("Warning: DBFAddField(%s, TYPE:%d, WIDTH:%d DEC:%d, " "ITEM#:%d of %d) failed.\n", iszTitle, iType, iWidth, iDecimals, (i + 1), (ti + 1)); pt[i] = -1; } } } } /************************************************************************/ /* strncasecmp2() */ /* */ /* Compare two strings up to n characters */ /* If n=0 then s1 and s2 must be an exact match */ /************************************************************************/ int strncasecmp2(char *s1, char *s2, int n) { if (n < 1) n = (int)(strlen(s1) + 1); for (int i = 0; i < n; i++) { if (*s1 != *s2) { if (*s1 >= 'a' && *s1 <= 'z') { const int j = *s1 - 32; if (j != *s2) return (*s1 - *s2); } else { int j; if (*s1 >= 'A' && *s1 <= 'Z') { j = *s1 + 32; } else { j = *s1; } if (j != *s2) return (*s1 - *s2); } } s1++; s2++; } return (0); } void showitems() { printf("Available Items: (%d)", ti); long int maxrec = DBFGetRecordCount(hDBF); if (maxrec > 5000 && !iall) { maxrec = 5000; printf(" ** ESTIMATED RANGES (MEAN) For more records use \"All\""); } else { printf(" RANGES (MEAN)"); } char stmp[40] = {0}; char slow[40] = {0}; char shigh[40] = {0}; for (int i = 0; i < ti; i++) { switch (DBFGetFieldInfo(hDBF, i, iszTitle, &iWidth, &iDecimals)) { case FTString: case FTLogical: case FTDate: strcpy(slow, "~"); strcpy(shigh, "\0"); printf("\n String %3d %-16s", iWidth, iszTitle); for (int iRecord = 0; iRecord < maxrec; iRecord++) { strncpy(stmp, DBFReadStringAttribute(hDBF, iRecord, i), 39); if (strcmp(stmp, "!!") > 0) { if (strncasecmp2(stmp, slow, 0) < 0) memcpy(slow, stmp, 39); if (strncasecmp2(stmp, shigh, 0) > 0) memcpy(shigh, stmp, 39); } } char *pt = slow + strlen(slow) - 1; while (*pt == ' ') { *pt = '\0'; pt--; } pt = shigh + strlen(shigh) - 1; while (*pt == ' ') { *pt = '\0'; pt--; } if (strncasecmp2(slow, shigh, 0) < 0) printf("%s to %s", slow, shigh); else if (strncasecmp2(slow, shigh, 0) == 0) printf("= %s", slow); else printf("No Values"); break; case FTInteger: { printf("\n Integer %3d %-16s", iWidth, iszTitle); long int ilow = 1999999999; long int ihigh = -1999999999; long int isum = 0; for (int iRecord = 0; iRecord < maxrec; iRecord++) { const long int itmp = DBFReadIntegerAttribute(hDBF, iRecord, i); if (ilow > itmp) ilow = itmp; if (ihigh < itmp) ihigh = itmp; isum = isum + itmp; } const double mean = isum / maxrec; if (ilow < ihigh) printf("%ld to %ld \t(%.1f)", ilow, ihigh, mean); else if (ilow == ihigh) printf("= %ld", ilow); else printf("No Values"); break; } case FTDouble: { printf("\n Real %3d,%d %-16s", iWidth, iDecimals, iszTitle); double dlow = 999999999999999.0; double dhigh = -999999999999999.0; double dsum = 0; for (int iRecord = 0; iRecord < maxrec; iRecord++) { const double dtmp = DBFReadDoubleAttribute(hDBF, iRecord, i); if (dlow > dtmp) dlow = dtmp; if (dhigh < dtmp) dhigh = dtmp; dsum = dsum + dtmp; } const double mean = dsum / maxrec; sprintf(stmp, "%%.%df to %%.%df \t(%%.%df)", iDecimals, iDecimals, iDecimals); if (dlow < dhigh) printf(stmp, dlow, dhigh, mean); else if (dlow == dhigh) { sprintf(stmp, "= %%.%df", iDecimals); printf(stmp, dlow); } else printf("No Values"); break; } case FTInvalid: break; } } printf("\n"); } void findselect() { /* Find the select field name */ iselectitem = -1; for (int i = 0; i < ti && iselectitem < 0; i++) { iType = DBFGetFieldInfo(hDBF, i, iszTitle, &iWidth, &iDecimals); if (strncasecmp2(iszTitle, selectitem, 0) == 0) iselectitem = i; } if (iselectitem == -1) { printf("Warning: Item not found for selection (%s)\n", selectitem); iselect = false; iall = false; showitems(); printf("Continued... (Selecting entire file)\n"); } /* Extract all of the select values (by field type) */ } int selectrec(int iRecord) { const long int ty = DBFGetFieldInfo(hDBF, iselectitem, NULL, &iWidth, &iDecimals); switch (ty) { case FTString: puts("Invalid Item"); iselect = false; break; case FTInteger: { const long int value = DBFReadIntegerAttribute(hDBF, iRecord, iselectitem); for (int j = 0; j < selcount; j++) { if (selectvalues[j] == value) { if (iunselect) return (0); /* Keep this record */ else return (1); /* Skip this record */ } } break; } case FTDouble: puts("Invalid Item"); iselect = false; break; } if (iunselect) return (1); /* Skip this record */ else return (0); /* Keep this record */ } void check_theme_bnd() { if ((adfBoundsMin[0] >= cxmin) && (adfBoundsMax[0] <= cxmax) && (adfBoundsMin[1] >= cymin) && (adfBoundsMax[1] <= cymax)) { /** Theme is totally inside clip area **/ if (ierase) nEntities = 0; /** SKIP THEME **/ else iclip = false; /** WRITE THEME (Clip not needed) **/ } if (((adfBoundsMin[0] < cxmin) && (adfBoundsMax[0] < cxmin)) || ((adfBoundsMin[1] < cymin) && (adfBoundsMax[1] < cymin)) || ((adfBoundsMin[0] > cxmax) && (adfBoundsMax[0] > cxmax)) || ((adfBoundsMin[1] > cymax) && (adfBoundsMax[1] > cymax))) { /** Theme is totally outside clip area **/ if (ierase) iclip = false; /** WRITE THEME (Clip not needed) **/ else nEntities = 0; /** SKIP THEME **/ } if (nEntities == 0) puts("WARNING: Theme is outside the clip area."); /** SKIP THEME **/ } int clip_boundary() { /*** FIRST check the boundary of the feature ***/ if (((psCShape->dfXMin < cxmin) && (psCShape->dfXMax < cxmin)) || ((psCShape->dfYMin < cymin) && (psCShape->dfYMax < cymin)) || ((psCShape->dfXMin > cxmax) && (psCShape->dfXMax > cxmax)) || ((psCShape->dfYMin > cymax) && (psCShape->dfYMax > cymax))) { /** Feature is totally outside clip area **/ if (ierase) return (1); /** WRITE RECORD **/ else return (0); /** SKIP RECORD **/ } if ((psCShape->dfXMin >= cxmin) && (psCShape->dfXMax <= cxmax) && (psCShape->dfYMin >= cymin) && (psCShape->dfYMax <= cymax)) { /** Feature is totally inside clip area **/ if (ierase) return (0); /** SKIP RECORD **/ else return (1); /** WRITE RECORD **/ } if (iinside) { /** INSIDE * Feature might touch the boundary or could be outside **/ if (ierase) return (1); /** WRITE RECORD **/ else return (0); /** SKIP RECORD **/ } if (itouch) { /** TOUCH **/ if (((psCShape->dfXMin <= cxmin) || (psCShape->dfXMax >= cxmax)) && (psCShape->dfYMin >= cymin) && (psCShape->dfYMax <= cymax)) { /** Feature intersects the clip boundary only on the X axis **/ if (ierase) return (0); /** SKIP RECORD **/ else return (1); /** WRITE RECORD **/ } if ((psCShape->dfXMin >= cxmin) && (psCShape->dfXMax <= cxmax) && ((psCShape->dfYMin <= cymin) || (psCShape->dfYMax >= cymax))) { /** Feature intersects the clip boundary only on the Y axis **/ if (ierase) return (0); /** SKIP RECORD **/ else return (1); /** WRITE RECORD **/ } for (int j2 = 0; j2 < psCShape->nVertices; j2++) { /** At least one vertex must be inside the clip boundary **/ if ((psCShape->padfX[j2] >= cxmin && psCShape->padfX[j2] <= cxmax) || (psCShape->padfY[j2] >= cymin && psCShape->padfY[j2] <= cymax)) { if (ierase) return (0); /** SKIP RECORD **/ else return (1); /** WRITE RECORD **/ } } /** All vertices are outside the clip boundary **/ if (ierase) return (1); /** WRITE RECORD **/ else return (0); /** SKIP RECORD **/ } /** End TOUCH **/ if (icut) { /** CUT **/ /*** Check each vertex in the feature with the Boundary and "CUT" ***/ /*** THIS CODE WAS NOT COMPLETED! READ NOTE AT THE BOTTOM ***/ int i2 = 0; bool prev_outside = false; for (int j2 = 0; j2 < psCShape->nVertices; j2++) { bool inside = psCShape->padfX[j2] >= cxmin && psCShape->padfX[j2] <= cxmax && psCShape->padfY[j2] >= cymin && psCShape->padfY[j2] <= cymax; if (ierase) inside = !inside; if (inside) { if (i2 != j2) { if (prev_outside) { /*** AddIntersection(i2); ***/ /*** Add intersection ***/ prev_outside = false; } psCShape->padfX[i2] = psCShape->padfX[j2]; /** move vertex **/ psCShape->padfY[i2] = psCShape->padfY[j2]; } i2++; } else { if ((!prev_outside) && (j2 > 0)) { /*** AddIntersection(i2); ***/ /*** Add intersection (Watch out for j2==i2-1) ***/ /*** Also a polygon may overlap twice and will split into a several parts ***/ prev_outside = true; } } } printf("Vertices:%d OUT:%d Number of Parts:%d\n", psCShape->nVertices, i2, psCShape->nParts); psCShape->nVertices = i2; if (i2 < 2) return (0); /** SKIP RECORD **/ /*** (WE ARE NOT CREATING INTERSECTIONS and some lines could be reduced to one point) **/ // if (i2 == 0) return(0); /** SKIP RECORD **/ // else return (1); /** WRITE RECORD **/ } /** End CUT **/ return 0; } #define NKEYS (sizeof(unitkeytab) / sizeof(struct unitkey)) double findunit(char *unit) { struct unitkey { char *name; double value; } unitkeytab[] = {{"CM", 39.37}, {"CENTIMETER", 39.37}, {"CENTIMETERS", 39.37}, /** # of inches * 100 in unit **/ {"METER", 3937}, {"METERS", 3937}, {"KM", 3937000}, {"KILOMETER", 3937000}, {"KILOMETERS", 3937000}, {"INCH", 100}, {"INCHES", 100}, {"FEET", 1200}, {"FOOT", 1200}, {"YARD", 3600}, {"YARDS", 3600}, {"MILE", 6336000}, {"MILES", 6336000}}; double unitfactor = 0; for (int j = 0; j < (int)NKEYS; j++) { if (strncasecmp2(unit, unitkeytab[j].name, 0) == 0) unitfactor = unitkeytab[j].value; } return (unitfactor); } /* -------------------------------------------------------------------- */ /* Display a usage message. */ /* -------------------------------------------------------------------- */ void error() { puts("The program will append to an existing shape file or it will"); puts("create a new file if needed."); puts("Only the items in the first output file will be preserved."); puts("When an item does not match with the append theme then the item"); puts("might be placed to an existing item at the same position and type."); puts(" OTHER FUNCTIONS:"); puts(" - Describe all items in the dbase file (Use ALL for more than 5000 " "recs.)"); puts(" - Select a group of shapes from a comma separated selection list."); puts(" - UnSelect a group of shapes from a comma separated selection " "list."); puts(" - Clip boundary extent or by theme boundary."); puts(" Touch writes all the shapes that touch the boundary."); puts(" Inside writes all the shapes that are completely within the " "boundary."); puts(" Boundary clips are only the min and max of a theme boundary."); puts(" - Erase boundary extent or by theme boundary."); puts(" Erase is the direct opposite of the Clip function."); puts(" - Change coordinate value units between meters and feet."); puts(" There is no way to determine the input unit of a shape file."); puts(" Skip this function if the shape file is already in the correct " "unit."); puts(" Clip and Erase will be done before the unit is changed."); puts(" A shift will be done after the unit is changed."); puts(" - Shift X and Y coordinates.\n"); puts("Finally, There can only be one select or unselect in the command " "line."); puts(" There can only be one clip or erase in the command line."); puts(" There can only be one unit and only one shift in the " "command line.\n"); puts("Ex: shputils in.shp out.shp SELECT countycode 3,5,9,13,17,27"); puts(" shputils in.shp out.shp CLIP 10 10 90 90 Touch FACTOR " "Meter Feet"); puts(" shputils in.shp out.shp FACTOR Meter 3.0"); puts(" shputils in.shp out.shp CLIP clip.shp Boundary Touch SHIFT " "40 40"); puts(" shputils in.shp out.shp SELECT co 112 CLIP clip.shp Boundary " "Touch\n"); puts("USAGE: shputils {ALL}"); puts("USAGE: shputils "); puts(" { " " }"); puts(" { }"); puts(" { }"); puts( " { }"); puts( " { }"); puts(" Note: CUT is not complete and does not create intersections."); puts(" For more information read programmer comment."); /**** Clip functions for Polygon and Cut is not supported There are several web pages that describe methods of doing this function. It seem easy to implement until you start writing code. I don't have the time to add these functions but a did leave a simple cut routine in the program that can be called by using CUT instead of TOUCH in the CLIP or ERASE functions. It does not add the intersection of the line and the clip box, so polygons could look incomplete and lines will come up short. Information about clipping lines with a box: http://www.csclub.uwaterloo.ca/u/mpslager/articles/sutherland/wr.html Information about finding the intersection of two lines: http://www.whisqu.se/per/docs/math28.htm THE CODE LOOKS LIKE THIS: ******************************************************** void Intersect_Lines(float x0,float y0,float x1,float y1, float x2,float y2,float x3,float y3, float *xi,float *yi) { // this function computes the intersection of the sent lines // and returns the intersection point, note that the function assumes // the lines intersect. the function can handle vertical as well // as horizontal lines. note the function isn't very clever, it simply // applies the math, but we don't need speed since this is a // pre-processing step // The Intersect_lines program came from (http://www.whisqu.se/per/docs/math28.htm) float a1,b1,c1, // constants of linear equations a2,b2,c2, det_inv, // the inverse of the determinant of the coefficientmatrix m1,m2; // the slopes of each line // compute slopes, note the cludge for infinity, however, this will // be close enough if ((x1-x0)!=0) m1 = (y1-y0)/(x1-x0); else m1 = (float)1e+10; // close enough to infinity if ((x3-x2)!=0) m2 = (y3-y2)/(x3-x2); else m2 = (float)1e+10; // close enough to infinity // compute constants a1 = m1; a2 = m2; b1 = -1; b2 = -1; c1 = (y0-m1*x0); c2 = (y2-m2*x2); // compute the inverse of the determinate det_inv = 1/(a1*b2 - a2*b1); // use Kramers rule to compute xi and yi *xi=((b1*c2 - b2*c1)*det_inv); *yi=((a2*c1 - a1*c2)*det_inv); } // end Intersect_Lines **********************************************************/ exit(1); } int main(int argc, char **argv) { // Check command line usage. if (argc < 2) error(); strcpy(infile, argv[1]); if (argc > 2) { strcpy(outfile, argv[2]); if (strncasecmp2(outfile, "LIST", 0) == 0) { ilist = true; } if (strncasecmp2(outfile, "ALL", 0) == 0) { iall = true; } } if (ilist || iall || argc == 2) { setext(infile, "shp"); printf("DESCRIBE: %s\n", infile); strcpy(outfile, ""); } // Look for other functions on the command line. (SELECT, UNIT) for (int i = 3; i < argc; i++) { if ((strncasecmp2(argv[i], "SEL", 3) == 0) || (strncasecmp2(argv[i], "UNSEL", 5) == 0)) { if (strncasecmp2(argv[i], "UNSEL", 5) == 0) iunselect = true; i++; if (i >= argc) error(); strcpy(selectitem, argv[i]); i++; if (i >= argc) error(); selcount = 0; strcpy(temp, argv[i]); cpt = temp; tj = atoi(cpt); ti = 0; while (tj > 0) { selectvalues[selcount] = tj; while (*cpt >= '0' && *cpt <= '9') cpt++; while (*cpt > '\0' && (*cpt < '0' || *cpt > '9')) cpt++; tj = atoi(cpt); selcount++; } iselect = true; } /*** End SEL & UNSEL ***/ else if ((strncasecmp2(argv[i], "CLIP", 4) == 0) || (strncasecmp2(argv[i], "ERASE", 5) == 0)) { if (strncasecmp2(argv[i], "ERASE", 5) == 0) ierase = true; i++; if (i >= argc) error(); strcpy(clipfile, argv[i]); sscanf(argv[i], "%lf", &cxmin); i++; if (i >= argc) error(); if (strncasecmp2(argv[i], "BOUND", 5) == 0) { setext(clipfile, "shp"); hSHP = SHPOpen(clipfile, "rb"); if (hSHP == NULL) { printf("ERROR: Unable to open the clip shape file:%s\n", clipfile); exit(1); } SHPGetInfo(hSHPappend, NULL, NULL, adfBoundsMin, adfBoundsMax); cxmin = adfBoundsMin[0]; cymin = adfBoundsMin[1]; cxmax = adfBoundsMax[0]; cymax = adfBoundsMax[1]; printf("Theme Clip Boundary: (%lf,%lf) - (%lf,%lf)\n", cxmin, cymin, cxmax, cymax); } else { /*** xmin,ymin,xmax,ymax ***/ sscanf(argv[i], "%lf", &cymin); i++; if (i >= argc) error(); sscanf(argv[i], "%lf", &cxmax); i++; if (i >= argc) error(); sscanf(argv[i], "%lf", &cymax); printf("Clip Box: (%lf,%lf) - (%lf,%lf)\n", cxmin, cymin, cxmax, cymax); } i++; if (i >= argc) error(); if (strncasecmp2(argv[i], "CUT", 3) == 0) icut = true; else if (strncasecmp2(argv[i], "TOUCH", 5) == 0) itouch = true; else if (strncasecmp2(argv[i], "INSIDE", 6) == 0) iinside = true; else error(); iclip = true; } /*** End CLIP & ERASE ***/ else if (strncasecmp2(argv[i], "FACTOR", 0) == 0) { i++; if (i >= argc) error(); infactor = findunit(argv[i]); if (infactor == 0) error(); iunit = true; i++; if (i >= argc) error(); outfactor = findunit(argv[i]); if (outfactor == 0) { sscanf(argv[i], "%lf", &factor); if (factor == 0) error(); } if (factor == 0) { if (infactor == 0) { puts( "ERROR: Input unit must be defined before output unit"); exit(1); } factor = infactor / outfactor; } printf("Output file coordinate values will be factored by %lg\n", factor); } /*** End FACTOR ***/ else if (strncasecmp2(argv[i], "SHIFT", 5) == 0) { i++; if (i >= argc) error(); sscanf(argv[i], "%lf", &xshift); i++; if (i >= argc) error(); sscanf(argv[i], "%lf", &yshift); iunit = true; printf("X Shift: %lg Y Shift: %lg\n", xshift, yshift); } /*** End SHIFT ***/ else { printf("ERROR: Unknown function %s\n", argv[i]); error(); } } // If there is no data in this file let the user know. openfiles(); /* Open the infile and the outfile for shape and dbf. */ if (DBFGetFieldCount(hDBF) == 0) { puts("There are no fields in this table!"); exit(1); } // Print out the file bounds. { const int iRecord = DBFGetRecordCount(hDBF); SHPGetInfo(hSHP, NULL, NULL, adfBoundsMin, adfBoundsMax); printf( "Input Bounds: (%lg,%lg) - (%lg,%lg) Entities: %d DBF: %d\n", adfBoundsMin[0], adfBoundsMin[1], adfBoundsMax[0], adfBoundsMax[1], nEntities, iRecord); if (strcmp(outfile, "") == 0) { /* Describe the shapefile; No other functions */ ti = DBFGetFieldCount(hDBF); showitems(); exit(0); } } if (iclip) check_theme_bnd(); { const int jRecord = DBFGetRecordCount(hDBFappend); SHPGetInfo(hSHPappend, NULL, NULL, adfBoundsMin, adfBoundsMax); if (nEntitiesAppend == 0) puts("New Output File\n"); else printf( "Append Bounds: (%lg,%lg)-(%lg,%lg) Entities: %d DBF: %d\n", adfBoundsMin[0], adfBoundsMin[1], adfBoundsMax[0], adfBoundsMax[1], nEntitiesAppend, jRecord); } /* -------------------------------------------------------------------- */ /* Find matching fields in the append file or add new items. */ /* -------------------------------------------------------------------- */ mergefields(); /* -------------------------------------------------------------------- */ /* Find selection field if needed. */ /* -------------------------------------------------------------------- */ if (iselect) findselect(); /* -------------------------------------------------------------------- */ /* Read all the records */ /* -------------------------------------------------------------------- */ int jRecord = DBFGetRecordCount(hDBFappend); for (int iRecord = 0; iRecord < nEntities; iRecord++) /** DBFGetRecordCount(hDBF) **/ { /* -------------------------------------------------------------------- */ /* SELECT for values if needed. (Can the record be skipped.) */ /* -------------------------------------------------------------------- */ if (iselect) if (selectrec(iRecord) == 0) goto SKIP_RECORD; /** SKIP RECORD **/ /* -------------------------------------------------------------------- */ /* Read a Shape record */ /* -------------------------------------------------------------------- */ psCShape = SHPReadObject(hSHP, iRecord); /* -------------------------------------------------------------------- */ /* Clip coordinates of shapes if needed. */ /* -------------------------------------------------------------------- */ if (iclip) if (clip_boundary() == 0) goto SKIP_RECORD; /** SKIP RECORD **/ /* -------------------------------------------------------------------- */ /* Read a DBF record and copy each field. */ /* -------------------------------------------------------------------- */ for (int i = 0; i < DBFGetFieldCount(hDBF); i++) { /* -------------------------------------------------------------------- */ /* Store the record according to the type and formatting */ /* information implicit in the DBF field description. */ /* -------------------------------------------------------------------- */ if (pt[i] > -1) /* if the current field exists in output file */ { switch (DBFGetFieldInfo(hDBF, i, NULL, &iWidth, &iDecimals)) { case FTString: case FTLogical: case FTDate: DBFWriteStringAttribute( hDBFappend, jRecord, pt[i], (DBFReadStringAttribute(hDBF, iRecord, i))); break; case FTInteger: DBFWriteIntegerAttribute( hDBFappend, jRecord, pt[i], (DBFReadIntegerAttribute(hDBF, iRecord, i))); break; case FTDouble: DBFWriteDoubleAttribute( hDBFappend, jRecord, pt[i], (DBFReadDoubleAttribute(hDBF, iRecord, i))); break; case FTInvalid: break; } } } jRecord++; /* -------------------------------------------------------------------- */ /* Change FACTOR and SHIFT coordinates of shapes if needed. */ /* -------------------------------------------------------------------- */ if (iunit) { for (int j = 0; j < psCShape->nVertices; j++) { psCShape->padfX[j] = psCShape->padfX[j] * factor + xshift; psCShape->padfY[j] = psCShape->padfY[j] * factor + yshift; } } /* -------------------------------------------------------------------- */ /* Write the Shape record after recomputing current extents. */ /* -------------------------------------------------------------------- */ SHPComputeExtents(psCShape); SHPWriteObject(hSHPappend, -1, psCShape); SKIP_RECORD: SHPDestroyObject(psCShape); psCShape = NULL; // j=0; } /* -------------------------------------------------------------------- */ /* Print out the # of Entities and the file bounds. */ /* -------------------------------------------------------------------- */ jRecord = DBFGetRecordCount(hDBFappend); SHPGetInfo(hSHPappend, &nEntitiesAppend, &nShapeTypeAppend, adfBoundsMin, adfBoundsMax); printf("Output Bounds: (%lg,%lg) - (%lg,%lg) Entities: %d DBF: %d\n\n", adfBoundsMin[0], adfBoundsMin[1], adfBoundsMax[0], adfBoundsMax[1], nEntitiesAppend, jRecord); SHPClose(hSHP); SHPClose(hSHPappend); DBFClose(hDBF); DBFClose(hDBFappend); if (nEntitiesAppend == 0) { puts("Remove the output files."); setext(outfile, "dbf"); remove(outfile); setext(outfile, "shp"); remove(outfile); setext(outfile, "shx"); remove(outfile); } return 0; } shapelib-1.6.1/shptreedump.c0000664000175000017500000003265014657064606012761 00000000000000/****************************************************************************** * * Project: Shapelib * Purpose: Mainline for creating and dumping an ASCII representation of * a quadtree. * Author: Frank Warmerdam, warmerdam@pobox.com * ****************************************************************************** * Copyright (c) 1999, Frank Warmerdam * * SPDX-License-Identifier: MIT OR LGPL-2.0-or-later ****************************************************************************** * */ #include "shapefil.h" #include #include #include #include #include #include static void SHPTreeNodeDump(SHPTree *, SHPTreeNode *, const char *, int); static void SHPTreeNodeSearchAndDump(SHPTree *, double *, double *); /************************************************************************/ /* Usage() */ /************************************************************************/ static void Usage() { printf("shptreedump [-maxdepth n] [-search xmin ymin xmax ymax]\n" " [-v] [-o indexfilename] [-i indexfilename]\n" " shp_file\n"); exit(1); } /************************************************************************/ /* main() */ /************************************************************************/ int main(int argc, char **argv) { int nExpandShapes = 0; int nMaxDepth = 0; bool bDoSearch = false; double adfSearchMin[4]; double adfSearchMax[4]; const char *pszOutputIndexFilename = NULL; const char *pszInputIndexFilename = NULL; const char *pszTargetFile = NULL; /* -------------------------------------------------------------------- */ /* Consume flags. */ /* -------------------------------------------------------------------- */ while (argc > 1) { if (strcmp(argv[1], "-v") == 0) { nExpandShapes = 1; argv++; argc--; } else if (strcmp(argv[1], "-maxdepth") == 0 && argc > 2) { nMaxDepth = atoi(argv[2]); argv += 2; argc -= 2; } else if (strcmp(argv[1], "-o") == 0 && argc > 2) { pszOutputIndexFilename = argv[2]; argv += 2; argc -= 2; } else if (strcmp(argv[1], "-i") == 0 && argc > 2) { pszInputIndexFilename = argv[2]; argv += 2; argc -= 2; } else if (strcmp(argv[1], "-search") == 0 && argc > 5) { bDoSearch = true; adfSearchMin[0] = atof(argv[2]); adfSearchMin[1] = atof(argv[3]); adfSearchMax[0] = atof(argv[4]); adfSearchMax[1] = atof(argv[5]); adfSearchMin[2] = adfSearchMax[2] = 0.0; adfSearchMin[3] = adfSearchMax[3] = 0.0; if (adfSearchMin[0] > adfSearchMax[0] || adfSearchMin[1] > adfSearchMax[1]) { printf("Min greater than max in search criteria.\n"); Usage(); } argv += 5; argc -= 5; } else if (pszTargetFile == NULL) { pszTargetFile = argv[1]; argv++; argc--; } else { printf("Unrecognised argument: %s\n", argv[1]); Usage(); } } /* -------------------------------------------------------------------- */ /* Do a search with an existing index file? */ /* -------------------------------------------------------------------- */ if (bDoSearch && pszInputIndexFilename != NULL) { FILE *fp = fopen(pszInputIndexFilename, "rb"); if (fp == NULL) { perror(pszInputIndexFilename); exit(1); } int nResultCount = 0; int *panResult = SHPSearchDiskTree(fp, adfSearchMin, adfSearchMax, &nResultCount); printf("Result: "); for (int iResult = 0; iResult < nResultCount; iResult++) printf("%d ", panResult[iResult]); printf("\n"); free(panResult); fclose(fp); exit(0); } /* -------------------------------------------------------------------- */ /* Display a usage message. */ /* -------------------------------------------------------------------- */ if (pszTargetFile == NULL) { Usage(); } /* -------------------------------------------------------------------- */ /* Open the passed shapefile. */ /* -------------------------------------------------------------------- */ SHPHandle hSHP = SHPOpen(pszTargetFile, "rb"); if (hSHP == NULL) { printf("Unable to open:%s\n", pszTargetFile); exit(1); } /* -------------------------------------------------------------------- */ /* Build a quadtree structure for this file. */ /* -------------------------------------------------------------------- */ SHPTree *psTree = SHPCreateTree(hSHP, 2, nMaxDepth, NULL, NULL); /* -------------------------------------------------------------------- */ /* Trim unused nodes from the tree. */ /* -------------------------------------------------------------------- */ SHPTreeTrimExtraNodes(psTree); /* -------------------------------------------------------------------- */ /* Dump tree to .qix file. */ /* -------------------------------------------------------------------- */ if (pszOutputIndexFilename != NULL) { SHPWriteTree(psTree, pszOutputIndexFilename); } /* -------------------------------------------------------------------- */ /* Dump tree by recursive descent. */ /* -------------------------------------------------------------------- */ else if (!bDoSearch) SHPTreeNodeDump(psTree, psTree->psRoot, "", nExpandShapes); /* -------------------------------------------------------------------- */ /* or do a search instead. */ /* -------------------------------------------------------------------- */ else SHPTreeNodeSearchAndDump(psTree, adfSearchMin, adfSearchMax); /* -------------------------------------------------------------------- */ /* cleanup */ /* -------------------------------------------------------------------- */ SHPDestroyTree(psTree); SHPClose(hSHP); exit(0); } /************************************************************************/ /* EmitCoordinate() */ /************************************************************************/ static void EmitCoordinate(const double *padfCoord, int nDimension) { const char *pszFormat; if (fabs(padfCoord[0]) < 180 && fabs(padfCoord[1]) < 180) pszFormat = "%.9f"; else pszFormat = "%.2f"; printf(pszFormat, padfCoord[0]); printf(","); printf(pszFormat, padfCoord[1]); if (nDimension > 2) { printf(","); printf(pszFormat, padfCoord[2]); } if (nDimension > 3) { printf(","); printf(pszFormat, padfCoord[3]); } } /************************************************************************/ /* EmitShape() */ /************************************************************************/ static void EmitShape(SHPObject *psObject, const char *pszPrefix, int nDimension) { printf("%s( Shape\n", pszPrefix); printf("%s ShapeId = %d\n", pszPrefix, psObject->nShapeId); printf("%s Min = (", pszPrefix); EmitCoordinate(&(psObject->dfXMin), nDimension); printf(")\n"); printf("%s Max = (", pszPrefix); EmitCoordinate(&(psObject->dfXMax), nDimension); printf(")\n"); for (int i = 0; i < psObject->nVertices; i++) { double adfVertex[4]; printf("%s Vertex[%d] = (", pszPrefix, i); adfVertex[0] = psObject->padfX[i]; adfVertex[1] = psObject->padfY[i]; adfVertex[2] = psObject->padfZ[i]; adfVertex[3] = psObject->padfM[i]; EmitCoordinate(adfVertex, nDimension); printf(")\n"); } printf("%s)\n", pszPrefix); } /************************************************************************/ /* SHPTreeNodeDump() */ /* */ /* Dump a tree node in a readable form. */ /************************************************************************/ static void SHPTreeNodeDump(SHPTree *psTree, SHPTreeNode *psTreeNode, const char *pszPrefix, int nExpandShapes) { char szNextPrefix[150]; strcpy(szNextPrefix, pszPrefix); if (strlen(pszPrefix) < sizeof(szNextPrefix) - 3) strcat(szNextPrefix, " "); printf("%s( SHPTreeNode\n", pszPrefix); /* -------------------------------------------------------------------- */ /* Emit the bounds. */ /* -------------------------------------------------------------------- */ printf("%s Min = (", pszPrefix); EmitCoordinate(psTreeNode->adfBoundsMin, psTree->nDimension); printf(")\n"); printf("%s Max = (", pszPrefix); EmitCoordinate(psTreeNode->adfBoundsMax, psTree->nDimension); printf(")\n"); /* -------------------------------------------------------------------- */ /* Emit the list of shapes on this node. */ /* -------------------------------------------------------------------- */ if (nExpandShapes) { printf("%s Shapes(%d):\n", pszPrefix, psTreeNode->nShapeCount); for (int i = 0; i < psTreeNode->nShapeCount; i++) { SHPObject *psObject; psObject = SHPReadObject(psTree->hSHP, psTreeNode->panShapeIds[i]); assert(psObject != NULL); if (psObject != NULL) { EmitShape(psObject, szNextPrefix, psTree->nDimension); } SHPDestroyObject(psObject); } } else { printf("%s Shapes(%d): ", pszPrefix, psTreeNode->nShapeCount); for (int i = 0; i < psTreeNode->nShapeCount; i++) { printf("%d ", psTreeNode->panShapeIds[i]); } printf("\n"); } /* -------------------------------------------------------------------- */ /* Emit subnodes. */ /* -------------------------------------------------------------------- */ for (int i = 0; i < psTreeNode->nSubNodes; i++) { if (psTreeNode->apsSubNode[i] != NULL) SHPTreeNodeDump(psTree, psTreeNode->apsSubNode[i], szNextPrefix, nExpandShapes); } printf("%s)\n", pszPrefix); return; } /************************************************************************/ /* SHPTreeNodeSearchAndDump() */ /************************************************************************/ static void SHPTreeNodeSearchAndDump(SHPTree *hTree, double *padfBoundsMin, double *padfBoundsMax) { /* -------------------------------------------------------------------- */ /* Perform the search for likely candidates. These are shapes */ /* that fall into a tree node whose bounding box intersects our */ /* area of interest. */ /* -------------------------------------------------------------------- */ int nShapeCount; const int *panHits = SHPTreeFindLikelyShapes(hTree, padfBoundsMin, padfBoundsMax, &nShapeCount); /* -------------------------------------------------------------------- */ /* Read all of these shapes, and establish whether the shape's */ /* bounding box actually intersects the area of interest. Note */ /* that the bounding box could intersect the area of interest, */ /* and the shape itself still not cross it but we don't try to */ /* address that here. */ /* -------------------------------------------------------------------- */ for (int i = 0; i < nShapeCount; i++) { SHPObject *psObject = SHPReadObject(hTree->hSHP, panHits[i]); if (psObject == NULL) continue; if (!SHPCheckBoundsOverlap(padfBoundsMin, padfBoundsMax, &(psObject->dfXMin), &(psObject->dfXMax), hTree->nDimension)) { printf("Shape %d: not in area of interest, but fetched.\n", panHits[i]); } else { printf("Shape %d: appears to be in area of interest.\n", panHits[i]); } SHPDestroyObject(psObject); } if (nShapeCount == 0) printf("No shapes found in search.\n"); } shapelib-1.6.1/configure0000775000175000017500000222217614656616450012171 00000000000000#! /bin/sh # Guess values for system-dependent variables and create Makefiles. # Generated by GNU Autoconf 2.69 for shapelib 1.6.1. # # # Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc. # # # This configure script is free software; the Free Software Foundation # gives unlimited permission to copy, distribute and modify it. ## -------------------- ## ## M4sh Initialization. ## ## -------------------- ## # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in #( *posix*) : set -o posix ;; #( *) : ;; esac fi as_nl=' ' export as_nl # Printing a long string crashes Solaris 7 /usr/bin/printf. as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo # Prefer a ksh shell builtin over an external printf program on Solaris, # but without wasting forks for bash or zsh. if test -z "$BASH_VERSION$ZSH_VERSION" \ && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='print -r --' as_echo_n='print -rn --' elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='printf %s\n' as_echo_n='printf %s' else if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' as_echo_n='/usr/ucb/echo -n' else as_echo_body='eval expr "X$1" : "X\\(.*\\)"' as_echo_n_body='eval arg=$1; case $arg in #( *"$as_nl"*) expr "X$arg" : "X\\(.*\\)$as_nl"; arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; esac; expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" ' export as_echo_n_body as_echo_n='sh -c $as_echo_n_body as_echo' fi export as_echo_body as_echo='sh -c $as_echo_body as_echo' fi # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then PATH_SEPARATOR=: (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || PATH_SEPARATOR=';' } fi # IFS # We need space, tab and new line, in precisely that order. Quoting is # there to prevent editors from complaining about space-tab. # (If _AS_PATH_WALK were called with IFS unset, it would disable word # splitting by setting IFS to empty value.) IFS=" "" $as_nl" # Find who we are. Look in the path if we contain no directory separator. as_myself= case $0 in #(( *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break done IFS=$as_save_IFS ;; esac # We did not find ourselves, most probably we were run as `sh COMMAND' # in which case we are not to be found in the path. if test "x$as_myself" = x; then as_myself=$0 fi if test ! -f "$as_myself"; then $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 exit 1 fi # Unset variables that we do not need and which cause bugs (e.g. in # pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" # suppresses any "Segmentation fault" message there. '((' could # trigger a bug in pdksh 5.2.14. for as_var in BASH_ENV ENV MAIL MAILPATH do eval test x\${$as_var+set} = xset \ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : done PS1='$ ' PS2='> ' PS4='+ ' # NLS nuisances. LC_ALL=C export LC_ALL LANGUAGE=C export LANGUAGE # CDPATH. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH # Use a proper internal environment variable to ensure we don't fall # into an infinite loop, continuously re-executing ourselves. if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then _as_can_reexec=no; export _as_can_reexec; # We cannot yet assume a decent shell, so we have to provide a # neutralization value for shells without unset; and this also # works around shells that cannot unset nonexistent variables. # Preserve -v and -x to the replacement shell. BASH_ENV=/dev/null ENV=/dev/null (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV case $- in # (((( *v*x* | *x*v* ) as_opts=-vx ;; *v* ) as_opts=-v ;; *x* ) as_opts=-x ;; * ) as_opts= ;; esac exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} # Admittedly, this is quite paranoid, since all the known shells bail # out after a failed `exec'. $as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 as_fn_exit 255 fi # We don't want this to propagate to other subprocesses. { _as_can_reexec=; unset _as_can_reexec;} if test "x$CONFIG_SHELL" = x; then as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which # is contrary to our usage. Disable this feature. alias -g '\${1+\"\$@\"}'='\"\$@\"' setopt NO_GLOB_SUBST else case \`(set -o) 2>/dev/null\` in #( *posix*) : set -o posix ;; #( *) : ;; esac fi " as_required="as_fn_return () { (exit \$1); } as_fn_success () { as_fn_return 0; } as_fn_failure () { as_fn_return 1; } as_fn_ret_success () { return 0; } as_fn_ret_failure () { return 1; } exitcode=0 as_fn_success || { exitcode=1; echo as_fn_success failed.; } as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; } as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; } as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; } if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then : else exitcode=1; echo positional parameters were not saved. fi test x\$exitcode = x0 || exit 1 test -x / || exit 1" as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1 test \$(( 1 + 1 )) = 2 || exit 1 test -n \"\${ZSH_VERSION+set}\${BASH_VERSION+set}\" || ( ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO PATH=/empty FPATH=/empty; export PATH FPATH test \"X\`printf %s \$ECHO\`\" = \"X\$ECHO\" \\ || test \"X\`print -r -- \$ECHO\`\" = \"X\$ECHO\" ) || exit 1" if (eval "$as_required") 2>/dev/null; then : as_have_required=yes else as_have_required=no fi if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then : else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR as_found=false for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. as_found=: case $as_dir in #( /*) for as_base in sh bash ksh sh5; do # Try only shells that exist, to save several forks. as_shell=$as_dir/$as_base if { test -f "$as_shell" || test -f "$as_shell.exe"; } && { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then : CONFIG_SHELL=$as_shell as_have_required=yes if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then : break 2 fi fi done;; esac as_found=false done $as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } && { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then : CONFIG_SHELL=$SHELL as_have_required=yes fi; } IFS=$as_save_IFS if test "x$CONFIG_SHELL" != x; then : export CONFIG_SHELL # We cannot yet assume a decent shell, so we have to provide a # neutralization value for shells without unset; and this also # works around shells that cannot unset nonexistent variables. # Preserve -v and -x to the replacement shell. BASH_ENV=/dev/null ENV=/dev/null (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV case $- in # (((( *v*x* | *x*v* ) as_opts=-vx ;; *v* ) as_opts=-v ;; *x* ) as_opts=-x ;; * ) as_opts= ;; esac exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} # Admittedly, this is quite paranoid, since all the known shells bail # out after a failed `exec'. $as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 exit 255 fi if test x$as_have_required = xno; then : $as_echo "$0: This script requires a shell more modern than all" $as_echo "$0: the shells that I found on your system." if test x${ZSH_VERSION+set} = xset ; then $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should" $as_echo "$0: be upgraded to zsh 4.3.4 or later." else $as_echo "$0: Please tell bug-autoconf@gnu.org about your system, $0: including any error possibly output before this $0: message. Then install a modern shell, or manually run $0: the script under such a shell if you do have one." fi exit 1 fi fi fi SHELL=${CONFIG_SHELL-/bin/sh} export SHELL # Unset more variables known to interfere with behavior of common tools. CLICOLOR_FORCE= GREP_OPTIONS= unset CLICOLOR_FORCE GREP_OPTIONS ## --------------------- ## ## M4sh Shell Functions. ## ## --------------------- ## # as_fn_unset VAR # --------------- # Portably unset VAR. as_fn_unset () { { eval $1=; unset $1;} } as_unset=as_fn_unset # as_fn_set_status STATUS # ----------------------- # Set $? to STATUS, without forking. as_fn_set_status () { return $1 } # as_fn_set_status # as_fn_exit STATUS # ----------------- # Exit the shell with STATUS, even in a "trap 0" or "set -e" context. as_fn_exit () { set +e as_fn_set_status $1 exit $1 } # as_fn_exit # as_fn_mkdir_p # ------------- # Create "$as_dir" as a directory, including parents if necessary. as_fn_mkdir_p () { case $as_dir in #( -*) as_dir=./$as_dir;; esac test -d "$as_dir" || eval $as_mkdir_p || { as_dirs= while :; do case $as_dir in #( *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( *) as_qdir=$as_dir;; esac as_dirs="'$as_qdir' $as_dirs" as_dir=`$as_dirname -- "$as_dir" || $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` test -d "$as_dir" && break done test -z "$as_dirs" || eval "mkdir $as_dirs" } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" } # as_fn_mkdir_p # as_fn_executable_p FILE # ----------------------- # Test if FILE is an executable regular file. as_fn_executable_p () { test -f "$1" && test -x "$1" } # as_fn_executable_p # as_fn_append VAR VALUE # ---------------------- # Append the text in VALUE to the end of the definition contained in VAR. Take # advantage of any shell optimizations that allow amortized linear growth over # repeated appends, instead of the typical quadratic growth present in naive # implementations. if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : eval 'as_fn_append () { eval $1+=\$2 }' else as_fn_append () { eval $1=\$$1\$2 } fi # as_fn_append # as_fn_arith ARG... # ------------------ # Perform arithmetic evaluation on the ARGs, and store the result in the # global $as_val. Take advantage of shells that can avoid forks. The arguments # must be portable across $(()) and expr. if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : eval 'as_fn_arith () { as_val=$(( $* )) }' else as_fn_arith () { as_val=`expr "$@" || test $? -eq 1` } fi # as_fn_arith # as_fn_error STATUS ERROR [LINENO LOG_FD] # ---------------------------------------- # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are # provided, also output the error to LOG_FD, referencing LINENO. Then exit the # script with STATUS, using 1 if that was 0. as_fn_error () { as_status=$1; test $as_status -eq 0 && as_status=1 if test "$4"; then as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 fi $as_echo "$as_me: error: $2" >&2 as_fn_exit $as_status } # as_fn_error if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then as_basename=basename else as_basename=false fi if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then as_dirname=dirname else as_dirname=false fi as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || $as_echo X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/ q } /^X\/\(\/\/\)$/{ s//\1/ q } /^X\/\(\/\).*/{ s//\1/ q } s/.*/./; q'` # Avoid depending upon Character Ranges. as_cr_letters='abcdefghijklmnopqrstuvwxyz' as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' as_cr_Letters=$as_cr_letters$as_cr_LETTERS as_cr_digits='0123456789' as_cr_alnum=$as_cr_Letters$as_cr_digits as_lineno_1=$LINENO as_lineno_1a=$LINENO as_lineno_2=$LINENO as_lineno_2a=$LINENO eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" && test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || { # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-) sed -n ' p /[$]LINENO/= ' <$as_myself | sed ' s/[$]LINENO.*/&-/ t lineno b :lineno N :loop s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ t loop s/-\n.*// ' >$as_me.lineno && chmod +x "$as_me.lineno" || { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } # If we had to re-execute with $CONFIG_SHELL, we're ensured to have # already done that, so ensure we don't try to do so again and fall # in an infinite loop. This has already happened in practice. _as_can_reexec=no; export _as_can_reexec # Don't try to exec as it changes $[0], causing all sort of problems # (the dirname of $[0] is not the place where we might find the # original and so on. Autoconf is especially sensitive to this). . "./$as_me.lineno" # Exit status is that of the last command. exit } ECHO_C= ECHO_N= ECHO_T= case `echo -n x` in #((((( -n*) case `echo 'xy\c'` in *c*) ECHO_T=' ';; # ECHO_T is single tab character. xy) ECHO_C='\c';; *) echo `echo ksh88 bug on AIX 6.1` > /dev/null ECHO_T=' ';; esac;; *) ECHO_N='-n';; esac rm -f conf$$ conf$$.exe conf$$.file if test -d conf$$.dir; then rm -f conf$$.dir/conf$$.file else rm -f conf$$.dir mkdir conf$$.dir 2>/dev/null fi if (echo >conf$$.file) 2>/dev/null; then if ln -s conf$$.file conf$$ 2>/dev/null; then as_ln_s='ln -s' # ... but there are two gotchas: # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. # In both cases, we have to default to `cp -pR'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || as_ln_s='cp -pR' elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else as_ln_s='cp -pR' fi else as_ln_s='cp -pR' fi rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file rmdir conf$$.dir 2>/dev/null if mkdir -p . 2>/dev/null; then as_mkdir_p='mkdir -p "$as_dir"' else test -d ./-p && rmdir ./-p as_mkdir_p=false fi as_test_x='test -x' as_executable_p=as_fn_executable_p # Sed expression to map a string onto a valid CPP name. as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" # Sed expression to map a string onto a valid variable name. as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" SHELL=${CONFIG_SHELL-/bin/sh} test -n "$DJDIR" || exec 7<&0 &1 # Name of the host. # hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status, # so uname gets run too. ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` # # Initializations. # ac_default_prefix=/usr/local ac_clean_files= ac_config_libobj_dir=. LIBOBJS= cross_compiling=no subdirs= MFLAGS= MAKEFLAGS= # Identity of this package. PACKAGE_NAME='shapelib' PACKAGE_TARNAME='shapelib' PACKAGE_VERSION='1.6.1' PACKAGE_STRING='shapelib 1.6.1' PACKAGE_BUGREPORT='' PACKAGE_URL='' ac_unique_file="shapefil.h" # Factoring default headers for most tests. ac_includes_default="\ #include #ifdef HAVE_SYS_TYPES_H # include #endif #ifdef HAVE_SYS_STAT_H # include #endif #ifdef STDC_HEADERS # include # include #else # ifdef HAVE_STDLIB_H # include # endif #endif #ifdef HAVE_STRING_H # if !defined STDC_HEADERS && defined HAVE_MEMORY_H # include # endif # include #endif #ifdef HAVE_STRINGS_H # include #endif #ifdef HAVE_INTTYPES_H # include #endif #ifdef HAVE_STDINT_H # include #endif #ifdef HAVE_UNISTD_H # include #endif" ac_subst_vars='am__EXEEXT_FALSE am__EXEEXT_TRUE LTLIBOBJS LIBOBJS PLATFORM_WIN32_FALSE PLATFORM_WIN32_TRUE LIBM CXXCPP LT_SYS_LIBRARY_PATH OTOOL64 OTOOL LIPO NMEDIT DSYMUTIL MANIFEST_TOOL RANLIB DLLTOOL OBJDUMP LN_S NM ac_ct_DUMPBIN DUMPBIN LD FGREP SED host_os host_vendor host_cpu host build_os build_vendor build_cpu build LIBTOOL am__fastdepCXX_FALSE am__fastdepCXX_TRUE CXXDEPMODE ac_ct_CXX CXXFLAGS CXX SHAPELIB_SO_VERSION ac_ct_AR AR AM_BACKSLASH AM_DEFAULT_VERBOSITY AM_DEFAULT_V AM_V am__fastdepCC_FALSE am__fastdepCC_TRUE CCDEPMODE am__nodep AMDEPBACKSLASH AMDEP_FALSE AMDEP_TRUE am__include DEPDIR am__untar am__tar AMTAR am__leading_dot SET_MAKE AWK mkdir_p MKDIR_P INSTALL_STRIP_PROGRAM STRIP install_sh MAKEINFO AUTOHEADER AUTOMAKE AUTOCONF ACLOCAL VERSION PACKAGE CYGPATH_W am__isrc INSTALL_DATA INSTALL_SCRIPT INSTALL_PROGRAM EGREP GREP CPP OBJEXT EXEEXT ac_ct_CC CPPFLAGS LDFLAGS CFLAGS CC target_alias host_alias build_alias LIBS ECHO_T ECHO_N ECHO_C DEFS mandir localedir libdir psdir pdfdir dvidir htmldir infodir docdir oldincludedir includedir runstatedir localstatedir sharedstatedir sysconfdir datadir datarootdir libexecdir sbindir bindir program_transform_name prefix exec_prefix PACKAGE_URL PACKAGE_BUGREPORT PACKAGE_STRING PACKAGE_VERSION PACKAGE_TARNAME PACKAGE_NAME PATH_SEPARATOR SHELL am__quote' ac_subst_files='' ac_user_opts=' enable_option_checking enable_dependency_tracking enable_silent_rules enable_shared enable_static with_pic enable_fast_install with_aix_soname with_gnu_ld with_sysroot enable_libtool_lock ' ac_precious_vars='build_alias host_alias target_alias CC CFLAGS LDFLAGS LIBS CPPFLAGS CPP CXX CXXFLAGS CCC LT_SYS_LIBRARY_PATH CXXCPP' # Initialize some variables set by options. ac_init_help= ac_init_version=false ac_unrecognized_opts= ac_unrecognized_sep= # The variables have the same names as the options, with # dashes changed to underlines. cache_file=/dev/null exec_prefix=NONE no_create= no_recursion= prefix=NONE program_prefix=NONE program_suffix=NONE program_transform_name=s,x,x, silent= site= srcdir= verbose= x_includes=NONE x_libraries=NONE # Installation directory options. # These are left unexpanded so users can "make install exec_prefix=/foo" # and all the variables that are supposed to be based on exec_prefix # by default will actually change. # Use braces instead of parens because sh, perl, etc. also accept them. # (The list follows the same order as the GNU Coding Standards.) bindir='${exec_prefix}/bin' sbindir='${exec_prefix}/sbin' libexecdir='${exec_prefix}/libexec' datarootdir='${prefix}/share' datadir='${datarootdir}' sysconfdir='${prefix}/etc' sharedstatedir='${prefix}/com' localstatedir='${prefix}/var' runstatedir='${localstatedir}/run' includedir='${prefix}/include' oldincludedir='/usr/include' docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' infodir='${datarootdir}/info' htmldir='${docdir}' dvidir='${docdir}' pdfdir='${docdir}' psdir='${docdir}' libdir='${exec_prefix}/lib' localedir='${datarootdir}/locale' mandir='${datarootdir}/man' ac_prev= ac_dashdash= for ac_option do # If the previous option needs an argument, assign it. if test -n "$ac_prev"; then eval $ac_prev=\$ac_option ac_prev= continue fi case $ac_option in *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; *=) ac_optarg= ;; *) ac_optarg=yes ;; esac # Accept the important Cygnus configure options, so we can diagnose typos. case $ac_dashdash$ac_option in --) ac_dashdash=yes ;; -bindir | --bindir | --bindi | --bind | --bin | --bi) ac_prev=bindir ;; -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) bindir=$ac_optarg ;; -build | --build | --buil | --bui | --bu) ac_prev=build_alias ;; -build=* | --build=* | --buil=* | --bui=* | --bu=*) build_alias=$ac_optarg ;; -cache-file | --cache-file | --cache-fil | --cache-fi \ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) ac_prev=cache_file ;; -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) cache_file=$ac_optarg ;; --config-cache | -C) cache_file=config.cache ;; -datadir | --datadir | --datadi | --datad) ac_prev=datadir ;; -datadir=* | --datadir=* | --datadi=* | --datad=*) datadir=$ac_optarg ;; -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ | --dataroo | --dataro | --datar) ac_prev=datarootdir ;; -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) datarootdir=$ac_optarg ;; -disable-* | --disable-*) ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid feature name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "enable_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval enable_$ac_useropt=no ;; -docdir | --docdir | --docdi | --doc | --do) ac_prev=docdir ;; -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) docdir=$ac_optarg ;; -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) ac_prev=dvidir ;; -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) dvidir=$ac_optarg ;; -enable-* | --enable-*) ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid feature name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "enable_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval enable_$ac_useropt=\$ac_optarg ;; -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ | --exec | --exe | --ex) ac_prev=exec_prefix ;; -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ | --exec=* | --exe=* | --ex=*) exec_prefix=$ac_optarg ;; -gas | --gas | --ga | --g) # Obsolete; use --with-gas. with_gas=yes ;; -help | --help | --hel | --he | -h) ac_init_help=long ;; -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) ac_init_help=recursive ;; -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) ac_init_help=short ;; -host | --host | --hos | --ho) ac_prev=host_alias ;; -host=* | --host=* | --hos=* | --ho=*) host_alias=$ac_optarg ;; -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) ac_prev=htmldir ;; -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ | --ht=*) htmldir=$ac_optarg ;; -includedir | --includedir | --includedi | --included | --include \ | --includ | --inclu | --incl | --inc) ac_prev=includedir ;; -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ | --includ=* | --inclu=* | --incl=* | --inc=*) includedir=$ac_optarg ;; -infodir | --infodir | --infodi | --infod | --info | --inf) ac_prev=infodir ;; -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) infodir=$ac_optarg ;; -libdir | --libdir | --libdi | --libd) ac_prev=libdir ;; -libdir=* | --libdir=* | --libdi=* | --libd=*) libdir=$ac_optarg ;; -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ | --libexe | --libex | --libe) ac_prev=libexecdir ;; -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ | --libexe=* | --libex=* | --libe=*) libexecdir=$ac_optarg ;; -localedir | --localedir | --localedi | --localed | --locale) ac_prev=localedir ;; -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) localedir=$ac_optarg ;; -localstatedir | --localstatedir | --localstatedi | --localstated \ | --localstate | --localstat | --localsta | --localst | --locals) ac_prev=localstatedir ;; -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) localstatedir=$ac_optarg ;; -mandir | --mandir | --mandi | --mand | --man | --ma | --m) ac_prev=mandir ;; -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) mandir=$ac_optarg ;; -nfp | --nfp | --nf) # Obsolete; use --without-fp. with_fp=no ;; -no-create | --no-create | --no-creat | --no-crea | --no-cre \ | --no-cr | --no-c | -n) no_create=yes ;; -no-recursion | --no-recursion | --no-recursio | --no-recursi \ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) no_recursion=yes ;; -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ | --oldin | --oldi | --old | --ol | --o) ac_prev=oldincludedir ;; -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) oldincludedir=$ac_optarg ;; -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) ac_prev=prefix ;; -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) prefix=$ac_optarg ;; -program-prefix | --program-prefix | --program-prefi | --program-pref \ | --program-pre | --program-pr | --program-p) ac_prev=program_prefix ;; -program-prefix=* | --program-prefix=* | --program-prefi=* \ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) program_prefix=$ac_optarg ;; -program-suffix | --program-suffix | --program-suffi | --program-suff \ | --program-suf | --program-su | --program-s) ac_prev=program_suffix ;; -program-suffix=* | --program-suffix=* | --program-suffi=* \ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) program_suffix=$ac_optarg ;; -program-transform-name | --program-transform-name \ | --program-transform-nam | --program-transform-na \ | --program-transform-n | --program-transform- \ | --program-transform | --program-transfor \ | --program-transfo | --program-transf \ | --program-trans | --program-tran \ | --progr-tra | --program-tr | --program-t) ac_prev=program_transform_name ;; -program-transform-name=* | --program-transform-name=* \ | --program-transform-nam=* | --program-transform-na=* \ | --program-transform-n=* | --program-transform-=* \ | --program-transform=* | --program-transfor=* \ | --program-transfo=* | --program-transf=* \ | --program-trans=* | --program-tran=* \ | --progr-tra=* | --program-tr=* | --program-t=*) program_transform_name=$ac_optarg ;; -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) ac_prev=pdfdir ;; -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) pdfdir=$ac_optarg ;; -psdir | --psdir | --psdi | --psd | --ps) ac_prev=psdir ;; -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) psdir=$ac_optarg ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil) silent=yes ;; -runstatedir | --runstatedir | --runstatedi | --runstated \ | --runstate | --runstat | --runsta | --runst | --runs \ | --run | --ru | --r) ac_prev=runstatedir ;; -runstatedir=* | --runstatedir=* | --runstatedi=* | --runstated=* \ | --runstate=* | --runstat=* | --runsta=* | --runst=* | --runs=* \ | --run=* | --ru=* | --r=*) runstatedir=$ac_optarg ;; -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) ac_prev=sbindir ;; -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ | --sbi=* | --sb=*) sbindir=$ac_optarg ;; -sharedstatedir | --sharedstatedir | --sharedstatedi \ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ | --sharedst | --shareds | --shared | --share | --shar \ | --sha | --sh) ac_prev=sharedstatedir ;; -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ | --sha=* | --sh=*) sharedstatedir=$ac_optarg ;; -site | --site | --sit) ac_prev=site ;; -site=* | --site=* | --sit=*) site=$ac_optarg ;; -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) ac_prev=srcdir ;; -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) srcdir=$ac_optarg ;; -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ | --syscon | --sysco | --sysc | --sys | --sy) ac_prev=sysconfdir ;; -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) sysconfdir=$ac_optarg ;; -target | --target | --targe | --targ | --tar | --ta | --t) ac_prev=target_alias ;; -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) target_alias=$ac_optarg ;; -v | -verbose | --verbose | --verbos | --verbo | --verb) verbose=yes ;; -version | --version | --versio | --versi | --vers | -V) ac_init_version=: ;; -with-* | --with-*) ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid package name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "with_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval with_$ac_useropt=\$ac_optarg ;; -without-* | --without-*) ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid package name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "with_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval with_$ac_useropt=no ;; --x) # Obsolete; use --with-x. with_x=yes ;; -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ | --x-incl | --x-inc | --x-in | --x-i) ac_prev=x_includes ;; -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) x_includes=$ac_optarg ;; -x-libraries | --x-libraries | --x-librarie | --x-librari \ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) ac_prev=x_libraries ;; -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) x_libraries=$ac_optarg ;; -*) as_fn_error $? "unrecognized option: \`$ac_option' Try \`$0 --help' for more information" ;; *=*) ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` # Reject names that are not valid shell variable names. case $ac_envvar in #( '' | [0-9]* | *[!_$as_cr_alnum]* ) as_fn_error $? "invalid variable name: \`$ac_envvar'" ;; esac eval $ac_envvar=\$ac_optarg export $ac_envvar ;; *) # FIXME: should be removed in autoconf 3.0. $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2 expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2 : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}" ;; esac done if test -n "$ac_prev"; then ac_option=--`echo $ac_prev | sed 's/_/-/g'` as_fn_error $? "missing argument to $ac_option" fi if test -n "$ac_unrecognized_opts"; then case $enable_option_checking in no) ;; fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;; *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; esac fi # Check all directory arguments for consistency. for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ datadir sysconfdir sharedstatedir localstatedir includedir \ oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ libdir localedir mandir runstatedir do eval ac_val=\$$ac_var # Remove trailing slashes. case $ac_val in */ ) ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'` eval $ac_var=\$ac_val;; esac # Be sure to have absolute directory names. case $ac_val in [\\/$]* | ?:[\\/]* ) continue;; NONE | '' ) case $ac_var in *prefix ) continue;; esac;; esac as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val" done # There might be people who depend on the old broken behavior: `$host' # used to hold the argument of --host etc. # FIXME: To remove some day. build=$build_alias host=$host_alias target=$target_alias # FIXME: To remove some day. if test "x$host_alias" != x; then if test "x$build_alias" = x; then cross_compiling=maybe elif test "x$build_alias" != "x$host_alias"; then cross_compiling=yes fi fi ac_tool_prefix= test -n "$host_alias" && ac_tool_prefix=$host_alias- test "$silent" = yes && exec 6>/dev/null ac_pwd=`pwd` && test -n "$ac_pwd" && ac_ls_di=`ls -di .` && ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || as_fn_error $? "working directory cannot be determined" test "X$ac_ls_di" = "X$ac_pwd_ls_di" || as_fn_error $? "pwd does not report name of working directory" # Find the source files, if location was not specified. if test -z "$srcdir"; then ac_srcdir_defaulted=yes # Try the directory containing this script, then the parent directory. ac_confdir=`$as_dirname -- "$as_myself" || $as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_myself" : 'X\(//\)[^/]' \| \ X"$as_myself" : 'X\(//\)$' \| \ X"$as_myself" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$as_myself" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` srcdir=$ac_confdir if test ! -r "$srcdir/$ac_unique_file"; then srcdir=.. fi else ac_srcdir_defaulted=no fi if test ! -r "$srcdir/$ac_unique_file"; then test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir" fi ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" ac_abs_confdir=`( cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg" pwd)` # When building in place, set srcdir=. if test "$ac_abs_confdir" = "$ac_pwd"; then srcdir=. fi # Remove unnecessary trailing slashes from srcdir. # Double slashes in file names in object file debugging info # mess up M-x gdb in Emacs. case $srcdir in */) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; esac for ac_var in $ac_precious_vars; do eval ac_env_${ac_var}_set=\${${ac_var}+set} eval ac_env_${ac_var}_value=\$${ac_var} eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} eval ac_cv_env_${ac_var}_value=\$${ac_var} done # # Report the --help message. # if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF \`configure' configures shapelib 1.6.1 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... To assign environment variables (e.g., CC, CFLAGS...), specify them as VAR=VALUE. See below for descriptions of some of the useful variables. Defaults for the options are specified in brackets. Configuration: -h, --help display this help and exit --help=short display options specific to this package --help=recursive display the short help of all the included packages -V, --version display version information and exit -q, --quiet, --silent do not print \`checking ...' messages --cache-file=FILE cache test results in FILE [disabled] -C, --config-cache alias for \`--cache-file=config.cache' -n, --no-create do not create output files --srcdir=DIR find the sources in DIR [configure dir or \`..'] Installation directories: --prefix=PREFIX install architecture-independent files in PREFIX [$ac_default_prefix] --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX [PREFIX] By default, \`make install' will install all the files in \`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify an installation prefix other than \`$ac_default_prefix' using \`--prefix', for instance \`--prefix=\$HOME'. For better control, use the options below. Fine tuning of the installation directories: --bindir=DIR user executables [EPREFIX/bin] --sbindir=DIR system admin executables [EPREFIX/sbin] --libexecdir=DIR program executables [EPREFIX/libexec] --sysconfdir=DIR read-only single-machine data [PREFIX/etc] --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] --localstatedir=DIR modifiable single-machine data [PREFIX/var] --runstatedir=DIR modifiable per-process data [LOCALSTATEDIR/run] --libdir=DIR object code libraries [EPREFIX/lib] --includedir=DIR C header files [PREFIX/include] --oldincludedir=DIR C header files for non-gcc [/usr/include] --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] --datadir=DIR read-only architecture-independent data [DATAROOTDIR] --infodir=DIR info documentation [DATAROOTDIR/info] --localedir=DIR locale-dependent data [DATAROOTDIR/locale] --mandir=DIR man documentation [DATAROOTDIR/man] --docdir=DIR documentation root [DATAROOTDIR/doc/shapelib] --htmldir=DIR html documentation [DOCDIR] --dvidir=DIR dvi documentation [DOCDIR] --pdfdir=DIR pdf documentation [DOCDIR] --psdir=DIR ps documentation [DOCDIR] _ACEOF cat <<\_ACEOF Program names: --program-prefix=PREFIX prepend PREFIX to installed program names --program-suffix=SUFFIX append SUFFIX to installed program names --program-transform-name=PROGRAM run sed PROGRAM on installed program names System types: --build=BUILD configure for building on BUILD [guessed] --host=HOST cross-compile to build programs to run on HOST [BUILD] _ACEOF fi if test -n "$ac_init_help"; then case $ac_init_help in short | recursive ) echo "Configuration of shapelib 1.6.1:";; esac cat <<\_ACEOF Optional Features: --disable-option-checking ignore unrecognized --enable/--with options --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) --enable-FEATURE[=ARG] include FEATURE [ARG=yes] --enable-dependency-tracking do not reject slow dependency extractors --disable-dependency-tracking speeds up one-time build --enable-silent-rules less verbose build output (undo: "make V=1") --disable-silent-rules verbose build output (undo: "make V=0") --enable-shared[=PKGS] build shared libraries [default=yes] --enable-static[=PKGS] build static libraries [default=yes] --enable-fast-install[=PKGS] optimize for fast installation [default=yes] --disable-libtool-lock avoid locking (might break parallel builds) Optional Packages: --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) --with-pic[=PKGS] try to use only PIC/non-PIC objects [default=use both] --with-aix-soname=aix|svr4|both shared library versioning (aka "SONAME") variant to provide on AIX, [default=aix]. --with-gnu-ld assume the C compiler uses GNU ld [default=no] --with-sysroot[=DIR] Search for dependent libraries within DIR (or the compiler's sysroot if not specified). Some influential environment variables: CC C compiler command CFLAGS C compiler flags LDFLAGS linker flags, e.g. -L if you have libraries in a nonstandard directory LIBS libraries to pass to the linker, e.g. -l CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I if you have headers in a nonstandard directory CPP C preprocessor CXX C++ compiler command CXXFLAGS C++ compiler flags LT_SYS_LIBRARY_PATH User-defined run-time library search path. CXXCPP C++ preprocessor Use these variables to override the choices made by `configure' or to help it to find libraries and programs with nonstandard names/locations. Report bugs to the package provider. _ACEOF ac_status=$? fi if test "$ac_init_help" = "recursive"; then # If there are subdirs, report their specific --help. for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue test -d "$ac_dir" || { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } || continue ac_builddir=. case "$ac_dir" in .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` # A ".." for each directory in $ac_dir_suffix. ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` case $ac_top_builddir_sub in "") ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; esac ;; esac ac_abs_top_builddir=$ac_pwd ac_abs_builddir=$ac_pwd$ac_dir_suffix # for backward compatibility: ac_top_builddir=$ac_top_build_prefix case $srcdir in .) # We are building in place. ac_srcdir=. ac_top_srcdir=$ac_top_builddir_sub ac_abs_top_srcdir=$ac_pwd ;; [\\/]* | ?:[\\/]* ) # Absolute name. ac_srcdir=$srcdir$ac_dir_suffix; ac_top_srcdir=$srcdir ac_abs_top_srcdir=$srcdir ;; *) # Relative name. ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_build_prefix$srcdir ac_abs_top_srcdir=$ac_pwd/$srcdir ;; esac ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix cd "$ac_dir" || { ac_status=$?; continue; } # Check for guested configure. if test -f "$ac_srcdir/configure.gnu"; then echo && $SHELL "$ac_srcdir/configure.gnu" --help=recursive elif test -f "$ac_srcdir/configure"; then echo && $SHELL "$ac_srcdir/configure" --help=recursive else $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 fi || ac_status=$? cd "$ac_pwd" || { ac_status=$?; break; } done fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF shapelib configure 1.6.1 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. This configure script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. _ACEOF exit fi ## ------------------------ ## ## Autoconf initialization. ## ## ------------------------ ## # ac_fn_c_try_compile LINENO # -------------------------- # Try to compile conftest.$ac_ext, and return whether this succeeded. ac_fn_c_try_compile () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack rm -f conftest.$ac_objext if { { ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_compile") 2>conftest.err ac_status=$? if test -s conftest.err; then grep -v '^ *+' conftest.err >conftest.er1 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then : ac_retval=0 else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 fi eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_c_try_compile # ac_fn_c_try_run LINENO # ---------------------- # Try to link conftest.$ac_ext, and return whether this succeeded. Assumes # that executables *can* be run. ac_fn_c_try_run () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack if { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && { ac_try='./conftest$ac_exeext' { { case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; }; then : ac_retval=0 else $as_echo "$as_me: program exited with status $ac_status" >&5 $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=$ac_status fi rm -rf conftest.dSYM conftest_ipa8_conftest.oo eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_c_try_run # ac_fn_c_try_cpp LINENO # ---------------------- # Try to preprocess conftest.$ac_ext, and return whether this succeeded. ac_fn_c_try_cpp () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack if { { ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err ac_status=$? if test -s conftest.err; then grep -v '^ *+' conftest.err >conftest.er1 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } > conftest.i && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then : ac_retval=0 else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 fi eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_c_try_cpp # ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES # ------------------------------------------------------- # Tests whether HEADER exists and can be compiled using the include files in # INCLUDES, setting the cache variable VAR accordingly. ac_fn_c_check_header_compile () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } if eval \${$3+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 #include <$2> _ACEOF if ac_fn_c_try_compile "$LINENO"; then : eval "$3=yes" else eval "$3=no" fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_header_compile # ac_fn_cxx_try_compile LINENO # ---------------------------- # Try to compile conftest.$ac_ext, and return whether this succeeded. ac_fn_cxx_try_compile () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack rm -f conftest.$ac_objext if { { ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_compile") 2>conftest.err ac_status=$? if test -s conftest.err; then grep -v '^ *+' conftest.err >conftest.er1 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && { test -z "$ac_cxx_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then : ac_retval=0 else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 fi eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_cxx_try_compile # ac_fn_c_try_link LINENO # ----------------------- # Try to link conftest.$ac_ext, and return whether this succeeded. ac_fn_c_try_link () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack rm -f conftest.$ac_objext conftest$ac_exeext if { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link") 2>conftest.err ac_status=$? if test -s conftest.err; then grep -v '^ *+' conftest.err >conftest.er1 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && { test "$cross_compiling" = yes || test -x conftest$ac_exeext }; then : ac_retval=0 else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 fi # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would # interfere with the next link command; also delete a directory that is # left behind by Apple's compiler. We do this before executing the actions. rm -rf conftest.dSYM conftest_ipa8_conftest.oo eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_c_try_link # ac_fn_c_check_func LINENO FUNC VAR # ---------------------------------- # Tests whether FUNC exists, setting the cache variable VAR accordingly ac_fn_c_check_func () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } if eval \${$3+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Define $2 to an innocuous variant, in case declares $2. For example, HP-UX 11i declares gettimeofday. */ #define $2 innocuous_$2 /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $2 (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef $2 /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char $2 (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined __stub_$2 || defined __stub___$2 choke me #endif int main () { return $2 (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : eval "$3=yes" else eval "$3=no" fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_func # ac_fn_cxx_try_cpp LINENO # ------------------------ # Try to preprocess conftest.$ac_ext, and return whether this succeeded. ac_fn_cxx_try_cpp () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack if { { ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err ac_status=$? if test -s conftest.err; then grep -v '^ *+' conftest.err >conftest.er1 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } > conftest.i && { test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || test ! -s conftest.err }; then : ac_retval=0 else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 fi eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_cxx_try_cpp # ac_fn_cxx_try_link LINENO # ------------------------- # Try to link conftest.$ac_ext, and return whether this succeeded. ac_fn_cxx_try_link () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack rm -f conftest.$ac_objext conftest$ac_exeext if { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link") 2>conftest.err ac_status=$? if test -s conftest.err; then grep -v '^ *+' conftest.err >conftest.er1 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && { test -z "$ac_cxx_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && { test "$cross_compiling" = yes || test -x conftest$ac_exeext }; then : ac_retval=0 else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 fi # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would # interfere with the next link command; also delete a directory that is # left behind by Apple's compiler. We do this before executing the actions. rm -rf conftest.dSYM conftest_ipa8_conftest.oo eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_cxx_try_link cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. It was created by shapelib $as_me 1.6.1, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ _ACEOF exec 5>>config.log { cat <<_ASUNAME ## --------- ## ## Platform. ## ## --------- ## hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` uname -m = `(uname -m) 2>/dev/null || echo unknown` uname -r = `(uname -r) 2>/dev/null || echo unknown` uname -s = `(uname -s) 2>/dev/null || echo unknown` uname -v = `(uname -v) 2>/dev/null || echo unknown` /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` /bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` /bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` /usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` /bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` /bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` _ASUNAME as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. $as_echo "PATH: $as_dir" done IFS=$as_save_IFS } >&5 cat >&5 <<_ACEOF ## ----------- ## ## Core tests. ## ## ----------- ## _ACEOF # Keep a trace of the command line. # Strip out --no-create and --no-recursion so they do not pile up. # Strip out --silent because we don't want to record it for future runs. # Also quote any args containing shell meta-characters. # Make two passes to allow for proper duplicate-argument suppression. ac_configure_args= ac_configure_args0= ac_configure_args1= ac_must_keep_next=false for ac_pass in 1 2 do for ac_arg do case $ac_arg in -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil) continue ;; *\'*) ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; esac case $ac_pass in 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;; 2) as_fn_append ac_configure_args1 " '$ac_arg'" if test $ac_must_keep_next = true; then ac_must_keep_next=false # Got value, back to normal. else case $ac_arg in *=* | --config-cache | -C | -disable-* | --disable-* \ | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ | -with-* | --with-* | -without-* | --without-* | --x) case "$ac_configure_args0 " in "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; esac ;; -* ) ac_must_keep_next=true ;; esac fi as_fn_append ac_configure_args " '$ac_arg'" ;; esac done done { ac_configure_args0=; unset ac_configure_args0;} { ac_configure_args1=; unset ac_configure_args1;} # When interrupted or exit'd, cleanup temporary files, and complete # config.log. We remove comments because anyway the quotes in there # would cause problems or look ugly. # WARNING: Use '\'' to represent an apostrophe within the trap. # WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. trap 'exit_status=$? # Save into config.log some information that might help in debugging. { echo $as_echo "## ---------------- ## ## Cache variables. ## ## ---------------- ##" echo # The following way of writing the cache mishandles newlines in values, ( for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do eval ac_val=\$$ac_var case $ac_val in #( *${as_nl}*) case $ac_var in #( *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( *) { eval $ac_var=; unset $ac_var;} ;; esac ;; esac done (set) 2>&1 | case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( *${as_nl}ac_space=\ *) sed -n \ "s/'\''/'\''\\\\'\'''\''/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" ;; #( *) sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" ;; esac | sort ) echo $as_echo "## ----------------- ## ## Output variables. ## ## ----------------- ##" echo for ac_var in $ac_subst_vars do eval ac_val=\$$ac_var case $ac_val in *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; esac $as_echo "$ac_var='\''$ac_val'\''" done | sort echo if test -n "$ac_subst_files"; then $as_echo "## ------------------- ## ## File substitutions. ## ## ------------------- ##" echo for ac_var in $ac_subst_files do eval ac_val=\$$ac_var case $ac_val in *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; esac $as_echo "$ac_var='\''$ac_val'\''" done | sort echo fi if test -s confdefs.h; then $as_echo "## ----------- ## ## confdefs.h. ## ## ----------- ##" echo cat confdefs.h echo fi test "$ac_signal" != 0 && $as_echo "$as_me: caught signal $ac_signal" $as_echo "$as_me: exit $exit_status" } >&5 rm -f core *.core core.conftest.* && rm -f -r conftest* confdefs* conf$$* $ac_clean_files && exit $exit_status ' 0 for ac_signal in 1 2 13 15; do trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal done ac_signal=0 # confdefs.h avoids OS command line length limits that DEFS can exceed. rm -f -r conftest* confdefs.h $as_echo "/* confdefs.h */" > confdefs.h # Predefined preprocessor variables. cat >>confdefs.h <<_ACEOF #define PACKAGE_NAME "$PACKAGE_NAME" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_TARNAME "$PACKAGE_TARNAME" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_VERSION "$PACKAGE_VERSION" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_STRING "$PACKAGE_STRING" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_URL "$PACKAGE_URL" _ACEOF # Let the site file select an alternate cache file if it wants to. # Prefer an explicitly selected file to automatically selected ones. ac_site_file1=NONE ac_site_file2=NONE if test -n "$CONFIG_SITE"; then # We do not want a PATH search for config.site. case $CONFIG_SITE in #(( -*) ac_site_file1=./$CONFIG_SITE;; */*) ac_site_file1=$CONFIG_SITE;; *) ac_site_file1=./$CONFIG_SITE;; esac elif test "x$prefix" != xNONE; then ac_site_file1=$prefix/share/config.site ac_site_file2=$prefix/etc/config.site else ac_site_file1=$ac_default_prefix/share/config.site ac_site_file2=$ac_default_prefix/etc/config.site fi for ac_site_file in "$ac_site_file1" "$ac_site_file2" do test "x$ac_site_file" = xNONE && continue if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 $as_echo "$as_me: loading site script $ac_site_file" >&6;} sed 's/^/| /' "$ac_site_file" >&5 . "$ac_site_file" \ || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "failed to load site script $ac_site_file See \`config.log' for more details" "$LINENO" 5; } fi done if test -r "$cache_file"; then # Some versions of bash will fail to source /dev/null (special files # actually), so we avoid doing that. DJGPP emulates it as a regular file. if test /dev/null != "$cache_file" && test -f "$cache_file"; then { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 $as_echo "$as_me: loading cache $cache_file" >&6;} case $cache_file in [\\/]* | ?:[\\/]* ) . "$cache_file";; *) . "./$cache_file";; esac fi else { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 $as_echo "$as_me: creating cache $cache_file" >&6;} >$cache_file fi # Check that the precious variables saved in the cache have kept the same # value. ac_cache_corrupted=false for ac_var in $ac_precious_vars; do eval ac_old_set=\$ac_cv_env_${ac_var}_set eval ac_new_set=\$ac_env_${ac_var}_set eval ac_old_val=\$ac_cv_env_${ac_var}_value eval ac_new_val=\$ac_env_${ac_var}_value case $ac_old_set,$ac_new_set in set,) { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 $as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} ac_cache_corrupted=: ;; ,set) { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 $as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} ac_cache_corrupted=: ;; ,);; *) if test "x$ac_old_val" != "x$ac_new_val"; then # differences in whitespace do not lead to failure. ac_old_val_w=`echo x $ac_old_val` ac_new_val_w=`echo x $ac_new_val` if test "$ac_old_val_w" != "$ac_new_val_w"; then { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 $as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} ac_cache_corrupted=: else { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 $as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} eval $ac_var=\$ac_old_val fi { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 $as_echo "$as_me: former value: \`$ac_old_val'" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 $as_echo "$as_me: current value: \`$ac_new_val'" >&2;} fi;; esac # Pass precious variables to config.status. if test "$ac_new_set" = set; then case $ac_new_val in *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; *) ac_arg=$ac_var=$ac_new_val ;; esac case " $ac_configure_args " in *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. *) as_fn_append ac_configure_args " '$ac_arg'" ;; esac fi done if $ac_cache_corrupted; then { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 $as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 fi ## -------------------- ## ## Main body of script. ## ## -------------------- ## ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu ac_aux_dir= for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do if test -f "$ac_dir/install-sh"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/install-sh -c" break elif test -f "$ac_dir/install.sh"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/install.sh -c" break elif test -f "$ac_dir/shtool"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/shtool install -c" break fi done if test -z "$ac_aux_dir"; then as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5 fi # These three variables are undocumented and unsupported, # and are intended to be withdrawn in a future Autoconf release. # They can cause serious problems if a builder's source tree is in a directory # whose full name contains unusual characters. ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. # Expand $ac_aux_dir to an absolute path. am_aux_dir=`cd "$ac_aux_dir" && pwd` ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. set dummy ${ac_tool_prefix}gcc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CC="${ac_tool_prefix}gcc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_CC"; then ac_ct_CC=$CC # Extract the first word of "gcc", so it can be a program name with args. set dummy gcc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CC="gcc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 $as_echo "$ac_ct_CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_CC" = x; then CC="" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC fi else CC="$ac_cv_prog_CC" fi if test -z "$CC"; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. set dummy ${ac_tool_prefix}cc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CC="${ac_tool_prefix}cc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi fi if test -z "$CC"; then # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else ac_prog_rejected=no as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then ac_prog_rejected=yes continue fi ac_cv_prog_CC="cc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS if test $ac_prog_rejected = yes; then # We found a bogon in the path, so make sure we never use it. set dummy $ac_cv_prog_CC shift if test $# != 0; then # We chose a different compiler from the bogus one. # However, it has the same basename, so the bogon will be chosen # first if we set CC to just the basename; use the full file name. shift ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" fi fi fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$CC"; then if test -n "$ac_tool_prefix"; then for ac_prog in cl.exe do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CC="$ac_tool_prefix$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$CC" && break done fi if test -z "$CC"; then ac_ct_CC=$CC for ac_prog in cl.exe do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CC="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 $as_echo "$ac_ct_CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$ac_ct_CC" && break done if test "x$ac_ct_CC" = x; then CC="" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC fi fi fi test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "no acceptable C compiler found in \$PATH See \`config.log' for more details" "$LINENO" 5; } # Provide some information about the compiler. $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 set X $ac_compile ac_compiler=$2 for ac_option in --version -v -V -qversion; do { { ac_try="$ac_compiler $ac_option >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_compiler $ac_option >&5") 2>conftest.err ac_status=$? if test -s conftest.err; then sed '10a\ ... rest of stderr output deleted ... 10q' conftest.err >conftest.er1 cat conftest.er1 >&5 fi rm -f conftest.er1 conftest.err $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } done cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out" # Try to create an executable without -o first, disregard a.out. # It will help us diagnose broken compilers, and finding out an intuition # of exeext. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5 $as_echo_n "checking whether the C compiler works... " >&6; } ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` # The possible output files: ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*" ac_rmfiles= for ac_file in $ac_files do case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; * ) ac_rmfiles="$ac_rmfiles $ac_file";; esac done rm -f $ac_rmfiles if { { ac_try="$ac_link_default" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link_default") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then : # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. # So ignore a value of `no', otherwise this would lead to `EXEEXT = no' # in a Makefile. We should not override ac_cv_exeext if it was cached, # so that the user can short-circuit this test for compilers unknown to # Autoconf. for ac_file in $ac_files '' do test -f "$ac_file" || continue case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; [ab].out ) # We found the default executable, but exeext='' is most # certainly right. break;; *.* ) if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; then :; else ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` fi # We set ac_cv_exeext here because the later test for it is not # safe: cross compilers may not add the suffix if given an `-o' # argument, so we may need to know it at that point already. # Even if this section looks crufty: it has the advantage of # actually working. break;; * ) break;; esac done test "$ac_cv_exeext" = no && ac_cv_exeext= else ac_file='' fi if test -z "$ac_file"; then : { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error 77 "C compiler cannot create executables See \`config.log' for more details" "$LINENO" 5; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5 $as_echo_n "checking for C compiler default output file name... " >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 $as_echo "$ac_file" >&6; } ac_exeext=$ac_cv_exeext rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out ac_clean_files=$ac_clean_files_save { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 $as_echo_n "checking for suffix of executables... " >&6; } if { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then : # If both `conftest.exe' and `conftest' are `present' (well, observable) # catch `conftest.exe'. For instance with Cygwin, `ls conftest' will # work properly (i.e., refer to `conftest.exe'), while it won't with # `rm'. for ac_file in conftest.exe conftest conftest.*; do test -f "$ac_file" || continue case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` break;; * ) break;; esac done else { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "cannot compute suffix of executables: cannot compile and link See \`config.log' for more details" "$LINENO" 5; } fi rm -f conftest conftest$ac_cv_exeext { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 $as_echo "$ac_cv_exeext" >&6; } rm -f conftest.$ac_ext EXEEXT=$ac_cv_exeext ac_exeext=$EXEEXT cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { FILE *f = fopen ("conftest.out", "w"); return ferror (f) || fclose (f) != 0; ; return 0; } _ACEOF ac_clean_files="$ac_clean_files conftest.out" # Check that the compiler produces executables we can run. If not, either # the compiler is broken, or we cross compile. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 $as_echo_n "checking whether we are cross compiling... " >&6; } if test "$cross_compiling" != yes; then { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } if { ac_try='./conftest$ac_cv_exeext' { { case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; }; then cross_compiling=no else if test "$cross_compiling" = maybe; then cross_compiling=yes else { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "cannot run C compiled programs. If you meant to cross compile, use \`--host'. See \`config.log' for more details" "$LINENO" 5; } fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 $as_echo "$cross_compiling" >&6; } rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out ac_clean_files=$ac_clean_files_save { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 $as_echo_n "checking for suffix of object files... " >&6; } if ${ac_cv_objext+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.o conftest.obj if { { ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_compile") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then : for ac_file in conftest.o conftest.obj conftest.*; do test -f "$ac_file" || continue; case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;; *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` break;; esac done else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "cannot compute suffix of object files: cannot compile See \`config.log' for more details" "$LINENO" 5; } fi rm -f conftest.$ac_cv_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 $as_echo "$ac_cv_objext" >&6; } OBJEXT=$ac_cv_objext ac_objext=$OBJEXT { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5 $as_echo_n "checking whether we are using the GNU C compiler... " >&6; } if ${ac_cv_c_compiler_gnu+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { #ifndef __GNUC__ choke me #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_compiler_gnu=yes else ac_compiler_gnu=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_c_compiler_gnu=$ac_compiler_gnu fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 $as_echo "$ac_cv_c_compiler_gnu" >&6; } if test $ac_compiler_gnu = yes; then GCC=yes else GCC= fi ac_test_CFLAGS=${CFLAGS+set} ac_save_CFLAGS=$CFLAGS { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 $as_echo_n "checking whether $CC accepts -g... " >&6; } if ${ac_cv_prog_cc_g+:} false; then : $as_echo_n "(cached) " >&6 else ac_save_c_werror_flag=$ac_c_werror_flag ac_c_werror_flag=yes ac_cv_prog_cc_g=no CFLAGS="-g" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_g=yes else CFLAGS="" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : else ac_c_werror_flag=$ac_save_c_werror_flag CFLAGS="-g" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_g=yes fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_c_werror_flag=$ac_save_c_werror_flag fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 $as_echo "$ac_cv_prog_cc_g" >&6; } if test "$ac_test_CFLAGS" = set; then CFLAGS=$ac_save_CFLAGS elif test $ac_cv_prog_cc_g = yes; then if test "$GCC" = yes; then CFLAGS="-g -O2" else CFLAGS="-g" fi else if test "$GCC" = yes; then CFLAGS="-O2" else CFLAGS= fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5 $as_echo_n "checking for $CC option to accept ISO C89... " >&6; } if ${ac_cv_prog_cc_c89+:} false; then : $as_echo_n "(cached) " >&6 else ac_cv_prog_cc_c89=no ac_save_CC=$CC cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include struct stat; /* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ struct buf { int x; }; FILE * (*rcsopen) (struct buf *, struct stat *, int); static char *e (p, i) char **p; int i; { return p[i]; } static char *f (char * (*g) (char **, int), char **p, ...) { char *s; va_list v; va_start (v,p); s = g (p, va_arg (v,int)); va_end (v); return s; } /* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has function prototypes and stuff, but not '\xHH' hex character constants. These don't provoke an error unfortunately, instead are silently treated as 'x'. The following induces an error, until -std is added to get proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an array size at least. It's necessary to write '\x00'==0 to get something that's true only with -std. */ int osf4_cc_array ['\x00' == 0 ? 1 : -1]; /* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters inside strings and character constants. */ #define FOO(x) 'x' int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; int test (int i, double x); struct s1 {int (*f) (int a);}; struct s2 {int (*f) (double a);}; int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); int argc; char **argv; int main () { return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; ; return 0; } _ACEOF for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" do CC="$ac_save_CC $ac_arg" if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_c89=$ac_arg fi rm -f core conftest.err conftest.$ac_objext test "x$ac_cv_prog_cc_c89" != "xno" && break done rm -f conftest.$ac_ext CC=$ac_save_CC fi # AC_CACHE_VAL case "x$ac_cv_prog_cc_c89" in x) { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 $as_echo "none needed" >&6; } ;; xno) { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 $as_echo "unsupported" >&6; } ;; *) CC="$CC $ac_cv_prog_cc_c89" { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 $as_echo "$ac_cv_prog_cc_c89" >&6; } ;; esac if test "x$ac_cv_prog_cc_c89" != xno; then : fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC understands -c and -o together" >&5 $as_echo_n "checking whether $CC understands -c and -o together... " >&6; } if ${am_cv_prog_cc_c_o+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF # Make sure it works both with $CC and with simple cc. # Following AC_PROG_CC_C_O, we do the test twice because some # compilers refuse to overwrite an existing .o file with -o, # though they will create one. am_cv_prog_cc_c_o=yes for am_i in 1 2; do if { echo "$as_me:$LINENO: $CC -c conftest.$ac_ext -o conftest2.$ac_objext" >&5 ($CC -c conftest.$ac_ext -o conftest2.$ac_objext) >&5 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } \ && test -f conftest2.$ac_objext; then : OK else am_cv_prog_cc_c_o=no break fi done rm -f core conftest* unset am_i fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5 $as_echo "$am_cv_prog_cc_c_o" >&6; } if test "$am_cv_prog_cc_c_o" != yes; then # Losing compiler, so override with the script. # FIXME: It is wrong to rewrite CC. # But if we don't then we get into trouble of one sort or another. # A longer-term fix would be to have automake use am__CC in this case, # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" CC="$am_aux_dir/compile $CC" fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5 $as_echo_n "checking how to run the C preprocessor... " >&6; } # On Suns, sometimes $CPP names a directory. if test -n "$CPP" && test -d "$CPP"; then CPP= fi if test -z "$CPP"; then if ${ac_cv_prog_CPP+:} false; then : $as_echo_n "(cached) " >&6 else # Double quotes because CPP needs to be expanded for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" do ac_preproc_ok=false for ac_c_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # Prefer to if __STDC__ is defined, since # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef __STDC__ # include #else # include #endif Syntax error _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : else # Broken: fails on valid input. continue fi rm -f conftest.err conftest.i conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : # Broken: success on invalid input. continue else # Passes both tests. ac_preproc_ok=: break fi rm -f conftest.err conftest.i conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.i conftest.err conftest.$ac_ext if $ac_preproc_ok; then : break fi done ac_cv_prog_CPP=$CPP fi CPP=$ac_cv_prog_CPP else ac_cv_prog_CPP=$CPP fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5 $as_echo "$CPP" >&6; } ac_preproc_ok=false for ac_c_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # Prefer to if __STDC__ is defined, since # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef __STDC__ # include #else # include #endif Syntax error _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : else # Broken: fails on valid input. continue fi rm -f conftest.err conftest.i conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : # Broken: success on invalid input. continue else # Passes both tests. ac_preproc_ok=: break fi rm -f conftest.err conftest.i conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.i conftest.err conftest.$ac_ext if $ac_preproc_ok; then : else { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "C preprocessor \"$CPP\" fails sanity check See \`config.log' for more details" "$LINENO" 5; } fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu { $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 $as_echo_n "checking for grep that handles long lines and -e... " >&6; } if ${ac_cv_path_GREP+:} false; then : $as_echo_n "(cached) " >&6 else if test -z "$GREP"; then ac_path_GREP_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in grep ggrep; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" as_fn_executable_p "$ac_path_GREP" || continue # Check for GNU ac_path_GREP and select it if it is found. # Check for GNU $ac_path_GREP case `"$ac_path_GREP" --version 2>&1` in *GNU*) ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; *) ac_count=0 $as_echo_n 0123456789 >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" $as_echo 'GREP' >> "conftest.nl" "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break as_fn_arith $ac_count + 1 && ac_count=$as_val if test $ac_count -gt ${ac_path_GREP_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break done rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac $ac_path_GREP_found && break 3 done done done IFS=$as_save_IFS if test -z "$ac_cv_path_GREP"; then as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 fi else ac_cv_path_GREP=$GREP fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 $as_echo "$ac_cv_path_GREP" >&6; } GREP="$ac_cv_path_GREP" { $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 $as_echo_n "checking for egrep... " >&6; } if ${ac_cv_path_EGREP+:} false; then : $as_echo_n "(cached) " >&6 else if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 then ac_cv_path_EGREP="$GREP -E" else if test -z "$EGREP"; then ac_path_EGREP_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in egrep; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" as_fn_executable_p "$ac_path_EGREP" || continue # Check for GNU ac_path_EGREP and select it if it is found. # Check for GNU $ac_path_EGREP case `"$ac_path_EGREP" --version 2>&1` in *GNU*) ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; *) ac_count=0 $as_echo_n 0123456789 >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" $as_echo 'EGREP' >> "conftest.nl" "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break as_fn_arith $ac_count + 1 && ac_count=$as_val if test $ac_count -gt ${ac_path_EGREP_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break done rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac $ac_path_EGREP_found && break 3 done done done IFS=$as_save_IFS if test -z "$ac_cv_path_EGREP"; then as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 fi else ac_cv_path_EGREP=$EGREP fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 $as_echo "$ac_cv_path_EGREP" >&6; } EGREP="$ac_cv_path_EGREP" { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 $as_echo_n "checking for ANSI C header files... " >&6; } if ${ac_cv_header_stdc+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #include #include int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_header_stdc=yes else ac_cv_header_stdc=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext if test $ac_cv_header_stdc = yes; then # SunOS 4.x string.h does not declare mem*, contrary to ANSI. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "memchr" >/dev/null 2>&1; then : else ac_cv_header_stdc=no fi rm -f conftest* fi if test $ac_cv_header_stdc = yes; then # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "free" >/dev/null 2>&1; then : else ac_cv_header_stdc=no fi rm -f conftest* fi if test $ac_cv_header_stdc = yes; then # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. if test "$cross_compiling" = yes; then : : else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #if ((' ' & 0x0FF) == 0x020) # define ISLOWER(c) ('a' <= (c) && (c) <= 'z') # define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) #else # define ISLOWER(c) \ (('a' <= (c) && (c) <= 'i') \ || ('j' <= (c) && (c) <= 'r') \ || ('s' <= (c) && (c) <= 'z')) # define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) #endif #define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) int main () { int i; for (i = 0; i < 256; i++) if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) return 2; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : else ac_cv_header_stdc=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5 $as_echo "$ac_cv_header_stdc" >&6; } if test $ac_cv_header_stdc = yes; then $as_echo "#define STDC_HEADERS 1" >>confdefs.h fi # On IRIX 5.3, sys/types and inttypes.h are conflicting. for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ inttypes.h stdint.h unistd.h do : as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default " if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5 $as_echo_n "checking whether byte ordering is bigendian... " >&6; } if ${ac_cv_c_bigendian+:} false; then : $as_echo_n "(cached) " >&6 else ac_cv_c_bigendian=unknown # See if we're dealing with a universal compiler. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifndef __APPLE_CC__ not a universal capable compiler #endif typedef int dummy; _ACEOF if ac_fn_c_try_compile "$LINENO"; then : # Check for potential -arch flags. It is not universal unless # there are at least two -arch flags with different values. ac_arch= ac_prev= for ac_word in $CC $CFLAGS $CPPFLAGS $LDFLAGS; do if test -n "$ac_prev"; then case $ac_word in i?86 | x86_64 | ppc | ppc64) if test -z "$ac_arch" || test "$ac_arch" = "$ac_word"; then ac_arch=$ac_word else ac_cv_c_bigendian=universal break fi ;; esac ac_prev= elif test "x$ac_word" = "x-arch"; then ac_prev=arch fi done fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext if test $ac_cv_c_bigendian = unknown; then # See if sys/param.h defines the BYTE_ORDER macro. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include int main () { #if ! (defined BYTE_ORDER && defined BIG_ENDIAN \ && defined LITTLE_ENDIAN && BYTE_ORDER && BIG_ENDIAN \ && LITTLE_ENDIAN) bogus endian macros #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : # It does; now see whether it defined to BIG_ENDIAN or not. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include int main () { #if BYTE_ORDER != BIG_ENDIAN not big endian #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_c_bigendian=yes else ac_cv_c_bigendian=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi if test $ac_cv_c_bigendian = unknown; then # See if defines _LITTLE_ENDIAN or _BIG_ENDIAN (e.g., Solaris). cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { #if ! (defined _LITTLE_ENDIAN || defined _BIG_ENDIAN) bogus endian macros #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : # It does; now see whether it defined to _BIG_ENDIAN or not. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { #ifndef _BIG_ENDIAN not big endian #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_c_bigendian=yes else ac_cv_c_bigendian=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi if test $ac_cv_c_bigendian = unknown; then # Compile a test program. if test "$cross_compiling" = yes; then : # Try to guess by grepping values from an object file. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ short int ascii_mm[] = { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 }; short int ascii_ii[] = { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 }; int use_ascii (int i) { return ascii_mm[i] + ascii_ii[i]; } short int ebcdic_ii[] = { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 }; short int ebcdic_mm[] = { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 }; int use_ebcdic (int i) { return ebcdic_mm[i] + ebcdic_ii[i]; } extern int foo; int main () { return use_ascii (foo) == use_ebcdic (foo); ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : if grep BIGenDianSyS conftest.$ac_objext >/dev/null; then ac_cv_c_bigendian=yes fi if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then if test "$ac_cv_c_bigendian" = unknown; then ac_cv_c_bigendian=no else # finding both strings is unlikely to happen, but who knows? ac_cv_c_bigendian=unknown fi fi fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $ac_includes_default int main () { /* Are we little or big endian? From Harbison&Steele. */ union { long int l; char c[sizeof (long int)]; } u; u.l = 1; return u.c[sizeof (long int) - 1] == 1; ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : ac_cv_c_bigendian=no else ac_cv_c_bigendian=yes fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_bigendian" >&5 $as_echo "$ac_cv_c_bigendian" >&6; } case $ac_cv_c_bigendian in #( yes) ENDIAN="big";; #( no) ENDIAN="little" ;; #( universal) ENDIAN="universal_endianness" ;; #( *) ENDIAN="unknown" ;; esac if test "x$ENDIAN" = "xbig"; then # Define SHP_BIG_ENDIAN if the system is big-endian $as_echo "#define SHP_BIG_ENDIAN 1" >>confdefs.h fi if test "x$ENDIAN" = "xunknown"; then { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Unknown endian considered as little-endian" >&5 $as_echo "$as_me: WARNING: Unknown endian considered as little-endian" >&2;} fi if test "x$ENDIAN" = "xuniversal_endianness"; then as_fn_error $? "Building with both big-endian and little-endian is not supported" "$LINENO" 5 fi am__api_version='1.16' # Find a good install program. We prefer a C program (faster), # so one script is as good as another. But avoid the broken or # incompatible versions: # SysV /etc/install, /usr/sbin/install # SunOS /usr/etc/install # IRIX /sbin/install # AIX /bin/install # AmigaOS /C/install, which installs bootblocks on floppy discs # AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag # AFS /usr/afsws/bin/install, which mishandles nonexistent args # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" # OS/2's system install, which has a completely different semantic # ./install, which can be erroneously created by make from ./install.sh. # Reject install programs that cannot install multiple files. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5 $as_echo_n "checking for a BSD-compatible install... " >&6; } if test -z "$INSTALL"; then if ${ac_cv_path_install+:} false; then : $as_echo_n "(cached) " >&6 else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. # Account for people who put trailing slashes in PATH elements. case $as_dir/ in #(( ./ | .// | /[cC]/* | \ /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \ /usr/ucb/* ) ;; *) # OSF1 and SCO ODT 3.0 have their own names for install. # Don't use installbsd from OSF since it installs stuff as root # by default. for ac_prog in ginstall scoinst install; do for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then if test $ac_prog = install && grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # AIX install. It has an incompatible calling convention. : elif test $ac_prog = install && grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # program-specific install script used by HP pwplus--don't use. : else rm -rf conftest.one conftest.two conftest.dir echo one > conftest.one echo two > conftest.two mkdir conftest.dir if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" && test -s conftest.one && test -s conftest.two && test -s conftest.dir/conftest.one && test -s conftest.dir/conftest.two then ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" break 3 fi fi fi done done ;; esac done IFS=$as_save_IFS rm -rf conftest.one conftest.two conftest.dir fi if test "${ac_cv_path_install+set}" = set; then INSTALL=$ac_cv_path_install else # As a last resort, use the slow shell script. Don't cache a # value for INSTALL within a source directory, because that will # break other packages using the cache if that directory is # removed, or if the value is a relative name. INSTALL=$ac_install_sh fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5 $as_echo "$INSTALL" >&6; } # Use test -z because SunOS4 sh mishandles braces in ${var-val}. # It thinks the first close brace ends the variable substitution. test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5 $as_echo_n "checking whether build environment is sane... " >&6; } # Reject unsafe characters in $srcdir or the absolute working directory # name. Accept space and tab only in the latter. am_lf=' ' case `pwd` in *[\\\"\#\$\&\'\`$am_lf]*) as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5;; esac case $srcdir in *[\\\"\#\$\&\'\`$am_lf\ \ ]*) as_fn_error $? "unsafe srcdir value: '$srcdir'" "$LINENO" 5;; esac # Do 'set' in a subshell so we don't clobber the current shell's # arguments. Must try -L first in case configure is actually a # symlink; some systems play weird games with the mod time of symlinks # (eg FreeBSD returns the mod time of the symlink's containing # directory). if ( am_has_slept=no for am_try in 1 2; do echo "timestamp, slept: $am_has_slept" > conftest.file set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` if test "$*" = "X"; then # -L didn't work. set X `ls -t "$srcdir/configure" conftest.file` fi if test "$*" != "X $srcdir/configure conftest.file" \ && test "$*" != "X conftest.file $srcdir/configure"; then # If neither matched, then we have a broken ls. This can happen # if, for instance, CONFIG_SHELL is bash and it inherits a # broken ls alias from the environment. This has actually # happened. Such a system could not be considered "sane". as_fn_error $? "ls -t appears to fail. Make sure there is not a broken alias in your environment" "$LINENO" 5 fi if test "$2" = conftest.file || test $am_try -eq 2; then break fi # Just in case. sleep 1 am_has_slept=yes done test "$2" = conftest.file ) then # Ok. : else as_fn_error $? "newly created file is older than distributed files! Check your system clock" "$LINENO" 5 fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } # If we didn't sleep, we still need to ensure time stamps of config.status and # generated files are strictly newer. am_sleep_pid= if grep 'slept: no' conftest.file >/dev/null 2>&1; then ( sleep 1 ) & am_sleep_pid=$! fi rm -f conftest.file test "$program_prefix" != NONE && program_transform_name="s&^&$program_prefix&;$program_transform_name" # Use a double $ so make ignores it. test "$program_suffix" != NONE && program_transform_name="s&\$&$program_suffix&;$program_transform_name" # Double any \ or $. # By default was `s,x,x', remove it if useless. ac_script='s/[\\$]/&&/g;s/;s,x,x,$//' program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"` if test x"${MISSING+set}" != xset; then case $am_aux_dir in *\ * | *\ *) MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; *) MISSING="\${SHELL} $am_aux_dir/missing" ;; esac fi # Use eval to expand $SHELL if eval "$MISSING --is-lightweight"; then am_missing_run="$MISSING " else am_missing_run= { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: 'missing' script is too old or missing" >&5 $as_echo "$as_me: WARNING: 'missing' script is too old or missing" >&2;} fi if test x"${install_sh+set}" != xset; then case $am_aux_dir in *\ * | *\ *) install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; *) install_sh="\${SHELL} $am_aux_dir/install-sh" esac fi # Installed binaries are usually stripped using 'strip' when the user # run "make install-strip". However 'strip' might not be the right # tool to use in cross-compilation environments, therefore Automake # will honor the 'STRIP' environment variable to overrule this program. if test "$cross_compiling" != no; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. set dummy ${ac_tool_prefix}strip; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_STRIP+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$STRIP"; then ac_cv_prog_STRIP="$STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_STRIP="${ac_tool_prefix}strip" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi STRIP=$ac_cv_prog_STRIP if test -n "$STRIP"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 $as_echo "$STRIP" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_STRIP"; then ac_ct_STRIP=$STRIP # Extract the first word of "strip", so it can be a program name with args. set dummy strip; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_STRIP+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_STRIP"; then ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_STRIP="strip" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP if test -n "$ac_ct_STRIP"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 $as_echo "$ac_ct_STRIP" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_STRIP" = x; then STRIP=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac STRIP=$ac_ct_STRIP fi else STRIP="$ac_cv_prog_STRIP" fi fi INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5 $as_echo_n "checking for a thread-safe mkdir -p... " >&6; } if test -z "$MKDIR_P"; then if ${ac_cv_path_mkdir+:} false; then : $as_echo_n "(cached) " >&6 else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in mkdir gmkdir; do for ac_exec_ext in '' $ac_executable_extensions; do as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext" || continue case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #( 'mkdir (GNU coreutils) '* | \ 'mkdir (coreutils) '* | \ 'mkdir (fileutils) '4.1*) ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext break 3;; esac done done done IFS=$as_save_IFS fi test -d ./--version && rmdir ./--version if test "${ac_cv_path_mkdir+set}" = set; then MKDIR_P="$ac_cv_path_mkdir -p" else # As a last resort, use the slow shell script. Don't cache a # value for MKDIR_P within a source directory, because that will # break other packages using the cache if that directory is # removed, or if the value is a relative name. MKDIR_P="$ac_install_sh -d" fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5 $as_echo "$MKDIR_P" >&6; } for ac_prog in gawk mawk nawk awk do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_AWK+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$AWK"; then ac_cv_prog_AWK="$AWK" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_AWK="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi AWK=$ac_cv_prog_AWK if test -n "$AWK"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5 $as_echo "$AWK" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$AWK" && break done { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5 $as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } set x ${MAKE-make} ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then : $as_echo_n "(cached) " >&6 else cat >conftest.make <<\_ACEOF SHELL = /bin/sh all: @echo '@@@%%%=$(MAKE)=@@@%%%' _ACEOF # GNU make sometimes prints "make[1]: Entering ...", which would confuse us. case `${MAKE-make} -f conftest.make 2>/dev/null` in *@@@%%%=?*=@@@%%%*) eval ac_cv_prog_make_${ac_make}_set=yes;; *) eval ac_cv_prog_make_${ac_make}_set=no;; esac rm -f conftest.make fi if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } SET_MAKE= else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } SET_MAKE="MAKE=${MAKE-make}" fi rm -rf .tst 2>/dev/null mkdir .tst 2>/dev/null if test -d .tst; then am__leading_dot=. else am__leading_dot=_ fi rmdir .tst 2>/dev/null DEPDIR="${am__leading_dot}deps" ac_config_commands="$ac_config_commands depfiles" { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} supports the include directive" >&5 $as_echo_n "checking whether ${MAKE-make} supports the include directive... " >&6; } cat > confinc.mk << 'END' am__doit: @echo this is the am__doit target >confinc.out .PHONY: am__doit END am__include="#" am__quote= # BSD make does it like this. echo '.include "confinc.mk" # ignored' > confmf.BSD # Other make implementations (GNU, Solaris 10, AIX) do it like this. echo 'include confinc.mk # ignored' > confmf.GNU _am_result=no for s in GNU BSD; do { echo "$as_me:$LINENO: ${MAKE-make} -f confmf.$s && cat confinc.out" >&5 (${MAKE-make} -f confmf.$s && cat confinc.out) >&5 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } case $?:`cat confinc.out 2>/dev/null` in #( '0:this is the am__doit target') : case $s in #( BSD) : am__include='.include' am__quote='"' ;; #( *) : am__include='include' am__quote='' ;; esac ;; #( *) : ;; esac if test "$am__include" != "#"; then _am_result="yes ($s style)" break fi done rm -f confinc.* confmf.* { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${_am_result}" >&5 $as_echo "${_am_result}" >&6; } # Check whether --enable-dependency-tracking was given. if test "${enable_dependency_tracking+set}" = set; then : enableval=$enable_dependency_tracking; fi if test "x$enable_dependency_tracking" != xno; then am_depcomp="$ac_aux_dir/depcomp" AMDEPBACKSLASH='\' am__nodep='_no' fi if test "x$enable_dependency_tracking" != xno; then AMDEP_TRUE= AMDEP_FALSE='#' else AMDEP_TRUE='#' AMDEP_FALSE= fi # Check whether --enable-silent-rules was given. if test "${enable_silent_rules+set}" = set; then : enableval=$enable_silent_rules; fi case $enable_silent_rules in # ((( yes) AM_DEFAULT_VERBOSITY=0;; no) AM_DEFAULT_VERBOSITY=1;; *) AM_DEFAULT_VERBOSITY=1;; esac am_make=${MAKE-make} { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5 $as_echo_n "checking whether $am_make supports nested variables... " >&6; } if ${am_cv_make_support_nested_variables+:} false; then : $as_echo_n "(cached) " >&6 else if $as_echo 'TRUE=$(BAR$(V)) BAR0=false BAR1=true V=1 am__doit: @$(TRUE) .PHONY: am__doit' | $am_make -f - >/dev/null 2>&1; then am_cv_make_support_nested_variables=yes else am_cv_make_support_nested_variables=no fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5 $as_echo "$am_cv_make_support_nested_variables" >&6; } if test $am_cv_make_support_nested_variables = yes; then AM_V='$(V)' AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' else AM_V=$AM_DEFAULT_VERBOSITY AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY fi AM_BACKSLASH='\' if test "`cd $srcdir && pwd`" != "`pwd`"; then # Use -I$(srcdir) only when $(srcdir) != ., so that make's output # is not polluted with repeated "-I." am__isrc=' -I$(srcdir)' # test to see if srcdir already configured if test -f $srcdir/config.status; then as_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5 fi fi # test whether we have cygpath if test -z "$CYGPATH_W"; then if (cygpath --version) >/dev/null 2>/dev/null; then CYGPATH_W='cygpath -w' else CYGPATH_W=echo fi fi # Define the identity of the package. PACKAGE='shapelib' VERSION='1.6.1' cat >>confdefs.h <<_ACEOF #define PACKAGE "$PACKAGE" _ACEOF cat >>confdefs.h <<_ACEOF #define VERSION "$VERSION" _ACEOF # Some tools Automake needs. ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"} AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"} AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"} AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"} MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} # For better backward compatibility. To be removed once Automake 1.9.x # dies out for good. For more background, see: # # mkdir_p='$(MKDIR_P)' # We need awk for the "check" target (and possibly the TAP driver). The # system "awk" is bad on some platforms. # Always define AMTAR for backward compatibility. Yes, it's still used # in the wild :-( We should find a proper way to deprecate it ... AMTAR='$${TAR-tar}' # We'll loop over all known methods to create a tar archive until one works. _am_tools='gnutar pax cpio none' am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -' depcc="$CC" am_compiler_list= { $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 $as_echo_n "checking dependency style of $depcc... " >&6; } if ${am_cv_CC_dependencies_compiler_type+:} false; then : $as_echo_n "(cached) " >&6 else if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named 'D' -- because '-MD' means "put the output # in D". rm -rf conftest.dir mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir # We will build objects and dependencies in a subdirectory because # it helps to detect inapplicable dependency modes. For instance # both Tru64's cc and ICC support -MD to output dependencies as a # side effect of compilation, but ICC will put the dependencies in # the current directory while Tru64 will put them in the object # directory. mkdir sub am_cv_CC_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` fi am__universal=false case " $depcc " in #( *\ -arch\ *\ -arch\ *) am__universal=true ;; esac for depmode in $am_compiler_list; do # Setup a source with many dependencies, because some compilers # like to wrap large dependency lists on column 80 (with \), and # we should not choose a depcomp mode which is confused by this. # # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. : > sub/conftest.c for i in 1 2 3 4 5 6; do echo '#include "conftst'$i'.h"' >> sub/conftest.c # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with # Solaris 10 /bin/sh. echo '/* dummy */' > sub/conftst$i.h done echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf # We check with '-c' and '-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle '-M -o', and we need to detect this. Also, some Intel # versions had trouble with output in subdirs. am__obj=sub/conftest.${OBJEXT-o} am__minus_obj="-o $am__obj" case $depmode in gcc) # This depmode causes a compiler race in universal mode. test "$am__universal" = false || continue ;; nosideeffect) # After this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested. if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; msvc7 | msvc7msys | msvisualcpp | msvcmsys) # This compiler won't grok '-c -o', but also, the minuso test has # not run yet. These depmodes are late enough in the game, and # so weak that their functioning should not be impacted. am__obj=conftest.${OBJEXT-o} am__minus_obj= ;; none) break ;; esac if depmode=$depmode \ source=sub/conftest.c object=$am__obj \ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ >/dev/null 2>conftest.err && grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && grep $am__obj sub/conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then # icc doesn't choke on unknown options, it will just issue warnings # or remarks (even with -Werror). So we grep stderr for any message # that says an option was ignored or not supported. # When given -MP, icc 7.0 and 7.1 complain thusly: # icc: Command line warning: ignoring option '-M'; no argument required # The diagnosis changed in icc 8.0: # icc: Command line remark: option '-MP' not supported if (grep 'ignoring option' conftest.err || grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else am_cv_CC_dependencies_compiler_type=$depmode break fi fi done cd .. rm -rf conftest.dir else am_cv_CC_dependencies_compiler_type=none fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5 $as_echo "$am_cv_CC_dependencies_compiler_type" >&6; } CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type if test "x$enable_dependency_tracking" != xno \ && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then am__fastdepCC_TRUE= am__fastdepCC_FALSE='#' else am__fastdepCC_TRUE='#' am__fastdepCC_FALSE= fi # POSIX will say in a future version that running "rm -f" with no argument # is OK; and we want to be able to make that assumption in our Makefile # recipes. So use an aggressive probe to check that the usage we want is # actually supported "in the wild" to an acceptable degree. # See automake bug#10828. # To make any issue more visible, cause the running configure to be aborted # by default if the 'rm' program in use doesn't match our expectations; the # user can still override this though. if rm -f && rm -fr && rm -rf; then : OK; else cat >&2 <<'END' Oops! Your 'rm' program seems unable to run without file operands specified on the command line, even when the '-f' option is present. This is contrary to the behaviour of most rm programs out there, and not conforming with the upcoming POSIX standard: Please tell bug-automake@gnu.org about your system, including the value of your $PATH and any error possibly output before this message. This can help us improve future automake versions. END if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then echo 'Configuration will proceed anyway, since you have set the' >&2 echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2 echo >&2 else cat >&2 <<'END' Aborting the configuration process, to ensure you take notice of the issue. You can download and install GNU coreutils to get an 'rm' implementation that behaves properly: . If you want to complete the configuration process using your problematic 'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM to "yes", and re-run configure. END as_fn_error $? "Your 'rm' program is bad, sorry." "$LINENO" 5 fi fi # Check whether --enable-silent-rules was given. if test "${enable_silent_rules+set}" = set; then : enableval=$enable_silent_rules; fi case $enable_silent_rules in # ((( yes) AM_DEFAULT_VERBOSITY=0;; no) AM_DEFAULT_VERBOSITY=1;; *) AM_DEFAULT_VERBOSITY=0;; esac am_make=${MAKE-make} { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5 $as_echo_n "checking whether $am_make supports nested variables... " >&6; } if ${am_cv_make_support_nested_variables+:} false; then : $as_echo_n "(cached) " >&6 else if $as_echo 'TRUE=$(BAR$(V)) BAR0=false BAR1=true V=1 am__doit: @$(TRUE) .PHONY: am__doit' | $am_make -f - >/dev/null 2>&1; then am_cv_make_support_nested_variables=yes else am_cv_make_support_nested_variables=no fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5 $as_echo "$am_cv_make_support_nested_variables" >&6; } if test $am_cv_make_support_nested_variables = yes; then AM_V='$(V)' AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' else AM_V=$AM_DEFAULT_VERBOSITY AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY fi AM_BACKSLASH='\' if test -n "$ac_tool_prefix"; then for ac_prog in ar lib "link -lib" do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_AR+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$AR"; then ac_cv_prog_AR="$AR" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_AR="$ac_tool_prefix$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi AR=$ac_cv_prog_AR if test -n "$AR"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5 $as_echo "$AR" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$AR" && break done fi if test -z "$AR"; then ac_ct_AR=$AR for ac_prog in ar lib "link -lib" do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_AR+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_AR"; then ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_AR="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_AR=$ac_cv_prog_ac_ct_AR if test -n "$ac_ct_AR"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5 $as_echo "$ac_ct_AR" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$ac_ct_AR" && break done if test "x$ac_ct_AR" = x; then AR="false" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac AR=$ac_ct_AR fi fi : ${AR=ar} { $as_echo "$as_me:${as_lineno-$LINENO}: checking the archiver ($AR) interface" >&5 $as_echo_n "checking the archiver ($AR) interface... " >&6; } if ${am_cv_ar_interface+:} false; then : $as_echo_n "(cached) " >&6 else ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu am_cv_ar_interface=ar cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int some_variable = 0; _ACEOF if ac_fn_c_try_compile "$LINENO"; then : am_ar_try='$AR cru libconftest.a conftest.$ac_objext >&5' { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$am_ar_try\""; } >&5 (eval $am_ar_try) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } if test "$ac_status" -eq 0; then am_cv_ar_interface=ar else am_ar_try='$AR -NOLOGO -OUT:conftest.lib conftest.$ac_objext >&5' { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$am_ar_try\""; } >&5 (eval $am_ar_try) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } if test "$ac_status" -eq 0; then am_cv_ar_interface=lib else am_cv_ar_interface=unknown fi fi rm -f conftest.lib libconftest.a fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_ar_interface" >&5 $as_echo "$am_cv_ar_interface" >&6; } case $am_cv_ar_interface in ar) ;; lib) # Microsoft lib, so override with the ar-lib wrapper script. # FIXME: It is wrong to rewrite AR. # But if we don't then we get into trouble of one sort or another. # A longer-term fix would be to have automake use am__AR in this case, # and then we could set am__AR="$am_aux_dir/ar-lib \$(AR)" or something # similar. AR="$am_aux_dir/ar-lib $AR" ;; unknown) as_fn_error $? "could not determine $AR interface" "$LINENO" 5 ;; esac SHAPELIB_SO_VERSION=5:0:1 ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. set dummy ${ac_tool_prefix}gcc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CC="${ac_tool_prefix}gcc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_CC"; then ac_ct_CC=$CC # Extract the first word of "gcc", so it can be a program name with args. set dummy gcc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CC="gcc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 $as_echo "$ac_ct_CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_CC" = x; then CC="" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC fi else CC="$ac_cv_prog_CC" fi if test -z "$CC"; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. set dummy ${ac_tool_prefix}cc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CC="${ac_tool_prefix}cc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi fi if test -z "$CC"; then # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else ac_prog_rejected=no as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then ac_prog_rejected=yes continue fi ac_cv_prog_CC="cc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS if test $ac_prog_rejected = yes; then # We found a bogon in the path, so make sure we never use it. set dummy $ac_cv_prog_CC shift if test $# != 0; then # We chose a different compiler from the bogus one. # However, it has the same basename, so the bogon will be chosen # first if we set CC to just the basename; use the full file name. shift ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" fi fi fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$CC"; then if test -n "$ac_tool_prefix"; then for ac_prog in cl.exe do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CC="$ac_tool_prefix$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$CC" && break done fi if test -z "$CC"; then ac_ct_CC=$CC for ac_prog in cl.exe do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CC="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 $as_echo "$ac_ct_CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$ac_ct_CC" && break done if test "x$ac_ct_CC" = x; then CC="" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC fi fi fi test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "no acceptable C compiler found in \$PATH See \`config.log' for more details" "$LINENO" 5; } # Provide some information about the compiler. $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 set X $ac_compile ac_compiler=$2 for ac_option in --version -v -V -qversion; do { { ac_try="$ac_compiler $ac_option >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_compiler $ac_option >&5") 2>conftest.err ac_status=$? if test -s conftest.err; then sed '10a\ ... rest of stderr output deleted ... 10q' conftest.err >conftest.er1 cat conftest.er1 >&5 fi rm -f conftest.er1 conftest.err $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } done { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5 $as_echo_n "checking whether we are using the GNU C compiler... " >&6; } if ${ac_cv_c_compiler_gnu+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { #ifndef __GNUC__ choke me #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_compiler_gnu=yes else ac_compiler_gnu=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_c_compiler_gnu=$ac_compiler_gnu fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 $as_echo "$ac_cv_c_compiler_gnu" >&6; } if test $ac_compiler_gnu = yes; then GCC=yes else GCC= fi ac_test_CFLAGS=${CFLAGS+set} ac_save_CFLAGS=$CFLAGS { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 $as_echo_n "checking whether $CC accepts -g... " >&6; } if ${ac_cv_prog_cc_g+:} false; then : $as_echo_n "(cached) " >&6 else ac_save_c_werror_flag=$ac_c_werror_flag ac_c_werror_flag=yes ac_cv_prog_cc_g=no CFLAGS="-g" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_g=yes else CFLAGS="" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : else ac_c_werror_flag=$ac_save_c_werror_flag CFLAGS="-g" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_g=yes fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_c_werror_flag=$ac_save_c_werror_flag fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 $as_echo "$ac_cv_prog_cc_g" >&6; } if test "$ac_test_CFLAGS" = set; then CFLAGS=$ac_save_CFLAGS elif test $ac_cv_prog_cc_g = yes; then if test "$GCC" = yes; then CFLAGS="-g -O2" else CFLAGS="-g" fi else if test "$GCC" = yes; then CFLAGS="-O2" else CFLAGS= fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5 $as_echo_n "checking for $CC option to accept ISO C89... " >&6; } if ${ac_cv_prog_cc_c89+:} false; then : $as_echo_n "(cached) " >&6 else ac_cv_prog_cc_c89=no ac_save_CC=$CC cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include struct stat; /* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ struct buf { int x; }; FILE * (*rcsopen) (struct buf *, struct stat *, int); static char *e (p, i) char **p; int i; { return p[i]; } static char *f (char * (*g) (char **, int), char **p, ...) { char *s; va_list v; va_start (v,p); s = g (p, va_arg (v,int)); va_end (v); return s; } /* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has function prototypes and stuff, but not '\xHH' hex character constants. These don't provoke an error unfortunately, instead are silently treated as 'x'. The following induces an error, until -std is added to get proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an array size at least. It's necessary to write '\x00'==0 to get something that's true only with -std. */ int osf4_cc_array ['\x00' == 0 ? 1 : -1]; /* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters inside strings and character constants. */ #define FOO(x) 'x' int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; int test (int i, double x); struct s1 {int (*f) (int a);}; struct s2 {int (*f) (double a);}; int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); int argc; char **argv; int main () { return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; ; return 0; } _ACEOF for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" do CC="$ac_save_CC $ac_arg" if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_c89=$ac_arg fi rm -f core conftest.err conftest.$ac_objext test "x$ac_cv_prog_cc_c89" != "xno" && break done rm -f conftest.$ac_ext CC=$ac_save_CC fi # AC_CACHE_VAL case "x$ac_cv_prog_cc_c89" in x) { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 $as_echo "none needed" >&6; } ;; xno) { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 $as_echo "unsupported" >&6; } ;; *) CC="$CC $ac_cv_prog_cc_c89" { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 $as_echo "$ac_cv_prog_cc_c89" >&6; } ;; esac if test "x$ac_cv_prog_cc_c89" != xno; then : fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC understands -c and -o together" >&5 $as_echo_n "checking whether $CC understands -c and -o together... " >&6; } if ${am_cv_prog_cc_c_o+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF # Make sure it works both with $CC and with simple cc. # Following AC_PROG_CC_C_O, we do the test twice because some # compilers refuse to overwrite an existing .o file with -o, # though they will create one. am_cv_prog_cc_c_o=yes for am_i in 1 2; do if { echo "$as_me:$LINENO: $CC -c conftest.$ac_ext -o conftest2.$ac_objext" >&5 ($CC -c conftest.$ac_ext -o conftest2.$ac_objext) >&5 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } \ && test -f conftest2.$ac_objext; then : OK else am_cv_prog_cc_c_o=no break fi done rm -f core conftest* unset am_i fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5 $as_echo "$am_cv_prog_cc_c_o" >&6; } if test "$am_cv_prog_cc_c_o" != yes; then # Losing compiler, so override with the script. # FIXME: It is wrong to rewrite CC. # But if we don't then we get into trouble of one sort or another. # A longer-term fix would be to have automake use am__CC in this case, # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" CC="$am_aux_dir/compile $CC" fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu if test -z "$CXX"; then if test -n "$CCC"; then CXX=$CCC else if test -n "$ac_tool_prefix"; then for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_CXX+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CXX"; then ac_cv_prog_CXX="$CXX" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CXX=$ac_cv_prog_CXX if test -n "$CXX"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXX" >&5 $as_echo "$CXX" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$CXX" && break done fi if test -z "$CXX"; then ac_ct_CXX=$CXX for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_CXX+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CXX"; then ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CXX="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_CXX=$ac_cv_prog_ac_ct_CXX if test -n "$ac_ct_CXX"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CXX" >&5 $as_echo "$ac_ct_CXX" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$ac_ct_CXX" && break done if test "x$ac_ct_CXX" = x; then CXX="g++" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CXX=$ac_ct_CXX fi fi fi fi # Provide some information about the compiler. $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++ compiler version" >&5 set X $ac_compile ac_compiler=$2 for ac_option in --version -v -V -qversion; do { { ac_try="$ac_compiler $ac_option >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_compiler $ac_option >&5") 2>conftest.err ac_status=$? if test -s conftest.err; then sed '10a\ ... rest of stderr output deleted ... 10q' conftest.err >conftest.er1 cat conftest.er1 >&5 fi rm -f conftest.er1 conftest.err $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } done { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C++ compiler" >&5 $as_echo_n "checking whether we are using the GNU C++ compiler... " >&6; } if ${ac_cv_cxx_compiler_gnu+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { #ifndef __GNUC__ choke me #endif ; return 0; } _ACEOF if ac_fn_cxx_try_compile "$LINENO"; then : ac_compiler_gnu=yes else ac_compiler_gnu=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_cxx_compiler_gnu=$ac_compiler_gnu fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_compiler_gnu" >&5 $as_echo "$ac_cv_cxx_compiler_gnu" >&6; } if test $ac_compiler_gnu = yes; then GXX=yes else GXX= fi ac_test_CXXFLAGS=${CXXFLAGS+set} ac_save_CXXFLAGS=$CXXFLAGS { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&5 $as_echo_n "checking whether $CXX accepts -g... " >&6; } if ${ac_cv_prog_cxx_g+:} false; then : $as_echo_n "(cached) " >&6 else ac_save_cxx_werror_flag=$ac_cxx_werror_flag ac_cxx_werror_flag=yes ac_cv_prog_cxx_g=no CXXFLAGS="-g" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_cxx_try_compile "$LINENO"; then : ac_cv_prog_cxx_g=yes else CXXFLAGS="" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_cxx_try_compile "$LINENO"; then : else ac_cxx_werror_flag=$ac_save_cxx_werror_flag CXXFLAGS="-g" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_cxx_try_compile "$LINENO"; then : ac_cv_prog_cxx_g=yes fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cxx_werror_flag=$ac_save_cxx_werror_flag fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_g" >&5 $as_echo "$ac_cv_prog_cxx_g" >&6; } if test "$ac_test_CXXFLAGS" = set; then CXXFLAGS=$ac_save_CXXFLAGS elif test $ac_cv_prog_cxx_g = yes; then if test "$GXX" = yes; then CXXFLAGS="-g -O2" else CXXFLAGS="-g" fi else if test "$GXX" = yes; then CXXFLAGS="-O2" else CXXFLAGS= fi fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu depcc="$CXX" am_compiler_list= { $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 $as_echo_n "checking dependency style of $depcc... " >&6; } if ${am_cv_CXX_dependencies_compiler_type+:} false; then : $as_echo_n "(cached) " >&6 else if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named 'D' -- because '-MD' means "put the output # in D". rm -rf conftest.dir mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir # We will build objects and dependencies in a subdirectory because # it helps to detect inapplicable dependency modes. For instance # both Tru64's cc and ICC support -MD to output dependencies as a # side effect of compilation, but ICC will put the dependencies in # the current directory while Tru64 will put them in the object # directory. mkdir sub am_cv_CXX_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` fi am__universal=false case " $depcc " in #( *\ -arch\ *\ -arch\ *) am__universal=true ;; esac for depmode in $am_compiler_list; do # Setup a source with many dependencies, because some compilers # like to wrap large dependency lists on column 80 (with \), and # we should not choose a depcomp mode which is confused by this. # # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. : > sub/conftest.c for i in 1 2 3 4 5 6; do echo '#include "conftst'$i'.h"' >> sub/conftest.c # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with # Solaris 10 /bin/sh. echo '/* dummy */' > sub/conftst$i.h done echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf # We check with '-c' and '-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle '-M -o', and we need to detect this. Also, some Intel # versions had trouble with output in subdirs. am__obj=sub/conftest.${OBJEXT-o} am__minus_obj="-o $am__obj" case $depmode in gcc) # This depmode causes a compiler race in universal mode. test "$am__universal" = false || continue ;; nosideeffect) # After this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested. if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; msvc7 | msvc7msys | msvisualcpp | msvcmsys) # This compiler won't grok '-c -o', but also, the minuso test has # not run yet. These depmodes are late enough in the game, and # so weak that their functioning should not be impacted. am__obj=conftest.${OBJEXT-o} am__minus_obj= ;; none) break ;; esac if depmode=$depmode \ source=sub/conftest.c object=$am__obj \ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ >/dev/null 2>conftest.err && grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && grep $am__obj sub/conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then # icc doesn't choke on unknown options, it will just issue warnings # or remarks (even with -Werror). So we grep stderr for any message # that says an option was ignored or not supported. # When given -MP, icc 7.0 and 7.1 complain thusly: # icc: Command line warning: ignoring option '-M'; no argument required # The diagnosis changed in icc 8.0: # icc: Command line remark: option '-MP' not supported if (grep 'ignoring option' conftest.err || grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else am_cv_CXX_dependencies_compiler_type=$depmode break fi fi done cd .. rm -rf conftest.dir else am_cv_CXX_dependencies_compiler_type=none fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CXX_dependencies_compiler_type" >&5 $as_echo "$am_cv_CXX_dependencies_compiler_type" >&6; } CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type if test "x$enable_dependency_tracking" != xno \ && test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then am__fastdepCXX_TRUE= am__fastdepCXX_FALSE='#' else am__fastdepCXX_TRUE='#' am__fastdepCXX_FALSE= fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu case `pwd` in *\ * | *\ *) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5 $as_echo "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;; esac macro_version='2.4.6' macro_revision='2.4.6' ltmain=$ac_aux_dir/ltmain.sh # Make sure we can run config.sub. $SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5 { $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 $as_echo_n "checking build system type... " >&6; } if ${ac_cv_build+:} false; then : $as_echo_n "(cached) " >&6 else ac_build_alias=$build_alias test "x$ac_build_alias" = x && ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` test "x$ac_build_alias" = x && as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5 ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5 fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 $as_echo "$ac_cv_build" >&6; } case $ac_cv_build in *-*-*) ;; *) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;; esac build=$ac_cv_build ac_save_IFS=$IFS; IFS='-' set x $ac_cv_build shift build_cpu=$1 build_vendor=$2 shift; shift # Remember, the first character of IFS is used to create $*, # except with old shells: build_os=$* IFS=$ac_save_IFS case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 $as_echo_n "checking host system type... " >&6; } if ${ac_cv_host+:} false; then : $as_echo_n "(cached) " >&6 else if test "x$host_alias" = x; then ac_cv_host=$ac_cv_build else ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5 fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 $as_echo "$ac_cv_host" >&6; } case $ac_cv_host in *-*-*) ;; *) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;; esac host=$ac_cv_host ac_save_IFS=$IFS; IFS='-' set x $ac_cv_host shift host_cpu=$1 host_vendor=$2 shift; shift # Remember, the first character of IFS is used to create $*, # except with old shells: host_os=$* IFS=$ac_save_IFS case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac # Backslashify metacharacters that are still active within # double-quoted strings. sed_quote_subst='s/\(["`$\\]\)/\\\1/g' # Same as above, but do not quote variable references. double_quote_subst='s/\(["`\\]\)/\\\1/g' # Sed substitution to delay expansion of an escaped shell variable in a # double_quote_subst'ed string. delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' # Sed substitution to delay expansion of an escaped single quote. delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g' # Sed substitution to avoid accidental globbing in evaled expressions no_glob_subst='s/\*/\\\*/g' ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5 $as_echo_n "checking how to print strings... " >&6; } # Test print first, because it will be a builtin if present. if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \ test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then ECHO='print -r --' elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then ECHO='printf %s\n' else # Use this function as a fallback that always works. func_fallback_echo () { eval 'cat <<_LTECHO_EOF $1 _LTECHO_EOF' } ECHO='func_fallback_echo' fi # func_echo_all arg... # Invoke $ECHO with all args, space-separated. func_echo_all () { $ECHO "" } case $ECHO in printf*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: printf" >&5 $as_echo "printf" >&6; } ;; print*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: print -r" >&5 $as_echo "print -r" >&6; } ;; *) { $as_echo "$as_me:${as_lineno-$LINENO}: result: cat" >&5 $as_echo "cat" >&6; } ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5 $as_echo_n "checking for a sed that does not truncate output... " >&6; } if ${ac_cv_path_SED+:} false; then : $as_echo_n "(cached) " >&6 else ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/ for ac_i in 1 2 3 4 5 6 7; do ac_script="$ac_script$as_nl$ac_script" done echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed { ac_script=; unset ac_script;} if test -z "$SED"; then ac_path_SED_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in sed gsed; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_SED="$as_dir/$ac_prog$ac_exec_ext" as_fn_executable_p "$ac_path_SED" || continue # Check for GNU ac_path_SED and select it if it is found. # Check for GNU $ac_path_SED case `"$ac_path_SED" --version 2>&1` in *GNU*) ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;; *) ac_count=0 $as_echo_n 0123456789 >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" $as_echo '' >> "conftest.nl" "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break as_fn_arith $ac_count + 1 && ac_count=$as_val if test $ac_count -gt ${ac_path_SED_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_SED="$ac_path_SED" ac_path_SED_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break done rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac $ac_path_SED_found && break 3 done done done IFS=$as_save_IFS if test -z "$ac_cv_path_SED"; then as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5 fi else ac_cv_path_SED=$SED fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5 $as_echo "$ac_cv_path_SED" >&6; } SED="$ac_cv_path_SED" rm -f conftest.sed test -z "$SED" && SED=sed Xsed="$SED -e 1s/^X//" { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5 $as_echo_n "checking for fgrep... " >&6; } if ${ac_cv_path_FGREP+:} false; then : $as_echo_n "(cached) " >&6 else if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1 then ac_cv_path_FGREP="$GREP -F" else if test -z "$FGREP"; then ac_path_FGREP_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in fgrep; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext" as_fn_executable_p "$ac_path_FGREP" || continue # Check for GNU ac_path_FGREP and select it if it is found. # Check for GNU $ac_path_FGREP case `"$ac_path_FGREP" --version 2>&1` in *GNU*) ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;; *) ac_count=0 $as_echo_n 0123456789 >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" $as_echo 'FGREP' >> "conftest.nl" "$ac_path_FGREP" FGREP < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break as_fn_arith $ac_count + 1 && ac_count=$as_val if test $ac_count -gt ${ac_path_FGREP_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break done rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac $ac_path_FGREP_found && break 3 done done done IFS=$as_save_IFS if test -z "$ac_cv_path_FGREP"; then as_fn_error $? "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 fi else ac_cv_path_FGREP=$FGREP fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_FGREP" >&5 $as_echo "$ac_cv_path_FGREP" >&6; } FGREP="$ac_cv_path_FGREP" test -z "$GREP" && GREP=grep # Check whether --with-gnu-ld was given. if test "${with_gnu_ld+set}" = set; then : withval=$with_gnu_ld; test no = "$withval" || with_gnu_ld=yes else with_gnu_ld=no fi ac_prog=ld if test yes = "$GCC"; then # Check if gcc -print-prog-name=ld gives a path. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5 $as_echo_n "checking for ld used by $CC... " >&6; } case $host in *-*-mingw*) # gcc leaves a trailing carriage return, which upsets mingw ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; *) ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; esac case $ac_prog in # Accept absolute paths. [\\/]* | ?:[\\/]*) re_direlt='/[^/][^/]*/\.\./' # Canonicalize the pathname of ld ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` done test -z "$LD" && LD=$ac_prog ;; "") # If it fails, then pretend we aren't using GCC. ac_prog=ld ;; *) # If it is relative, then search for the first ld in PATH. with_gnu_ld=unknown ;; esac elif test yes = "$with_gnu_ld"; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 $as_echo_n "checking for GNU ld... " >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 $as_echo_n "checking for non-GNU ld... " >&6; } fi if ${lt_cv_path_LD+:} false; then : $as_echo_n "(cached) " >&6 else if test -z "$LD"; then lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR for ac_dir in $PATH; do IFS=$lt_save_ifs test -z "$ac_dir" && ac_dir=. if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then lt_cv_path_LD=$ac_dir/$ac_prog # Check to see if the program is GNU ld. I'd rather use --version, # but apparently some variants of GNU ld only accept -v. # Break only if it was the GNU/non-GNU ld that we prefer. case `"$lt_cv_path_LD" -v 2>&1 &5 $as_echo "$LD" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 $as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } if ${lt_cv_prog_gnu_ld+:} false; then : $as_echo_n "(cached) " >&6 else # I'd rather use --version here, but apparently some GNU lds only accept -v. case `$LD -v 2>&1 &5 $as_echo "$lt_cv_prog_gnu_ld" >&6; } with_gnu_ld=$lt_cv_prog_gnu_ld { $as_echo "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5 $as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; } if ${lt_cv_path_NM+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$NM"; then # Let the user override the test. lt_cv_path_NM=$NM else lt_nm_to_check=${ac_tool_prefix}nm if test -n "$ac_tool_prefix" && test "$build" = "$host"; then lt_nm_to_check="$lt_nm_to_check nm" fi for lt_tmp_nm in $lt_nm_to_check; do lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do IFS=$lt_save_ifs test -z "$ac_dir" && ac_dir=. tmp_nm=$ac_dir/$lt_tmp_nm if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext"; then # Check to see if the nm accepts a BSD-compat flag. # Adding the 'sed 1q' prevents false positives on HP-UX, which says: # nm: unknown option "B" ignored # Tru64's nm complains that /dev/null is an invalid object file # MSYS converts /dev/null to NUL, MinGW nm treats NUL as empty case $build_os in mingw*) lt_bad_file=conftest.nm/nofile ;; *) lt_bad_file=/dev/null ;; esac case `"$tmp_nm" -B $lt_bad_file 2>&1 | sed '1q'` in *$lt_bad_file* | *'Invalid file or object type'*) lt_cv_path_NM="$tmp_nm -B" break 2 ;; *) case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in */dev/null*) lt_cv_path_NM="$tmp_nm -p" break 2 ;; *) lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but continue # so that we can try to find one that supports BSD flags ;; esac ;; esac fi done IFS=$lt_save_ifs done : ${lt_cv_path_NM=no} fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_NM" >&5 $as_echo "$lt_cv_path_NM" >&6; } if test no != "$lt_cv_path_NM"; then NM=$lt_cv_path_NM else # Didn't find any BSD compatible name lister, look for dumpbin. if test -n "$DUMPBIN"; then : # Let the user override the test. else if test -n "$ac_tool_prefix"; then for ac_prog in dumpbin "link -dump" do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_DUMPBIN+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$DUMPBIN"; then ac_cv_prog_DUMPBIN="$DUMPBIN" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi DUMPBIN=$ac_cv_prog_DUMPBIN if test -n "$DUMPBIN"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DUMPBIN" >&5 $as_echo "$DUMPBIN" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$DUMPBIN" && break done fi if test -z "$DUMPBIN"; then ac_ct_DUMPBIN=$DUMPBIN for ac_prog in dumpbin "link -dump" do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_DUMPBIN+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_DUMPBIN"; then ac_cv_prog_ac_ct_DUMPBIN="$ac_ct_DUMPBIN" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_DUMPBIN="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN if test -n "$ac_ct_DUMPBIN"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DUMPBIN" >&5 $as_echo "$ac_ct_DUMPBIN" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$ac_ct_DUMPBIN" && break done if test "x$ac_ct_DUMPBIN" = x; then DUMPBIN=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac DUMPBIN=$ac_ct_DUMPBIN fi fi case `$DUMPBIN -symbols -headers /dev/null 2>&1 | sed '1q'` in *COFF*) DUMPBIN="$DUMPBIN -symbols -headers" ;; *) DUMPBIN=: ;; esac fi if test : != "$DUMPBIN"; then NM=$DUMPBIN fi fi test -z "$NM" && NM=nm { $as_echo "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5 $as_echo_n "checking the name lister ($NM) interface... " >&6; } if ${lt_cv_nm_interface+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_nm_interface="BSD nm" echo "int some_variable = 0;" > conftest.$ac_ext (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&5) (eval "$ac_compile" 2>conftest.err) cat conftest.err >&5 (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&5) (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) cat conftest.err >&5 (eval echo "\"\$as_me:$LINENO: output\"" >&5) cat conftest.out >&5 if $GREP 'External.*some_variable' conftest.out > /dev/null; then lt_cv_nm_interface="MS dumpbin" fi rm -f conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_nm_interface" >&5 $as_echo "$lt_cv_nm_interface" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5 $as_echo_n "checking whether ln -s works... " >&6; } LN_S=$as_ln_s if test "$LN_S" = "ln -s"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5 $as_echo "no, using $LN_S" >&6; } fi # find the maximum length of command line arguments { $as_echo "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5 $as_echo_n "checking the maximum length of command line arguments... " >&6; } if ${lt_cv_sys_max_cmd_len+:} false; then : $as_echo_n "(cached) " >&6 else i=0 teststring=ABCD case $build_os in msdosdjgpp*) # On DJGPP, this test can blow up pretty badly due to problems in libc # (any single argument exceeding 2000 bytes causes a buffer overrun # during glob expansion). Even if it were fixed, the result of this # check would be larger than it should be. lt_cv_sys_max_cmd_len=12288; # 12K is about right ;; gnu*) # Under GNU Hurd, this test is not required because there is # no limit to the length of command line arguments. # Libtool will interpret -1 as no limit whatsoever lt_cv_sys_max_cmd_len=-1; ;; cygwin* | mingw* | cegcc*) # On Win9x/ME, this test blows up -- it succeeds, but takes # about 5 minutes as the teststring grows exponentially. # Worse, since 9x/ME are not pre-emptively multitasking, # you end up with a "frozen" computer, even though with patience # the test eventually succeeds (with a max line length of 256k). # Instead, let's just punt: use the minimum linelength reported by # all of the supported platforms: 8192 (on NT/2K/XP). lt_cv_sys_max_cmd_len=8192; ;; mint*) # On MiNT this can take a long time and run out of memory. lt_cv_sys_max_cmd_len=8192; ;; amigaos*) # On AmigaOS with pdksh, this test takes hours, literally. # So we just punt and use a minimum line length of 8192. lt_cv_sys_max_cmd_len=8192; ;; bitrig* | darwin* | dragonfly* | freebsd* | netbsd* | openbsd*) # This has been around since 386BSD, at least. Likely further. if test -x /sbin/sysctl; then lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` elif test -x /usr/sbin/sysctl; then lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` else lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs fi # And add a safety zone lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` ;; interix*) # We know the value 262144 and hardcode it with a safety zone (like BSD) lt_cv_sys_max_cmd_len=196608 ;; os2*) # The test takes a long time on OS/2. lt_cv_sys_max_cmd_len=8192 ;; osf*) # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not # nice to cause kernel panics so lets avoid the loop below. # First set a reasonable default. lt_cv_sys_max_cmd_len=16384 # if test -x /sbin/sysconfig; then case `/sbin/sysconfig -q proc exec_disable_arg_limit` in *1*) lt_cv_sys_max_cmd_len=-1 ;; esac fi ;; sco3.2v5*) lt_cv_sys_max_cmd_len=102400 ;; sysv5* | sco5v6* | sysv4.2uw2*) kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` if test -n "$kargmax"; then lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[ ]//'` else lt_cv_sys_max_cmd_len=32768 fi ;; *) lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` if test -n "$lt_cv_sys_max_cmd_len" && \ test undefined != "$lt_cv_sys_max_cmd_len"; then lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` else # Make teststring a little bigger before we do anything with it. # a 1K string should be a reasonable start. for i in 1 2 3 4 5 6 7 8; do teststring=$teststring$teststring done SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} # If test is not a shell built-in, we'll probably end up computing a # maximum length that is only half of the actual maximum length, but # we can't tell. while { test X`env echo "$teststring$teststring" 2>/dev/null` \ = "X$teststring$teststring"; } >/dev/null 2>&1 && test 17 != "$i" # 1/2 MB should be enough do i=`expr $i + 1` teststring=$teststring$teststring done # Only check the string length outside the loop. lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1` teststring= # Add a significant safety factor because C++ compilers can tack on # massive amounts of additional arguments before passing them to the # linker. It appears as though 1/2 is a usable value. lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` fi ;; esac fi if test -n "$lt_cv_sys_max_cmd_len"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_max_cmd_len" >&5 $as_echo "$lt_cv_sys_max_cmd_len" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5 $as_echo "none" >&6; } fi max_cmd_len=$lt_cv_sys_max_cmd_len : ${CP="cp -f"} : ${MV="mv -f"} : ${RM="rm -f"} if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then lt_unset=unset else lt_unset=false fi # test EBCDIC or ASCII case `echo X|tr X '\101'` in A) # ASCII based system # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr lt_SP2NL='tr \040 \012' lt_NL2SP='tr \015\012 \040\040' ;; *) # EBCDIC based system lt_SP2NL='tr \100 \n' lt_NL2SP='tr \r\n \100\100' ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to $host format" >&5 $as_echo_n "checking how to convert $build file names to $host format... " >&6; } if ${lt_cv_to_host_file_cmd+:} false; then : $as_echo_n "(cached) " >&6 else case $host in *-*-mingw* ) case $build in *-*-mingw* ) # actually msys lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32 ;; *-*-cygwin* ) lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32 ;; * ) # otherwise, assume *nix lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32 ;; esac ;; *-*-cygwin* ) case $build in *-*-mingw* ) # actually msys lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin ;; *-*-cygwin* ) lt_cv_to_host_file_cmd=func_convert_file_noop ;; * ) # otherwise, assume *nix lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin ;; esac ;; * ) # unhandled hosts (and "normal" native builds) lt_cv_to_host_file_cmd=func_convert_file_noop ;; esac fi to_host_file_cmd=$lt_cv_to_host_file_cmd { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_host_file_cmd" >&5 $as_echo "$lt_cv_to_host_file_cmd" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to toolchain format" >&5 $as_echo_n "checking how to convert $build file names to toolchain format... " >&6; } if ${lt_cv_to_tool_file_cmd+:} false; then : $as_echo_n "(cached) " >&6 else #assume ordinary cross tools, or native build. lt_cv_to_tool_file_cmd=func_convert_file_noop case $host in *-*-mingw* ) case $build in *-*-mingw* ) # actually msys lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32 ;; esac ;; esac fi to_tool_file_cmd=$lt_cv_to_tool_file_cmd { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_tool_file_cmd" >&5 $as_echo "$lt_cv_to_tool_file_cmd" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5 $as_echo_n "checking for $LD option to reload object files... " >&6; } if ${lt_cv_ld_reload_flag+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_ld_reload_flag='-r' fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_reload_flag" >&5 $as_echo "$lt_cv_ld_reload_flag" >&6; } reload_flag=$lt_cv_ld_reload_flag case $reload_flag in "" | " "*) ;; *) reload_flag=" $reload_flag" ;; esac reload_cmds='$LD$reload_flag -o $output$reload_objs' case $host_os in cygwin* | mingw* | pw32* | cegcc*) if test yes != "$GCC"; then reload_cmds=false fi ;; darwin*) if test yes = "$GCC"; then reload_cmds='$LTCC $LTCFLAGS -nostdlib $wl-r -o $output$reload_objs' else reload_cmds='$LD$reload_flag -o $output$reload_objs' fi ;; esac if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args. set dummy ${ac_tool_prefix}objdump; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_OBJDUMP+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$OBJDUMP"; then ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi OBJDUMP=$ac_cv_prog_OBJDUMP if test -n "$OBJDUMP"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5 $as_echo "$OBJDUMP" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_OBJDUMP"; then ac_ct_OBJDUMP=$OBJDUMP # Extract the first word of "objdump", so it can be a program name with args. set dummy objdump; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_OBJDUMP+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_OBJDUMP"; then ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_OBJDUMP="objdump" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP if test -n "$ac_ct_OBJDUMP"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5 $as_echo "$ac_ct_OBJDUMP" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_OBJDUMP" = x; then OBJDUMP="false" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac OBJDUMP=$ac_ct_OBJDUMP fi else OBJDUMP="$ac_cv_prog_OBJDUMP" fi test -z "$OBJDUMP" && OBJDUMP=objdump { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5 $as_echo_n "checking how to recognize dependent libraries... " >&6; } if ${lt_cv_deplibs_check_method+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_file_magic_cmd='$MAGIC_CMD' lt_cv_file_magic_test_file= lt_cv_deplibs_check_method='unknown' # Need to set the preceding variable on all platforms that support # interlibrary dependencies. # 'none' -- dependencies not supported. # 'unknown' -- same as none, but documents that we really don't know. # 'pass_all' -- all dependencies passed with no checks. # 'test_compile' -- check by making test program. # 'file_magic [[regex]]' -- check by looking for files in library path # that responds to the $file_magic_cmd with a given extended regex. # If you have 'file' or equivalent on your system and you're not sure # whether 'pass_all' will *always* work, you probably want this one. case $host_os in aix[4-9]*) lt_cv_deplibs_check_method=pass_all ;; beos*) lt_cv_deplibs_check_method=pass_all ;; bsdi[45]*) lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)' lt_cv_file_magic_cmd='/usr/bin/file -L' lt_cv_file_magic_test_file=/shlib/libc.so ;; cygwin*) # func_win32_libid is a shell function defined in ltmain.sh lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' lt_cv_file_magic_cmd='func_win32_libid' ;; mingw* | pw32*) # Base MSYS/MinGW do not provide the 'file' command needed by # func_win32_libid shell function, so use a weaker test based on 'objdump', # unless we find 'file', for example because we are cross-compiling. if ( file / ) >/dev/null 2>&1; then lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' lt_cv_file_magic_cmd='func_win32_libid' else # Keep this pattern in sync with the one in func_win32_libid. lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' lt_cv_file_magic_cmd='$OBJDUMP -f' fi ;; cegcc*) # use the weaker test based on 'objdump'. See mingw*. lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?' lt_cv_file_magic_cmd='$OBJDUMP -f' ;; darwin* | rhapsody*) lt_cv_deplibs_check_method=pass_all ;; freebsd* | dragonfly*) if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then case $host_cpu in i*86 ) # Not sure whether the presence of OpenBSD here was a mistake. # Let's accept both of them until this is cleared up. lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library' lt_cv_file_magic_cmd=/usr/bin/file lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` ;; esac else lt_cv_deplibs_check_method=pass_all fi ;; haiku*) lt_cv_deplibs_check_method=pass_all ;; hpux10.20* | hpux11*) lt_cv_file_magic_cmd=/usr/bin/file case $host_cpu in ia64*) lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64' lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so ;; hppa*64*) lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]' lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl ;; *) lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9]\.[0-9]) shared library' lt_cv_file_magic_test_file=/usr/lib/libc.sl ;; esac ;; interix[3-9]*) # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$' ;; irix5* | irix6* | nonstopux*) case $LD in *-32|*"-32 ") libmagic=32-bit;; *-n32|*"-n32 ") libmagic=N32;; *-64|*"-64 ") libmagic=64-bit;; *) libmagic=never-match;; esac lt_cv_deplibs_check_method=pass_all ;; # This must be glibc/ELF. linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) lt_cv_deplibs_check_method=pass_all ;; netbsd* | netbsdelf*-gnu) if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' else lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$' fi ;; newos6*) lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)' lt_cv_file_magic_cmd=/usr/bin/file lt_cv_file_magic_test_file=/usr/lib/libnls.so ;; *nto* | *qnx*) lt_cv_deplibs_check_method=pass_all ;; openbsd* | bitrig*) if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$' else lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' fi ;; osf3* | osf4* | osf5*) lt_cv_deplibs_check_method=pass_all ;; rdos*) lt_cv_deplibs_check_method=pass_all ;; solaris*) lt_cv_deplibs_check_method=pass_all ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) lt_cv_deplibs_check_method=pass_all ;; sysv4 | sysv4.3*) case $host_vendor in motorola) lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]' lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` ;; ncr) lt_cv_deplibs_check_method=pass_all ;; sequent) lt_cv_file_magic_cmd='/bin/file' lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )' ;; sni) lt_cv_file_magic_cmd='/bin/file' lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib" lt_cv_file_magic_test_file=/lib/libc.so ;; siemens) lt_cv_deplibs_check_method=pass_all ;; pc) lt_cv_deplibs_check_method=pass_all ;; esac ;; tpf*) lt_cv_deplibs_check_method=pass_all ;; os2*) lt_cv_deplibs_check_method=pass_all ;; esac fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5 $as_echo "$lt_cv_deplibs_check_method" >&6; } file_magic_glob= want_nocaseglob=no if test "$build" = "$host"; then case $host_os in mingw* | pw32*) if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then want_nocaseglob=yes else file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[\1]\/[\1]\/g;/g"` fi ;; esac fi file_magic_cmd=$lt_cv_file_magic_cmd deplibs_check_method=$lt_cv_deplibs_check_method test -z "$deplibs_check_method" && deplibs_check_method=unknown if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args. set dummy ${ac_tool_prefix}dlltool; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_DLLTOOL+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$DLLTOOL"; then ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi DLLTOOL=$ac_cv_prog_DLLTOOL if test -n "$DLLTOOL"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5 $as_echo "$DLLTOOL" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_DLLTOOL"; then ac_ct_DLLTOOL=$DLLTOOL # Extract the first word of "dlltool", so it can be a program name with args. set dummy dlltool; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_DLLTOOL+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_DLLTOOL"; then ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_DLLTOOL="dlltool" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL if test -n "$ac_ct_DLLTOOL"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5 $as_echo "$ac_ct_DLLTOOL" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_DLLTOOL" = x; then DLLTOOL="false" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac DLLTOOL=$ac_ct_DLLTOOL fi else DLLTOOL="$ac_cv_prog_DLLTOOL" fi test -z "$DLLTOOL" && DLLTOOL=dlltool { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to associate runtime and link libraries" >&5 $as_echo_n "checking how to associate runtime and link libraries... " >&6; } if ${lt_cv_sharedlib_from_linklib_cmd+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_sharedlib_from_linklib_cmd='unknown' case $host_os in cygwin* | mingw* | pw32* | cegcc*) # two different shell functions defined in ltmain.sh; # decide which one to use based on capabilities of $DLLTOOL case `$DLLTOOL --help 2>&1` in *--identify-strict*) lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib ;; *) lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback ;; esac ;; *) # fallback: assume linklib IS sharedlib lt_cv_sharedlib_from_linklib_cmd=$ECHO ;; esac fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sharedlib_from_linklib_cmd" >&5 $as_echo "$lt_cv_sharedlib_from_linklib_cmd" >&6; } sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO if test -n "$ac_tool_prefix"; then for ac_prog in ar do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_AR+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$AR"; then ac_cv_prog_AR="$AR" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_AR="$ac_tool_prefix$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi AR=$ac_cv_prog_AR if test -n "$AR"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5 $as_echo "$AR" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$AR" && break done fi if test -z "$AR"; then ac_ct_AR=$AR for ac_prog in ar do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_AR+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_AR"; then ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_AR="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_AR=$ac_cv_prog_ac_ct_AR if test -n "$ac_ct_AR"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5 $as_echo "$ac_ct_AR" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$ac_ct_AR" && break done if test "x$ac_ct_AR" = x; then AR="false" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac AR=$ac_ct_AR fi fi : ${AR=ar} : ${AR_FLAGS=cr} { $as_echo "$as_me:${as_lineno-$LINENO}: checking for archiver @FILE support" >&5 $as_echo_n "checking for archiver @FILE support... " >&6; } if ${lt_cv_ar_at_file+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_ar_at_file=no cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_cxx_try_compile "$LINENO"; then : echo conftest.$ac_objext > conftest.lst lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&5' { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5 (eval $lt_ar_try) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } if test 0 -eq "$ac_status"; then # Ensure the archiver fails upon bogus file names. rm -f conftest.$ac_objext libconftest.a { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5 (eval $lt_ar_try) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } if test 0 -ne "$ac_status"; then lt_cv_ar_at_file=@ fi fi rm -f conftest.* libconftest.a fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ar_at_file" >&5 $as_echo "$lt_cv_ar_at_file" >&6; } if test no = "$lt_cv_ar_at_file"; then archiver_list_spec= else archiver_list_spec=$lt_cv_ar_at_file fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. set dummy ${ac_tool_prefix}strip; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_STRIP+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$STRIP"; then ac_cv_prog_STRIP="$STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_STRIP="${ac_tool_prefix}strip" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi STRIP=$ac_cv_prog_STRIP if test -n "$STRIP"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 $as_echo "$STRIP" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_STRIP"; then ac_ct_STRIP=$STRIP # Extract the first word of "strip", so it can be a program name with args. set dummy strip; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_STRIP+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_STRIP"; then ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_STRIP="strip" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP if test -n "$ac_ct_STRIP"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 $as_echo "$ac_ct_STRIP" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_STRIP" = x; then STRIP=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac STRIP=$ac_ct_STRIP fi else STRIP="$ac_cv_prog_STRIP" fi test -z "$STRIP" && STRIP=: if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. set dummy ${ac_tool_prefix}ranlib; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_RANLIB+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$RANLIB"; then ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi RANLIB=$ac_cv_prog_RANLIB if test -n "$RANLIB"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 $as_echo "$RANLIB" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_RANLIB"; then ac_ct_RANLIB=$RANLIB # Extract the first word of "ranlib", so it can be a program name with args. set dummy ranlib; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_RANLIB+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_RANLIB"; then ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_RANLIB="ranlib" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB if test -n "$ac_ct_RANLIB"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 $as_echo "$ac_ct_RANLIB" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_RANLIB" = x; then RANLIB=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac RANLIB=$ac_ct_RANLIB fi else RANLIB="$ac_cv_prog_RANLIB" fi test -z "$RANLIB" && RANLIB=: # Determine commands to create old-style static archives. old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs' old_postinstall_cmds='chmod 644 $oldlib' old_postuninstall_cmds= if test -n "$RANLIB"; then case $host_os in bitrig* | openbsd*) old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib" ;; *) old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib" ;; esac old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib" fi case $host_os in darwin*) lock_old_archive_extraction=yes ;; *) lock_old_archive_extraction=no ;; esac # If no C compiler was specified, use CC. LTCC=${LTCC-"$CC"} # If no C compiler flags were specified, use CFLAGS. LTCFLAGS=${LTCFLAGS-"$CFLAGS"} # Allow CC to be a program name with arguments. compiler=$CC # Check for command to grab the raw symbol name followed by C symbol from nm. { $as_echo "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5 $as_echo_n "checking command to parse $NM output from $compiler object... " >&6; } if ${lt_cv_sys_global_symbol_pipe+:} false; then : $as_echo_n "(cached) " >&6 else # These are sane defaults that work on at least a few old systems. # [They come from Ultrix. What could be older than Ultrix?!! ;)] # Character class describing NM global symbol codes. symcode='[BCDEGRST]' # Regexp to match symbols that can be accessed directly from C. sympat='\([_A-Za-z][_A-Za-z0-9]*\)' # Define system-specific variables. case $host_os in aix*) symcode='[BCDT]' ;; cygwin* | mingw* | pw32* | cegcc*) symcode='[ABCDGISTW]' ;; hpux*) if test ia64 = "$host_cpu"; then symcode='[ABCDEGRST]' fi ;; irix* | nonstopux*) symcode='[BCDEGRST]' ;; osf*) symcode='[BCDEGQRST]' ;; solaris*) symcode='[BDRT]' ;; sco3.2v5*) symcode='[DT]' ;; sysv4.2uw2*) symcode='[DT]' ;; sysv5* | sco5v6* | unixware* | OpenUNIX*) symcode='[ABDT]' ;; sysv4) symcode='[DFNSTU]' ;; esac # If we're using GNU nm, then use its standard symbol codes. case `$NM -V 2>&1` in *GNU* | *'with BFD'*) symcode='[ABCDGIRSTW]' ;; esac if test "$lt_cv_nm_interface" = "MS dumpbin"; then # Gets list of data symbols to import. lt_cv_sys_global_symbol_to_import="sed -n -e 's/^I .* \(.*\)$/\1/p'" # Adjust the below global symbol transforms to fixup imported variables. lt_cdecl_hook=" -e 's/^I .* \(.*\)$/extern __declspec(dllimport) char \1;/p'" lt_c_name_hook=" -e 's/^I .* \(.*\)$/ {\"\1\", (void *) 0},/p'" lt_c_name_lib_hook="\ -e 's/^I .* \(lib.*\)$/ {\"\1\", (void *) 0},/p'\ -e 's/^I .* \(.*\)$/ {\"lib\1\", (void *) 0},/p'" else # Disable hooks by default. lt_cv_sys_global_symbol_to_import= lt_cdecl_hook= lt_c_name_hook= lt_c_name_lib_hook= fi # Transform an extracted symbol line into a proper C declaration. # Some systems (esp. on ia64) link data and code symbols differently, # so use this general approach. lt_cv_sys_global_symbol_to_cdecl="sed -n"\ $lt_cdecl_hook\ " -e 's/^T .* \(.*\)$/extern int \1();/p'"\ " -e 's/^$symcode$symcode* .* \(.*\)$/extern char \1;/p'" # Transform an extracted symbol line into symbol name and symbol address lt_cv_sys_global_symbol_to_c_name_address="sed -n"\ $lt_c_name_hook\ " -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\ " -e 's/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/p'" # Transform an extracted symbol line into symbol name with lib prefix and # symbol address. lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n"\ $lt_c_name_lib_hook\ " -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\ " -e 's/^$symcode$symcode* .* \(lib.*\)$/ {\"\1\", (void *) \&\1},/p'"\ " -e 's/^$symcode$symcode* .* \(.*\)$/ {\"lib\1\", (void *) \&\1},/p'" # Handle CRLF in mingw tool chain opt_cr= case $build_os in mingw*) opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp ;; esac # Try without a prefix underscore, then with it. for ac_symprfx in "" "_"; do # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. symxfrm="\\1 $ac_symprfx\\2 \\2" # Write the raw and C identifiers. if test "$lt_cv_nm_interface" = "MS dumpbin"; then # Fake it for dumpbin and say T for any non-static function, # D for any global variable and I for any imported variable. # Also find C++ and __fastcall symbols from MSVC++, # which start with @ or ?. lt_cv_sys_global_symbol_pipe="$AWK '"\ " {last_section=section; section=\$ 3};"\ " /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\ " /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\ " /^ *Symbol name *: /{split(\$ 0,sn,\":\"); si=substr(sn[2],2)};"\ " /^ *Type *: code/{print \"T\",si,substr(si,length(prfx))};"\ " /^ *Type *: data/{print \"I\",si,substr(si,length(prfx))};"\ " \$ 0!~/External *\|/{next};"\ " / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\ " {if(hide[section]) next};"\ " {f=\"D\"}; \$ 0~/\(\).*\|/{f=\"T\"};"\ " {split(\$ 0,a,/\||\r/); split(a[2],s)};"\ " s[1]~/^[@?]/{print f,s[1],s[1]; next};"\ " s[1]~prfx {split(s[1],t,\"@\"); print f,t[1],substr(t[1],length(prfx))}"\ " ' prfx=^$ac_symprfx" else lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" fi lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'" # Check to see that the pipe works correctly. pipe_works=no rm -f conftest* cat > conftest.$ac_ext <<_LT_EOF #ifdef __cplusplus extern "C" { #endif char nm_test_var; void nm_test_func(void); void nm_test_func(void){} #ifdef __cplusplus } #endif int main(){nm_test_var='a';nm_test_func();return(0);} _LT_EOF if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then # Now try to grab the symbols. nlist=conftest.nm $ECHO "$as_me:$LINENO: $NM conftest.$ac_objext | $lt_cv_sys_global_symbol_pipe > $nlist" >&5 if eval "$NM" conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist 2>&5 && test -s "$nlist"; then # Try sorting and uniquifying the output. if sort "$nlist" | uniq > "$nlist"T; then mv -f "$nlist"T "$nlist" else rm -f "$nlist"T fi # Make sure that we snagged all the symbols we need. if $GREP ' nm_test_var$' "$nlist" >/dev/null; then if $GREP ' nm_test_func$' "$nlist" >/dev/null; then cat <<_LT_EOF > conftest.$ac_ext /* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ #if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE /* DATA imports from DLLs on WIN32 can't be const, because runtime relocations are performed -- see ld's documentation on pseudo-relocs. */ # define LT_DLSYM_CONST #elif defined __osf__ /* This system does not cope well with relocations in const data. */ # define LT_DLSYM_CONST #else # define LT_DLSYM_CONST const #endif #ifdef __cplusplus extern "C" { #endif _LT_EOF # Now generate the symbol file. eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext' cat <<_LT_EOF >> conftest.$ac_ext /* The mapping between symbol names and symbols. */ LT_DLSYM_CONST struct { const char *name; void *address; } lt__PROGRAM__LTX_preloaded_symbols[] = { { "@PROGRAM@", (void *) 0 }, _LT_EOF $SED "s/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext cat <<\_LT_EOF >> conftest.$ac_ext {0, (void *) 0} }; /* This works around a problem in FreeBSD linker */ #ifdef FREEBSD_WORKAROUND static const void *lt_preloaded_setup() { return lt__PROGRAM__LTX_preloaded_symbols; } #endif #ifdef __cplusplus } #endif _LT_EOF # Now try linking the two files. mv conftest.$ac_objext conftstm.$ac_objext lt_globsym_save_LIBS=$LIBS lt_globsym_save_CFLAGS=$CFLAGS LIBS=conftstm.$ac_objext CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag" if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 (eval $ac_link) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && test -s conftest$ac_exeext; then pipe_works=yes fi LIBS=$lt_globsym_save_LIBS CFLAGS=$lt_globsym_save_CFLAGS else echo "cannot find nm_test_func in $nlist" >&5 fi else echo "cannot find nm_test_var in $nlist" >&5 fi else echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5 fi else echo "$progname: failed program was:" >&5 cat conftest.$ac_ext >&5 fi rm -rf conftest* conftst* # Do not use the global_symbol_pipe unless it works. if test yes = "$pipe_works"; then break else lt_cv_sys_global_symbol_pipe= fi done fi if test -z "$lt_cv_sys_global_symbol_pipe"; then lt_cv_sys_global_symbol_to_cdecl= fi if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: failed" >&5 $as_echo "failed" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5 $as_echo "ok" >&6; } fi # Response file support. if test "$lt_cv_nm_interface" = "MS dumpbin"; then nm_file_list_spec='@' elif $NM --help 2>/dev/null | grep '[@]FILE' >/dev/null; then nm_file_list_spec='@' fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5 $as_echo_n "checking for sysroot... " >&6; } # Check whether --with-sysroot was given. if test "${with_sysroot+set}" = set; then : withval=$with_sysroot; else with_sysroot=no fi lt_sysroot= case $with_sysroot in #( yes) if test yes = "$GCC"; then lt_sysroot=`$CC --print-sysroot 2>/dev/null` fi ;; #( /*) lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"` ;; #( no|'') ;; #( *) { $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_sysroot" >&5 $as_echo "$with_sysroot" >&6; } as_fn_error $? "The sysroot must be an absolute path." "$LINENO" 5 ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${lt_sysroot:-no}" >&5 $as_echo "${lt_sysroot:-no}" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a working dd" >&5 $as_echo_n "checking for a working dd... " >&6; } if ${ac_cv_path_lt_DD+:} false; then : $as_echo_n "(cached) " >&6 else printf 0123456789abcdef0123456789abcdef >conftest.i cat conftest.i conftest.i >conftest2.i : ${lt_DD:=$DD} if test -z "$lt_DD"; then ac_path_lt_DD_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in dd; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_lt_DD="$as_dir/$ac_prog$ac_exec_ext" as_fn_executable_p "$ac_path_lt_DD" || continue if "$ac_path_lt_DD" bs=32 count=1 conftest.out 2>/dev/null; then cmp -s conftest.i conftest.out \ && ac_cv_path_lt_DD="$ac_path_lt_DD" ac_path_lt_DD_found=: fi $ac_path_lt_DD_found && break 3 done done done IFS=$as_save_IFS if test -z "$ac_cv_path_lt_DD"; then : fi else ac_cv_path_lt_DD=$lt_DD fi rm -f conftest.i conftest2.i conftest.out fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_lt_DD" >&5 $as_echo "$ac_cv_path_lt_DD" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to truncate binary pipes" >&5 $as_echo_n "checking how to truncate binary pipes... " >&6; } if ${lt_cv_truncate_bin+:} false; then : $as_echo_n "(cached) " >&6 else printf 0123456789abcdef0123456789abcdef >conftest.i cat conftest.i conftest.i >conftest2.i lt_cv_truncate_bin= if "$ac_cv_path_lt_DD" bs=32 count=1 conftest.out 2>/dev/null; then cmp -s conftest.i conftest.out \ && lt_cv_truncate_bin="$ac_cv_path_lt_DD bs=4096 count=1" fi rm -f conftest.i conftest2.i conftest.out test -z "$lt_cv_truncate_bin" && lt_cv_truncate_bin="$SED -e 4q" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_truncate_bin" >&5 $as_echo "$lt_cv_truncate_bin" >&6; } # Calculate cc_basename. Skip known compiler wrappers and cross-prefix. func_cc_basename () { for cc_temp in $*""; do case $cc_temp in compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; \-*) ;; *) break;; esac done func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` } # Check whether --enable-libtool-lock was given. if test "${enable_libtool_lock+set}" = set; then : enableval=$enable_libtool_lock; fi test no = "$enable_libtool_lock" || enable_libtool_lock=yes # Some flags need to be propagated to the compiler or linker for good # libtool support. case $host in ia64-*-hpux*) # Find out what ABI is being produced by ac_compile, and set mode # options accordingly. echo 'int i;' > conftest.$ac_ext if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then case `/usr/bin/file conftest.$ac_objext` in *ELF-32*) HPUX_IA64_MODE=32 ;; *ELF-64*) HPUX_IA64_MODE=64 ;; esac fi rm -rf conftest* ;; *-*-irix6*) # Find out what ABI is being produced by ac_compile, and set linker # options accordingly. echo '#line '$LINENO' "configure"' > conftest.$ac_ext if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then if test yes = "$lt_cv_prog_gnu_ld"; then case `/usr/bin/file conftest.$ac_objext` in *32-bit*) LD="${LD-ld} -melf32bsmip" ;; *N32*) LD="${LD-ld} -melf32bmipn32" ;; *64-bit*) LD="${LD-ld} -melf64bmip" ;; esac else case `/usr/bin/file conftest.$ac_objext` in *32-bit*) LD="${LD-ld} -32" ;; *N32*) LD="${LD-ld} -n32" ;; *64-bit*) LD="${LD-ld} -64" ;; esac fi fi rm -rf conftest* ;; mips64*-*linux*) # Find out what ABI is being produced by ac_compile, and set linker # options accordingly. echo '#line '$LINENO' "configure"' > conftest.$ac_ext if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then emul=elf case `/usr/bin/file conftest.$ac_objext` in *32-bit*) emul="${emul}32" ;; *64-bit*) emul="${emul}64" ;; esac case `/usr/bin/file conftest.$ac_objext` in *MSB*) emul="${emul}btsmip" ;; *LSB*) emul="${emul}ltsmip" ;; esac case `/usr/bin/file conftest.$ac_objext` in *N32*) emul="${emul}n32" ;; esac LD="${LD-ld} -m $emul" fi rm -rf conftest* ;; x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \ s390*-*linux*|s390*-*tpf*|sparc*-*linux*) # Find out what ABI is being produced by ac_compile, and set linker # options accordingly. Note that the listed cases only cover the # situations where additional linker options are needed (such as when # doing 32-bit compilation for a host where ld defaults to 64-bit, or # vice versa); the common cases where no linker options are needed do # not appear in the list. echo 'int i;' > conftest.$ac_ext if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then case `/usr/bin/file conftest.o` in *32-bit*) case $host in x86_64-*kfreebsd*-gnu) LD="${LD-ld} -m elf_i386_fbsd" ;; x86_64-*linux*) case `/usr/bin/file conftest.o` in *x86-64*) LD="${LD-ld} -m elf32_x86_64" ;; *) LD="${LD-ld} -m elf_i386" ;; esac ;; powerpc64le-*linux*) LD="${LD-ld} -m elf32lppclinux" ;; powerpc64-*linux*) LD="${LD-ld} -m elf32ppclinux" ;; s390x-*linux*) LD="${LD-ld} -m elf_s390" ;; sparc64-*linux*) LD="${LD-ld} -m elf32_sparc" ;; esac ;; *64-bit*) case $host in x86_64-*kfreebsd*-gnu) LD="${LD-ld} -m elf_x86_64_fbsd" ;; x86_64-*linux*) LD="${LD-ld} -m elf_x86_64" ;; powerpcle-*linux*) LD="${LD-ld} -m elf64lppc" ;; powerpc-*linux*) LD="${LD-ld} -m elf64ppc" ;; s390*-*linux*|s390*-*tpf*) LD="${LD-ld} -m elf64_s390" ;; sparc*-*linux*) LD="${LD-ld} -m elf64_sparc" ;; esac ;; esac fi rm -rf conftest* ;; *-*-sco3.2v5*) # On SCO OpenServer 5, we need -belf to get full-featured binaries. SAVE_CFLAGS=$CFLAGS CFLAGS="$CFLAGS -belf" { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5 $as_echo_n "checking whether the C compiler needs -belf... " >&6; } if ${lt_cv_cc_needs_belf+:} false; then : $as_echo_n "(cached) " >&6 else ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : lt_cv_cc_needs_belf=yes else lt_cv_cc_needs_belf=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_cc_needs_belf" >&5 $as_echo "$lt_cv_cc_needs_belf" >&6; } if test yes != "$lt_cv_cc_needs_belf"; then # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf CFLAGS=$SAVE_CFLAGS fi ;; *-*solaris*) # Find out what ABI is being produced by ac_compile, and set linker # options accordingly. echo 'int i;' > conftest.$ac_ext if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then case `/usr/bin/file conftest.o` in *64-bit*) case $lt_cv_prog_gnu_ld in yes*) case $host in i?86-*-solaris*|x86_64-*-solaris*) LD="${LD-ld} -m elf_x86_64" ;; sparc*-*-solaris*) LD="${LD-ld} -m elf64_sparc" ;; esac # GNU ld 2.21 introduced _sol2 emulations. Use them if available. if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then LD=${LD-ld}_sol2 fi ;; *) if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then LD="${LD-ld} -64" fi ;; esac ;; esac fi rm -rf conftest* ;; esac need_locks=$enable_libtool_lock if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}mt", so it can be a program name with args. set dummy ${ac_tool_prefix}mt; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_MANIFEST_TOOL+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$MANIFEST_TOOL"; then ac_cv_prog_MANIFEST_TOOL="$MANIFEST_TOOL" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_MANIFEST_TOOL="${ac_tool_prefix}mt" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi MANIFEST_TOOL=$ac_cv_prog_MANIFEST_TOOL if test -n "$MANIFEST_TOOL"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MANIFEST_TOOL" >&5 $as_echo "$MANIFEST_TOOL" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_MANIFEST_TOOL"; then ac_ct_MANIFEST_TOOL=$MANIFEST_TOOL # Extract the first word of "mt", so it can be a program name with args. set dummy mt; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_MANIFEST_TOOL+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_MANIFEST_TOOL"; then ac_cv_prog_ac_ct_MANIFEST_TOOL="$ac_ct_MANIFEST_TOOL" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_MANIFEST_TOOL="mt" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_MANIFEST_TOOL=$ac_cv_prog_ac_ct_MANIFEST_TOOL if test -n "$ac_ct_MANIFEST_TOOL"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MANIFEST_TOOL" >&5 $as_echo "$ac_ct_MANIFEST_TOOL" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_MANIFEST_TOOL" = x; then MANIFEST_TOOL=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac MANIFEST_TOOL=$ac_ct_MANIFEST_TOOL fi else MANIFEST_TOOL="$ac_cv_prog_MANIFEST_TOOL" fi test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $MANIFEST_TOOL is a manifest tool" >&5 $as_echo_n "checking if $MANIFEST_TOOL is a manifest tool... " >&6; } if ${lt_cv_path_mainfest_tool+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_path_mainfest_tool=no echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&5 $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out cat conftest.err >&5 if $GREP 'Manifest Tool' conftest.out > /dev/null; then lt_cv_path_mainfest_tool=yes fi rm -f conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_mainfest_tool" >&5 $as_echo "$lt_cv_path_mainfest_tool" >&6; } if test yes != "$lt_cv_path_mainfest_tool"; then MANIFEST_TOOL=: fi case $host_os in rhapsody* | darwin*) if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args. set dummy ${ac_tool_prefix}dsymutil; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_DSYMUTIL+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$DSYMUTIL"; then ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi DSYMUTIL=$ac_cv_prog_DSYMUTIL if test -n "$DSYMUTIL"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5 $as_echo "$DSYMUTIL" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_DSYMUTIL"; then ac_ct_DSYMUTIL=$DSYMUTIL # Extract the first word of "dsymutil", so it can be a program name with args. set dummy dsymutil; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_DSYMUTIL+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_DSYMUTIL"; then ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_DSYMUTIL="dsymutil" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL if test -n "$ac_ct_DSYMUTIL"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DSYMUTIL" >&5 $as_echo "$ac_ct_DSYMUTIL" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_DSYMUTIL" = x; then DSYMUTIL=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac DSYMUTIL=$ac_ct_DSYMUTIL fi else DSYMUTIL="$ac_cv_prog_DSYMUTIL" fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args. set dummy ${ac_tool_prefix}nmedit; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_NMEDIT+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$NMEDIT"; then ac_cv_prog_NMEDIT="$NMEDIT" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi NMEDIT=$ac_cv_prog_NMEDIT if test -n "$NMEDIT"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NMEDIT" >&5 $as_echo "$NMEDIT" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_NMEDIT"; then ac_ct_NMEDIT=$NMEDIT # Extract the first word of "nmedit", so it can be a program name with args. set dummy nmedit; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_NMEDIT+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_NMEDIT"; then ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_NMEDIT="nmedit" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT if test -n "$ac_ct_NMEDIT"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_NMEDIT" >&5 $as_echo "$ac_ct_NMEDIT" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_NMEDIT" = x; then NMEDIT=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac NMEDIT=$ac_ct_NMEDIT fi else NMEDIT="$ac_cv_prog_NMEDIT" fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}lipo", so it can be a program name with args. set dummy ${ac_tool_prefix}lipo; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_LIPO+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$LIPO"; then ac_cv_prog_LIPO="$LIPO" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_LIPO="${ac_tool_prefix}lipo" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi LIPO=$ac_cv_prog_LIPO if test -n "$LIPO"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIPO" >&5 $as_echo "$LIPO" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_LIPO"; then ac_ct_LIPO=$LIPO # Extract the first word of "lipo", so it can be a program name with args. set dummy lipo; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_LIPO+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_LIPO"; then ac_cv_prog_ac_ct_LIPO="$ac_ct_LIPO" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_LIPO="lipo" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_LIPO=$ac_cv_prog_ac_ct_LIPO if test -n "$ac_ct_LIPO"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_LIPO" >&5 $as_echo "$ac_ct_LIPO" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_LIPO" = x; then LIPO=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac LIPO=$ac_ct_LIPO fi else LIPO="$ac_cv_prog_LIPO" fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}otool", so it can be a program name with args. set dummy ${ac_tool_prefix}otool; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_OTOOL+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$OTOOL"; then ac_cv_prog_OTOOL="$OTOOL" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_OTOOL="${ac_tool_prefix}otool" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi OTOOL=$ac_cv_prog_OTOOL if test -n "$OTOOL"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL" >&5 $as_echo "$OTOOL" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_OTOOL"; then ac_ct_OTOOL=$OTOOL # Extract the first word of "otool", so it can be a program name with args. set dummy otool; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_OTOOL+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_OTOOL"; then ac_cv_prog_ac_ct_OTOOL="$ac_ct_OTOOL" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_OTOOL="otool" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_OTOOL=$ac_cv_prog_ac_ct_OTOOL if test -n "$ac_ct_OTOOL"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL" >&5 $as_echo "$ac_ct_OTOOL" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_OTOOL" = x; then OTOOL=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac OTOOL=$ac_ct_OTOOL fi else OTOOL="$ac_cv_prog_OTOOL" fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}otool64", so it can be a program name with args. set dummy ${ac_tool_prefix}otool64; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_OTOOL64+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$OTOOL64"; then ac_cv_prog_OTOOL64="$OTOOL64" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi OTOOL64=$ac_cv_prog_OTOOL64 if test -n "$OTOOL64"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL64" >&5 $as_echo "$OTOOL64" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_OTOOL64"; then ac_ct_OTOOL64=$OTOOL64 # Extract the first word of "otool64", so it can be a program name with args. set dummy otool64; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_OTOOL64+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_OTOOL64"; then ac_cv_prog_ac_ct_OTOOL64="$ac_ct_OTOOL64" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_OTOOL64="otool64" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_OTOOL64=$ac_cv_prog_ac_ct_OTOOL64 if test -n "$ac_ct_OTOOL64"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL64" >&5 $as_echo "$ac_ct_OTOOL64" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_OTOOL64" = x; then OTOOL64=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac OTOOL64=$ac_ct_OTOOL64 fi else OTOOL64="$ac_cv_prog_OTOOL64" fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5 $as_echo_n "checking for -single_module linker flag... " >&6; } if ${lt_cv_apple_cc_single_mod+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_apple_cc_single_mod=no if test -z "$LT_MULTI_MODULE"; then # By default we will add the -single_module flag. You can override # by either setting the environment variable LT_MULTI_MODULE # non-empty at configure time, or by adding -multi_module to the # link flags. rm -rf libconftest.dylib* echo "int foo(void){return 1;}" > conftest.c echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ -dynamiclib -Wl,-single_module conftest.c" >&5 $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ -dynamiclib -Wl,-single_module conftest.c 2>conftest.err _lt_result=$? # If there is a non-empty error log, and "single_module" # appears in it, assume the flag caused a linker warning if test -s conftest.err && $GREP single_module conftest.err; then cat conftest.err >&5 # Otherwise, if the output was created with a 0 exit code from # the compiler, it worked. elif test -f libconftest.dylib && test 0 = "$_lt_result"; then lt_cv_apple_cc_single_mod=yes else cat conftest.err >&5 fi rm -rf libconftest.dylib* rm -f conftest.* fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&5 $as_echo "$lt_cv_apple_cc_single_mod" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5 $as_echo_n "checking for -exported_symbols_list linker flag... " >&6; } if ${lt_cv_ld_exported_symbols_list+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_ld_exported_symbols_list=no save_LDFLAGS=$LDFLAGS echo "_main" > conftest.sym LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : lt_cv_ld_exported_symbols_list=yes else lt_cv_ld_exported_symbols_list=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LDFLAGS=$save_LDFLAGS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5 $as_echo "$lt_cv_ld_exported_symbols_list" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&5 $as_echo_n "checking for -force_load linker flag... " >&6; } if ${lt_cv_ld_force_load+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_ld_force_load=no cat > conftest.c << _LT_EOF int forced_loaded() { return 2;} _LT_EOF echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&5 $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&5 echo "$AR cr libconftest.a conftest.o" >&5 $AR cr libconftest.a conftest.o 2>&5 echo "$RANLIB libconftest.a" >&5 $RANLIB libconftest.a 2>&5 cat > conftest.c << _LT_EOF int main() { return 0;} _LT_EOF echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&5 $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err _lt_result=$? if test -s conftest.err && $GREP force_load conftest.err; then cat conftest.err >&5 elif test -f conftest && test 0 = "$_lt_result" && $GREP forced_load conftest >/dev/null 2>&1; then lt_cv_ld_force_load=yes else cat conftest.err >&5 fi rm -f conftest.err libconftest.a conftest conftest.c rm -rf conftest.dSYM fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_force_load" >&5 $as_echo "$lt_cv_ld_force_load" >&6; } case $host_os in rhapsody* | darwin1.[012]) _lt_dar_allow_undefined='$wl-undefined ${wl}suppress' ;; darwin1.*) _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; darwin*) # darwin 5.x on # if running on 10.5 or later, the deployment target defaults # to the OS version, if on x86, and 10.4, the deployment # target defaults to 10.4. Don't you love it? case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in 10.0,*86*-darwin8*|10.0,*-darwin[91]*) _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;; 10.[012][,.]*) _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; 10.*) _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;; esac ;; esac if test yes = "$lt_cv_apple_cc_single_mod"; then _lt_dar_single_mod='$single_module' fi if test yes = "$lt_cv_ld_exported_symbols_list"; then _lt_dar_export_syms=' $wl-exported_symbols_list,$output_objdir/$libname-symbols.expsym' else _lt_dar_export_syms='~$NMEDIT -s $output_objdir/$libname-symbols.expsym $lib' fi if test : != "$DSYMUTIL" && test no = "$lt_cv_ld_force_load"; then _lt_dsymutil='~$DSYMUTIL $lib || :' else _lt_dsymutil= fi ;; esac # func_munge_path_list VARIABLE PATH # ----------------------------------- # VARIABLE is name of variable containing _space_ separated list of # directories to be munged by the contents of PATH, which is string # having a format: # "DIR[:DIR]:" # string "DIR[ DIR]" will be prepended to VARIABLE # ":DIR[:DIR]" # string "DIR[ DIR]" will be appended to VARIABLE # "DIRP[:DIRP]::[DIRA:]DIRA" # string "DIRP[ DIRP]" will be prepended to VARIABLE and string # "DIRA[ DIRA]" will be appended to VARIABLE # "DIR[:DIR]" # VARIABLE will be replaced by "DIR[ DIR]" func_munge_path_list () { case x$2 in x) ;; *:) eval $1=\"`$ECHO $2 | $SED 's/:/ /g'` \$$1\" ;; x:*) eval $1=\"\$$1 `$ECHO $2 | $SED 's/:/ /g'`\" ;; *::*) eval $1=\"\$$1\ `$ECHO $2 | $SED -e 's/.*:://' -e 's/:/ /g'`\" eval $1=\"`$ECHO $2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \$$1\" ;; *) eval $1=\"`$ECHO $2 | $SED 's/:/ /g'`\" ;; esac } for ac_header in dlfcn.h do : ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default " if test "x$ac_cv_header_dlfcn_h" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_DLFCN_H 1 _ACEOF fi done func_stripname_cnf () { case $2 in .*) func_stripname_result=`$ECHO "$3" | $SED "s%^$1%%; s%\\\\$2\$%%"`;; *) func_stripname_result=`$ECHO "$3" | $SED "s%^$1%%; s%$2\$%%"`;; esac } # func_stripname_cnf # Set options enable_dlopen=no enable_win32_dll=no # Check whether --enable-shared was given. if test "${enable_shared+set}" = set; then : enableval=$enable_shared; p=${PACKAGE-default} case $enableval in yes) enable_shared=yes ;; no) enable_shared=no ;; *) enable_shared=no # Look at the argument we got. We use all the common list separators. lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, for pkg in $enableval; do IFS=$lt_save_ifs if test "X$pkg" = "X$p"; then enable_shared=yes fi done IFS=$lt_save_ifs ;; esac else enable_shared=yes fi # Check whether --enable-static was given. if test "${enable_static+set}" = set; then : enableval=$enable_static; p=${PACKAGE-default} case $enableval in yes) enable_static=yes ;; no) enable_static=no ;; *) enable_static=no # Look at the argument we got. We use all the common list separators. lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, for pkg in $enableval; do IFS=$lt_save_ifs if test "X$pkg" = "X$p"; then enable_static=yes fi done IFS=$lt_save_ifs ;; esac else enable_static=yes fi # Check whether --with-pic was given. if test "${with_pic+set}" = set; then : withval=$with_pic; lt_p=${PACKAGE-default} case $withval in yes|no) pic_mode=$withval ;; *) pic_mode=default # Look at the argument we got. We use all the common list separators. lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, for lt_pkg in $withval; do IFS=$lt_save_ifs if test "X$lt_pkg" = "X$lt_p"; then pic_mode=yes fi done IFS=$lt_save_ifs ;; esac else pic_mode=default fi # Check whether --enable-fast-install was given. if test "${enable_fast_install+set}" = set; then : enableval=$enable_fast_install; p=${PACKAGE-default} case $enableval in yes) enable_fast_install=yes ;; no) enable_fast_install=no ;; *) enable_fast_install=no # Look at the argument we got. We use all the common list separators. lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, for pkg in $enableval; do IFS=$lt_save_ifs if test "X$pkg" = "X$p"; then enable_fast_install=yes fi done IFS=$lt_save_ifs ;; esac else enable_fast_install=yes fi shared_archive_member_spec= case $host,$enable_shared in power*-*-aix[5-9]*,yes) { $as_echo "$as_me:${as_lineno-$LINENO}: checking which variant of shared library versioning to provide" >&5 $as_echo_n "checking which variant of shared library versioning to provide... " >&6; } # Check whether --with-aix-soname was given. if test "${with_aix_soname+set}" = set; then : withval=$with_aix_soname; case $withval in aix|svr4|both) ;; *) as_fn_error $? "Unknown argument to --with-aix-soname" "$LINENO" 5 ;; esac lt_cv_with_aix_soname=$with_aix_soname else if ${lt_cv_with_aix_soname+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_with_aix_soname=aix fi with_aix_soname=$lt_cv_with_aix_soname fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_aix_soname" >&5 $as_echo "$with_aix_soname" >&6; } if test aix != "$with_aix_soname"; then # For the AIX way of multilib, we name the shared archive member # based on the bitwidth used, traditionally 'shr.o' or 'shr_64.o', # and 'shr.imp' or 'shr_64.imp', respectively, for the Import File. # Even when GNU compilers ignore OBJECT_MODE but need '-maix64' flag, # the AIX toolchain works better with OBJECT_MODE set (default 32). if test 64 = "${OBJECT_MODE-32}"; then shared_archive_member_spec=shr_64 else shared_archive_member_spec=shr fi fi ;; *) with_aix_soname=aix ;; esac # This can be used to rebuild libtool when needed LIBTOOL_DEPS=$ltmain # Always use our own libtool. LIBTOOL='$(SHELL) $(top_builddir)/libtool' test -z "$LN_S" && LN_S="ln -s" if test -n "${ZSH_VERSION+set}"; then setopt NO_GLOB_SUBST fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5 $as_echo_n "checking for objdir... " >&6; } if ${lt_cv_objdir+:} false; then : $as_echo_n "(cached) " >&6 else rm -f .libs 2>/dev/null mkdir .libs 2>/dev/null if test -d .libs; then lt_cv_objdir=.libs else # MS-DOS does not allow filenames that begin with a dot. lt_cv_objdir=_libs fi rmdir .libs 2>/dev/null fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_objdir" >&5 $as_echo "$lt_cv_objdir" >&6; } objdir=$lt_cv_objdir cat >>confdefs.h <<_ACEOF #define LT_OBJDIR "$lt_cv_objdir/" _ACEOF case $host_os in aix3*) # AIX sometimes has problems with the GCC collect2 program. For some # reason, if we set the COLLECT_NAMES environment variable, the problems # vanish in a puff of smoke. if test set != "${COLLECT_NAMES+set}"; then COLLECT_NAMES= export COLLECT_NAMES fi ;; esac # Global variables: ofile=libtool can_build_shared=yes # All known linkers require a '.a' archive for static linking (except MSVC, # which needs '.lib'). libext=a with_gnu_ld=$lt_cv_prog_gnu_ld old_CC=$CC old_CFLAGS=$CFLAGS # Set sane defaults for various variables test -z "$CC" && CC=cc test -z "$LTCC" && LTCC=$CC test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS test -z "$LD" && LD=ld test -z "$ac_objext" && ac_objext=o func_cc_basename $compiler cc_basename=$func_cc_basename_result # Only perform the check for file, if the check method requires it test -z "$MAGIC_CMD" && MAGIC_CMD=file case $deplibs_check_method in file_magic*) if test "$file_magic_cmd" = '$MAGIC_CMD'; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5 $as_echo_n "checking for ${ac_tool_prefix}file... " >&6; } if ${lt_cv_path_MAGIC_CMD+:} false; then : $as_echo_n "(cached) " >&6 else case $MAGIC_CMD in [\\/*] | ?:[\\/]*) lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path. ;; *) lt_save_MAGIC_CMD=$MAGIC_CMD lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" for ac_dir in $ac_dummy; do IFS=$lt_save_ifs test -z "$ac_dir" && ac_dir=. if test -f "$ac_dir/${ac_tool_prefix}file"; then lt_cv_path_MAGIC_CMD=$ac_dir/"${ac_tool_prefix}file" if test -n "$file_magic_test_file"; then case $deplibs_check_method in "file_magic "*) file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` MAGIC_CMD=$lt_cv_path_MAGIC_CMD if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | $EGREP "$file_magic_regex" > /dev/null; then : else cat <<_LT_EOF 1>&2 *** Warning: the command libtool uses to detect shared libraries, *** $file_magic_cmd, produces output that libtool cannot recognize. *** The result is that libtool may fail to recognize shared libraries *** as such. This will affect the creation of libtool libraries that *** depend on shared libraries, but programs linked with such libtool *** libraries will work regardless of this problem. Nevertheless, you *** may want to report the problem to your system manager and/or to *** bug-libtool@gnu.org _LT_EOF fi ;; esac fi break fi done IFS=$lt_save_ifs MAGIC_CMD=$lt_save_MAGIC_CMD ;; esac fi MAGIC_CMD=$lt_cv_path_MAGIC_CMD if test -n "$MAGIC_CMD"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 $as_echo "$MAGIC_CMD" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test -z "$lt_cv_path_MAGIC_CMD"; then if test -n "$ac_tool_prefix"; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for file" >&5 $as_echo_n "checking for file... " >&6; } if ${lt_cv_path_MAGIC_CMD+:} false; then : $as_echo_n "(cached) " >&6 else case $MAGIC_CMD in [\\/*] | ?:[\\/]*) lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path. ;; *) lt_save_MAGIC_CMD=$MAGIC_CMD lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" for ac_dir in $ac_dummy; do IFS=$lt_save_ifs test -z "$ac_dir" && ac_dir=. if test -f "$ac_dir/file"; then lt_cv_path_MAGIC_CMD=$ac_dir/"file" if test -n "$file_magic_test_file"; then case $deplibs_check_method in "file_magic "*) file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` MAGIC_CMD=$lt_cv_path_MAGIC_CMD if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | $EGREP "$file_magic_regex" > /dev/null; then : else cat <<_LT_EOF 1>&2 *** Warning: the command libtool uses to detect shared libraries, *** $file_magic_cmd, produces output that libtool cannot recognize. *** The result is that libtool may fail to recognize shared libraries *** as such. This will affect the creation of libtool libraries that *** depend on shared libraries, but programs linked with such libtool *** libraries will work regardless of this problem. Nevertheless, you *** may want to report the problem to your system manager and/or to *** bug-libtool@gnu.org _LT_EOF fi ;; esac fi break fi done IFS=$lt_save_ifs MAGIC_CMD=$lt_save_MAGIC_CMD ;; esac fi MAGIC_CMD=$lt_cv_path_MAGIC_CMD if test -n "$MAGIC_CMD"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 $as_echo "$MAGIC_CMD" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi else MAGIC_CMD=: fi fi fi ;; esac # Use C for the default configuration in the libtool script lt_save_CC=$CC ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu # Source file extension for C test sources. ac_ext=c # Object file extension for compiled C test sources. objext=o objext=$objext # Code to be used in simple compile tests lt_simple_compile_test_code="int some_variable = 0;" # Code to be used in simple link tests lt_simple_link_test_code='int main(){return(0);}' # If no C compiler was specified, use CC. LTCC=${LTCC-"$CC"} # If no C compiler flags were specified, use CFLAGS. LTCFLAGS=${LTCFLAGS-"$CFLAGS"} # Allow CC to be a program name with arguments. compiler=$CC # Save the default compiler, since it gets overwritten when the other # tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP. compiler_DEFAULT=$CC # save warnings/boilerplate of simple test code ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" >conftest.$ac_ext eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_compiler_boilerplate=`cat conftest.err` $RM conftest* ac_outfile=conftest.$ac_objext echo "$lt_simple_link_test_code" >conftest.$ac_ext eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_linker_boilerplate=`cat conftest.err` $RM -r conftest* ## CAVEAT EMPTOR: ## There is no encapsulation within the following macros, do not change ## the running order or otherwise move them around unless you know exactly ## what you are doing... if test -n "$compiler"; then lt_prog_compiler_no_builtin_flag= if test yes = "$GCC"; then case $cc_basename in nvcc*) lt_prog_compiler_no_builtin_flag=' -Xcompiler -fno-builtin' ;; *) lt_prog_compiler_no_builtin_flag=' -fno-builtin' ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 $as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; } if ${lt_cv_prog_compiler_rtti_exceptions+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_rtti_exceptions=no ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="-fno-rtti -fno-exceptions" ## exclude from sc_useless_quotes_in_assignment # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. # The option is referenced via a variable to avoid confusing sed. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then lt_cv_prog_compiler_rtti_exceptions=yes fi fi $RM conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 $as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; } if test yes = "$lt_cv_prog_compiler_rtti_exceptions"; then lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions" else : fi fi lt_prog_compiler_wl= lt_prog_compiler_pic= lt_prog_compiler_static= if test yes = "$GCC"; then lt_prog_compiler_wl='-Wl,' lt_prog_compiler_static='-static' case $host_os in aix*) # All AIX code is PIC. if test ia64 = "$host_cpu"; then # AIX 5 now supports IA64 processor lt_prog_compiler_static='-Bstatic' fi lt_prog_compiler_pic='-fPIC' ;; amigaos*) case $host_cpu in powerpc) # see comment about AmigaOS4 .so support lt_prog_compiler_pic='-fPIC' ;; m68k) # FIXME: we need at least 68020 code to build shared libraries, but # adding the '-m68020' flag to GCC prevents building anything better, # like '-m68040'. lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4' ;; esac ;; beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) # PIC is the default for these OSes. ;; mingw* | cygwin* | pw32* | os2* | cegcc*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). # Although the cygwin gcc ignores -fPIC, still need this for old-style # (--disable-auto-import) libraries lt_prog_compiler_pic='-DDLL_EXPORT' case $host_os in os2*) lt_prog_compiler_static='$wl-static' ;; esac ;; darwin* | rhapsody*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files lt_prog_compiler_pic='-fno-common' ;; haiku*) # PIC is the default for Haiku. # The "-static" flag exists, but is broken. lt_prog_compiler_static= ;; hpux*) # PIC is the default for 64-bit PA HP-UX, but not for 32-bit # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag # sets the default TLS model and affects inlining. case $host_cpu in hppa*64*) # +Z the default ;; *) lt_prog_compiler_pic='-fPIC' ;; esac ;; interix[3-9]*) # Interix 3.x gcc -fpic/-fPIC options generate broken code. # Instead, we relocate shared libraries at runtime. ;; msdosdjgpp*) # Just because we use GCC doesn't mean we suddenly get shared libraries # on systems that don't support them. lt_prog_compiler_can_build_shared=no enable_shared=no ;; *nto* | *qnx*) # QNX uses GNU C++, but need to define -shared option too, otherwise # it will coredump. lt_prog_compiler_pic='-fPIC -shared' ;; sysv4*MP*) if test -d /usr/nec; then lt_prog_compiler_pic=-Kconform_pic fi ;; *) lt_prog_compiler_pic='-fPIC' ;; esac case $cc_basename in nvcc*) # Cuda Compiler Driver 2.2 lt_prog_compiler_wl='-Xlinker ' if test -n "$lt_prog_compiler_pic"; then lt_prog_compiler_pic="-Xcompiler $lt_prog_compiler_pic" fi ;; esac else # PORTME Check for flag to pass linker flags through the system compiler. case $host_os in aix*) lt_prog_compiler_wl='-Wl,' if test ia64 = "$host_cpu"; then # AIX 5 now supports IA64 processor lt_prog_compiler_static='-Bstatic' else lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp' fi ;; darwin* | rhapsody*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files lt_prog_compiler_pic='-fno-common' case $cc_basename in nagfor*) # NAG Fortran compiler lt_prog_compiler_wl='-Wl,-Wl,,' lt_prog_compiler_pic='-PIC' lt_prog_compiler_static='-Bstatic' ;; esac ;; mingw* | cygwin* | pw32* | os2* | cegcc*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). lt_prog_compiler_pic='-DDLL_EXPORT' case $host_os in os2*) lt_prog_compiler_static='$wl-static' ;; esac ;; hpux9* | hpux10* | hpux11*) lt_prog_compiler_wl='-Wl,' # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but # not for PA HP-UX. case $host_cpu in hppa*64*|ia64*) # +Z the default ;; *) lt_prog_compiler_pic='+Z' ;; esac # Is there a better lt_prog_compiler_static that works with the bundled CC? lt_prog_compiler_static='$wl-a ${wl}archive' ;; irix5* | irix6* | nonstopux*) lt_prog_compiler_wl='-Wl,' # PIC (with -KPIC) is the default. lt_prog_compiler_static='-non_shared' ;; linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) case $cc_basename in # old Intel for x86_64, which still supported -KPIC. ecc*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-static' ;; # flang / f18. f95 an alias for gfortran or flang on Debian flang* | f18* | f95*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-fPIC' lt_prog_compiler_static='-static' ;; # icc used to be incompatible with GCC. # ICC 10 doesn't accept -KPIC any more. icc* | ifort*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-fPIC' lt_prog_compiler_static='-static' ;; # Lahey Fortran 8.1. lf95*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='--shared' lt_prog_compiler_static='--static' ;; nagfor*) # NAG Fortran compiler lt_prog_compiler_wl='-Wl,-Wl,,' lt_prog_compiler_pic='-PIC' lt_prog_compiler_static='-Bstatic' ;; tcc*) # Fabrice Bellard et al's Tiny C Compiler lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-fPIC' lt_prog_compiler_static='-static' ;; pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*) # Portland Group compilers (*not* the Pentium gcc compiler, # which looks to be a dead project) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-fpic' lt_prog_compiler_static='-Bstatic' ;; ccc*) lt_prog_compiler_wl='-Wl,' # All Alpha code is PIC. lt_prog_compiler_static='-non_shared' ;; xl* | bgxl* | bgf* | mpixl*) # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-qpic' lt_prog_compiler_static='-qstaticlink' ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [1-7].* | *Sun*Fortran*\ 8.[0-3]*) # Sun Fortran 8.3 passes all unrecognized flags to the linker lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' lt_prog_compiler_wl='' ;; *Sun\ F* | *Sun*Fortran*) lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' lt_prog_compiler_wl='-Qoption ld ' ;; *Sun\ C*) # Sun C 5.9 lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' lt_prog_compiler_wl='-Wl,' ;; *Intel*\ [CF]*Compiler*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-fPIC' lt_prog_compiler_static='-static' ;; *Portland\ Group*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-fpic' lt_prog_compiler_static='-Bstatic' ;; esac ;; esac ;; newsos6) lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' ;; *nto* | *qnx*) # QNX uses GNU C++, but need to define -shared option too, otherwise # it will coredump. lt_prog_compiler_pic='-fPIC -shared' ;; osf3* | osf4* | osf5*) lt_prog_compiler_wl='-Wl,' # All OSF/1 code is PIC. lt_prog_compiler_static='-non_shared' ;; rdos*) lt_prog_compiler_static='-non_shared' ;; solaris*) lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' case $cc_basename in f77* | f90* | f95* | sunf77* | sunf90* | sunf95*) lt_prog_compiler_wl='-Qoption ld ';; *) lt_prog_compiler_wl='-Wl,';; esac ;; sunos4*) lt_prog_compiler_wl='-Qoption ld ' lt_prog_compiler_pic='-PIC' lt_prog_compiler_static='-Bstatic' ;; sysv4 | sysv4.2uw2* | sysv4.3*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' ;; sysv4*MP*) if test -d /usr/nec; then lt_prog_compiler_pic='-Kconform_pic' lt_prog_compiler_static='-Bstatic' fi ;; sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' ;; unicos*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_can_build_shared=no ;; uts4*) lt_prog_compiler_pic='-pic' lt_prog_compiler_static='-Bstatic' ;; *) lt_prog_compiler_can_build_shared=no ;; esac fi case $host_os in # For platforms that do not support PIC, -DPIC is meaningless: *djgpp*) lt_prog_compiler_pic= ;; *) lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC" ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5 $as_echo_n "checking for $compiler option to produce PIC... " >&6; } if ${lt_cv_prog_compiler_pic+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_pic=$lt_prog_compiler_pic fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic" >&5 $as_echo "$lt_cv_prog_compiler_pic" >&6; } lt_prog_compiler_pic=$lt_cv_prog_compiler_pic # # Check to make sure the PIC flag actually works. # if test -n "$lt_prog_compiler_pic"; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5 $as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; } if ${lt_cv_prog_compiler_pic_works+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_pic_works=no ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="$lt_prog_compiler_pic -DPIC" ## exclude from sc_useless_quotes_in_assignment # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. # The option is referenced via a variable to avoid confusing sed. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then lt_cv_prog_compiler_pic_works=yes fi fi $RM conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works" >&5 $as_echo "$lt_cv_prog_compiler_pic_works" >&6; } if test yes = "$lt_cv_prog_compiler_pic_works"; then case $lt_prog_compiler_pic in "" | " "*) ;; *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;; esac else lt_prog_compiler_pic= lt_prog_compiler_can_build_shared=no fi fi # # Check to make sure the static flag actually works. # wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\" { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5 $as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } if ${lt_cv_prog_compiler_static_works+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_static_works=no save_LDFLAGS=$LDFLAGS LDFLAGS="$LDFLAGS $lt_tmp_static_flag" echo "$lt_simple_link_test_code" > conftest.$ac_ext if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then # The linker can only warn and ignore the option if not recognized # So say no if there are warnings if test -s conftest.err; then # Append any errors to the config.log. cat conftest.err 1>&5 $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if diff conftest.exp conftest.er2 >/dev/null; then lt_cv_prog_compiler_static_works=yes fi else lt_cv_prog_compiler_static_works=yes fi fi $RM -r conftest* LDFLAGS=$save_LDFLAGS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works" >&5 $as_echo "$lt_cv_prog_compiler_static_works" >&6; } if test yes = "$lt_cv_prog_compiler_static_works"; then : else lt_prog_compiler_static= fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 $as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } if ${lt_cv_prog_compiler_c_o+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_c_o=no $RM -r conftest 2>/dev/null mkdir conftest cd conftest mkdir out echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="-o out/conftest2.$ac_objext" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then lt_cv_prog_compiler_c_o=yes fi fi chmod u+w . 2>&5 $RM conftest* # SGI C++ compiler will create directory out/ii_files/ for # template instantiation test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files $RM out/* && rmdir out cd .. $RM -r conftest $RM conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5 $as_echo "$lt_cv_prog_compiler_c_o" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 $as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } if ${lt_cv_prog_compiler_c_o+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_c_o=no $RM -r conftest 2>/dev/null mkdir conftest cd conftest mkdir out echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="-o out/conftest2.$ac_objext" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then lt_cv_prog_compiler_c_o=yes fi fi chmod u+w . 2>&5 $RM conftest* # SGI C++ compiler will create directory out/ii_files/ for # template instantiation test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files $RM out/* && rmdir out cd .. $RM -r conftest $RM conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5 $as_echo "$lt_cv_prog_compiler_c_o" >&6; } hard_links=nottested if test no = "$lt_cv_prog_compiler_c_o" && test no != "$need_locks"; then # do not overwrite the value of need_locks provided by the user { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5 $as_echo_n "checking if we can lock with hard links... " >&6; } hard_links=yes $RM conftest* ln conftest.a conftest.b 2>/dev/null && hard_links=no touch conftest.a ln conftest.a conftest.b 2>&5 || hard_links=no ln conftest.a conftest.b 2>/dev/null && hard_links=no { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5 $as_echo "$hard_links" >&6; } if test no = "$hard_links"; then { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&5 $as_echo "$as_me: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&2;} need_locks=warn fi else need_locks=no fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 $as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } runpath_var= allow_undefined_flag= always_export_symbols=no archive_cmds= archive_expsym_cmds= compiler_needs_object=no enable_shared_with_static_runtimes=no export_dynamic_flag_spec= export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' hardcode_automatic=no hardcode_direct=no hardcode_direct_absolute=no hardcode_libdir_flag_spec= hardcode_libdir_separator= hardcode_minus_L=no hardcode_shlibpath_var=unsupported inherit_rpath=no link_all_deplibs=unknown module_cmds= module_expsym_cmds= old_archive_from_new_cmds= old_archive_from_expsyms_cmds= thread_safe_flag_spec= whole_archive_flag_spec= # include_expsyms should be a list of space-separated symbols to be *always* # included in the symbol list include_expsyms= # exclude_expsyms can be an extended regexp of symbols to exclude # it will be wrapped by ' (' and ')$', so one must not match beginning or # end of line. Example: 'a|bc|.*d.*' will exclude the symbols 'a' and 'bc', # as well as any symbol that contains 'd'. exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*' # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out # platforms (ab)use it in PIC code, but their linkers get confused if # the symbol is explicitly referenced. Since portable code cannot # rely on this symbol name, it's probably fine to never include it in # preloaded symbol tables. # Exclude shared library initialization/finalization symbols. extract_expsyms_cmds= case $host_os in cygwin* | mingw* | pw32* | cegcc*) # FIXME: the MSVC++ port hasn't been tested in a loooong time # When not using gcc, we currently assume that we are using # Microsoft Visual C++. if test yes != "$GCC"; then with_gnu_ld=no fi ;; interix*) # we just hope/assume this is gcc and not c89 (= MSVC++) with_gnu_ld=yes ;; openbsd* | bitrig*) with_gnu_ld=no ;; linux* | k*bsd*-gnu | gnu*) link_all_deplibs=no ;; esac ld_shlibs=yes # On some targets, GNU ld is compatible enough with the native linker # that we're better off using the native interface for both. lt_use_gnu_ld_interface=no if test yes = "$with_gnu_ld"; then case $host_os in aix*) # The AIX port of GNU ld has always aspired to compatibility # with the native linker. However, as the warning in the GNU ld # block says, versions before 2.19.5* couldn't really create working # shared libraries, regardless of the interface used. case `$LD -v 2>&1` in *\ \(GNU\ Binutils\)\ 2.19.5*) ;; *\ \(GNU\ Binutils\)\ 2.[2-9]*) ;; *\ \(GNU\ Binutils\)\ [3-9]*) ;; *) lt_use_gnu_ld_interface=yes ;; esac ;; *) lt_use_gnu_ld_interface=yes ;; esac fi if test yes = "$lt_use_gnu_ld_interface"; then # If archive_cmds runs LD, not CC, wlarc should be empty wlarc='$wl' # Set some defaults for GNU ld with shared library support. These # are reset later if shared libraries are not supported. Putting them # here allows them to be overridden if necessary. runpath_var=LD_RUN_PATH hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' export_dynamic_flag_spec='$wl--export-dynamic' # ancient GNU ld didn't support --whole-archive et. al. if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then whole_archive_flag_spec=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' else whole_archive_flag_spec= fi supports_anon_versioning=no case `$LD -v | $SED -e 's/(^)\+)\s\+//' 2>&1` in *GNU\ gold*) supports_anon_versioning=yes ;; *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... *\ 2.11.*) ;; # other 2.11 versions *) supports_anon_versioning=yes ;; esac # See if GNU ld supports shared libraries. case $host_os in aix[3-9]*) # On AIX/PPC, the GNU linker is very broken if test ia64 != "$host_cpu"; then ld_shlibs=no cat <<_LT_EOF 1>&2 *** Warning: the GNU linker, at least up to release 2.19, is reported *** to be unable to reliably create shared libraries on AIX. *** Therefore, libtool is disabling shared libraries support. If you *** really care for shared libraries, you may want to install binutils *** 2.20 or above, or modify your PATH so that a non-GNU linker is found. *** You will then need to restart the configuration process. _LT_EOF fi ;; amigaos*) case $host_cpu in powerpc) # see comment about AmigaOS4 .so support archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' archive_expsym_cmds='' ;; m68k) archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes ;; esac ;; beos*) if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then allow_undefined_flag=unsupported # Joseph Beckenbach says some releases of gcc # support --undefined. This deserves some investigation. FIXME archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' else ld_shlibs=no fi ;; cygwin* | mingw* | pw32* | cegcc*) # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless, # as there is no search path for DLLs. hardcode_libdir_flag_spec='-L$libdir' export_dynamic_flag_spec='$wl--export-all-symbols' allow_undefined_flag=unsupported always_export_symbols=no enable_shared_with_static_runtimes=yes export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols' exclude_expsyms='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname' if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' # If the export-symbols file already is a .def file, use it as # is; otherwise, prepend EXPORTS... archive_expsym_cmds='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then cp $export_symbols $output_objdir/$soname.def; else echo EXPORTS > $output_objdir/$soname.def; cat $export_symbols >> $output_objdir/$soname.def; fi~ $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' else ld_shlibs=no fi ;; haiku*) archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' link_all_deplibs=yes ;; os2*) hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes allow_undefined_flag=unsupported shrext_cmds=.dll archive_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ $ECHO EXPORTS >> $output_objdir/$libname.def~ emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ emximp -o $lib $output_objdir/$libname.def' archive_expsym_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ $ECHO EXPORTS >> $output_objdir/$libname.def~ prefix_cmds="$SED"~ if test EXPORTS = "`$SED 1q $export_symbols`"; then prefix_cmds="$prefix_cmds -e 1d"; fi~ prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ emximp -o $lib $output_objdir/$libname.def' old_archive_From_new_cmds='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' enable_shared_with_static_runtimes=yes ;; interix[3-9]*) hardcode_direct=no hardcode_shlibpath_var=no hardcode_libdir_flag_spec='$wl-rpath,$libdir' export_dynamic_flag_spec='$wl-E' # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. # Instead, shared libraries are loaded at an image base (0x10000000 by # default) and relocated if they conflict, which is a slow very memory # consuming and fragmenting process. To avoid this, we pick a random, # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link # time. Moving up from 0x10000000 also allows more sbrk(2) space. archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' archive_expsym_cmds='sed "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' ;; gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) tmp_diet=no if test linux-dietlibc = "$host_os"; then case $cc_basename in diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn) esac fi if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ && test no = "$tmp_diet" then tmp_addflag=' $pic_flag' tmp_sharedflag='-shared' case $cc_basename,$host_cpu in pgcc*) # Portland Group C compiler whole_archive_flag_spec='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' tmp_addflag=' $pic_flag' ;; pgf77* | pgf90* | pgf95* | pgfortran*) # Portland Group f77 and f90 compilers whole_archive_flag_spec='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' tmp_addflag=' $pic_flag -Mnomain' ;; ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 tmp_addflag=' -i_dynamic' ;; efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 tmp_addflag=' -i_dynamic -nofor_main' ;; ifc* | ifort*) # Intel Fortran compiler tmp_addflag=' -nofor_main' ;; lf95*) # Lahey Fortran 8.1 whole_archive_flag_spec= tmp_sharedflag='--shared' ;; nagfor*) # NAGFOR 5.3 tmp_sharedflag='-Wl,-shared' ;; xl[cC]* | bgxl[cC]* | mpixl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below) tmp_sharedflag='-qmkshrobj' tmp_addflag= ;; nvcc*) # Cuda Compiler Driver 2.2 whole_archive_flag_spec='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' compiler_needs_object=yes ;; esac case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C 5.9 whole_archive_flag_spec='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' compiler_needs_object=yes tmp_sharedflag='-G' ;; *Sun\ F*) # Sun Fortran 8.3 tmp_sharedflag='-G' ;; esac archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' if test yes = "$supports_anon_versioning"; then archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ echo "local: *; };" >> $output_objdir/$libname.ver~ $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib' fi case $cc_basename in tcc*) export_dynamic_flag_spec='-rdynamic' ;; xlf* | bgf* | bgxlf* | mpixlf*) # IBM XL Fortran 10.1 on PPC cannot create shared libs itself whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive' hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib' if test yes = "$supports_anon_versioning"; then archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ echo "local: *; };" >> $output_objdir/$libname.ver~ $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' fi ;; esac else ld_shlibs=no fi ;; netbsd* | netbsdelf*-gnu) if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' wlarc= else archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' fi ;; solaris*) if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then ld_shlibs=no cat <<_LT_EOF 1>&2 *** Warning: The releases 2.8.* of the GNU linker cannot reliably *** create shared libraries on Solaris systems. Therefore, libtool *** is disabling shared libraries support. We urge you to upgrade GNU *** binutils to release 2.9.1 or newer. Another option is to modify *** your PATH or compiler configuration so that the native linker is *** used, and then restart. _LT_EOF elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' else ld_shlibs=no fi ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) case `$LD -v 2>&1` in *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) ld_shlibs=no cat <<_LT_EOF 1>&2 *** Warning: Releases of the GNU linker prior to 2.16.91.0.3 cannot *** reliably create shared libraries on SCO systems. Therefore, libtool *** is disabling shared libraries support. We urge you to upgrade GNU *** binutils to release 2.16.91.0.3 or newer. Another option is to modify *** your PATH or compiler configuration so that the native linker is *** used, and then restart. _LT_EOF ;; *) # For security reasons, it is highly recommended that you always # use absolute paths for naming shared libraries, and exclude the # DT_RUNPATH tag from executables and libraries. But doing so # requires that you compile everything twice, which is a pain. if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' else ld_shlibs=no fi ;; esac ;; sunos4*) archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' wlarc= hardcode_direct=yes hardcode_shlibpath_var=no ;; *) if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' else ld_shlibs=no fi ;; esac if test no = "$ld_shlibs"; then runpath_var= hardcode_libdir_flag_spec= export_dynamic_flag_spec= whole_archive_flag_spec= fi else # PORTME fill in a description of your system's linker (not GNU ld) case $host_os in aix3*) allow_undefined_flag=unsupported always_export_symbols=yes archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' # Note: this linker hardcodes the directories in LIBPATH if there # are no directories specified by -L. hardcode_minus_L=yes if test yes = "$GCC" && test -z "$lt_prog_compiler_static"; then # Neither direct hardcoding nor static linking is supported with a # broken collect2. hardcode_direct=unsupported fi ;; aix[4-9]*) if test ia64 = "$host_cpu"; then # On IA64, the linker does run time linking by default, so we don't # have to do anything special. aix_use_runtimelinking=no exp_sym_flag='-Bexport' no_entry_flag= else # If we're using GNU nm, then we don't want the "-C" option. # -C means demangle to GNU nm, but means don't demangle to AIX nm. # Without the "-l" option, or with the "-B" option, AIX nm treats # weak defined symbols like other global defined symbols, whereas # GNU nm marks them as "W". # While the 'weak' keyword is ignored in the Export File, we need # it in the Import File for the 'aix-soname' feature, so we have # to replace the "-B" option with "-P" for AIX nm. if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols' else export_symbols_cmds='`func_echo_all $NM | $SED -e '\''s/B\([^B]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && (substr(\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols' fi aix_use_runtimelinking=no # Test if we are trying to use run time linking or normal # AIX style linking. If -brtl is somewhere in LDFLAGS, we # have runtime linking enabled, and use it for executables. # For shared libraries, we enable/disable runtime linking # depending on the kind of the shared library created - # when "with_aix_soname,aix_use_runtimelinking" is: # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables # "aix,yes" lib.so shared, rtl:yes, for executables # lib.a static archive # "both,no" lib.so.V(shr.o) shared, rtl:yes # lib.a(lib.so.V) shared, rtl:no, for executables # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables # lib.a(lib.so.V) shared, rtl:no # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables # lib.a static archive case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) for ld_flag in $LDFLAGS; do if (test x-brtl = "x$ld_flag" || test x-Wl,-brtl = "x$ld_flag"); then aix_use_runtimelinking=yes break fi done if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then # With aix-soname=svr4, we create the lib.so.V shared archives only, # so we don't have lib.a shared libs to link our executables. # We have to force runtime linking in this case. aix_use_runtimelinking=yes LDFLAGS="$LDFLAGS -Wl,-brtl" fi ;; esac exp_sym_flag='-bexport' no_entry_flag='-bnoentry' fi # When large executables or shared objects are built, AIX ld can # have problems creating the table of contents. If linking a library # or program results in "error TOC overflow" add -mminimal-toc to # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. archive_cmds='' hardcode_direct=yes hardcode_direct_absolute=yes hardcode_libdir_separator=':' link_all_deplibs=yes file_list_spec='$wl-f,' case $with_aix_soname,$aix_use_runtimelinking in aix,*) ;; # traditional, no import file svr4,* | *,yes) # use import file # The Import File defines what to hardcode. hardcode_direct=no hardcode_direct_absolute=no ;; esac if test yes = "$GCC"; then case $host_os in aix4.[012]|aix4.[012].*) # We only want to do this on AIX 4.2 and lower, the check # below for broken collect2 doesn't work under 4.3+ collect2name=`$CC -print-prog-name=collect2` if test -f "$collect2name" && strings "$collect2name" | $GREP resolve_lib_name >/dev/null then # We have reworked collect2 : else # We have old collect2 hardcode_direct=unsupported # It fails to find uninstalled libraries when the uninstalled # path is not listed in the libpath. Setting hardcode_minus_L # to unsupported forces relinking hardcode_minus_L=yes hardcode_libdir_flag_spec='-L$libdir' hardcode_libdir_separator= fi ;; esac shared_flag='-shared' if test yes = "$aix_use_runtimelinking"; then shared_flag="$shared_flag "'$wl-G' fi # Need to ensure runtime linking is disabled for the traditional # shared library, or the linker may eventually find shared libraries # /with/ Import File - we do not want to mix them. shared_flag_aix='-shared' shared_flag_svr4='-shared $wl-G' else # not using gcc if test ia64 = "$host_cpu"; then # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release # chokes on -Wl,-G. The following line is correct: shared_flag='-G' else if test yes = "$aix_use_runtimelinking"; then shared_flag='$wl-G' else shared_flag='$wl-bM:SRE' fi shared_flag_aix='$wl-bM:SRE' shared_flag_svr4='$wl-G' fi fi export_dynamic_flag_spec='$wl-bexpall' # It seems that -bexpall does not export symbols beginning with # underscore (_), so it is better to generate a list of symbols to export. always_export_symbols=yes if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then # Warning - without using the other runtime loading flags (-brtl), # -berok will link without error, but may produce a broken library. allow_undefined_flag='-berok' # Determine the default libpath from the value encoded in an # empty executable. if test set = "${lt_cv_aix_libpath+set}"; then aix_libpath=$lt_cv_aix_libpath else if ${lt_cv_aix_libpath_+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : lt_aix_libpath_sed=' /Import File Strings/,/^$/ { /^0/ { s/^0 *\([^ ]*\) *$/\1/ p } }' lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` # Check for a 64-bit object if we didn't find anything. if test -z "$lt_cv_aix_libpath_"; then lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` fi fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext if test -z "$lt_cv_aix_libpath_"; then lt_cv_aix_libpath_=/usr/lib:/lib fi fi aix_libpath=$lt_cv_aix_libpath_ fi hardcode_libdir_flag_spec='$wl-blibpath:$libdir:'"$aix_libpath" archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags `if test -n "$allow_undefined_flag"; then func_echo_all "$wl$allow_undefined_flag"; else :; fi` $wl'$exp_sym_flag:\$export_symbols' '$shared_flag else if test ia64 = "$host_cpu"; then hardcode_libdir_flag_spec='$wl-R $libdir:/usr/lib:/lib' allow_undefined_flag="-z nodefs" archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\$wl$no_entry_flag"' $compiler_flags $wl$allow_undefined_flag '"\$wl$exp_sym_flag:\$export_symbols" else # Determine the default libpath from the value encoded in an # empty executable. if test set = "${lt_cv_aix_libpath+set}"; then aix_libpath=$lt_cv_aix_libpath else if ${lt_cv_aix_libpath_+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : lt_aix_libpath_sed=' /Import File Strings/,/^$/ { /^0/ { s/^0 *\([^ ]*\) *$/\1/ p } }' lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` # Check for a 64-bit object if we didn't find anything. if test -z "$lt_cv_aix_libpath_"; then lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` fi fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext if test -z "$lt_cv_aix_libpath_"; then lt_cv_aix_libpath_=/usr/lib:/lib fi fi aix_libpath=$lt_cv_aix_libpath_ fi hardcode_libdir_flag_spec='$wl-blibpath:$libdir:'"$aix_libpath" # Warning - without using the other run time loading flags, # -berok will link without error, but may produce a broken library. no_undefined_flag=' $wl-bernotok' allow_undefined_flag=' $wl-berok' if test yes = "$with_gnu_ld"; then # We only use this code for GNU lds that support --whole-archive. whole_archive_flag_spec='$wl--whole-archive$convenience $wl--no-whole-archive' else # Exported symbols can be pulled into shared objects from archives whole_archive_flag_spec='$convenience' fi archive_cmds_need_lc=yes archive_expsym_cmds='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d' # -brtl affects multiple linker settings, -berok does not and is overridden later compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([, ]\\)%-berok\\1%g"`' if test svr4 != "$with_aix_soname"; then # This is similar to how AIX traditionally builds its shared libraries. archive_expsym_cmds="$archive_expsym_cmds"'~$CC '$shared_flag_aix' -o $output_objdir/$realname.d/$soname $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$realname.d/$soname' fi if test aix != "$with_aix_soname"; then archive_expsym_cmds="$archive_expsym_cmds"'~$CC '$shared_flag_svr4' -o $output_objdir/$realname.d/$shared_archive_member_spec.o $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$STRIP -e $output_objdir/$realname.d/$shared_archive_member_spec.o~( func_echo_all "#! $soname($shared_archive_member_spec.o)"; if test shr_64 = "$shared_archive_member_spec"; then func_echo_all "# 64"; else func_echo_all "# 32"; fi; cat $export_symbols ) > $output_objdir/$realname.d/$shared_archive_member_spec.imp~$AR $AR_FLAGS $output_objdir/$soname $output_objdir/$realname.d/$shared_archive_member_spec.o $output_objdir/$realname.d/$shared_archive_member_spec.imp' else # used by -dlpreopen to get the symbols archive_expsym_cmds="$archive_expsym_cmds"'~$MV $output_objdir/$realname.d/$soname $output_objdir' fi archive_expsym_cmds="$archive_expsym_cmds"'~$RM -r $output_objdir/$realname.d' fi fi ;; amigaos*) case $host_cpu in powerpc) # see comment about AmigaOS4 .so support archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' archive_expsym_cmds='' ;; m68k) archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes ;; esac ;; bsdi[45]*) export_dynamic_flag_spec=-rdynamic ;; cygwin* | mingw* | pw32* | cegcc*) # When not using gcc, we currently assume that we are using # Microsoft Visual C++. # hardcode_libdir_flag_spec is actually meaningless, as there is # no search path for DLLs. case $cc_basename in cl*) # Native MSVC hardcode_libdir_flag_spec=' ' allow_undefined_flag=unsupported always_export_symbols=yes file_list_spec='@' # Tell ltmain to make .lib files, not .a files. libext=lib # Tell ltmain to make .dll files, not .so files. shrext_cmds=.dll # FIXME: Setting linknames here is a bad hack. archive_cmds='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames=' archive_expsym_cmds='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then cp "$export_symbols" "$output_objdir/$soname.def"; echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp"; else $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp; fi~ $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ linknames=' # The linker will not automatically build a static lib if we build a DLL. # _LT_TAGVAR(old_archive_from_new_cmds, )='true' enable_shared_with_static_runtimes=yes exclude_expsyms='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1,DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' # Don't use ranlib old_postinstall_cmds='chmod 644 $oldlib' postlink_cmds='lt_outputfile="@OUTPUT@"~ lt_tool_outputfile="@TOOL_OUTPUT@"~ case $lt_outputfile in *.exe|*.EXE) ;; *) lt_outputfile=$lt_outputfile.exe lt_tool_outputfile=$lt_tool_outputfile.exe ;; esac~ if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; $RM "$lt_outputfile.manifest"; fi' ;; *) # Assume MSVC wrapper hardcode_libdir_flag_spec=' ' allow_undefined_flag=unsupported # Tell ltmain to make .lib files, not .a files. libext=lib # Tell ltmain to make .dll files, not .so files. shrext_cmds=.dll # FIXME: Setting linknames here is a bad hack. archive_cmds='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames=' # The linker will automatically build a .lib file if we build a DLL. old_archive_from_new_cmds='true' # FIXME: Should let the user specify the lib program. old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs' enable_shared_with_static_runtimes=yes ;; esac ;; darwin* | rhapsody*) archive_cmds_need_lc=no hardcode_direct=no hardcode_automatic=yes hardcode_shlibpath_var=unsupported if test yes = "$lt_cv_ld_force_load"; then whole_archive_flag_spec='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience $wl-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`' else whole_archive_flag_spec='' fi link_all_deplibs=yes allow_undefined_flag=$_lt_dar_allow_undefined case $cc_basename in ifort*|nagfor*) _lt_dar_can_shared=yes ;; *) _lt_dar_can_shared=$GCC ;; esac if test yes = "$_lt_dar_can_shared"; then output_verbose_link_cmd=func_echo_all archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil" module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil" archive_expsym_cmds="sed 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dar_export_syms$_lt_dsymutil" module_expsym_cmds="sed -e 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dar_export_syms$_lt_dsymutil" else ld_shlibs=no fi ;; dgux*) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_libdir_flag_spec='-L$libdir' hardcode_shlibpath_var=no ;; # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor # support. Future versions do this automatically, but an explicit c++rt0.o # does not break anything, and helps significantly (at the cost of a little # extra space). freebsd2.2*) archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes hardcode_shlibpath_var=no ;; # Unfortunately, older versions of FreeBSD 2 do not have this feature. freebsd2.*) archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' hardcode_direct=yes hardcode_minus_L=yes hardcode_shlibpath_var=no ;; # FreeBSD 3 and greater uses gcc -shared to do shared libraries. freebsd* | dragonfly*) archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes hardcode_shlibpath_var=no ;; hpux9*) if test yes = "$GCC"; then archive_cmds='$RM $output_objdir/$soname~$CC -shared $pic_flag $wl+b $wl$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib' else archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib' fi hardcode_libdir_flag_spec='$wl+b $wl$libdir' hardcode_libdir_separator=: hardcode_direct=yes # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L=yes export_dynamic_flag_spec='$wl-E' ;; hpux10*) if test yes,no = "$GCC,$with_gnu_ld"; then archive_cmds='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' fi if test no = "$with_gnu_ld"; then hardcode_libdir_flag_spec='$wl+b $wl$libdir' hardcode_libdir_separator=: hardcode_direct=yes hardcode_direct_absolute=yes export_dynamic_flag_spec='$wl-E' # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L=yes fi ;; hpux11*) if test yes,no = "$GCC,$with_gnu_ld"; then case $host_cpu in hppa*64*) archive_cmds='$CC -shared $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' ;; ia64*) archive_cmds='$CC -shared $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' ;; *) archive_cmds='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' ;; esac else case $host_cpu in hppa*64*) archive_cmds='$CC -b $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' ;; ia64*) archive_cmds='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' ;; *) # Older versions of the 11.00 compiler do not understand -b yet # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does) { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC understands -b" >&5 $as_echo_n "checking if $CC understands -b... " >&6; } if ${lt_cv_prog_compiler__b+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler__b=no save_LDFLAGS=$LDFLAGS LDFLAGS="$LDFLAGS -b" echo "$lt_simple_link_test_code" > conftest.$ac_ext if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then # The linker can only warn and ignore the option if not recognized # So say no if there are warnings if test -s conftest.err; then # Append any errors to the config.log. cat conftest.err 1>&5 $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if diff conftest.exp conftest.er2 >/dev/null; then lt_cv_prog_compiler__b=yes fi else lt_cv_prog_compiler__b=yes fi fi $RM -r conftest* LDFLAGS=$save_LDFLAGS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler__b" >&5 $as_echo "$lt_cv_prog_compiler__b" >&6; } if test yes = "$lt_cv_prog_compiler__b"; then archive_cmds='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' fi ;; esac fi if test no = "$with_gnu_ld"; then hardcode_libdir_flag_spec='$wl+b $wl$libdir' hardcode_libdir_separator=: case $host_cpu in hppa*64*|ia64*) hardcode_direct=no hardcode_shlibpath_var=no ;; *) hardcode_direct=yes hardcode_direct_absolute=yes export_dynamic_flag_spec='$wl-E' # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L=yes ;; esac fi ;; irix5* | irix6* | nonstopux*) if test yes = "$GCC"; then archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' # Try to use the -exported_symbol ld option, if it does not # work, assume that -exports_file does not work either and # implicitly export all symbols. # This should be the same for all languages, so no per-tag cache variable. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5 $as_echo_n "checking whether the $host_os linker accepts -exported_symbol... " >&6; } if ${lt_cv_irix_exported_symbol+:} false; then : $as_echo_n "(cached) " >&6 else save_LDFLAGS=$LDFLAGS LDFLAGS="$LDFLAGS -shared $wl-exported_symbol ${wl}foo $wl-update_registry $wl/dev/null" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int foo (void) { return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : lt_cv_irix_exported_symbol=yes else lt_cv_irix_exported_symbol=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LDFLAGS=$save_LDFLAGS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5 $as_echo "$lt_cv_irix_exported_symbol" >&6; } if test yes = "$lt_cv_irix_exported_symbol"; then archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations $wl-exports_file $wl$export_symbols -o $lib' fi link_all_deplibs=no else archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -exports_file $export_symbols -o $lib' fi archive_cmds_need_lc='no' hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' hardcode_libdir_separator=: inherit_rpath=yes link_all_deplibs=yes ;; linux*) case $cc_basename in tcc*) # Fabrice Bellard et al's Tiny C Compiler ld_shlibs=yes archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' ;; esac ;; netbsd* | netbsdelf*-gnu) if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out else archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF fi hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes hardcode_shlibpath_var=no ;; newsos6) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_direct=yes hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' hardcode_libdir_separator=: hardcode_shlibpath_var=no ;; *nto* | *qnx*) ;; openbsd* | bitrig*) if test -f /usr/libexec/ld.so; then hardcode_direct=yes hardcode_shlibpath_var=no hardcode_direct_absolute=yes if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags $wl-retain-symbols-file,$export_symbols' hardcode_libdir_flag_spec='$wl-rpath,$libdir' export_dynamic_flag_spec='$wl-E' else archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' hardcode_libdir_flag_spec='$wl-rpath,$libdir' fi else ld_shlibs=no fi ;; os2*) hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes allow_undefined_flag=unsupported shrext_cmds=.dll archive_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ $ECHO EXPORTS >> $output_objdir/$libname.def~ emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ emximp -o $lib $output_objdir/$libname.def' archive_expsym_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ $ECHO EXPORTS >> $output_objdir/$libname.def~ prefix_cmds="$SED"~ if test EXPORTS = "`$SED 1q $export_symbols`"; then prefix_cmds="$prefix_cmds -e 1d"; fi~ prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ emximp -o $lib $output_objdir/$libname.def' old_archive_From_new_cmds='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' enable_shared_with_static_runtimes=yes ;; osf3*) if test yes = "$GCC"; then allow_undefined_flag=' $wl-expect_unresolved $wl\*' archive_cmds='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' else allow_undefined_flag=' -expect_unresolved \*' archive_cmds='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' fi archive_cmds_need_lc='no' hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' hardcode_libdir_separator=: ;; osf4* | osf5*) # as osf3* with the addition of -msym flag if test yes = "$GCC"; then allow_undefined_flag=' $wl-expect_unresolved $wl\*' archive_cmds='$CC -shared$allow_undefined_flag $pic_flag $libobjs $deplibs $compiler_flags $wl-msym $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' else allow_undefined_flag=' -expect_unresolved \*' archive_cmds='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~ $CC -shared$allow_undefined_flag $wl-input $wl$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib~$RM $lib.exp' # Both c and cxx compiler support -rpath directly hardcode_libdir_flag_spec='-rpath $libdir' fi archive_cmds_need_lc='no' hardcode_libdir_separator=: ;; solaris*) no_undefined_flag=' -z defs' if test yes = "$GCC"; then wlarc='$wl' archive_cmds='$CC -shared $pic_flag $wl-z ${wl}text $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $CC -shared $pic_flag $wl-z ${wl}text $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' else case `$CC -V 2>&1` in *"Compilers 5.0"*) wlarc='' archive_cmds='$LD -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $linker_flags' archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $LD -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' ;; *) wlarc='$wl' archive_cmds='$CC -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $CC -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' ;; esac fi hardcode_libdir_flag_spec='-R$libdir' hardcode_shlibpath_var=no case $host_os in solaris2.[0-5] | solaris2.[0-5].*) ;; *) # The compiler driver will combine and reorder linker options, # but understands '-z linker_flag'. GCC discards it without '$wl', # but is careful enough not to reorder. # Supported since Solaris 2.6 (maybe 2.5.1?) if test yes = "$GCC"; then whole_archive_flag_spec='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract' else whole_archive_flag_spec='-z allextract$convenience -z defaultextract' fi ;; esac link_all_deplibs=yes ;; sunos4*) if test sequent = "$host_vendor"; then # Use $CC to link under sequent, because it throws in some extra .o # files that make .init and .fini sections work. archive_cmds='$CC -G $wl-h $soname -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' fi hardcode_libdir_flag_spec='-L$libdir' hardcode_direct=yes hardcode_minus_L=yes hardcode_shlibpath_var=no ;; sysv4) case $host_vendor in sni) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_direct=yes # is this really true??? ;; siemens) ## LD is ld it makes a PLAMLIB ## CC just makes a GrossModule. archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags' reload_cmds='$CC -r -o $output$reload_objs' hardcode_direct=no ;; motorola) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_direct=no #Motorola manual says yes, but my tests say they lie ;; esac runpath_var='LD_RUN_PATH' hardcode_shlibpath_var=no ;; sysv4.3*) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_shlibpath_var=no export_dynamic_flag_spec='-Bexport' ;; sysv4*MP*) if test -d /usr/nec; then archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_shlibpath_var=no runpath_var=LD_RUN_PATH hardcode_runpath_var=yes ld_shlibs=yes fi ;; sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) no_undefined_flag='$wl-z,text' archive_cmds_need_lc=no hardcode_shlibpath_var=no runpath_var='LD_RUN_PATH' if test yes = "$GCC"; then archive_cmds='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' fi ;; sysv5* | sco3.2v5* | sco5v6*) # Note: We CANNOT use -z defs as we might desire, because we do not # link with -lc, and that would cause any symbols used from libc to # always be unresolved, which means just about no library would # ever link correctly. If we're not using GNU ld we use -z text # though, which does catch some bad symbols but isn't as heavy-handed # as -z defs. no_undefined_flag='$wl-z,text' allow_undefined_flag='$wl-z,nodefs' archive_cmds_need_lc=no hardcode_shlibpath_var=no hardcode_libdir_flag_spec='$wl-R,$libdir' hardcode_libdir_separator=':' link_all_deplibs=yes export_dynamic_flag_spec='$wl-Bexport' runpath_var='LD_RUN_PATH' if test yes = "$GCC"; then archive_cmds='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' fi ;; uts4*) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_libdir_flag_spec='-L$libdir' hardcode_shlibpath_var=no ;; *) ld_shlibs=no ;; esac if test sni = "$host_vendor"; then case $host in sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) export_dynamic_flag_spec='$wl-Blargedynsym' ;; esac fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs" >&5 $as_echo "$ld_shlibs" >&6; } test no = "$ld_shlibs" && can_build_shared=no with_gnu_ld=$with_gnu_ld # # Do we need to explicitly link libc? # case "x$archive_cmds_need_lc" in x|xyes) # Assume -lc should be added archive_cmds_need_lc=yes if test yes,yes = "$GCC,$enable_shared"; then case $archive_cmds in *'~'*) # FIXME: we may have to deal with multi-command sequences. ;; '$CC '*) # Test whether the compiler implicitly links with -lc since on some # systems, -lgcc has to come before -lc. If gcc already passes -lc # to ld, don't add -lc before -lgcc. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5 $as_echo_n "checking whether -lc should be explicitly linked in... " >&6; } if ${lt_cv_archive_cmds_need_lc+:} false; then : $as_echo_n "(cached) " >&6 else $RM conftest* echo "$lt_simple_compile_test_code" > conftest.$ac_ext if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } 2>conftest.err; then soname=conftest lib=conftest libobjs=conftest.$ac_objext deplibs= wl=$lt_prog_compiler_wl pic_flag=$lt_prog_compiler_pic compiler_flags=-v linker_flags=-v verstring= output_objdir=. libname=conftest lt_save_allow_undefined_flag=$allow_undefined_flag allow_undefined_flag= if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5 (eval $archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } then lt_cv_archive_cmds_need_lc=no else lt_cv_archive_cmds_need_lc=yes fi allow_undefined_flag=$lt_save_allow_undefined_flag else cat conftest.err 1>&5 fi $RM conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc" >&5 $as_echo "$lt_cv_archive_cmds_need_lc" >&6; } archive_cmds_need_lc=$lt_cv_archive_cmds_need_lc ;; esac fi ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5 $as_echo_n "checking dynamic linker characteristics... " >&6; } if test yes = "$GCC"; then case $host_os in darwin*) lt_awk_arg='/^libraries:/,/LR/' ;; *) lt_awk_arg='/^libraries:/' ;; esac case $host_os in mingw* | cegcc*) lt_sed_strip_eq='s|=\([A-Za-z]:\)|\1|g' ;; *) lt_sed_strip_eq='s|=/|/|g' ;; esac lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq` case $lt_search_path_spec in *\;*) # if the path contains ";" then we assume it to be the separator # otherwise default to the standard path separator (i.e. ":") - it is # assumed that no part of a normal pathname contains ";" but that should # okay in the real world where ";" in dirpaths is itself problematic. lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'` ;; *) lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"` ;; esac # Ok, now we have the path, separated by spaces, we can step through it # and add multilib dir if necessary... lt_tmp_lt_search_path_spec= lt_multi_os_dir=/`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` # ...but if some path component already ends with the multilib dir we assume # that all is fine and trust -print-search-dirs as is (GCC 4.2? or newer). case "$lt_multi_os_dir; $lt_search_path_spec " in "/; "* | "/.; "* | "/./; "* | *"$lt_multi_os_dir "* | *"$lt_multi_os_dir/ "*) lt_multi_os_dir= ;; esac for lt_sys_path in $lt_search_path_spec; do if test -d "$lt_sys_path$lt_multi_os_dir"; then lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path$lt_multi_os_dir" elif test -n "$lt_multi_os_dir"; then test -d "$lt_sys_path" && \ lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" fi done lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk ' BEGIN {RS = " "; FS = "/|\n";} { lt_foo = ""; lt_count = 0; for (lt_i = NF; lt_i > 0; lt_i--) { if ($lt_i != "" && $lt_i != ".") { if ($lt_i == "..") { lt_count++; } else { if (lt_count == 0) { lt_foo = "/" $lt_i lt_foo; } else { lt_count--; } } } } if (lt_foo != "") { lt_freq[lt_foo]++; } if (lt_freq[lt_foo] == 1) { print lt_foo; } }'` # AWK program above erroneously prepends '/' to C:/dos/paths # for these hosts. case $host_os in mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\ $SED 's|/\([A-Za-z]:\)|\1|g'` ;; esac sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP` else sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" fi library_names_spec= libname_spec='lib$name' soname_spec= shrext_cmds=.so postinstall_cmds= postuninstall_cmds= finish_cmds= finish_eval= shlibpath_var= shlibpath_overrides_runpath=unknown version_type=none dynamic_linker="$host_os ld.so" sys_lib_dlsearch_path_spec="/lib /usr/lib" need_lib_prefix=unknown hardcode_into_libs=no # when you set need_version to no, make sure it does not cause -set_version # flags to be left without arguments need_version=unknown case $host_os in aix3*) version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='$libname$release$shared_ext$versuffix $libname.a' shlibpath_var=LIBPATH # AIX 3 has no versioning support, so we append a major version to the name. soname_spec='$libname$release$shared_ext$major' ;; aix[4-9]*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no hardcode_into_libs=yes if test ia64 = "$host_cpu"; then # AIX 5 supports IA64 library_names_spec='$libname$release$shared_ext$major $libname$release$shared_ext$versuffix $libname$shared_ext' shlibpath_var=LD_LIBRARY_PATH else # With GCC up to 2.95.x, collect2 would create an import file # for dependence libraries. The import file would start with # the line '#! .'. This would cause the generated library to # depend on '.', always an invalid library. This was fixed in # development snapshots of GCC prior to 3.0. case $host_os in aix4 | aix4.[01] | aix4.[01].*) if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' echo ' yes ' echo '#endif'; } | $CC -E - | $GREP yes > /dev/null; then : else can_build_shared=no fi ;; esac # Using Import Files as archive members, it is possible to support # filename-based versioning of shared library archives on AIX. While # this would work for both with and without runtime linking, it will # prevent static linking of such archives. So we do filename-based # shared library versioning with .so extension only, which is used # when both runtime linking and shared linking is enabled. # Unfortunately, runtime linking may impact performance, so we do # not want this to be the default eventually. Also, we use the # versioned .so libs for executables only if there is the -brtl # linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only. # To allow for filename-based versioning support, we need to create # libNAME.so.V as an archive file, containing: # *) an Import File, referring to the versioned filename of the # archive as well as the shared archive member, telling the # bitwidth (32 or 64) of that shared object, and providing the # list of exported symbols of that shared object, eventually # decorated with the 'weak' keyword # *) the shared object with the F_LOADONLY flag set, to really avoid # it being seen by the linker. # At run time we better use the real file rather than another symlink, # but for link time we create the symlink libNAME.so -> libNAME.so.V case $with_aix_soname,$aix_use_runtimelinking in # AIX (on Power*) has no versioning support, so currently we cannot hardcode correct # soname into executable. Probably we can add versioning support to # collect2, so additional links can be useful in future. aix,yes) # traditional libtool dynamic_linker='AIX unversionable lib.so' # If using run time linking (on AIX 4.2 or later) use lib.so # instead of lib.a to let people know that these are not # typical AIX shared libraries. library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' ;; aix,no) # traditional AIX only dynamic_linker='AIX lib.a(lib.so.V)' # We preserve .a as extension for shared libraries through AIX4.2 # and later when we are not doing run time linking. library_names_spec='$libname$release.a $libname.a' soname_spec='$libname$release$shared_ext$major' ;; svr4,*) # full svr4 only dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o)" library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' # We do not specify a path in Import Files, so LIBPATH fires. shlibpath_overrides_runpath=yes ;; *,yes) # both, prefer svr4 dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o), lib.a(lib.so.V)" library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' # unpreferred sharedlib libNAME.a needs extra handling postinstall_cmds='test -n "$linkname" || linkname="$realname"~func_stripname "" ".so" "$linkname"~$install_shared_prog "$dir/$func_stripname_result.$libext" "$destdir/$func_stripname_result.$libext"~test -z "$tstripme" || test -z "$striplib" || $striplib "$destdir/$func_stripname_result.$libext"' postuninstall_cmds='for n in $library_names $old_library; do :; done~func_stripname "" ".so" "$n"~test "$func_stripname_result" = "$n" || func_append rmfiles " $odir/$func_stripname_result.$libext"' # We do not specify a path in Import Files, so LIBPATH fires. shlibpath_overrides_runpath=yes ;; *,no) # both, prefer aix dynamic_linker="AIX lib.a(lib.so.V), lib.so.V($shared_archive_member_spec.o)" library_names_spec='$libname$release.a $libname.a' soname_spec='$libname$release$shared_ext$major' # unpreferred sharedlib libNAME.so.V and symlink libNAME.so need extra handling postinstall_cmds='test -z "$dlname" || $install_shared_prog $dir/$dlname $destdir/$dlname~test -z "$tstripme" || test -z "$striplib" || $striplib $destdir/$dlname~test -n "$linkname" || linkname=$realname~func_stripname "" ".a" "$linkname"~(cd "$destdir" && $LN_S -f $dlname $func_stripname_result.so)' postuninstall_cmds='test -z "$dlname" || func_append rmfiles " $odir/$dlname"~for n in $old_library $library_names; do :; done~func_stripname "" ".a" "$n"~func_append rmfiles " $odir/$func_stripname_result.so"' ;; esac shlibpath_var=LIBPATH fi ;; amigaos*) case $host_cpu in powerpc) # Since July 2007 AmigaOS4 officially supports .so libraries. # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' ;; m68k) library_names_spec='$libname.ixlibrary $libname.a' # Create ${libname}_ixlibrary.a entries in /sys/libs. finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' ;; esac ;; beos*) library_names_spec='$libname$shared_ext' dynamic_linker="$host_os ld.so" shlibpath_var=LIBRARY_PATH ;; bsdi[45]*) version_type=linux # correct to gnu/linux during the next big refactor need_version=no library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' shlibpath_var=LD_LIBRARY_PATH sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" # the default ld.so.conf also contains /usr/contrib/lib and # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow # libtool to hard-code these into programs ;; cygwin* | mingw* | pw32* | cegcc*) version_type=windows shrext_cmds=.dll need_version=no need_lib_prefix=no case $GCC,$cc_basename in yes,*) # gcc library_names_spec='$libname.dll.a' # DLL is installed to $(libdir)/../bin by postinstall_cmds postinstall_cmds='base_file=`basename \$file`~ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ dldir=$destdir/`dirname \$dlpath`~ test -d \$dldir || mkdir -p \$dldir~ $install_prog $dir/$dlname \$dldir/$dlname~ chmod a+x \$dldir/$dlname~ if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; fi' postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ dlpath=$dir/\$dldll~ $RM \$dlpath' shlibpath_overrides_runpath=yes case $host_os in cygwin*) # Cygwin DLLs use 'cyg' prefix rather than 'lib' soname_spec='`echo $libname | sed -e 's/^lib/cyg/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api" ;; mingw* | cegcc*) # MinGW DLLs use traditional 'lib' prefix soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' ;; pw32*) # pw32 DLLs use 'pw' prefix rather than 'lib' library_names_spec='`echo $libname | sed -e 's/^lib/pw/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' ;; esac dynamic_linker='Win32 ld.exe' ;; *,cl*) # Native MSVC libname_spec='$name' soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' library_names_spec='$libname.dll.lib' case $build_os in mingw*) sys_lib_search_path_spec= lt_save_ifs=$IFS IFS=';' for lt_path in $LIB do IFS=$lt_save_ifs # Let DOS variable expansion print the short 8.3 style file name. lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"` sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path" done IFS=$lt_save_ifs # Convert to MSYS style. sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'` ;; cygwin*) # Convert to unix form, then to dos form, then back to unix form # but this time dos style (no spaces!) so that the unix form looks # like /cygdrive/c/PROGRA~1:/cygdr... sys_lib_search_path_spec=`cygpath --path --unix "$LIB"` sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null` sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` ;; *) sys_lib_search_path_spec=$LIB if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then # It is most probably a Windows format PATH. sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` else sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` fi # FIXME: find the short name or the path components, as spaces are # common. (e.g. "Program Files" -> "PROGRA~1") ;; esac # DLL is installed to $(libdir)/../bin by postinstall_cmds postinstall_cmds='base_file=`basename \$file`~ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ dldir=$destdir/`dirname \$dlpath`~ test -d \$dldir || mkdir -p \$dldir~ $install_prog $dir/$dlname \$dldir/$dlname' postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ dlpath=$dir/\$dldll~ $RM \$dlpath' shlibpath_overrides_runpath=yes dynamic_linker='Win32 link.exe' ;; *) # Assume MSVC wrapper library_names_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext $libname.lib' dynamic_linker='Win32 ld.exe' ;; esac # FIXME: first we should search . and the directory the executable is in shlibpath_var=PATH ;; darwin* | rhapsody*) dynamic_linker="$host_os dyld" version_type=darwin need_lib_prefix=no need_version=no library_names_spec='$libname$release$major$shared_ext $libname$shared_ext' soname_spec='$libname$release$major$shared_ext' shlibpath_overrides_runpath=yes shlibpath_var=DYLD_LIBRARY_PATH shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib" sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' ;; dgux*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' shlibpath_var=LD_LIBRARY_PATH ;; freebsd* | dragonfly*) # DragonFly does not have aout. When/if they implement a new # versioning mechanism, adjust this. if test -x /usr/bin/objformat; then objformat=`/usr/bin/objformat` else case $host_os in freebsd[23].*) objformat=aout ;; *) objformat=elf ;; esac fi version_type=freebsd-$objformat case $version_type in freebsd-elf*) library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' need_version=no need_lib_prefix=no ;; freebsd-*) library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' need_version=yes ;; esac shlibpath_var=LD_LIBRARY_PATH case $host_os in freebsd2.*) shlibpath_overrides_runpath=yes ;; freebsd3.[01]* | freebsdelf3.[01]*) shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; *) # from 4.6 on, and DragonFly shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; esac ;; haiku*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no dynamic_linker="$host_os runtime_loader" library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' shlibpath_var=LIBRARY_PATH shlibpath_overrides_runpath=no sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib' hardcode_into_libs=yes ;; hpux9* | hpux10* | hpux11*) # Give a soname corresponding to the major version so that dld.sl refuses to # link against other versions. version_type=sunos need_lib_prefix=no need_version=no case $host_cpu in ia64*) shrext_cmds='.so' hardcode_into_libs=yes dynamic_linker="$host_os dld.so" shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' if test 32 = "$HPUX_IA64_MODE"; then sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" sys_lib_dlsearch_path_spec=/usr/lib/hpux32 else sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" sys_lib_dlsearch_path_spec=/usr/lib/hpux64 fi ;; hppa*64*) shrext_cmds='.sl' hardcode_into_libs=yes dynamic_linker="$host_os dld.sl" shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec ;; *) shrext_cmds='.sl' dynamic_linker="$host_os dld.sl" shlibpath_var=SHLIB_PATH shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' ;; esac # HP-UX runs *really* slowly unless shared libraries are mode 555, ... postinstall_cmds='chmod 555 $lib' # or fails outright, so override atomically: install_override_mode=555 ;; interix[3-9]*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; irix5* | irix6* | nonstopux*) case $host_os in nonstopux*) version_type=nonstopux ;; *) if test yes = "$lt_cv_prog_gnu_ld"; then version_type=linux # correct to gnu/linux during the next big refactor else version_type=irix fi ;; esac need_lib_prefix=no need_version=no soname_spec='$libname$release$shared_ext$major' library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$release$shared_ext $libname$shared_ext' case $host_os in irix5* | nonstopux*) libsuff= shlibsuff= ;; *) case $LD in # libtool.m4 will add one of these switches to LD *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") libsuff= shlibsuff= libmagic=32-bit;; *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") libsuff=32 shlibsuff=N32 libmagic=N32;; *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") libsuff=64 shlibsuff=64 libmagic=64-bit;; *) libsuff= shlibsuff= libmagic=never-match;; esac ;; esac shlibpath_var=LD_LIBRARY${shlibsuff}_PATH shlibpath_overrides_runpath=no sys_lib_search_path_spec="/usr/lib$libsuff /lib$libsuff /usr/local/lib$libsuff" sys_lib_dlsearch_path_spec="/usr/lib$libsuff /lib$libsuff" hardcode_into_libs=yes ;; # No shared lib support for Linux oldld, aout, or coff. linux*oldld* | linux*aout* | linux*coff*) dynamic_linker=no ;; linux*android*) version_type=none # Android doesn't support versioned libraries. need_lib_prefix=no need_version=no library_names_spec='$libname$release$shared_ext' soname_spec='$libname$release$shared_ext' finish_cmds= shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes # This implies no fast_install, which is unacceptable. # Some rework will be needed to allow for fast_install # before this can be enabled. hardcode_into_libs=yes dynamic_linker='Android linker' # Don't embed -rpath directories since the linker doesn't support them. hardcode_libdir_flag_spec='-L$libdir' ;; # This must be glibc/ELF. linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no # Some binutils ld are patched to set DT_RUNPATH if ${lt_cv_shlibpath_overrides_runpath+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_shlibpath_overrides_runpath=no save_LDFLAGS=$LDFLAGS save_libdir=$libdir eval "libdir=/foo; wl=\"$lt_prog_compiler_wl\"; \ LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec\"" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then : lt_cv_shlibpath_overrides_runpath=yes fi fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LDFLAGS=$save_LDFLAGS libdir=$save_libdir fi shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath # This implies no fast_install, which is unacceptable. # Some rework will be needed to allow for fast_install # before this can be enabled. hardcode_into_libs=yes # Ideally, we could use ldconfig to report *all* directores which are # searched for libraries, however this is still not possible. Aside from not # being certain /sbin/ldconfig is available, command # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64, # even though it is searched at run-time. Try to do the best guess by # appending ld.so.conf contents (and includes) to the search path. if test -f /etc/ld.so.conf; then lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '` sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" fi # We used to test for /lib/ld.so.1 and disable shared libraries on # powerpc, because MkLinux only supported shared libraries with the # GNU dynamic linker. Since this was broken with cross compilers, # most powerpc-linux boxes support dynamic linking these days and # people can always --disable-shared, the test was removed, and we # assume the GNU/Linux dynamic linker is in use. dynamic_linker='GNU/Linux ld.so' ;; netbsdelf*-gnu) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes dynamic_linker='NetBSD ld.elf_so' ;; netbsd*) version_type=sunos need_lib_prefix=no need_version=no if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' dynamic_linker='NetBSD (a.out) ld.so' else library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' dynamic_linker='NetBSD ld.elf_so' fi shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; newsos6) version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes ;; *nto* | *qnx*) version_type=qnx need_lib_prefix=no need_version=no library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes dynamic_linker='ldqnx.so' ;; openbsd* | bitrig*) version_type=sunos sys_lib_dlsearch_path_spec=/usr/lib need_lib_prefix=no if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then need_version=no else need_version=yes fi library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes ;; os2*) libname_spec='$name' version_type=windows shrext_cmds=.dll need_version=no need_lib_prefix=no # OS/2 can only load a DLL with a base name of 8 characters or less. soname_spec='`test -n "$os2dllname" && libname="$os2dllname"; v=$($ECHO $release$versuffix | tr -d .-); n=$($ECHO $libname | cut -b -$((8 - ${#v})) | tr . _); $ECHO $n$v`$shared_ext' library_names_spec='${libname}_dll.$libext' dynamic_linker='OS/2 ld.exe' shlibpath_var=BEGINLIBPATH sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec postinstall_cmds='base_file=`basename \$file`~ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; $ECHO \$dlname'\''`~ dldir=$destdir/`dirname \$dlpath`~ test -d \$dldir || mkdir -p \$dldir~ $install_prog $dir/$dlname \$dldir/$dlname~ chmod a+x \$dldir/$dlname~ if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; fi' postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; $ECHO \$dlname'\''`~ dlpath=$dir/\$dldll~ $RM \$dlpath' ;; osf3* | osf4* | osf5*) version_type=osf need_lib_prefix=no need_version=no soname_spec='$libname$release$shared_ext$major' library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' shlibpath_var=LD_LIBRARY_PATH sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec ;; rdos*) dynamic_linker=no ;; solaris*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes # ldd complains unless libraries are executable postinstall_cmds='chmod +x $lib' ;; sunos4*) version_type=sunos library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes if test yes = "$with_gnu_ld"; then need_lib_prefix=no fi need_version=yes ;; sysv4 | sysv4.3*) version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' shlibpath_var=LD_LIBRARY_PATH case $host_vendor in sni) shlibpath_overrides_runpath=no need_lib_prefix=no runpath_var=LD_RUN_PATH ;; siemens) need_lib_prefix=no ;; motorola) need_lib_prefix=no need_version=no shlibpath_overrides_runpath=no sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' ;; esac ;; sysv4*MP*) if test -d /usr/nec; then version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='$libname$shared_ext.$versuffix $libname$shared_ext.$major $libname$shared_ext' soname_spec='$libname$shared_ext.$major' shlibpath_var=LD_LIBRARY_PATH fi ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) version_type=sco need_lib_prefix=no need_version=no library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes if test yes = "$with_gnu_ld"; then sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' else sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' case $host_os in sco3.2v5*) sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" ;; esac fi sys_lib_dlsearch_path_spec='/usr/lib' ;; tpf*) # TPF is a cross-target only. Preferred cross-host = GNU/Linux. version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; uts4*) version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' shlibpath_var=LD_LIBRARY_PATH ;; *) dynamic_linker=no ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5 $as_echo "$dynamic_linker" >&6; } test no = "$dynamic_linker" && can_build_shared=no variables_saved_for_relink="PATH $shlibpath_var $runpath_var" if test yes = "$GCC"; then variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" fi if test set = "${lt_cv_sys_lib_search_path_spec+set}"; then sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec fi if test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec fi # remember unaugmented sys_lib_dlsearch_path content for libtool script decls... configure_time_dlsearch_path=$sys_lib_dlsearch_path_spec # ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code func_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH" # to be used as default LT_SYS_LIBRARY_PATH value in generated libtool configure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5 $as_echo_n "checking how to hardcode library paths into programs... " >&6; } hardcode_action= if test -n "$hardcode_libdir_flag_spec" || test -n "$runpath_var" || test yes = "$hardcode_automatic"; then # We can hardcode non-existent directories. if test no != "$hardcode_direct" && # If the only mechanism to avoid hardcoding is shlibpath_var, we # have to relink, otherwise we might link with an installed library # when we should be linking with a yet-to-be-installed one ## test no != "$_LT_TAGVAR(hardcode_shlibpath_var, )" && test no != "$hardcode_minus_L"; then # Linking always hardcodes the temporary library directory. hardcode_action=relink else # We can link without hardcoding, and we can hardcode nonexisting dirs. hardcode_action=immediate fi else # We cannot hardcode anything, or else we can only hardcode existing # directories. hardcode_action=unsupported fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action" >&5 $as_echo "$hardcode_action" >&6; } if test relink = "$hardcode_action" || test yes = "$inherit_rpath"; then # Fast installation is not supported enable_fast_install=no elif test yes = "$shlibpath_overrides_runpath" || test no = "$enable_shared"; then # Fast installation is not necessary enable_fast_install=needless fi if test yes != "$enable_dlopen"; then enable_dlopen=unknown enable_dlopen_self=unknown enable_dlopen_self_static=unknown else lt_cv_dlopen=no lt_cv_dlopen_libs= case $host_os in beos*) lt_cv_dlopen=load_add_on lt_cv_dlopen_libs= lt_cv_dlopen_self=yes ;; mingw* | pw32* | cegcc*) lt_cv_dlopen=LoadLibrary lt_cv_dlopen_libs= ;; cygwin*) lt_cv_dlopen=dlopen lt_cv_dlopen_libs= ;; darwin*) # if libdl is installed we need to link against it { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 $as_echo_n "checking for dlopen in -ldl... " >&6; } if ${ac_cv_lib_dl_dlopen+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ldl $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char dlopen (); int main () { return dlopen (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_dl_dlopen=yes else ac_cv_lib_dl_dlopen=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 $as_echo "$ac_cv_lib_dl_dlopen" >&6; } if test "x$ac_cv_lib_dl_dlopen" = xyes; then : lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl else lt_cv_dlopen=dyld lt_cv_dlopen_libs= lt_cv_dlopen_self=yes fi ;; tpf*) # Don't try to run any link tests for TPF. We know it's impossible # because TPF is a cross-compiler, and we know how we open DSOs. lt_cv_dlopen=dlopen lt_cv_dlopen_libs= lt_cv_dlopen_self=no ;; *) ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load" if test "x$ac_cv_func_shl_load" = xyes; then : lt_cv_dlopen=shl_load else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5 $as_echo_n "checking for shl_load in -ldld... " >&6; } if ${ac_cv_lib_dld_shl_load+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ldld $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char shl_load (); int main () { return shl_load (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_dld_shl_load=yes else ac_cv_lib_dld_shl_load=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5 $as_echo "$ac_cv_lib_dld_shl_load" >&6; } if test "x$ac_cv_lib_dld_shl_load" = xyes; then : lt_cv_dlopen=shl_load lt_cv_dlopen_libs=-ldld else ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen" if test "x$ac_cv_func_dlopen" = xyes; then : lt_cv_dlopen=dlopen else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 $as_echo_n "checking for dlopen in -ldl... " >&6; } if ${ac_cv_lib_dl_dlopen+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ldl $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char dlopen (); int main () { return dlopen (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_dl_dlopen=yes else ac_cv_lib_dl_dlopen=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 $as_echo "$ac_cv_lib_dl_dlopen" >&6; } if test "x$ac_cv_lib_dl_dlopen" = xyes; then : lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5 $as_echo_n "checking for dlopen in -lsvld... " >&6; } if ${ac_cv_lib_svld_dlopen+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lsvld $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char dlopen (); int main () { return dlopen (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_svld_dlopen=yes else ac_cv_lib_svld_dlopen=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5 $as_echo "$ac_cv_lib_svld_dlopen" >&6; } if test "x$ac_cv_lib_svld_dlopen" = xyes; then : lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-lsvld else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5 $as_echo_n "checking for dld_link in -ldld... " >&6; } if ${ac_cv_lib_dld_dld_link+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ldld $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char dld_link (); int main () { return dld_link (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_dld_dld_link=yes else ac_cv_lib_dld_dld_link=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5 $as_echo "$ac_cv_lib_dld_dld_link" >&6; } if test "x$ac_cv_lib_dld_dld_link" = xyes; then : lt_cv_dlopen=dld_link lt_cv_dlopen_libs=-ldld fi fi fi fi fi fi ;; esac if test no = "$lt_cv_dlopen"; then enable_dlopen=no else enable_dlopen=yes fi case $lt_cv_dlopen in dlopen) save_CPPFLAGS=$CPPFLAGS test yes = "$ac_cv_header_dlfcn_h" && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" save_LDFLAGS=$LDFLAGS wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" save_LIBS=$LIBS LIBS="$lt_cv_dlopen_libs $LIBS" { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5 $as_echo_n "checking whether a program can dlopen itself... " >&6; } if ${lt_cv_dlopen_self+:} false; then : $as_echo_n "(cached) " >&6 else if test yes = "$cross_compiling"; then : lt_cv_dlopen_self=cross else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF #line $LINENO "configure" #include "confdefs.h" #if HAVE_DLFCN_H #include #endif #include #ifdef RTLD_GLOBAL # define LT_DLGLOBAL RTLD_GLOBAL #else # ifdef DL_GLOBAL # define LT_DLGLOBAL DL_GLOBAL # else # define LT_DLGLOBAL 0 # endif #endif /* We may have to define LT_DLLAZY_OR_NOW in the command line if we find out it does not work in some platform. */ #ifndef LT_DLLAZY_OR_NOW # ifdef RTLD_LAZY # define LT_DLLAZY_OR_NOW RTLD_LAZY # else # ifdef DL_LAZY # define LT_DLLAZY_OR_NOW DL_LAZY # else # ifdef RTLD_NOW # define LT_DLLAZY_OR_NOW RTLD_NOW # else # ifdef DL_NOW # define LT_DLLAZY_OR_NOW DL_NOW # else # define LT_DLLAZY_OR_NOW 0 # endif # endif # endif # endif #endif /* When -fvisibility=hidden is used, assume the code has been annotated correspondingly for the symbols needed. */ #if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) int fnord () __attribute__((visibility("default"))); #endif int fnord () { return 42; } int main () { void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); int status = $lt_dlunknown; if (self) { if (dlsym (self,"fnord")) status = $lt_dlno_uscore; else { if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; else puts (dlerror ()); } /* dlclose (self); */ } else puts (dlerror ()); return status; } _LT_EOF if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 (eval $ac_link) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && test -s "conftest$ac_exeext" 2>/dev/null; then (./conftest; exit; ) >&5 2>/dev/null lt_status=$? case x$lt_status in x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;; x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;; x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;; esac else : # compilation failed lt_cv_dlopen_self=no fi fi rm -fr conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self" >&5 $as_echo "$lt_cv_dlopen_self" >&6; } if test yes = "$lt_cv_dlopen_self"; then wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5 $as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; } if ${lt_cv_dlopen_self_static+:} false; then : $as_echo_n "(cached) " >&6 else if test yes = "$cross_compiling"; then : lt_cv_dlopen_self_static=cross else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF #line $LINENO "configure" #include "confdefs.h" #if HAVE_DLFCN_H #include #endif #include #ifdef RTLD_GLOBAL # define LT_DLGLOBAL RTLD_GLOBAL #else # ifdef DL_GLOBAL # define LT_DLGLOBAL DL_GLOBAL # else # define LT_DLGLOBAL 0 # endif #endif /* We may have to define LT_DLLAZY_OR_NOW in the command line if we find out it does not work in some platform. */ #ifndef LT_DLLAZY_OR_NOW # ifdef RTLD_LAZY # define LT_DLLAZY_OR_NOW RTLD_LAZY # else # ifdef DL_LAZY # define LT_DLLAZY_OR_NOW DL_LAZY # else # ifdef RTLD_NOW # define LT_DLLAZY_OR_NOW RTLD_NOW # else # ifdef DL_NOW # define LT_DLLAZY_OR_NOW DL_NOW # else # define LT_DLLAZY_OR_NOW 0 # endif # endif # endif # endif #endif /* When -fvisibility=hidden is used, assume the code has been annotated correspondingly for the symbols needed. */ #if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) int fnord () __attribute__((visibility("default"))); #endif int fnord () { return 42; } int main () { void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); int status = $lt_dlunknown; if (self) { if (dlsym (self,"fnord")) status = $lt_dlno_uscore; else { if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; else puts (dlerror ()); } /* dlclose (self); */ } else puts (dlerror ()); return status; } _LT_EOF if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 (eval $ac_link) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && test -s "conftest$ac_exeext" 2>/dev/null; then (./conftest; exit; ) >&5 2>/dev/null lt_status=$? case x$lt_status in x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;; x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;; x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;; esac else : # compilation failed lt_cv_dlopen_self_static=no fi fi rm -fr conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self_static" >&5 $as_echo "$lt_cv_dlopen_self_static" >&6; } fi CPPFLAGS=$save_CPPFLAGS LDFLAGS=$save_LDFLAGS LIBS=$save_LIBS ;; esac case $lt_cv_dlopen_self in yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; *) enable_dlopen_self=unknown ;; esac case $lt_cv_dlopen_self_static in yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; *) enable_dlopen_self_static=unknown ;; esac fi striplib= old_striplib= { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stripping libraries is possible" >&5 $as_echo_n "checking whether stripping libraries is possible... " >&6; } if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" test -z "$striplib" && striplib="$STRIP --strip-unneeded" { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } else # FIXME - insert some real tests, host_os isn't really good enough case $host_os in darwin*) if test -n "$STRIP"; then striplib="$STRIP -x" old_striplib="$STRIP -S" { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi ;; *) { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } ;; esac fi # Report what library types will actually be built { $as_echo "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5 $as_echo_n "checking if libtool supports shared libraries... " >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5 $as_echo "$can_build_shared" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5 $as_echo_n "checking whether to build shared libraries... " >&6; } test no = "$can_build_shared" && enable_shared=no # On AIX, shared libraries and static libraries use the same namespace, and # are all built from PIC. case $host_os in aix3*) test yes = "$enable_shared" && enable_static=no if test -n "$RANLIB"; then archive_cmds="$archive_cmds~\$RANLIB \$lib" postinstall_cmds='$RANLIB $lib' fi ;; aix[4-9]*) if test ia64 != "$host_cpu"; then case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in yes,aix,yes) ;; # shared object as lib.so file only yes,svr4,*) ;; # shared object as lib.so archive member only yes,*) enable_static=no ;; # shared object in lib.a archive as well esac fi ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5 $as_echo "$enable_shared" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5 $as_echo_n "checking whether to build static libraries... " >&6; } # Make sure either enable_shared or enable_static is yes. test yes = "$enable_shared" || enable_static=yes { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5 $as_echo "$enable_static" >&6; } fi ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu CC=$lt_save_CC if test -n "$CXX" && ( test no != "$CXX" && ( (test g++ = "$CXX" && `g++ -v >/dev/null 2>&1` ) || (test g++ != "$CXX"))); then ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C++ preprocessor" >&5 $as_echo_n "checking how to run the C++ preprocessor... " >&6; } if test -z "$CXXCPP"; then if ${ac_cv_prog_CXXCPP+:} false; then : $as_echo_n "(cached) " >&6 else # Double quotes because CXXCPP needs to be expanded for CXXCPP in "$CXX -E" "/lib/cpp" do ac_preproc_ok=false for ac_cxx_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # Prefer to if __STDC__ is defined, since # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef __STDC__ # include #else # include #endif Syntax error _ACEOF if ac_fn_cxx_try_cpp "$LINENO"; then : else # Broken: fails on valid input. continue fi rm -f conftest.err conftest.i conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if ac_fn_cxx_try_cpp "$LINENO"; then : # Broken: success on invalid input. continue else # Passes both tests. ac_preproc_ok=: break fi rm -f conftest.err conftest.i conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.i conftest.err conftest.$ac_ext if $ac_preproc_ok; then : break fi done ac_cv_prog_CXXCPP=$CXXCPP fi CXXCPP=$ac_cv_prog_CXXCPP else ac_cv_prog_CXXCPP=$CXXCPP fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXXCPP" >&5 $as_echo "$CXXCPP" >&6; } ac_preproc_ok=false for ac_cxx_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # Prefer to if __STDC__ is defined, since # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef __STDC__ # include #else # include #endif Syntax error _ACEOF if ac_fn_cxx_try_cpp "$LINENO"; then : else # Broken: fails on valid input. continue fi rm -f conftest.err conftest.i conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if ac_fn_cxx_try_cpp "$LINENO"; then : # Broken: success on invalid input. continue else # Passes both tests. ac_preproc_ok=: break fi rm -f conftest.err conftest.i conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.i conftest.err conftest.$ac_ext if $ac_preproc_ok; then : else { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "C++ preprocessor \"$CXXCPP\" fails sanity check See \`config.log' for more details" "$LINENO" 5; } fi ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu else _lt_caught_CXX_error=yes fi ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu archive_cmds_need_lc_CXX=no allow_undefined_flag_CXX= always_export_symbols_CXX=no archive_expsym_cmds_CXX= compiler_needs_object_CXX=no export_dynamic_flag_spec_CXX= hardcode_direct_CXX=no hardcode_direct_absolute_CXX=no hardcode_libdir_flag_spec_CXX= hardcode_libdir_separator_CXX= hardcode_minus_L_CXX=no hardcode_shlibpath_var_CXX=unsupported hardcode_automatic_CXX=no inherit_rpath_CXX=no module_cmds_CXX= module_expsym_cmds_CXX= link_all_deplibs_CXX=unknown old_archive_cmds_CXX=$old_archive_cmds reload_flag_CXX=$reload_flag reload_cmds_CXX=$reload_cmds no_undefined_flag_CXX= whole_archive_flag_spec_CXX= enable_shared_with_static_runtimes_CXX=no # Source file extension for C++ test sources. ac_ext=cpp # Object file extension for compiled C++ test sources. objext=o objext_CXX=$objext # No sense in running all these tests if we already determined that # the CXX compiler isn't working. Some variables (like enable_shared) # are currently assumed to apply to all compilers on this platform, # and will be corrupted by setting them based on a non-working compiler. if test yes != "$_lt_caught_CXX_error"; then # Code to be used in simple compile tests lt_simple_compile_test_code="int some_variable = 0;" # Code to be used in simple link tests lt_simple_link_test_code='int main(int, char *[]) { return(0); }' # ltmain only uses $CC for tagged configurations so make sure $CC is set. # If no C compiler was specified, use CC. LTCC=${LTCC-"$CC"} # If no C compiler flags were specified, use CFLAGS. LTCFLAGS=${LTCFLAGS-"$CFLAGS"} # Allow CC to be a program name with arguments. compiler=$CC # save warnings/boilerplate of simple test code ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" >conftest.$ac_ext eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_compiler_boilerplate=`cat conftest.err` $RM conftest* ac_outfile=conftest.$ac_objext echo "$lt_simple_link_test_code" >conftest.$ac_ext eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_linker_boilerplate=`cat conftest.err` $RM -r conftest* # Allow CC to be a program name with arguments. lt_save_CC=$CC lt_save_CFLAGS=$CFLAGS lt_save_LD=$LD lt_save_GCC=$GCC GCC=$GXX lt_save_with_gnu_ld=$with_gnu_ld lt_save_path_LD=$lt_cv_path_LD if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx else $as_unset lt_cv_prog_gnu_ld fi if test -n "${lt_cv_path_LDCXX+set}"; then lt_cv_path_LD=$lt_cv_path_LDCXX else $as_unset lt_cv_path_LD fi test -z "${LDCXX+set}" || LD=$LDCXX CC=${CXX-"c++"} CFLAGS=$CXXFLAGS compiler=$CC compiler_CXX=$CC func_cc_basename $compiler cc_basename=$func_cc_basename_result if test -n "$compiler"; then # We don't want -fno-exception when compiling C++ code, so set the # no_builtin_flag separately if test yes = "$GXX"; then lt_prog_compiler_no_builtin_flag_CXX=' -fno-builtin' else lt_prog_compiler_no_builtin_flag_CXX= fi if test yes = "$GXX"; then # Set up default GNU C++ configuration # Check whether --with-gnu-ld was given. if test "${with_gnu_ld+set}" = set; then : withval=$with_gnu_ld; test no = "$withval" || with_gnu_ld=yes else with_gnu_ld=no fi ac_prog=ld if test yes = "$GCC"; then # Check if gcc -print-prog-name=ld gives a path. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5 $as_echo_n "checking for ld used by $CC... " >&6; } case $host in *-*-mingw*) # gcc leaves a trailing carriage return, which upsets mingw ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; *) ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; esac case $ac_prog in # Accept absolute paths. [\\/]* | ?:[\\/]*) re_direlt='/[^/][^/]*/\.\./' # Canonicalize the pathname of ld ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` done test -z "$LD" && LD=$ac_prog ;; "") # If it fails, then pretend we aren't using GCC. ac_prog=ld ;; *) # If it is relative, then search for the first ld in PATH. with_gnu_ld=unknown ;; esac elif test yes = "$with_gnu_ld"; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 $as_echo_n "checking for GNU ld... " >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 $as_echo_n "checking for non-GNU ld... " >&6; } fi if ${lt_cv_path_LD+:} false; then : $as_echo_n "(cached) " >&6 else if test -z "$LD"; then lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR for ac_dir in $PATH; do IFS=$lt_save_ifs test -z "$ac_dir" && ac_dir=. if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then lt_cv_path_LD=$ac_dir/$ac_prog # Check to see if the program is GNU ld. I'd rather use --version, # but apparently some variants of GNU ld only accept -v. # Break only if it was the GNU/non-GNU ld that we prefer. case `"$lt_cv_path_LD" -v 2>&1 &5 $as_echo "$LD" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 $as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } if ${lt_cv_prog_gnu_ld+:} false; then : $as_echo_n "(cached) " >&6 else # I'd rather use --version here, but apparently some GNU lds only accept -v. case `$LD -v 2>&1 &5 $as_echo "$lt_cv_prog_gnu_ld" >&6; } with_gnu_ld=$lt_cv_prog_gnu_ld # Check if GNU C++ uses GNU ld as the underlying linker, since the # archiving commands below assume that GNU ld is being used. if test yes = "$with_gnu_ld"; then archive_cmds_CXX='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' archive_expsym_cmds_CXX='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir' export_dynamic_flag_spec_CXX='$wl--export-dynamic' # If archive_cmds runs LD, not CC, wlarc should be empty # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to # investigate it a little bit more. (MM) wlarc='$wl' # ancient GNU ld didn't support --whole-archive et. al. if eval "`$CC -print-prog-name=ld` --help 2>&1" | $GREP 'no-whole-archive' > /dev/null; then whole_archive_flag_spec_CXX=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' else whole_archive_flag_spec_CXX= fi else with_gnu_ld=no wlarc= # A generic and very simple default shared library creation # command for GNU C++ for the case where it uses the native # linker, instead of GNU ld. If possible, this setting should # overridden to take advantage of the native linker features on # the platform it is being used on. archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' fi # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP " \-L"' else GXX=no with_gnu_ld=no wlarc= fi # PORTME: fill in a description of your system's C++ link characteristics { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 $as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } ld_shlibs_CXX=yes case $host_os in aix3*) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; aix[4-9]*) if test ia64 = "$host_cpu"; then # On IA64, the linker does run time linking by default, so we don't # have to do anything special. aix_use_runtimelinking=no exp_sym_flag='-Bexport' no_entry_flag= else aix_use_runtimelinking=no # Test if we are trying to use run time linking or normal # AIX style linking. If -brtl is somewhere in LDFLAGS, we # have runtime linking enabled, and use it for executables. # For shared libraries, we enable/disable runtime linking # depending on the kind of the shared library created - # when "with_aix_soname,aix_use_runtimelinking" is: # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables # "aix,yes" lib.so shared, rtl:yes, for executables # lib.a static archive # "both,no" lib.so.V(shr.o) shared, rtl:yes # lib.a(lib.so.V) shared, rtl:no, for executables # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables # lib.a(lib.so.V) shared, rtl:no # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables # lib.a static archive case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) for ld_flag in $LDFLAGS; do case $ld_flag in *-brtl*) aix_use_runtimelinking=yes break ;; esac done if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then # With aix-soname=svr4, we create the lib.so.V shared archives only, # so we don't have lib.a shared libs to link our executables. # We have to force runtime linking in this case. aix_use_runtimelinking=yes LDFLAGS="$LDFLAGS -Wl,-brtl" fi ;; esac exp_sym_flag='-bexport' no_entry_flag='-bnoentry' fi # When large executables or shared objects are built, AIX ld can # have problems creating the table of contents. If linking a library # or program results in "error TOC overflow" add -mminimal-toc to # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. archive_cmds_CXX='' hardcode_direct_CXX=yes hardcode_direct_absolute_CXX=yes hardcode_libdir_separator_CXX=':' link_all_deplibs_CXX=yes file_list_spec_CXX='$wl-f,' case $with_aix_soname,$aix_use_runtimelinking in aix,*) ;; # no import file svr4,* | *,yes) # use import file # The Import File defines what to hardcode. hardcode_direct_CXX=no hardcode_direct_absolute_CXX=no ;; esac if test yes = "$GXX"; then case $host_os in aix4.[012]|aix4.[012].*) # We only want to do this on AIX 4.2 and lower, the check # below for broken collect2 doesn't work under 4.3+ collect2name=`$CC -print-prog-name=collect2` if test -f "$collect2name" && strings "$collect2name" | $GREP resolve_lib_name >/dev/null then # We have reworked collect2 : else # We have old collect2 hardcode_direct_CXX=unsupported # It fails to find uninstalled libraries when the uninstalled # path is not listed in the libpath. Setting hardcode_minus_L # to unsupported forces relinking hardcode_minus_L_CXX=yes hardcode_libdir_flag_spec_CXX='-L$libdir' hardcode_libdir_separator_CXX= fi esac shared_flag='-shared' if test yes = "$aix_use_runtimelinking"; then shared_flag=$shared_flag' $wl-G' fi # Need to ensure runtime linking is disabled for the traditional # shared library, or the linker may eventually find shared libraries # /with/ Import File - we do not want to mix them. shared_flag_aix='-shared' shared_flag_svr4='-shared $wl-G' else # not using gcc if test ia64 = "$host_cpu"; then # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release # chokes on -Wl,-G. The following line is correct: shared_flag='-G' else if test yes = "$aix_use_runtimelinking"; then shared_flag='$wl-G' else shared_flag='$wl-bM:SRE' fi shared_flag_aix='$wl-bM:SRE' shared_flag_svr4='$wl-G' fi fi export_dynamic_flag_spec_CXX='$wl-bexpall' # It seems that -bexpall does not export symbols beginning with # underscore (_), so it is better to generate a list of symbols to # export. always_export_symbols_CXX=yes if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then # Warning - without using the other runtime loading flags (-brtl), # -berok will link without error, but may produce a broken library. # The "-G" linker flag allows undefined symbols. no_undefined_flag_CXX='-bernotok' # Determine the default libpath from the value encoded in an empty # executable. if test set = "${lt_cv_aix_libpath+set}"; then aix_libpath=$lt_cv_aix_libpath else if ${lt_cv_aix_libpath__CXX+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_cxx_try_link "$LINENO"; then : lt_aix_libpath_sed=' /Import File Strings/,/^$/ { /^0/ { s/^0 *\([^ ]*\) *$/\1/ p } }' lt_cv_aix_libpath__CXX=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` # Check for a 64-bit object if we didn't find anything. if test -z "$lt_cv_aix_libpath__CXX"; then lt_cv_aix_libpath__CXX=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` fi fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext if test -z "$lt_cv_aix_libpath__CXX"; then lt_cv_aix_libpath__CXX=/usr/lib:/lib fi fi aix_libpath=$lt_cv_aix_libpath__CXX fi hardcode_libdir_flag_spec_CXX='$wl-blibpath:$libdir:'"$aix_libpath" archive_expsym_cmds_CXX='$CC -o $output_objdir/$soname $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags `if test -n "$allow_undefined_flag"; then func_echo_all "$wl$allow_undefined_flag"; else :; fi` $wl'$exp_sym_flag:\$export_symbols' '$shared_flag else if test ia64 = "$host_cpu"; then hardcode_libdir_flag_spec_CXX='$wl-R $libdir:/usr/lib:/lib' allow_undefined_flag_CXX="-z nodefs" archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\$wl$no_entry_flag"' $compiler_flags $wl$allow_undefined_flag '"\$wl$exp_sym_flag:\$export_symbols" else # Determine the default libpath from the value encoded in an # empty executable. if test set = "${lt_cv_aix_libpath+set}"; then aix_libpath=$lt_cv_aix_libpath else if ${lt_cv_aix_libpath__CXX+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_cxx_try_link "$LINENO"; then : lt_aix_libpath_sed=' /Import File Strings/,/^$/ { /^0/ { s/^0 *\([^ ]*\) *$/\1/ p } }' lt_cv_aix_libpath__CXX=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` # Check for a 64-bit object if we didn't find anything. if test -z "$lt_cv_aix_libpath__CXX"; then lt_cv_aix_libpath__CXX=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` fi fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext if test -z "$lt_cv_aix_libpath__CXX"; then lt_cv_aix_libpath__CXX=/usr/lib:/lib fi fi aix_libpath=$lt_cv_aix_libpath__CXX fi hardcode_libdir_flag_spec_CXX='$wl-blibpath:$libdir:'"$aix_libpath" # Warning - without using the other run time loading flags, # -berok will link without error, but may produce a broken library. no_undefined_flag_CXX=' $wl-bernotok' allow_undefined_flag_CXX=' $wl-berok' if test yes = "$with_gnu_ld"; then # We only use this code for GNU lds that support --whole-archive. whole_archive_flag_spec_CXX='$wl--whole-archive$convenience $wl--no-whole-archive' else # Exported symbols can be pulled into shared objects from archives whole_archive_flag_spec_CXX='$convenience' fi archive_cmds_need_lc_CXX=yes archive_expsym_cmds_CXX='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d' # -brtl affects multiple linker settings, -berok does not and is overridden later compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([, ]\\)%-berok\\1%g"`' if test svr4 != "$with_aix_soname"; then # This is similar to how AIX traditionally builds its shared # libraries. Need -bnortl late, we may have -brtl in LDFLAGS. archive_expsym_cmds_CXX="$archive_expsym_cmds_CXX"'~$CC '$shared_flag_aix' -o $output_objdir/$realname.d/$soname $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$realname.d/$soname' fi if test aix != "$with_aix_soname"; then archive_expsym_cmds_CXX="$archive_expsym_cmds_CXX"'~$CC '$shared_flag_svr4' -o $output_objdir/$realname.d/$shared_archive_member_spec.o $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$STRIP -e $output_objdir/$realname.d/$shared_archive_member_spec.o~( func_echo_all "#! $soname($shared_archive_member_spec.o)"; if test shr_64 = "$shared_archive_member_spec"; then func_echo_all "# 64"; else func_echo_all "# 32"; fi; cat $export_symbols ) > $output_objdir/$realname.d/$shared_archive_member_spec.imp~$AR $AR_FLAGS $output_objdir/$soname $output_objdir/$realname.d/$shared_archive_member_spec.o $output_objdir/$realname.d/$shared_archive_member_spec.imp' else # used by -dlpreopen to get the symbols archive_expsym_cmds_CXX="$archive_expsym_cmds_CXX"'~$MV $output_objdir/$realname.d/$soname $output_objdir' fi archive_expsym_cmds_CXX="$archive_expsym_cmds_CXX"'~$RM -r $output_objdir/$realname.d' fi fi ;; beos*) if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then allow_undefined_flag_CXX=unsupported # Joseph Beckenbach says some releases of gcc # support --undefined. This deserves some investigation. FIXME archive_cmds_CXX='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' else ld_shlibs_CXX=no fi ;; chorus*) case $cc_basename in *) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; esac ;; cygwin* | mingw* | pw32* | cegcc*) case $GXX,$cc_basename in ,cl* | no,cl*) # Native MSVC # hardcode_libdir_flag_spec is actually meaningless, as there is # no search path for DLLs. hardcode_libdir_flag_spec_CXX=' ' allow_undefined_flag_CXX=unsupported always_export_symbols_CXX=yes file_list_spec_CXX='@' # Tell ltmain to make .lib files, not .a files. libext=lib # Tell ltmain to make .dll files, not .so files. shrext_cmds=.dll # FIXME: Setting linknames here is a bad hack. archive_cmds_CXX='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames=' archive_expsym_cmds_CXX='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then cp "$export_symbols" "$output_objdir/$soname.def"; echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp"; else $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp; fi~ $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ linknames=' # The linker will not automatically build a static lib if we build a DLL. # _LT_TAGVAR(old_archive_from_new_cmds, CXX)='true' enable_shared_with_static_runtimes_CXX=yes # Don't use ranlib old_postinstall_cmds_CXX='chmod 644 $oldlib' postlink_cmds_CXX='lt_outputfile="@OUTPUT@"~ lt_tool_outputfile="@TOOL_OUTPUT@"~ case $lt_outputfile in *.exe|*.EXE) ;; *) lt_outputfile=$lt_outputfile.exe lt_tool_outputfile=$lt_tool_outputfile.exe ;; esac~ func_to_tool_file "$lt_outputfile"~ if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; $RM "$lt_outputfile.manifest"; fi' ;; *) # g++ # _LT_TAGVAR(hardcode_libdir_flag_spec, CXX) is actually meaningless, # as there is no search path for DLLs. hardcode_libdir_flag_spec_CXX='-L$libdir' export_dynamic_flag_spec_CXX='$wl--export-all-symbols' allow_undefined_flag_CXX=unsupported always_export_symbols_CXX=no enable_shared_with_static_runtimes_CXX=yes if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' # If the export-symbols file already is a .def file, use it as # is; otherwise, prepend EXPORTS... archive_expsym_cmds_CXX='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then cp $export_symbols $output_objdir/$soname.def; else echo EXPORTS > $output_objdir/$soname.def; cat $export_symbols >> $output_objdir/$soname.def; fi~ $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' else ld_shlibs_CXX=no fi ;; esac ;; darwin* | rhapsody*) archive_cmds_need_lc_CXX=no hardcode_direct_CXX=no hardcode_automatic_CXX=yes hardcode_shlibpath_var_CXX=unsupported if test yes = "$lt_cv_ld_force_load"; then whole_archive_flag_spec_CXX='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience $wl-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`' else whole_archive_flag_spec_CXX='' fi link_all_deplibs_CXX=yes allow_undefined_flag_CXX=$_lt_dar_allow_undefined case $cc_basename in ifort*|nagfor*) _lt_dar_can_shared=yes ;; *) _lt_dar_can_shared=$GCC ;; esac if test yes = "$_lt_dar_can_shared"; then output_verbose_link_cmd=func_echo_all archive_cmds_CXX="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil" module_cmds_CXX="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil" archive_expsym_cmds_CXX="sed 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dar_export_syms$_lt_dsymutil" module_expsym_cmds_CXX="sed -e 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dar_export_syms$_lt_dsymutil" if test yes != "$lt_cv_apple_cc_single_mod"; then archive_cmds_CXX="\$CC -r -keep_private_externs -nostdlib -o \$lib-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$lib-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring$_lt_dsymutil" archive_expsym_cmds_CXX="sed 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \$lib-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$lib-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring$_lt_dar_export_syms$_lt_dsymutil" fi else ld_shlibs_CXX=no fi ;; os2*) hardcode_libdir_flag_spec_CXX='-L$libdir' hardcode_minus_L_CXX=yes allow_undefined_flag_CXX=unsupported shrext_cmds=.dll archive_cmds_CXX='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ $ECHO EXPORTS >> $output_objdir/$libname.def~ emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ emximp -o $lib $output_objdir/$libname.def' archive_expsym_cmds_CXX='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ $ECHO EXPORTS >> $output_objdir/$libname.def~ prefix_cmds="$SED"~ if test EXPORTS = "`$SED 1q $export_symbols`"; then prefix_cmds="$prefix_cmds -e 1d"; fi~ prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ emximp -o $lib $output_objdir/$libname.def' old_archive_From_new_cmds_CXX='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' enable_shared_with_static_runtimes_CXX=yes ;; dgux*) case $cc_basename in ec++*) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; ghcx*) # Green Hills C++ Compiler # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; *) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; esac ;; freebsd2.*) # C++ shared libraries reported to be fairly broken before # switch to ELF ld_shlibs_CXX=no ;; freebsd-elf*) archive_cmds_need_lc_CXX=no ;; freebsd* | dragonfly*) # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF # conventions ld_shlibs_CXX=yes ;; haiku*) archive_cmds_CXX='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' link_all_deplibs_CXX=yes ;; hpux9*) hardcode_libdir_flag_spec_CXX='$wl+b $wl$libdir' hardcode_libdir_separator_CXX=: export_dynamic_flag_spec_CXX='$wl-E' hardcode_direct_CXX=yes hardcode_minus_L_CXX=yes # Not in the search PATH, # but as the default # location of the library. case $cc_basename in CC*) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; aCC*) archive_cmds_CXX='$RM $output_objdir/$soname~$CC -b $wl+b $wl$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib' # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP " \-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' ;; *) if test yes = "$GXX"; then archive_cmds_CXX='$RM $output_objdir/$soname~$CC -shared -nostdlib $pic_flag $wl+b $wl$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib' else # FIXME: insert proper C++ library support ld_shlibs_CXX=no fi ;; esac ;; hpux10*|hpux11*) if test no = "$with_gnu_ld"; then hardcode_libdir_flag_spec_CXX='$wl+b $wl$libdir' hardcode_libdir_separator_CXX=: case $host_cpu in hppa*64*|ia64*) ;; *) export_dynamic_flag_spec_CXX='$wl-E' ;; esac fi case $host_cpu in hppa*64*|ia64*) hardcode_direct_CXX=no hardcode_shlibpath_var_CXX=no ;; *) hardcode_direct_CXX=yes hardcode_direct_absolute_CXX=yes hardcode_minus_L_CXX=yes # Not in the search PATH, # but as the default # location of the library. ;; esac case $cc_basename in CC*) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; aCC*) case $host_cpu in hppa*64*) archive_cmds_CXX='$CC -b $wl+h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; ia64*) archive_cmds_CXX='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; *) archive_cmds_CXX='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; esac # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP " \-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' ;; *) if test yes = "$GXX"; then if test no = "$with_gnu_ld"; then case $host_cpu in hppa*64*) archive_cmds_CXX='$CC -shared -nostdlib -fPIC $wl+h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; ia64*) archive_cmds_CXX='$CC -shared -nostdlib $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; *) archive_cmds_CXX='$CC -shared -nostdlib $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; esac fi else # FIXME: insert proper C++ library support ld_shlibs_CXX=no fi ;; esac ;; interix[3-9]*) hardcode_direct_CXX=no hardcode_shlibpath_var_CXX=no hardcode_libdir_flag_spec_CXX='$wl-rpath,$libdir' export_dynamic_flag_spec_CXX='$wl-E' # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. # Instead, shared libraries are loaded at an image base (0x10000000 by # default) and relocated if they conflict, which is a slow very memory # consuming and fragmenting process. To avoid this, we pick a random, # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link # time. Moving up from 0x10000000 also allows more sbrk(2) space. archive_cmds_CXX='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' archive_expsym_cmds_CXX='sed "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' ;; irix5* | irix6*) case $cc_basename in CC*) # SGI C++ archive_cmds_CXX='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' # Archives containing C++ object files must be created using # "CC -ar", where "CC" is the IRIX C++ compiler. This is # necessary to make sure instantiated templates are included # in the archive. old_archive_cmds_CXX='$CC -ar -WR,-u -o $oldlib $oldobjs' ;; *) if test yes = "$GXX"; then if test no = "$with_gnu_ld"; then archive_cmds_CXX='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' else archive_cmds_CXX='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` -o $lib' fi fi link_all_deplibs_CXX=yes ;; esac hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir' hardcode_libdir_separator_CXX=: inherit_rpath_CXX=yes ;; linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) case $cc_basename in KCC*) # Kuck and Associates, Inc. (KAI) C++ Compiler # KCC will only create a shared library if the output file # ends with ".so" (or ".sl" for HP-UX), so rename the library # to its proper name (with version) after linking. archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' archive_expsym_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib $wl-retain-symbols-file,$export_symbols; mv \$templib $lib' # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' hardcode_libdir_flag_spec_CXX='$wl-rpath,$libdir' export_dynamic_flag_spec_CXX='$wl--export-dynamic' # Archives containing C++ object files must be created using # "CC -Bstatic", where "CC" is the KAI C++ compiler. old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' ;; icpc* | ecpc* ) # Intel C++ with_gnu_ld=yes # version 8.0 and above of icpc choke on multiply defined symbols # if we add $predep_objects and $postdep_objects, however 7.1 and # earlier do not add the objects themselves. case `$CC -V 2>&1` in *"Version 7."*) archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' ;; *) # Version 8.0 or newer tmp_idyn= case $host_cpu in ia64*) tmp_idyn=' -i_dynamic';; esac archive_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' archive_expsym_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' ;; esac archive_cmds_need_lc_CXX=no hardcode_libdir_flag_spec_CXX='$wl-rpath,$libdir' export_dynamic_flag_spec_CXX='$wl--export-dynamic' whole_archive_flag_spec_CXX='$wl--whole-archive$convenience $wl--no-whole-archive' ;; pgCC* | pgcpp*) # Portland Group C++ compiler case `$CC -V` in *pgCC\ [1-5].* | *pgcpp\ [1-5].*) prelink_cmds_CXX='tpldir=Template.dir~ rm -rf $tpldir~ $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~ compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"' old_archive_cmds_CXX='tpldir=Template.dir~ rm -rf $tpldir~ $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~ $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~ $RANLIB $oldlib' archive_cmds_CXX='tpldir=Template.dir~ rm -rf $tpldir~ $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' archive_expsym_cmds_CXX='tpldir=Template.dir~ rm -rf $tpldir~ $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' ;; *) # Version 6 and above use weak symbols archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' ;; esac hardcode_libdir_flag_spec_CXX='$wl--rpath $wl$libdir' export_dynamic_flag_spec_CXX='$wl--export-dynamic' whole_archive_flag_spec_CXX='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' ;; cxx*) # Compaq C++ archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib $wl-retain-symbols-file $wl$export_symbols' runpath_var=LD_RUN_PATH hardcode_libdir_flag_spec_CXX='-rpath $libdir' hardcode_libdir_separator_CXX=: # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "X$list" | $Xsed' ;; xl* | mpixl* | bgxl*) # IBM XL 8.0 on PPC, with GNU ld hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir' export_dynamic_flag_spec_CXX='$wl--export-dynamic' archive_cmds_CXX='$CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' if test yes = "$supports_anon_versioning"; then archive_expsym_cmds_CXX='echo "{ global:" > $output_objdir/$libname.ver~ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ echo "local: *; };" >> $output_objdir/$libname.ver~ $CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib' fi ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C++ 5.9 no_undefined_flag_CXX=' -zdefs' archive_cmds_CXX='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' archive_expsym_cmds_CXX='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-retain-symbols-file $wl$export_symbols' hardcode_libdir_flag_spec_CXX='-R$libdir' whole_archive_flag_spec_CXX='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' compiler_needs_object_CXX=yes # Not sure whether something based on # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 # would be better. output_verbose_link_cmd='func_echo_all' # Archives containing C++ object files must be created using # "CC -xar", where "CC" is the Sun C++ compiler. This is # necessary to make sure instantiated templates are included # in the archive. old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs' ;; esac ;; esac ;; lynxos*) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; m88k*) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; mvs*) case $cc_basename in cxx*) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; *) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; esac ;; netbsd*) if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then archive_cmds_CXX='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' wlarc= hardcode_libdir_flag_spec_CXX='-R$libdir' hardcode_direct_CXX=yes hardcode_shlibpath_var_CXX=no fi # Workaround some broken pre-1.5 toolchains output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' ;; *nto* | *qnx*) ld_shlibs_CXX=yes ;; openbsd* | bitrig*) if test -f /usr/libexec/ld.so; then hardcode_direct_CXX=yes hardcode_shlibpath_var_CXX=no hardcode_direct_absolute_CXX=yes archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' hardcode_libdir_flag_spec_CXX='$wl-rpath,$libdir' if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`"; then archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-retain-symbols-file,$export_symbols -o $lib' export_dynamic_flag_spec_CXX='$wl-E' whole_archive_flag_spec_CXX=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' fi output_verbose_link_cmd=func_echo_all else ld_shlibs_CXX=no fi ;; osf3* | osf4* | osf5*) case $cc_basename in KCC*) # Kuck and Associates, Inc. (KAI) C++ Compiler # KCC will only create a shared library if the output file # ends with ".so" (or ".sl" for HP-UX), so rename the library # to its proper name (with version) after linking. archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' hardcode_libdir_flag_spec_CXX='$wl-rpath,$libdir' hardcode_libdir_separator_CXX=: # Archives containing C++ object files must be created using # the KAI C++ compiler. case $host in osf3*) old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' ;; *) old_archive_cmds_CXX='$CC -o $oldlib $oldobjs' ;; esac ;; RCC*) # Rational C++ 2.4.1 # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; cxx*) case $host in osf3*) allow_undefined_flag_CXX=' $wl-expect_unresolved $wl\*' archive_cmds_CXX='$CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $soname `test -n "$verstring" && func_echo_all "$wl-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir' ;; *) allow_undefined_flag_CXX=' -expect_unresolved \*' archive_cmds_CXX='$CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' archive_expsym_cmds_CXX='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ echo "-hidden">> $lib.exp~ $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname $wl-input $wl$lib.exp `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib~ $RM $lib.exp' hardcode_libdir_flag_spec_CXX='-rpath $libdir' ;; esac hardcode_libdir_separator_CXX=: # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' ;; *) if test yes,no = "$GXX,$with_gnu_ld"; then allow_undefined_flag_CXX=' $wl-expect_unresolved $wl\*' case $host in osf3*) archive_cmds_CXX='$CC -shared -nostdlib $allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' ;; *) archive_cmds_CXX='$CC -shared $pic_flag -nostdlib $allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-msym $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' ;; esac hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir' hardcode_libdir_separator_CXX=: # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP " \-L"' else # FIXME: insert proper C++ library support ld_shlibs_CXX=no fi ;; esac ;; psos*) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; sunos4*) case $cc_basename in CC*) # Sun C++ 4.x # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; lcc*) # Lucid # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; *) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; esac ;; solaris*) case $cc_basename in CC* | sunCC*) # Sun C++ 4.2, 5.x and Centerline C++ archive_cmds_need_lc_CXX=yes no_undefined_flag_CXX=' -zdefs' archive_cmds_CXX='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $CC -G$allow_undefined_flag $wl-M $wl$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' hardcode_libdir_flag_spec_CXX='-R$libdir' hardcode_shlibpath_var_CXX=no case $host_os in solaris2.[0-5] | solaris2.[0-5].*) ;; *) # The compiler driver will combine and reorder linker options, # but understands '-z linker_flag'. # Supported since Solaris 2.6 (maybe 2.5.1?) whole_archive_flag_spec_CXX='-z allextract$convenience -z defaultextract' ;; esac link_all_deplibs_CXX=yes output_verbose_link_cmd='func_echo_all' # Archives containing C++ object files must be created using # "CC -xar", where "CC" is the Sun C++ compiler. This is # necessary to make sure instantiated templates are included # in the archive. old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs' ;; gcx*) # Green Hills C++ Compiler archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib' # The C++ compiler must be used to create the archive. old_archive_cmds_CXX='$CC $LDFLAGS -archive -o $oldlib $oldobjs' ;; *) # GNU C++ compiler with Solaris linker if test yes,no = "$GXX,$with_gnu_ld"; then no_undefined_flag_CXX=' $wl-z ${wl}defs' if $CC --version | $GREP -v '^2\.7' > /dev/null; then archive_cmds_CXX='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib' archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $CC -shared $pic_flag -nostdlib $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP " \-L"' else # g++ 2.7 appears to require '-G' NOT '-shared' on this # platform. archive_cmds_CXX='$CC -G -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib' archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $CC -G -nostdlib $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP " \-L"' fi hardcode_libdir_flag_spec_CXX='$wl-R $wl$libdir' case $host_os in solaris2.[0-5] | solaris2.[0-5].*) ;; *) whole_archive_flag_spec_CXX='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract' ;; esac fi ;; esac ;; sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) no_undefined_flag_CXX='$wl-z,text' archive_cmds_need_lc_CXX=no hardcode_shlibpath_var_CXX=no runpath_var='LD_RUN_PATH' case $cc_basename in CC*) archive_cmds_CXX='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_CXX='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' ;; *) archive_cmds_CXX='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_CXX='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' ;; esac ;; sysv5* | sco3.2v5* | sco5v6*) # Note: We CANNOT use -z defs as we might desire, because we do not # link with -lc, and that would cause any symbols used from libc to # always be unresolved, which means just about no library would # ever link correctly. If we're not using GNU ld we use -z text # though, which does catch some bad symbols but isn't as heavy-handed # as -z defs. no_undefined_flag_CXX='$wl-z,text' allow_undefined_flag_CXX='$wl-z,nodefs' archive_cmds_need_lc_CXX=no hardcode_shlibpath_var_CXX=no hardcode_libdir_flag_spec_CXX='$wl-R,$libdir' hardcode_libdir_separator_CXX=':' link_all_deplibs_CXX=yes export_dynamic_flag_spec_CXX='$wl-Bexport' runpath_var='LD_RUN_PATH' case $cc_basename in CC*) archive_cmds_CXX='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_CXX='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' old_archive_cmds_CXX='$CC -Tprelink_objects $oldobjs~ '"$old_archive_cmds_CXX" reload_cmds_CXX='$CC -Tprelink_objects $reload_objs~ '"$reload_cmds_CXX" ;; *) archive_cmds_CXX='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_CXX='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' ;; esac ;; tandem*) case $cc_basename in NCC*) # NonStop-UX NCC 3.20 # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; *) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; esac ;; vxworks*) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; *) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_CXX" >&5 $as_echo "$ld_shlibs_CXX" >&6; } test no = "$ld_shlibs_CXX" && can_build_shared=no GCC_CXX=$GXX LD_CXX=$LD ## CAVEAT EMPTOR: ## There is no encapsulation within the following macros, do not change ## the running order or otherwise move them around unless you know exactly ## what you are doing... # Dependencies to place before and after the object being linked: predep_objects_CXX= postdep_objects_CXX= predeps_CXX= postdeps_CXX= compiler_lib_search_path_CXX= cat > conftest.$ac_ext <<_LT_EOF class Foo { public: Foo (void) { a = 0; } private: int a; }; _LT_EOF _lt_libdeps_save_CFLAGS=$CFLAGS case "$CC $CFLAGS " in #( *\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;; *\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;; *\ -fuse-linker-plugin*\ *) CFLAGS="$CFLAGS -fno-use-linker-plugin" ;; esac if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then # Parse the compiler output and extract the necessary # objects, libraries and library flags. # Sentinel used to keep track of whether or not we are before # the conftest object file. pre_test_object_deps_done=no for p in `eval "$output_verbose_link_cmd"`; do case $prev$p in -L* | -R* | -l*) # Some compilers place space between "-{L,R}" and the path. # Remove the space. if test x-L = "$p" || test x-R = "$p"; then prev=$p continue fi # Expand the sysroot to ease extracting the directories later. if test -z "$prev"; then case $p in -L*) func_stripname_cnf '-L' '' "$p"; prev=-L; p=$func_stripname_result ;; -R*) func_stripname_cnf '-R' '' "$p"; prev=-R; p=$func_stripname_result ;; -l*) func_stripname_cnf '-l' '' "$p"; prev=-l; p=$func_stripname_result ;; esac fi case $p in =*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;; esac if test no = "$pre_test_object_deps_done"; then case $prev in -L | -R) # Internal compiler library paths should come after those # provided the user. The postdeps already come after the # user supplied libs so there is no need to process them. if test -z "$compiler_lib_search_path_CXX"; then compiler_lib_search_path_CXX=$prev$p else compiler_lib_search_path_CXX="${compiler_lib_search_path_CXX} $prev$p" fi ;; # The "-l" case would never come before the object being # linked, so don't bother handling this case. esac else if test -z "$postdeps_CXX"; then postdeps_CXX=$prev$p else postdeps_CXX="${postdeps_CXX} $prev$p" fi fi prev= ;; *.lto.$objext) ;; # Ignore GCC LTO objects *.$objext) # This assumes that the test object file only shows up # once in the compiler output. if test "$p" = "conftest.$objext"; then pre_test_object_deps_done=yes continue fi if test no = "$pre_test_object_deps_done"; then if test -z "$predep_objects_CXX"; then predep_objects_CXX=$p else predep_objects_CXX="$predep_objects_CXX $p" fi else if test -z "$postdep_objects_CXX"; then postdep_objects_CXX=$p else postdep_objects_CXX="$postdep_objects_CXX $p" fi fi ;; *) ;; # Ignore the rest. esac done # Clean up. rm -f a.out a.exe else echo "libtool.m4: error: problem compiling CXX test program" fi $RM -f confest.$objext CFLAGS=$_lt_libdeps_save_CFLAGS # PORTME: override above test on systems where it is broken case $host_os in interix[3-9]*) # Interix 3.5 installs completely hosed .la files for C++, so rather than # hack all around it, let's just trust "g++" to DTRT. predep_objects_CXX= postdep_objects_CXX= postdeps_CXX= ;; esac case " $postdeps_CXX " in *" -lc "*) archive_cmds_need_lc_CXX=no ;; esac compiler_lib_search_dirs_CXX= if test -n "${compiler_lib_search_path_CXX}"; then compiler_lib_search_dirs_CXX=`echo " ${compiler_lib_search_path_CXX}" | $SED -e 's! -L! !g' -e 's!^ !!'` fi lt_prog_compiler_wl_CXX= lt_prog_compiler_pic_CXX= lt_prog_compiler_static_CXX= # C++ specific cases for pic, static, wl, etc. if test yes = "$GXX"; then lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_static_CXX='-static' case $host_os in aix*) # All AIX code is PIC. if test ia64 = "$host_cpu"; then # AIX 5 now supports IA64 processor lt_prog_compiler_static_CXX='-Bstatic' fi lt_prog_compiler_pic_CXX='-fPIC' ;; amigaos*) case $host_cpu in powerpc) # see comment about AmigaOS4 .so support lt_prog_compiler_pic_CXX='-fPIC' ;; m68k) # FIXME: we need at least 68020 code to build shared libraries, but # adding the '-m68020' flag to GCC prevents building anything better, # like '-m68040'. lt_prog_compiler_pic_CXX='-m68020 -resident32 -malways-restore-a4' ;; esac ;; beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) # PIC is the default for these OSes. ;; mingw* | cygwin* | os2* | pw32* | cegcc*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). # Although the cygwin gcc ignores -fPIC, still need this for old-style # (--disable-auto-import) libraries lt_prog_compiler_pic_CXX='-DDLL_EXPORT' case $host_os in os2*) lt_prog_compiler_static_CXX='$wl-static' ;; esac ;; darwin* | rhapsody*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files lt_prog_compiler_pic_CXX='-fno-common' ;; *djgpp*) # DJGPP does not support shared libraries at all lt_prog_compiler_pic_CXX= ;; haiku*) # PIC is the default for Haiku. # The "-static" flag exists, but is broken. lt_prog_compiler_static_CXX= ;; interix[3-9]*) # Interix 3.x gcc -fpic/-fPIC options generate broken code. # Instead, we relocate shared libraries at runtime. ;; sysv4*MP*) if test -d /usr/nec; then lt_prog_compiler_pic_CXX=-Kconform_pic fi ;; hpux*) # PIC is the default for 64-bit PA HP-UX, but not for 32-bit # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag # sets the default TLS model and affects inlining. case $host_cpu in hppa*64*) ;; *) lt_prog_compiler_pic_CXX='-fPIC' ;; esac ;; *qnx* | *nto*) # QNX uses GNU C++, but need to define -shared option too, otherwise # it will coredump. lt_prog_compiler_pic_CXX='-fPIC -shared' ;; *) lt_prog_compiler_pic_CXX='-fPIC' ;; esac else case $host_os in aix[4-9]*) # All AIX code is PIC. if test ia64 = "$host_cpu"; then # AIX 5 now supports IA64 processor lt_prog_compiler_static_CXX='-Bstatic' else lt_prog_compiler_static_CXX='-bnso -bI:/lib/syscalls.exp' fi ;; chorus*) case $cc_basename in cxch68*) # Green Hills C++ Compiler # _LT_TAGVAR(lt_prog_compiler_static, CXX)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a" ;; esac ;; mingw* | cygwin* | os2* | pw32* | cegcc*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). lt_prog_compiler_pic_CXX='-DDLL_EXPORT' ;; dgux*) case $cc_basename in ec++*) lt_prog_compiler_pic_CXX='-KPIC' ;; ghcx*) # Green Hills C++ Compiler lt_prog_compiler_pic_CXX='-pic' ;; *) ;; esac ;; freebsd* | dragonfly*) # FreeBSD uses GNU C++ ;; hpux9* | hpux10* | hpux11*) case $cc_basename in CC*) lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_static_CXX='$wl-a ${wl}archive' if test ia64 != "$host_cpu"; then lt_prog_compiler_pic_CXX='+Z' fi ;; aCC*) lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_static_CXX='$wl-a ${wl}archive' case $host_cpu in hppa*64*|ia64*) # +Z the default ;; *) lt_prog_compiler_pic_CXX='+Z' ;; esac ;; *) ;; esac ;; interix*) # This is c89, which is MS Visual C++ (no shared libs) # Anyone wants to do a port? ;; irix5* | irix6* | nonstopux*) case $cc_basename in CC*) lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_static_CXX='-non_shared' # CC pic flag -KPIC is the default. ;; *) ;; esac ;; linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) case $cc_basename in KCC*) # KAI C++ Compiler lt_prog_compiler_wl_CXX='--backend -Wl,' lt_prog_compiler_pic_CXX='-fPIC' ;; ecpc* ) # old Intel C++ for x86_64, which still supported -KPIC. lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_pic_CXX='-KPIC' lt_prog_compiler_static_CXX='-static' ;; icpc* ) # Intel C++, used to be incompatible with GCC. # ICC 10 doesn't accept -KPIC any more. lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_pic_CXX='-fPIC' lt_prog_compiler_static_CXX='-static' ;; pgCC* | pgcpp*) # Portland Group C++ compiler lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_pic_CXX='-fpic' lt_prog_compiler_static_CXX='-Bstatic' ;; cxx*) # Compaq C++ # Make sure the PIC flag is empty. It appears that all Alpha # Linux and Compaq Tru64 Unix objects are PIC. lt_prog_compiler_pic_CXX= lt_prog_compiler_static_CXX='-non_shared' ;; xlc* | xlC* | bgxl[cC]* | mpixl[cC]*) # IBM XL 8.0, 9.0 on PPC and BlueGene lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_pic_CXX='-qpic' lt_prog_compiler_static_CXX='-qstaticlink' ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C++ 5.9 lt_prog_compiler_pic_CXX='-KPIC' lt_prog_compiler_static_CXX='-Bstatic' lt_prog_compiler_wl_CXX='-Qoption ld ' ;; esac ;; esac ;; lynxos*) ;; m88k*) ;; mvs*) case $cc_basename in cxx*) lt_prog_compiler_pic_CXX='-W c,exportall' ;; *) ;; esac ;; netbsd* | netbsdelf*-gnu) ;; *qnx* | *nto*) # QNX uses GNU C++, but need to define -shared option too, otherwise # it will coredump. lt_prog_compiler_pic_CXX='-fPIC -shared' ;; osf3* | osf4* | osf5*) case $cc_basename in KCC*) lt_prog_compiler_wl_CXX='--backend -Wl,' ;; RCC*) # Rational C++ 2.4.1 lt_prog_compiler_pic_CXX='-pic' ;; cxx*) # Digital/Compaq C++ lt_prog_compiler_wl_CXX='-Wl,' # Make sure the PIC flag is empty. It appears that all Alpha # Linux and Compaq Tru64 Unix objects are PIC. lt_prog_compiler_pic_CXX= lt_prog_compiler_static_CXX='-non_shared' ;; *) ;; esac ;; psos*) ;; solaris*) case $cc_basename in CC* | sunCC*) # Sun C++ 4.2, 5.x and Centerline C++ lt_prog_compiler_pic_CXX='-KPIC' lt_prog_compiler_static_CXX='-Bstatic' lt_prog_compiler_wl_CXX='-Qoption ld ' ;; gcx*) # Green Hills C++ Compiler lt_prog_compiler_pic_CXX='-PIC' ;; *) ;; esac ;; sunos4*) case $cc_basename in CC*) # Sun C++ 4.x lt_prog_compiler_pic_CXX='-pic' lt_prog_compiler_static_CXX='-Bstatic' ;; lcc*) # Lucid lt_prog_compiler_pic_CXX='-pic' ;; *) ;; esac ;; sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) case $cc_basename in CC*) lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_pic_CXX='-KPIC' lt_prog_compiler_static_CXX='-Bstatic' ;; esac ;; tandem*) case $cc_basename in NCC*) # NonStop-UX NCC 3.20 lt_prog_compiler_pic_CXX='-KPIC' ;; *) ;; esac ;; vxworks*) ;; *) lt_prog_compiler_can_build_shared_CXX=no ;; esac fi case $host_os in # For platforms that do not support PIC, -DPIC is meaningless: *djgpp*) lt_prog_compiler_pic_CXX= ;; *) lt_prog_compiler_pic_CXX="$lt_prog_compiler_pic_CXX -DPIC" ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5 $as_echo_n "checking for $compiler option to produce PIC... " >&6; } if ${lt_cv_prog_compiler_pic_CXX+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_pic_CXX=$lt_prog_compiler_pic_CXX fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_CXX" >&5 $as_echo "$lt_cv_prog_compiler_pic_CXX" >&6; } lt_prog_compiler_pic_CXX=$lt_cv_prog_compiler_pic_CXX # # Check to make sure the PIC flag actually works. # if test -n "$lt_prog_compiler_pic_CXX"; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works" >&5 $as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works... " >&6; } if ${lt_cv_prog_compiler_pic_works_CXX+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_pic_works_CXX=no ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="$lt_prog_compiler_pic_CXX -DPIC" ## exclude from sc_useless_quotes_in_assignment # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. # The option is referenced via a variable to avoid confusing sed. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then lt_cv_prog_compiler_pic_works_CXX=yes fi fi $RM conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works_CXX" >&5 $as_echo "$lt_cv_prog_compiler_pic_works_CXX" >&6; } if test yes = "$lt_cv_prog_compiler_pic_works_CXX"; then case $lt_prog_compiler_pic_CXX in "" | " "*) ;; *) lt_prog_compiler_pic_CXX=" $lt_prog_compiler_pic_CXX" ;; esac else lt_prog_compiler_pic_CXX= lt_prog_compiler_can_build_shared_CXX=no fi fi # # Check to make sure the static flag actually works. # wl=$lt_prog_compiler_wl_CXX eval lt_tmp_static_flag=\"$lt_prog_compiler_static_CXX\" { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5 $as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } if ${lt_cv_prog_compiler_static_works_CXX+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_static_works_CXX=no save_LDFLAGS=$LDFLAGS LDFLAGS="$LDFLAGS $lt_tmp_static_flag" echo "$lt_simple_link_test_code" > conftest.$ac_ext if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then # The linker can only warn and ignore the option if not recognized # So say no if there are warnings if test -s conftest.err; then # Append any errors to the config.log. cat conftest.err 1>&5 $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if diff conftest.exp conftest.er2 >/dev/null; then lt_cv_prog_compiler_static_works_CXX=yes fi else lt_cv_prog_compiler_static_works_CXX=yes fi fi $RM -r conftest* LDFLAGS=$save_LDFLAGS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works_CXX" >&5 $as_echo "$lt_cv_prog_compiler_static_works_CXX" >&6; } if test yes = "$lt_cv_prog_compiler_static_works_CXX"; then : else lt_prog_compiler_static_CXX= fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 $as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } if ${lt_cv_prog_compiler_c_o_CXX+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_c_o_CXX=no $RM -r conftest 2>/dev/null mkdir conftest cd conftest mkdir out echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="-o out/conftest2.$ac_objext" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then lt_cv_prog_compiler_c_o_CXX=yes fi fi chmod u+w . 2>&5 $RM conftest* # SGI C++ compiler will create directory out/ii_files/ for # template instantiation test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files $RM out/* && rmdir out cd .. $RM -r conftest $RM conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_CXX" >&5 $as_echo "$lt_cv_prog_compiler_c_o_CXX" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 $as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } if ${lt_cv_prog_compiler_c_o_CXX+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_c_o_CXX=no $RM -r conftest 2>/dev/null mkdir conftest cd conftest mkdir out echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="-o out/conftest2.$ac_objext" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then lt_cv_prog_compiler_c_o_CXX=yes fi fi chmod u+w . 2>&5 $RM conftest* # SGI C++ compiler will create directory out/ii_files/ for # template instantiation test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files $RM out/* && rmdir out cd .. $RM -r conftest $RM conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_CXX" >&5 $as_echo "$lt_cv_prog_compiler_c_o_CXX" >&6; } hard_links=nottested if test no = "$lt_cv_prog_compiler_c_o_CXX" && test no != "$need_locks"; then # do not overwrite the value of need_locks provided by the user { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5 $as_echo_n "checking if we can lock with hard links... " >&6; } hard_links=yes $RM conftest* ln conftest.a conftest.b 2>/dev/null && hard_links=no touch conftest.a ln conftest.a conftest.b 2>&5 || hard_links=no ln conftest.a conftest.b 2>/dev/null && hard_links=no { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5 $as_echo "$hard_links" >&6; } if test no = "$hard_links"; then { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&5 $as_echo "$as_me: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&2;} need_locks=warn fi else need_locks=no fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 $as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' exclude_expsyms_CXX='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*' case $host_os in aix[4-9]*) # If we're using GNU nm, then we don't want the "-C" option. # -C means demangle to GNU nm, but means don't demangle to AIX nm. # Without the "-l" option, or with the "-B" option, AIX nm treats # weak defined symbols like other global defined symbols, whereas # GNU nm marks them as "W". # While the 'weak' keyword is ignored in the Export File, we need # it in the Import File for the 'aix-soname' feature, so we have # to replace the "-B" option with "-P" for AIX nm. if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then export_symbols_cmds_CXX='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols' else export_symbols_cmds_CXX='`func_echo_all $NM | $SED -e '\''s/B\([^B]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && (substr(\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols' fi ;; pw32*) export_symbols_cmds_CXX=$ltdll_cmds ;; cygwin* | mingw* | cegcc*) case $cc_basename in cl*) exclude_expsyms_CXX='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' ;; *) export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols' exclude_expsyms_CXX='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname' ;; esac ;; linux* | k*bsd*-gnu | gnu*) link_all_deplibs_CXX=no ;; *) export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_CXX" >&5 $as_echo "$ld_shlibs_CXX" >&6; } test no = "$ld_shlibs_CXX" && can_build_shared=no with_gnu_ld_CXX=$with_gnu_ld # # Do we need to explicitly link libc? # case "x$archive_cmds_need_lc_CXX" in x|xyes) # Assume -lc should be added archive_cmds_need_lc_CXX=yes if test yes,yes = "$GCC,$enable_shared"; then case $archive_cmds_CXX in *'~'*) # FIXME: we may have to deal with multi-command sequences. ;; '$CC '*) # Test whether the compiler implicitly links with -lc since on some # systems, -lgcc has to come before -lc. If gcc already passes -lc # to ld, don't add -lc before -lgcc. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5 $as_echo_n "checking whether -lc should be explicitly linked in... " >&6; } if ${lt_cv_archive_cmds_need_lc_CXX+:} false; then : $as_echo_n "(cached) " >&6 else $RM conftest* echo "$lt_simple_compile_test_code" > conftest.$ac_ext if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } 2>conftest.err; then soname=conftest lib=conftest libobjs=conftest.$ac_objext deplibs= wl=$lt_prog_compiler_wl_CXX pic_flag=$lt_prog_compiler_pic_CXX compiler_flags=-v linker_flags=-v verstring= output_objdir=. libname=conftest lt_save_allow_undefined_flag=$allow_undefined_flag_CXX allow_undefined_flag_CXX= if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds_CXX 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5 (eval $archive_cmds_CXX 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } then lt_cv_archive_cmds_need_lc_CXX=no else lt_cv_archive_cmds_need_lc_CXX=yes fi allow_undefined_flag_CXX=$lt_save_allow_undefined_flag else cat conftest.err 1>&5 fi $RM conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc_CXX" >&5 $as_echo "$lt_cv_archive_cmds_need_lc_CXX" >&6; } archive_cmds_need_lc_CXX=$lt_cv_archive_cmds_need_lc_CXX ;; esac fi ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5 $as_echo_n "checking dynamic linker characteristics... " >&6; } library_names_spec= libname_spec='lib$name' soname_spec= shrext_cmds=.so postinstall_cmds= postuninstall_cmds= finish_cmds= finish_eval= shlibpath_var= shlibpath_overrides_runpath=unknown version_type=none dynamic_linker="$host_os ld.so" sys_lib_dlsearch_path_spec="/lib /usr/lib" need_lib_prefix=unknown hardcode_into_libs=no # when you set need_version to no, make sure it does not cause -set_version # flags to be left without arguments need_version=unknown case $host_os in aix3*) version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='$libname$release$shared_ext$versuffix $libname.a' shlibpath_var=LIBPATH # AIX 3 has no versioning support, so we append a major version to the name. soname_spec='$libname$release$shared_ext$major' ;; aix[4-9]*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no hardcode_into_libs=yes if test ia64 = "$host_cpu"; then # AIX 5 supports IA64 library_names_spec='$libname$release$shared_ext$major $libname$release$shared_ext$versuffix $libname$shared_ext' shlibpath_var=LD_LIBRARY_PATH else # With GCC up to 2.95.x, collect2 would create an import file # for dependence libraries. The import file would start with # the line '#! .'. This would cause the generated library to # depend on '.', always an invalid library. This was fixed in # development snapshots of GCC prior to 3.0. case $host_os in aix4 | aix4.[01] | aix4.[01].*) if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' echo ' yes ' echo '#endif'; } | $CC -E - | $GREP yes > /dev/null; then : else can_build_shared=no fi ;; esac # Using Import Files as archive members, it is possible to support # filename-based versioning of shared library archives on AIX. While # this would work for both with and without runtime linking, it will # prevent static linking of such archives. So we do filename-based # shared library versioning with .so extension only, which is used # when both runtime linking and shared linking is enabled. # Unfortunately, runtime linking may impact performance, so we do # not want this to be the default eventually. Also, we use the # versioned .so libs for executables only if there is the -brtl # linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only. # To allow for filename-based versioning support, we need to create # libNAME.so.V as an archive file, containing: # *) an Import File, referring to the versioned filename of the # archive as well as the shared archive member, telling the # bitwidth (32 or 64) of that shared object, and providing the # list of exported symbols of that shared object, eventually # decorated with the 'weak' keyword # *) the shared object with the F_LOADONLY flag set, to really avoid # it being seen by the linker. # At run time we better use the real file rather than another symlink, # but for link time we create the symlink libNAME.so -> libNAME.so.V case $with_aix_soname,$aix_use_runtimelinking in # AIX (on Power*) has no versioning support, so currently we cannot hardcode correct # soname into executable. Probably we can add versioning support to # collect2, so additional links can be useful in future. aix,yes) # traditional libtool dynamic_linker='AIX unversionable lib.so' # If using run time linking (on AIX 4.2 or later) use lib.so # instead of lib.a to let people know that these are not # typical AIX shared libraries. library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' ;; aix,no) # traditional AIX only dynamic_linker='AIX lib.a(lib.so.V)' # We preserve .a as extension for shared libraries through AIX4.2 # and later when we are not doing run time linking. library_names_spec='$libname$release.a $libname.a' soname_spec='$libname$release$shared_ext$major' ;; svr4,*) # full svr4 only dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o)" library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' # We do not specify a path in Import Files, so LIBPATH fires. shlibpath_overrides_runpath=yes ;; *,yes) # both, prefer svr4 dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o), lib.a(lib.so.V)" library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' # unpreferred sharedlib libNAME.a needs extra handling postinstall_cmds='test -n "$linkname" || linkname="$realname"~func_stripname "" ".so" "$linkname"~$install_shared_prog "$dir/$func_stripname_result.$libext" "$destdir/$func_stripname_result.$libext"~test -z "$tstripme" || test -z "$striplib" || $striplib "$destdir/$func_stripname_result.$libext"' postuninstall_cmds='for n in $library_names $old_library; do :; done~func_stripname "" ".so" "$n"~test "$func_stripname_result" = "$n" || func_append rmfiles " $odir/$func_stripname_result.$libext"' # We do not specify a path in Import Files, so LIBPATH fires. shlibpath_overrides_runpath=yes ;; *,no) # both, prefer aix dynamic_linker="AIX lib.a(lib.so.V), lib.so.V($shared_archive_member_spec.o)" library_names_spec='$libname$release.a $libname.a' soname_spec='$libname$release$shared_ext$major' # unpreferred sharedlib libNAME.so.V and symlink libNAME.so need extra handling postinstall_cmds='test -z "$dlname" || $install_shared_prog $dir/$dlname $destdir/$dlname~test -z "$tstripme" || test -z "$striplib" || $striplib $destdir/$dlname~test -n "$linkname" || linkname=$realname~func_stripname "" ".a" "$linkname"~(cd "$destdir" && $LN_S -f $dlname $func_stripname_result.so)' postuninstall_cmds='test -z "$dlname" || func_append rmfiles " $odir/$dlname"~for n in $old_library $library_names; do :; done~func_stripname "" ".a" "$n"~func_append rmfiles " $odir/$func_stripname_result.so"' ;; esac shlibpath_var=LIBPATH fi ;; amigaos*) case $host_cpu in powerpc) # Since July 2007 AmigaOS4 officially supports .so libraries. # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' ;; m68k) library_names_spec='$libname.ixlibrary $libname.a' # Create ${libname}_ixlibrary.a entries in /sys/libs. finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' ;; esac ;; beos*) library_names_spec='$libname$shared_ext' dynamic_linker="$host_os ld.so" shlibpath_var=LIBRARY_PATH ;; bsdi[45]*) version_type=linux # correct to gnu/linux during the next big refactor need_version=no library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' shlibpath_var=LD_LIBRARY_PATH sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" # the default ld.so.conf also contains /usr/contrib/lib and # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow # libtool to hard-code these into programs ;; cygwin* | mingw* | pw32* | cegcc*) version_type=windows shrext_cmds=.dll need_version=no need_lib_prefix=no case $GCC,$cc_basename in yes,*) # gcc library_names_spec='$libname.dll.a' # DLL is installed to $(libdir)/../bin by postinstall_cmds postinstall_cmds='base_file=`basename \$file`~ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ dldir=$destdir/`dirname \$dlpath`~ test -d \$dldir || mkdir -p \$dldir~ $install_prog $dir/$dlname \$dldir/$dlname~ chmod a+x \$dldir/$dlname~ if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; fi' postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ dlpath=$dir/\$dldll~ $RM \$dlpath' shlibpath_overrides_runpath=yes case $host_os in cygwin*) # Cygwin DLLs use 'cyg' prefix rather than 'lib' soname_spec='`echo $libname | sed -e 's/^lib/cyg/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' ;; mingw* | cegcc*) # MinGW DLLs use traditional 'lib' prefix soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' ;; pw32*) # pw32 DLLs use 'pw' prefix rather than 'lib' library_names_spec='`echo $libname | sed -e 's/^lib/pw/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' ;; esac dynamic_linker='Win32 ld.exe' ;; *,cl*) # Native MSVC libname_spec='$name' soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' library_names_spec='$libname.dll.lib' case $build_os in mingw*) sys_lib_search_path_spec= lt_save_ifs=$IFS IFS=';' for lt_path in $LIB do IFS=$lt_save_ifs # Let DOS variable expansion print the short 8.3 style file name. lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"` sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path" done IFS=$lt_save_ifs # Convert to MSYS style. sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'` ;; cygwin*) # Convert to unix form, then to dos form, then back to unix form # but this time dos style (no spaces!) so that the unix form looks # like /cygdrive/c/PROGRA~1:/cygdr... sys_lib_search_path_spec=`cygpath --path --unix "$LIB"` sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null` sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` ;; *) sys_lib_search_path_spec=$LIB if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then # It is most probably a Windows format PATH. sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` else sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` fi # FIXME: find the short name or the path components, as spaces are # common. (e.g. "Program Files" -> "PROGRA~1") ;; esac # DLL is installed to $(libdir)/../bin by postinstall_cmds postinstall_cmds='base_file=`basename \$file`~ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ dldir=$destdir/`dirname \$dlpath`~ test -d \$dldir || mkdir -p \$dldir~ $install_prog $dir/$dlname \$dldir/$dlname' postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ dlpath=$dir/\$dldll~ $RM \$dlpath' shlibpath_overrides_runpath=yes dynamic_linker='Win32 link.exe' ;; *) # Assume MSVC wrapper library_names_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext $libname.lib' dynamic_linker='Win32 ld.exe' ;; esac # FIXME: first we should search . and the directory the executable is in shlibpath_var=PATH ;; darwin* | rhapsody*) dynamic_linker="$host_os dyld" version_type=darwin need_lib_prefix=no need_version=no library_names_spec='$libname$release$major$shared_ext $libname$shared_ext' soname_spec='$libname$release$major$shared_ext' shlibpath_overrides_runpath=yes shlibpath_var=DYLD_LIBRARY_PATH shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' ;; dgux*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' shlibpath_var=LD_LIBRARY_PATH ;; freebsd* | dragonfly*) # DragonFly does not have aout. When/if they implement a new # versioning mechanism, adjust this. if test -x /usr/bin/objformat; then objformat=`/usr/bin/objformat` else case $host_os in freebsd[23].*) objformat=aout ;; *) objformat=elf ;; esac fi version_type=freebsd-$objformat case $version_type in freebsd-elf*) library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' need_version=no need_lib_prefix=no ;; freebsd-*) library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' need_version=yes ;; esac shlibpath_var=LD_LIBRARY_PATH case $host_os in freebsd2.*) shlibpath_overrides_runpath=yes ;; freebsd3.[01]* | freebsdelf3.[01]*) shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; *) # from 4.6 on, and DragonFly shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; esac ;; haiku*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no dynamic_linker="$host_os runtime_loader" library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' shlibpath_var=LIBRARY_PATH shlibpath_overrides_runpath=no sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib' hardcode_into_libs=yes ;; hpux9* | hpux10* | hpux11*) # Give a soname corresponding to the major version so that dld.sl refuses to # link against other versions. version_type=sunos need_lib_prefix=no need_version=no case $host_cpu in ia64*) shrext_cmds='.so' hardcode_into_libs=yes dynamic_linker="$host_os dld.so" shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' if test 32 = "$HPUX_IA64_MODE"; then sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" sys_lib_dlsearch_path_spec=/usr/lib/hpux32 else sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" sys_lib_dlsearch_path_spec=/usr/lib/hpux64 fi ;; hppa*64*) shrext_cmds='.sl' hardcode_into_libs=yes dynamic_linker="$host_os dld.sl" shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec ;; *) shrext_cmds='.sl' dynamic_linker="$host_os dld.sl" shlibpath_var=SHLIB_PATH shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' ;; esac # HP-UX runs *really* slowly unless shared libraries are mode 555, ... postinstall_cmds='chmod 555 $lib' # or fails outright, so override atomically: install_override_mode=555 ;; interix[3-9]*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; irix5* | irix6* | nonstopux*) case $host_os in nonstopux*) version_type=nonstopux ;; *) if test yes = "$lt_cv_prog_gnu_ld"; then version_type=linux # correct to gnu/linux during the next big refactor else version_type=irix fi ;; esac need_lib_prefix=no need_version=no soname_spec='$libname$release$shared_ext$major' library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$release$shared_ext $libname$shared_ext' case $host_os in irix5* | nonstopux*) libsuff= shlibsuff= ;; *) case $LD in # libtool.m4 will add one of these switches to LD *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") libsuff= shlibsuff= libmagic=32-bit;; *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") libsuff=32 shlibsuff=N32 libmagic=N32;; *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") libsuff=64 shlibsuff=64 libmagic=64-bit;; *) libsuff= shlibsuff= libmagic=never-match;; esac ;; esac shlibpath_var=LD_LIBRARY${shlibsuff}_PATH shlibpath_overrides_runpath=no sys_lib_search_path_spec="/usr/lib$libsuff /lib$libsuff /usr/local/lib$libsuff" sys_lib_dlsearch_path_spec="/usr/lib$libsuff /lib$libsuff" hardcode_into_libs=yes ;; # No shared lib support for Linux oldld, aout, or coff. linux*oldld* | linux*aout* | linux*coff*) dynamic_linker=no ;; linux*android*) version_type=none # Android doesn't support versioned libraries. need_lib_prefix=no need_version=no library_names_spec='$libname$release$shared_ext' soname_spec='$libname$release$shared_ext' finish_cmds= shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes # This implies no fast_install, which is unacceptable. # Some rework will be needed to allow for fast_install # before this can be enabled. hardcode_into_libs=yes dynamic_linker='Android linker' # Don't embed -rpath directories since the linker doesn't support them. hardcode_libdir_flag_spec_CXX='-L$libdir' ;; # This must be glibc/ELF. linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no # Some binutils ld are patched to set DT_RUNPATH if ${lt_cv_shlibpath_overrides_runpath+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_shlibpath_overrides_runpath=no save_LDFLAGS=$LDFLAGS save_libdir=$libdir eval "libdir=/foo; wl=\"$lt_prog_compiler_wl_CXX\"; \ LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec_CXX\"" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_cxx_try_link "$LINENO"; then : if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then : lt_cv_shlibpath_overrides_runpath=yes fi fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LDFLAGS=$save_LDFLAGS libdir=$save_libdir fi shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath # This implies no fast_install, which is unacceptable. # Some rework will be needed to allow for fast_install # before this can be enabled. hardcode_into_libs=yes # Ideally, we could use ldconfig to report *all* directores which are # searched for libraries, however this is still not possible. Aside from not # being certain /sbin/ldconfig is available, command # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64, # even though it is searched at run-time. Try to do the best guess by # appending ld.so.conf contents (and includes) to the search path. if test -f /etc/ld.so.conf; then lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '` sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" fi # We used to test for /lib/ld.so.1 and disable shared libraries on # powerpc, because MkLinux only supported shared libraries with the # GNU dynamic linker. Since this was broken with cross compilers, # most powerpc-linux boxes support dynamic linking these days and # people can always --disable-shared, the test was removed, and we # assume the GNU/Linux dynamic linker is in use. dynamic_linker='GNU/Linux ld.so' ;; netbsdelf*-gnu) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes dynamic_linker='NetBSD ld.elf_so' ;; netbsd*) version_type=sunos need_lib_prefix=no need_version=no if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' dynamic_linker='NetBSD (a.out) ld.so' else library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' dynamic_linker='NetBSD ld.elf_so' fi shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; newsos6) version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes ;; *nto* | *qnx*) version_type=qnx need_lib_prefix=no need_version=no library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes dynamic_linker='ldqnx.so' ;; openbsd* | bitrig*) version_type=sunos sys_lib_dlsearch_path_spec=/usr/lib need_lib_prefix=no if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then need_version=no else need_version=yes fi library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes ;; os2*) libname_spec='$name' version_type=windows shrext_cmds=.dll need_version=no need_lib_prefix=no # OS/2 can only load a DLL with a base name of 8 characters or less. soname_spec='`test -n "$os2dllname" && libname="$os2dllname"; v=$($ECHO $release$versuffix | tr -d .-); n=$($ECHO $libname | cut -b -$((8 - ${#v})) | tr . _); $ECHO $n$v`$shared_ext' library_names_spec='${libname}_dll.$libext' dynamic_linker='OS/2 ld.exe' shlibpath_var=BEGINLIBPATH sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec postinstall_cmds='base_file=`basename \$file`~ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; $ECHO \$dlname'\''`~ dldir=$destdir/`dirname \$dlpath`~ test -d \$dldir || mkdir -p \$dldir~ $install_prog $dir/$dlname \$dldir/$dlname~ chmod a+x \$dldir/$dlname~ if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; fi' postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; $ECHO \$dlname'\''`~ dlpath=$dir/\$dldll~ $RM \$dlpath' ;; osf3* | osf4* | osf5*) version_type=osf need_lib_prefix=no need_version=no soname_spec='$libname$release$shared_ext$major' library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' shlibpath_var=LD_LIBRARY_PATH sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec ;; rdos*) dynamic_linker=no ;; solaris*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes # ldd complains unless libraries are executable postinstall_cmds='chmod +x $lib' ;; sunos4*) version_type=sunos library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes if test yes = "$with_gnu_ld"; then need_lib_prefix=no fi need_version=yes ;; sysv4 | sysv4.3*) version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' shlibpath_var=LD_LIBRARY_PATH case $host_vendor in sni) shlibpath_overrides_runpath=no need_lib_prefix=no runpath_var=LD_RUN_PATH ;; siemens) need_lib_prefix=no ;; motorola) need_lib_prefix=no need_version=no shlibpath_overrides_runpath=no sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' ;; esac ;; sysv4*MP*) if test -d /usr/nec; then version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='$libname$shared_ext.$versuffix $libname$shared_ext.$major $libname$shared_ext' soname_spec='$libname$shared_ext.$major' shlibpath_var=LD_LIBRARY_PATH fi ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) version_type=sco need_lib_prefix=no need_version=no library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes if test yes = "$with_gnu_ld"; then sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' else sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' case $host_os in sco3.2v5*) sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" ;; esac fi sys_lib_dlsearch_path_spec='/usr/lib' ;; tpf*) # TPF is a cross-target only. Preferred cross-host = GNU/Linux. version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; uts4*) version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' shlibpath_var=LD_LIBRARY_PATH ;; *) dynamic_linker=no ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5 $as_echo "$dynamic_linker" >&6; } test no = "$dynamic_linker" && can_build_shared=no variables_saved_for_relink="PATH $shlibpath_var $runpath_var" if test yes = "$GCC"; then variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" fi if test set = "${lt_cv_sys_lib_search_path_spec+set}"; then sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec fi if test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec fi # remember unaugmented sys_lib_dlsearch_path content for libtool script decls... configure_time_dlsearch_path=$sys_lib_dlsearch_path_spec # ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code func_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH" # to be used as default LT_SYS_LIBRARY_PATH value in generated libtool configure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5 $as_echo_n "checking how to hardcode library paths into programs... " >&6; } hardcode_action_CXX= if test -n "$hardcode_libdir_flag_spec_CXX" || test -n "$runpath_var_CXX" || test yes = "$hardcode_automatic_CXX"; then # We can hardcode non-existent directories. if test no != "$hardcode_direct_CXX" && # If the only mechanism to avoid hardcoding is shlibpath_var, we # have to relink, otherwise we might link with an installed library # when we should be linking with a yet-to-be-installed one ## test no != "$_LT_TAGVAR(hardcode_shlibpath_var, CXX)" && test no != "$hardcode_minus_L_CXX"; then # Linking always hardcodes the temporary library directory. hardcode_action_CXX=relink else # We can link without hardcoding, and we can hardcode nonexisting dirs. hardcode_action_CXX=immediate fi else # We cannot hardcode anything, or else we can only hardcode existing # directories. hardcode_action_CXX=unsupported fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action_CXX" >&5 $as_echo "$hardcode_action_CXX" >&6; } if test relink = "$hardcode_action_CXX" || test yes = "$inherit_rpath_CXX"; then # Fast installation is not supported enable_fast_install=no elif test yes = "$shlibpath_overrides_runpath" || test no = "$enable_shared"; then # Fast installation is not necessary enable_fast_install=needless fi fi # test -n "$compiler" CC=$lt_save_CC CFLAGS=$lt_save_CFLAGS LDCXX=$LD LD=$lt_save_LD GCC=$lt_save_GCC with_gnu_ld=$lt_save_with_gnu_ld lt_cv_path_LDCXX=$lt_cv_path_LD lt_cv_path_LD=$lt_save_path_LD lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld fi # test yes != "$_lt_caught_CXX_error" ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu ac_config_commands="$ac_config_commands libtool" # Only expand once: { $as_echo "$as_me:${as_lineno-$LINENO}: checking for floor in -lm" >&5 $as_echo_n "checking for floor in -lm... " >&6; } if ${ac_cv_lib_m_floor+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lm $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char floor (); int main () { return floor (); ; return 0; } _ACEOF if ac_fn_cxx_try_link "$LINENO"; then : ac_cv_lib_m_floor=yes else ac_cv_lib_m_floor=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_m_floor" >&5 $as_echo "$ac_cv_lib_m_floor" >&6; } if test "x$ac_cv_lib_m_floor" = xyes; then : LIBM=-lm fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for some Win32 platform" >&5 $as_echo_n "checking for some Win32 platform... " >&6; } case "$host" in *-*-mingw*|*-*-cygwin*) platform_win32=yes ;; *) platform_win32=no ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: result: $platform_win32" >&5 $as_echo "$platform_win32" >&6; } if test "$platform_win32" = "yes"; then PLATFORM_WIN32_TRUE= PLATFORM_WIN32_FALSE='#' else PLATFORM_WIN32_TRUE='#' PLATFORM_WIN32_FALSE= fi echo echo "Configuration summary for $PACKAGE $VERSION:" echo " - Host: ${host}" echo ac_config_files="$ac_config_files Makefile contrib/Makefile shapelib.pc" cat >confcache <<\_ACEOF # This file is a shell script that caches the results of configure # tests run on this system so they can be shared between configure # scripts and configure runs, see configure's option --config-cache. # It is not useful on other systems. If it contains results you don't # want to keep, you may remove or edit it. # # config.status only pays attention to the cache file if you give it # the --recheck option to rerun configure. # # `ac_cv_env_foo' variables (set or unset) will be overridden when # loading this file, other *unset* `ac_cv_foo' will be assigned the # following values. _ACEOF # The following way of writing the cache mishandles newlines in values, # but we know of no workaround that is simple, portable, and efficient. # So, we kill variables containing newlines. # Ultrix sh set writes to stderr and can't be redirected directly, # and sets the high bit in the cache file unless we assign to the vars. ( for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do eval ac_val=\$$ac_var case $ac_val in #( *${as_nl}*) case $ac_var in #( *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( *) { eval $ac_var=; unset $ac_var;} ;; esac ;; esac done (set) 2>&1 | case $as_nl`(ac_space=' '; set) 2>&1` in #( *${as_nl}ac_space=\ *) # `set' does not quote correctly, so add quotes: double-quote # substitution turns \\\\ into \\, and sed turns \\ into \. sed -n \ "s/'/'\\\\''/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" ;; #( *) # `set' quotes correctly as required by POSIX, so do not add quotes. sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" ;; esac | sort ) | sed ' /^ac_cv_env_/b end t clear :clear s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ t end s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ :end' >>confcache if diff "$cache_file" confcache >/dev/null 2>&1; then :; else if test -w "$cache_file"; then if test "x$cache_file" != "x/dev/null"; then { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 $as_echo "$as_me: updating cache $cache_file" >&6;} if test ! -f "$cache_file" || test -h "$cache_file"; then cat confcache >"$cache_file" else case $cache_file in #( */* | ?:*) mv -f confcache "$cache_file"$$ && mv -f "$cache_file"$$ "$cache_file" ;; #( *) mv -f confcache "$cache_file" ;; esac fi fi else { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 $as_echo "$as_me: not updating unwritable cache $cache_file" >&6;} fi fi rm -f confcache test "x$prefix" = xNONE && prefix=$ac_default_prefix # Let make expand exec_prefix. test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' # Transform confdefs.h into DEFS. # Protect against shell expansion while executing Makefile rules. # Protect against Makefile macro expansion. # # If the first sed substitution is executed (which looks for macros that # take arguments), then branch to the quote section. Otherwise, # look for a macro that doesn't take arguments. ac_script=' :mline /\\$/{ N s,\\\n,, b mline } t clear :clear s/^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\)/-D\1=\2/g t quote s/^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)/-D\1=\2/g t quote b any :quote s/[ `~#$^&*(){}\\|;'\''"<>?]/\\&/g s/\[/\\&/g s/\]/\\&/g s/\$/$$/g H :any ${ g s/^\n// s/\n/ /g p } ' DEFS=`sed -n "$ac_script" confdefs.h` ac_libobjs= ac_ltlibobjs= U= for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue # 1. Remove the extension, and $U if already installed. ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' ac_i=`$as_echo "$ac_i" | sed "$ac_script"` # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR # will be set to the directory where LIBOBJS objects are built. as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext" as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo' done LIBOBJS=$ac_libobjs LTLIBOBJS=$ac_ltlibobjs { $as_echo "$as_me:${as_lineno-$LINENO}: checking that generated files are newer than configure" >&5 $as_echo_n "checking that generated files are newer than configure... " >&6; } if test -n "$am_sleep_pid"; then # Hide warnings about reused PIDs. wait $am_sleep_pid 2>/dev/null fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: done" >&5 $as_echo "done" >&6; } if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then as_fn_error $? "conditional \"AMDEP\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then as_fn_error $? "conditional \"am__fastdepCC\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -n "$EXEEXT"; then am__EXEEXT_TRUE= am__EXEEXT_FALSE='#' else am__EXEEXT_TRUE='#' am__EXEEXT_FALSE= fi if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then as_fn_error $? "conditional \"am__fastdepCXX\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${PLATFORM_WIN32_TRUE}" && test -z "${PLATFORM_WIN32_FALSE}"; then as_fn_error $? "conditional \"PLATFORM_WIN32\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi : "${CONFIG_STATUS=./config.status}" ac_write_fail=0 ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files $CONFIG_STATUS" { $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 $as_echo "$as_me: creating $CONFIG_STATUS" >&6;} as_write_fail=0 cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1 #! $SHELL # Generated by $as_me. # Run this file to recreate the current configuration. # Compiler output produced by configure, useful for debugging # configure, is in config.log if it exists. debug=false ac_cs_recheck=false ac_cs_silent=false SHELL=\${CONFIG_SHELL-$SHELL} export SHELL _ASEOF cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1 ## -------------------- ## ## M4sh Initialization. ## ## -------------------- ## # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in #( *posix*) : set -o posix ;; #( *) : ;; esac fi as_nl=' ' export as_nl # Printing a long string crashes Solaris 7 /usr/bin/printf. as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo # Prefer a ksh shell builtin over an external printf program on Solaris, # but without wasting forks for bash or zsh. if test -z "$BASH_VERSION$ZSH_VERSION" \ && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='print -r --' as_echo_n='print -rn --' elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='printf %s\n' as_echo_n='printf %s' else if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' as_echo_n='/usr/ucb/echo -n' else as_echo_body='eval expr "X$1" : "X\\(.*\\)"' as_echo_n_body='eval arg=$1; case $arg in #( *"$as_nl"*) expr "X$arg" : "X\\(.*\\)$as_nl"; arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; esac; expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" ' export as_echo_n_body as_echo_n='sh -c $as_echo_n_body as_echo' fi export as_echo_body as_echo='sh -c $as_echo_body as_echo' fi # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then PATH_SEPARATOR=: (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || PATH_SEPARATOR=';' } fi # IFS # We need space, tab and new line, in precisely that order. Quoting is # there to prevent editors from complaining about space-tab. # (If _AS_PATH_WALK were called with IFS unset, it would disable word # splitting by setting IFS to empty value.) IFS=" "" $as_nl" # Find who we are. Look in the path if we contain no directory separator. as_myself= case $0 in #(( *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break done IFS=$as_save_IFS ;; esac # We did not find ourselves, most probably we were run as `sh COMMAND' # in which case we are not to be found in the path. if test "x$as_myself" = x; then as_myself=$0 fi if test ! -f "$as_myself"; then $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 exit 1 fi # Unset variables that we do not need and which cause bugs (e.g. in # pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" # suppresses any "Segmentation fault" message there. '((' could # trigger a bug in pdksh 5.2.14. for as_var in BASH_ENV ENV MAIL MAILPATH do eval test x\${$as_var+set} = xset \ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : done PS1='$ ' PS2='> ' PS4='+ ' # NLS nuisances. LC_ALL=C export LC_ALL LANGUAGE=C export LANGUAGE # CDPATH. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH # as_fn_error STATUS ERROR [LINENO LOG_FD] # ---------------------------------------- # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are # provided, also output the error to LOG_FD, referencing LINENO. Then exit the # script with STATUS, using 1 if that was 0. as_fn_error () { as_status=$1; test $as_status -eq 0 && as_status=1 if test "$4"; then as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 fi $as_echo "$as_me: error: $2" >&2 as_fn_exit $as_status } # as_fn_error # as_fn_set_status STATUS # ----------------------- # Set $? to STATUS, without forking. as_fn_set_status () { return $1 } # as_fn_set_status # as_fn_exit STATUS # ----------------- # Exit the shell with STATUS, even in a "trap 0" or "set -e" context. as_fn_exit () { set +e as_fn_set_status $1 exit $1 } # as_fn_exit # as_fn_unset VAR # --------------- # Portably unset VAR. as_fn_unset () { { eval $1=; unset $1;} } as_unset=as_fn_unset # as_fn_append VAR VALUE # ---------------------- # Append the text in VALUE to the end of the definition contained in VAR. Take # advantage of any shell optimizations that allow amortized linear growth over # repeated appends, instead of the typical quadratic growth present in naive # implementations. if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : eval 'as_fn_append () { eval $1+=\$2 }' else as_fn_append () { eval $1=\$$1\$2 } fi # as_fn_append # as_fn_arith ARG... # ------------------ # Perform arithmetic evaluation on the ARGs, and store the result in the # global $as_val. Take advantage of shells that can avoid forks. The arguments # must be portable across $(()) and expr. if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : eval 'as_fn_arith () { as_val=$(( $* )) }' else as_fn_arith () { as_val=`expr "$@" || test $? -eq 1` } fi # as_fn_arith if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then as_basename=basename else as_basename=false fi if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then as_dirname=dirname else as_dirname=false fi as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || $as_echo X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/ q } /^X\/\(\/\/\)$/{ s//\1/ q } /^X\/\(\/\).*/{ s//\1/ q } s/.*/./; q'` # Avoid depending upon Character Ranges. as_cr_letters='abcdefghijklmnopqrstuvwxyz' as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' as_cr_Letters=$as_cr_letters$as_cr_LETTERS as_cr_digits='0123456789' as_cr_alnum=$as_cr_Letters$as_cr_digits ECHO_C= ECHO_N= ECHO_T= case `echo -n x` in #((((( -n*) case `echo 'xy\c'` in *c*) ECHO_T=' ';; # ECHO_T is single tab character. xy) ECHO_C='\c';; *) echo `echo ksh88 bug on AIX 6.1` > /dev/null ECHO_T=' ';; esac;; *) ECHO_N='-n';; esac rm -f conf$$ conf$$.exe conf$$.file if test -d conf$$.dir; then rm -f conf$$.dir/conf$$.file else rm -f conf$$.dir mkdir conf$$.dir 2>/dev/null fi if (echo >conf$$.file) 2>/dev/null; then if ln -s conf$$.file conf$$ 2>/dev/null; then as_ln_s='ln -s' # ... but there are two gotchas: # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. # In both cases, we have to default to `cp -pR'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || as_ln_s='cp -pR' elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else as_ln_s='cp -pR' fi else as_ln_s='cp -pR' fi rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file rmdir conf$$.dir 2>/dev/null # as_fn_mkdir_p # ------------- # Create "$as_dir" as a directory, including parents if necessary. as_fn_mkdir_p () { case $as_dir in #( -*) as_dir=./$as_dir;; esac test -d "$as_dir" || eval $as_mkdir_p || { as_dirs= while :; do case $as_dir in #( *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( *) as_qdir=$as_dir;; esac as_dirs="'$as_qdir' $as_dirs" as_dir=`$as_dirname -- "$as_dir" || $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` test -d "$as_dir" && break done test -z "$as_dirs" || eval "mkdir $as_dirs" } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" } # as_fn_mkdir_p if mkdir -p . 2>/dev/null; then as_mkdir_p='mkdir -p "$as_dir"' else test -d ./-p && rmdir ./-p as_mkdir_p=false fi # as_fn_executable_p FILE # ----------------------- # Test if FILE is an executable regular file. as_fn_executable_p () { test -f "$1" && test -x "$1" } # as_fn_executable_p as_test_x='test -x' as_executable_p=as_fn_executable_p # Sed expression to map a string onto a valid CPP name. as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" # Sed expression to map a string onto a valid variable name. as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" exec 6>&1 ## ----------------------------------- ## ## Main body of $CONFIG_STATUS script. ## ## ----------------------------------- ## _ASEOF test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1 cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # Save the log message, to keep $0 and so on meaningful, and to # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" This file was extended by shapelib $as_me 1.6.1, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES CONFIG_HEADERS = $CONFIG_HEADERS CONFIG_LINKS = $CONFIG_LINKS CONFIG_COMMANDS = $CONFIG_COMMANDS $ $0 $@ on `(hostname || uname -n) 2>/dev/null | sed 1q` " _ACEOF case $ac_config_files in *" "*) set x $ac_config_files; shift; ac_config_files=$*;; esac cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 # Files that config.status was made for. config_files="$ac_config_files" config_commands="$ac_config_commands" _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 ac_cs_usage="\ \`$as_me' instantiates files and other configuration actions from templates according to the current configuration. Unless the files and actions are specified as TAGs, all are instantiated by default. Usage: $0 [OPTION]... [TAG]... -h, --help print this help, then exit -V, --version print version number and configuration settings, then exit --config print configuration, then exit -q, --quiet, --silent do not print progress messages -d, --debug don't remove temporary files --recheck update $as_me by reconfiguring in the same conditions --file=FILE[:TEMPLATE] instantiate the configuration file FILE Configuration files: $config_files Configuration commands: $config_commands Report bugs to the package provider." _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ shapelib config.status 1.6.1 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" Copyright (C) 2012 Free Software Foundation, Inc. This config.status script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it." ac_pwd='$ac_pwd' srcdir='$srcdir' INSTALL='$INSTALL' MKDIR_P='$MKDIR_P' AWK='$AWK' test -n "\$AWK" || AWK=awk _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # The default lists apply if the user does not specify any file. ac_need_defaults=: while test $# != 0 do case $1 in --*=?*) ac_option=`expr "X$1" : 'X\([^=]*\)='` ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` ac_shift=: ;; --*=) ac_option=`expr "X$1" : 'X\([^=]*\)='` ac_optarg= ac_shift=: ;; *) ac_option=$1 ac_optarg=$2 ac_shift=shift ;; esac case $ac_option in # Handling of the options. -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) ac_cs_recheck=: ;; --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) $as_echo "$ac_cs_version"; exit ;; --config | --confi | --conf | --con | --co | --c ) $as_echo "$ac_cs_config"; exit ;; --debug | --debu | --deb | --de | --d | -d ) debug=: ;; --file | --fil | --fi | --f ) $ac_shift case $ac_optarg in *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; '') as_fn_error $? "missing file argument" ;; esac as_fn_append CONFIG_FILES " '$ac_optarg'" ac_need_defaults=false;; --he | --h | --help | --hel | -h ) $as_echo "$ac_cs_usage"; exit ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil | --si | --s) ac_cs_silent=: ;; # This is an error. -*) as_fn_error $? "unrecognized option: \`$1' Try \`$0 --help' for more information." ;; *) as_fn_append ac_config_targets " $1" ac_need_defaults=false ;; esac shift done ac_configure_extra_args= if $ac_cs_silent; then exec 6>/dev/null ac_configure_extra_args="$ac_configure_extra_args --silent" fi _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 if \$ac_cs_recheck; then set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion shift \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6 CONFIG_SHELL='$SHELL' export CONFIG_SHELL exec "\$@" fi _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 exec 5>>config.log { echo sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX ## Running $as_me. ## _ASBOX $as_echo "$ac_log" } >&5 _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 # # INIT-COMMANDS # AMDEP_TRUE="$AMDEP_TRUE" MAKE="${MAKE-make}" # The HP-UX ksh and POSIX shell print the target directory to stdout # if CDPATH is set. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH sed_quote_subst='$sed_quote_subst' double_quote_subst='$double_quote_subst' delay_variable_subst='$delay_variable_subst' macro_version='`$ECHO "$macro_version" | $SED "$delay_single_quote_subst"`' macro_revision='`$ECHO "$macro_revision" | $SED "$delay_single_quote_subst"`' enable_shared='`$ECHO "$enable_shared" | $SED "$delay_single_quote_subst"`' enable_static='`$ECHO "$enable_static" | $SED "$delay_single_quote_subst"`' pic_mode='`$ECHO "$pic_mode" | $SED "$delay_single_quote_subst"`' enable_fast_install='`$ECHO "$enable_fast_install" | $SED "$delay_single_quote_subst"`' shared_archive_member_spec='`$ECHO "$shared_archive_member_spec" | $SED "$delay_single_quote_subst"`' SHELL='`$ECHO "$SHELL" | $SED "$delay_single_quote_subst"`' ECHO='`$ECHO "$ECHO" | $SED "$delay_single_quote_subst"`' PATH_SEPARATOR='`$ECHO "$PATH_SEPARATOR" | $SED "$delay_single_quote_subst"`' host_alias='`$ECHO "$host_alias" | $SED "$delay_single_quote_subst"`' host='`$ECHO "$host" | $SED "$delay_single_quote_subst"`' host_os='`$ECHO "$host_os" | $SED "$delay_single_quote_subst"`' build_alias='`$ECHO "$build_alias" | $SED "$delay_single_quote_subst"`' build='`$ECHO "$build" | $SED "$delay_single_quote_subst"`' build_os='`$ECHO "$build_os" | $SED "$delay_single_quote_subst"`' SED='`$ECHO "$SED" | $SED "$delay_single_quote_subst"`' Xsed='`$ECHO "$Xsed" | $SED "$delay_single_quote_subst"`' GREP='`$ECHO "$GREP" | $SED "$delay_single_quote_subst"`' EGREP='`$ECHO "$EGREP" | $SED "$delay_single_quote_subst"`' FGREP='`$ECHO "$FGREP" | $SED "$delay_single_quote_subst"`' LD='`$ECHO "$LD" | $SED "$delay_single_quote_subst"`' NM='`$ECHO "$NM" | $SED "$delay_single_quote_subst"`' LN_S='`$ECHO "$LN_S" | $SED "$delay_single_quote_subst"`' max_cmd_len='`$ECHO "$max_cmd_len" | $SED "$delay_single_quote_subst"`' ac_objext='`$ECHO "$ac_objext" | $SED "$delay_single_quote_subst"`' exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`' lt_unset='`$ECHO "$lt_unset" | $SED "$delay_single_quote_subst"`' lt_SP2NL='`$ECHO "$lt_SP2NL" | $SED "$delay_single_quote_subst"`' lt_NL2SP='`$ECHO "$lt_NL2SP" | $SED "$delay_single_quote_subst"`' lt_cv_to_host_file_cmd='`$ECHO "$lt_cv_to_host_file_cmd" | $SED "$delay_single_quote_subst"`' lt_cv_to_tool_file_cmd='`$ECHO "$lt_cv_to_tool_file_cmd" | $SED "$delay_single_quote_subst"`' reload_flag='`$ECHO "$reload_flag" | $SED "$delay_single_quote_subst"`' reload_cmds='`$ECHO "$reload_cmds" | $SED "$delay_single_quote_subst"`' OBJDUMP='`$ECHO "$OBJDUMP" | $SED "$delay_single_quote_subst"`' deplibs_check_method='`$ECHO "$deplibs_check_method" | $SED "$delay_single_quote_subst"`' file_magic_cmd='`$ECHO "$file_magic_cmd" | $SED "$delay_single_quote_subst"`' file_magic_glob='`$ECHO "$file_magic_glob" | $SED "$delay_single_quote_subst"`' want_nocaseglob='`$ECHO "$want_nocaseglob" | $SED "$delay_single_quote_subst"`' DLLTOOL='`$ECHO "$DLLTOOL" | $SED "$delay_single_quote_subst"`' sharedlib_from_linklib_cmd='`$ECHO "$sharedlib_from_linklib_cmd" | $SED "$delay_single_quote_subst"`' AR='`$ECHO "$AR" | $SED "$delay_single_quote_subst"`' AR_FLAGS='`$ECHO "$AR_FLAGS" | $SED "$delay_single_quote_subst"`' archiver_list_spec='`$ECHO "$archiver_list_spec" | $SED "$delay_single_quote_subst"`' STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`' RANLIB='`$ECHO "$RANLIB" | $SED "$delay_single_quote_subst"`' old_postinstall_cmds='`$ECHO "$old_postinstall_cmds" | $SED "$delay_single_quote_subst"`' old_postuninstall_cmds='`$ECHO "$old_postuninstall_cmds" | $SED "$delay_single_quote_subst"`' old_archive_cmds='`$ECHO "$old_archive_cmds" | $SED "$delay_single_quote_subst"`' lock_old_archive_extraction='`$ECHO "$lock_old_archive_extraction" | $SED "$delay_single_quote_subst"`' CC='`$ECHO "$CC" | $SED "$delay_single_quote_subst"`' CFLAGS='`$ECHO "$CFLAGS" | $SED "$delay_single_quote_subst"`' compiler='`$ECHO "$compiler" | $SED "$delay_single_quote_subst"`' GCC='`$ECHO "$GCC" | $SED "$delay_single_quote_subst"`' lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$delay_single_quote_subst"`' lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`' lt_cv_sys_global_symbol_to_import='`$ECHO "$lt_cv_sys_global_symbol_to_import" | $SED "$delay_single_quote_subst"`' lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`' lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $SED "$delay_single_quote_subst"`' lt_cv_nm_interface='`$ECHO "$lt_cv_nm_interface" | $SED "$delay_single_quote_subst"`' nm_file_list_spec='`$ECHO "$nm_file_list_spec" | $SED "$delay_single_quote_subst"`' lt_sysroot='`$ECHO "$lt_sysroot" | $SED "$delay_single_quote_subst"`' lt_cv_truncate_bin='`$ECHO "$lt_cv_truncate_bin" | $SED "$delay_single_quote_subst"`' objdir='`$ECHO "$objdir" | $SED "$delay_single_quote_subst"`' MAGIC_CMD='`$ECHO "$MAGIC_CMD" | $SED "$delay_single_quote_subst"`' lt_prog_compiler_no_builtin_flag='`$ECHO "$lt_prog_compiler_no_builtin_flag" | $SED "$delay_single_quote_subst"`' lt_prog_compiler_pic='`$ECHO "$lt_prog_compiler_pic" | $SED "$delay_single_quote_subst"`' lt_prog_compiler_wl='`$ECHO "$lt_prog_compiler_wl" | $SED "$delay_single_quote_subst"`' lt_prog_compiler_static='`$ECHO "$lt_prog_compiler_static" | $SED "$delay_single_quote_subst"`' lt_cv_prog_compiler_c_o='`$ECHO "$lt_cv_prog_compiler_c_o" | $SED "$delay_single_quote_subst"`' need_locks='`$ECHO "$need_locks" | $SED "$delay_single_quote_subst"`' MANIFEST_TOOL='`$ECHO "$MANIFEST_TOOL" | $SED "$delay_single_quote_subst"`' DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`' NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`' LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`' OTOOL='`$ECHO "$OTOOL" | $SED "$delay_single_quote_subst"`' OTOOL64='`$ECHO "$OTOOL64" | $SED "$delay_single_quote_subst"`' libext='`$ECHO "$libext" | $SED "$delay_single_quote_subst"`' shrext_cmds='`$ECHO "$shrext_cmds" | $SED "$delay_single_quote_subst"`' extract_expsyms_cmds='`$ECHO "$extract_expsyms_cmds" | $SED "$delay_single_quote_subst"`' archive_cmds_need_lc='`$ECHO "$archive_cmds_need_lc" | $SED "$delay_single_quote_subst"`' enable_shared_with_static_runtimes='`$ECHO "$enable_shared_with_static_runtimes" | $SED "$delay_single_quote_subst"`' export_dynamic_flag_spec='`$ECHO "$export_dynamic_flag_spec" | $SED "$delay_single_quote_subst"`' whole_archive_flag_spec='`$ECHO "$whole_archive_flag_spec" | $SED "$delay_single_quote_subst"`' compiler_needs_object='`$ECHO "$compiler_needs_object" | $SED "$delay_single_quote_subst"`' old_archive_from_new_cmds='`$ECHO "$old_archive_from_new_cmds" | $SED "$delay_single_quote_subst"`' old_archive_from_expsyms_cmds='`$ECHO "$old_archive_from_expsyms_cmds" | $SED "$delay_single_quote_subst"`' archive_cmds='`$ECHO "$archive_cmds" | $SED "$delay_single_quote_subst"`' archive_expsym_cmds='`$ECHO "$archive_expsym_cmds" | $SED "$delay_single_quote_subst"`' module_cmds='`$ECHO "$module_cmds" | $SED "$delay_single_quote_subst"`' module_expsym_cmds='`$ECHO "$module_expsym_cmds" | $SED "$delay_single_quote_subst"`' with_gnu_ld='`$ECHO "$with_gnu_ld" | $SED "$delay_single_quote_subst"`' allow_undefined_flag='`$ECHO "$allow_undefined_flag" | $SED "$delay_single_quote_subst"`' no_undefined_flag='`$ECHO "$no_undefined_flag" | $SED "$delay_single_quote_subst"`' hardcode_libdir_flag_spec='`$ECHO "$hardcode_libdir_flag_spec" | $SED "$delay_single_quote_subst"`' hardcode_libdir_separator='`$ECHO "$hardcode_libdir_separator" | $SED "$delay_single_quote_subst"`' hardcode_direct='`$ECHO "$hardcode_direct" | $SED "$delay_single_quote_subst"`' hardcode_direct_absolute='`$ECHO "$hardcode_direct_absolute" | $SED "$delay_single_quote_subst"`' hardcode_minus_L='`$ECHO "$hardcode_minus_L" | $SED "$delay_single_quote_subst"`' hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_quote_subst"`' hardcode_automatic='`$ECHO "$hardcode_automatic" | $SED "$delay_single_quote_subst"`' inherit_rpath='`$ECHO "$inherit_rpath" | $SED "$delay_single_quote_subst"`' link_all_deplibs='`$ECHO "$link_all_deplibs" | $SED "$delay_single_quote_subst"`' always_export_symbols='`$ECHO "$always_export_symbols" | $SED "$delay_single_quote_subst"`' export_symbols_cmds='`$ECHO "$export_symbols_cmds" | $SED "$delay_single_quote_subst"`' exclude_expsyms='`$ECHO "$exclude_expsyms" | $SED "$delay_single_quote_subst"`' include_expsyms='`$ECHO "$include_expsyms" | $SED "$delay_single_quote_subst"`' prelink_cmds='`$ECHO "$prelink_cmds" | $SED "$delay_single_quote_subst"`' postlink_cmds='`$ECHO "$postlink_cmds" | $SED "$delay_single_quote_subst"`' file_list_spec='`$ECHO "$file_list_spec" | $SED "$delay_single_quote_subst"`' variables_saved_for_relink='`$ECHO "$variables_saved_for_relink" | $SED "$delay_single_quote_subst"`' need_lib_prefix='`$ECHO "$need_lib_prefix" | $SED "$delay_single_quote_subst"`' need_version='`$ECHO "$need_version" | $SED "$delay_single_quote_subst"`' version_type='`$ECHO "$version_type" | $SED "$delay_single_quote_subst"`' runpath_var='`$ECHO "$runpath_var" | $SED "$delay_single_quote_subst"`' shlibpath_var='`$ECHO "$shlibpath_var" | $SED "$delay_single_quote_subst"`' shlibpath_overrides_runpath='`$ECHO "$shlibpath_overrides_runpath" | $SED "$delay_single_quote_subst"`' libname_spec='`$ECHO "$libname_spec" | $SED "$delay_single_quote_subst"`' library_names_spec='`$ECHO "$library_names_spec" | $SED "$delay_single_quote_subst"`' soname_spec='`$ECHO "$soname_spec" | $SED "$delay_single_quote_subst"`' install_override_mode='`$ECHO "$install_override_mode" | $SED "$delay_single_quote_subst"`' postinstall_cmds='`$ECHO "$postinstall_cmds" | $SED "$delay_single_quote_subst"`' postuninstall_cmds='`$ECHO "$postuninstall_cmds" | $SED "$delay_single_quote_subst"`' finish_cmds='`$ECHO "$finish_cmds" | $SED "$delay_single_quote_subst"`' finish_eval='`$ECHO "$finish_eval" | $SED "$delay_single_quote_subst"`' hardcode_into_libs='`$ECHO "$hardcode_into_libs" | $SED "$delay_single_quote_subst"`' sys_lib_search_path_spec='`$ECHO "$sys_lib_search_path_spec" | $SED "$delay_single_quote_subst"`' configure_time_dlsearch_path='`$ECHO "$configure_time_dlsearch_path" | $SED "$delay_single_quote_subst"`' configure_time_lt_sys_library_path='`$ECHO "$configure_time_lt_sys_library_path" | $SED "$delay_single_quote_subst"`' hardcode_action='`$ECHO "$hardcode_action" | $SED "$delay_single_quote_subst"`' enable_dlopen='`$ECHO "$enable_dlopen" | $SED "$delay_single_quote_subst"`' enable_dlopen_self='`$ECHO "$enable_dlopen_self" | $SED "$delay_single_quote_subst"`' enable_dlopen_self_static='`$ECHO "$enable_dlopen_self_static" | $SED "$delay_single_quote_subst"`' old_striplib='`$ECHO "$old_striplib" | $SED "$delay_single_quote_subst"`' striplib='`$ECHO "$striplib" | $SED "$delay_single_quote_subst"`' compiler_lib_search_dirs='`$ECHO "$compiler_lib_search_dirs" | $SED "$delay_single_quote_subst"`' predep_objects='`$ECHO "$predep_objects" | $SED "$delay_single_quote_subst"`' postdep_objects='`$ECHO "$postdep_objects" | $SED "$delay_single_quote_subst"`' predeps='`$ECHO "$predeps" | $SED "$delay_single_quote_subst"`' postdeps='`$ECHO "$postdeps" | $SED "$delay_single_quote_subst"`' compiler_lib_search_path='`$ECHO "$compiler_lib_search_path" | $SED "$delay_single_quote_subst"`' LD_CXX='`$ECHO "$LD_CXX" | $SED "$delay_single_quote_subst"`' reload_flag_CXX='`$ECHO "$reload_flag_CXX" | $SED "$delay_single_quote_subst"`' reload_cmds_CXX='`$ECHO "$reload_cmds_CXX" | $SED "$delay_single_quote_subst"`' old_archive_cmds_CXX='`$ECHO "$old_archive_cmds_CXX" | $SED "$delay_single_quote_subst"`' compiler_CXX='`$ECHO "$compiler_CXX" | $SED "$delay_single_quote_subst"`' GCC_CXX='`$ECHO "$GCC_CXX" | $SED "$delay_single_quote_subst"`' lt_prog_compiler_no_builtin_flag_CXX='`$ECHO "$lt_prog_compiler_no_builtin_flag_CXX" | $SED "$delay_single_quote_subst"`' lt_prog_compiler_pic_CXX='`$ECHO "$lt_prog_compiler_pic_CXX" | $SED "$delay_single_quote_subst"`' lt_prog_compiler_wl_CXX='`$ECHO "$lt_prog_compiler_wl_CXX" | $SED "$delay_single_quote_subst"`' lt_prog_compiler_static_CXX='`$ECHO "$lt_prog_compiler_static_CXX" | $SED "$delay_single_quote_subst"`' lt_cv_prog_compiler_c_o_CXX='`$ECHO "$lt_cv_prog_compiler_c_o_CXX" | $SED "$delay_single_quote_subst"`' archive_cmds_need_lc_CXX='`$ECHO "$archive_cmds_need_lc_CXX" | $SED "$delay_single_quote_subst"`' enable_shared_with_static_runtimes_CXX='`$ECHO "$enable_shared_with_static_runtimes_CXX" | $SED "$delay_single_quote_subst"`' export_dynamic_flag_spec_CXX='`$ECHO "$export_dynamic_flag_spec_CXX" | $SED "$delay_single_quote_subst"`' whole_archive_flag_spec_CXX='`$ECHO "$whole_archive_flag_spec_CXX" | $SED "$delay_single_quote_subst"`' compiler_needs_object_CXX='`$ECHO "$compiler_needs_object_CXX" | $SED "$delay_single_quote_subst"`' old_archive_from_new_cmds_CXX='`$ECHO "$old_archive_from_new_cmds_CXX" | $SED "$delay_single_quote_subst"`' old_archive_from_expsyms_cmds_CXX='`$ECHO "$old_archive_from_expsyms_cmds_CXX" | $SED "$delay_single_quote_subst"`' archive_cmds_CXX='`$ECHO "$archive_cmds_CXX" | $SED "$delay_single_quote_subst"`' archive_expsym_cmds_CXX='`$ECHO "$archive_expsym_cmds_CXX" | $SED "$delay_single_quote_subst"`' module_cmds_CXX='`$ECHO "$module_cmds_CXX" | $SED "$delay_single_quote_subst"`' module_expsym_cmds_CXX='`$ECHO "$module_expsym_cmds_CXX" | $SED "$delay_single_quote_subst"`' with_gnu_ld_CXX='`$ECHO "$with_gnu_ld_CXX" | $SED "$delay_single_quote_subst"`' allow_undefined_flag_CXX='`$ECHO "$allow_undefined_flag_CXX" | $SED "$delay_single_quote_subst"`' no_undefined_flag_CXX='`$ECHO "$no_undefined_flag_CXX" | $SED "$delay_single_quote_subst"`' hardcode_libdir_flag_spec_CXX='`$ECHO "$hardcode_libdir_flag_spec_CXX" | $SED "$delay_single_quote_subst"`' hardcode_libdir_separator_CXX='`$ECHO "$hardcode_libdir_separator_CXX" | $SED "$delay_single_quote_subst"`' hardcode_direct_CXX='`$ECHO "$hardcode_direct_CXX" | $SED "$delay_single_quote_subst"`' hardcode_direct_absolute_CXX='`$ECHO "$hardcode_direct_absolute_CXX" | $SED "$delay_single_quote_subst"`' hardcode_minus_L_CXX='`$ECHO "$hardcode_minus_L_CXX" | $SED "$delay_single_quote_subst"`' hardcode_shlibpath_var_CXX='`$ECHO "$hardcode_shlibpath_var_CXX" | $SED "$delay_single_quote_subst"`' hardcode_automatic_CXX='`$ECHO "$hardcode_automatic_CXX" | $SED "$delay_single_quote_subst"`' inherit_rpath_CXX='`$ECHO "$inherit_rpath_CXX" | $SED "$delay_single_quote_subst"`' link_all_deplibs_CXX='`$ECHO "$link_all_deplibs_CXX" | $SED "$delay_single_quote_subst"`' always_export_symbols_CXX='`$ECHO "$always_export_symbols_CXX" | $SED "$delay_single_quote_subst"`' export_symbols_cmds_CXX='`$ECHO "$export_symbols_cmds_CXX" | $SED "$delay_single_quote_subst"`' exclude_expsyms_CXX='`$ECHO "$exclude_expsyms_CXX" | $SED "$delay_single_quote_subst"`' include_expsyms_CXX='`$ECHO "$include_expsyms_CXX" | $SED "$delay_single_quote_subst"`' prelink_cmds_CXX='`$ECHO "$prelink_cmds_CXX" | $SED "$delay_single_quote_subst"`' postlink_cmds_CXX='`$ECHO "$postlink_cmds_CXX" | $SED "$delay_single_quote_subst"`' file_list_spec_CXX='`$ECHO "$file_list_spec_CXX" | $SED "$delay_single_quote_subst"`' hardcode_action_CXX='`$ECHO "$hardcode_action_CXX" | $SED "$delay_single_quote_subst"`' compiler_lib_search_dirs_CXX='`$ECHO "$compiler_lib_search_dirs_CXX" | $SED "$delay_single_quote_subst"`' predep_objects_CXX='`$ECHO "$predep_objects_CXX" | $SED "$delay_single_quote_subst"`' postdep_objects_CXX='`$ECHO "$postdep_objects_CXX" | $SED "$delay_single_quote_subst"`' predeps_CXX='`$ECHO "$predeps_CXX" | $SED "$delay_single_quote_subst"`' postdeps_CXX='`$ECHO "$postdeps_CXX" | $SED "$delay_single_quote_subst"`' compiler_lib_search_path_CXX='`$ECHO "$compiler_lib_search_path_CXX" | $SED "$delay_single_quote_subst"`' LTCC='$LTCC' LTCFLAGS='$LTCFLAGS' compiler='$compiler_DEFAULT' # A function that is used when there is no print builtin or printf. func_fallback_echo () { eval 'cat <<_LTECHO_EOF \$1 _LTECHO_EOF' } # Quote evaled strings. for var in SHELL \ ECHO \ PATH_SEPARATOR \ SED \ GREP \ EGREP \ FGREP \ LD \ NM \ LN_S \ lt_SP2NL \ lt_NL2SP \ reload_flag \ OBJDUMP \ deplibs_check_method \ file_magic_cmd \ file_magic_glob \ want_nocaseglob \ DLLTOOL \ sharedlib_from_linklib_cmd \ AR \ AR_FLAGS \ archiver_list_spec \ STRIP \ RANLIB \ CC \ CFLAGS \ compiler \ lt_cv_sys_global_symbol_pipe \ lt_cv_sys_global_symbol_to_cdecl \ lt_cv_sys_global_symbol_to_import \ lt_cv_sys_global_symbol_to_c_name_address \ lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \ lt_cv_nm_interface \ nm_file_list_spec \ lt_cv_truncate_bin \ lt_prog_compiler_no_builtin_flag \ lt_prog_compiler_pic \ lt_prog_compiler_wl \ lt_prog_compiler_static \ lt_cv_prog_compiler_c_o \ need_locks \ MANIFEST_TOOL \ DSYMUTIL \ NMEDIT \ LIPO \ OTOOL \ OTOOL64 \ shrext_cmds \ export_dynamic_flag_spec \ whole_archive_flag_spec \ compiler_needs_object \ with_gnu_ld \ allow_undefined_flag \ no_undefined_flag \ hardcode_libdir_flag_spec \ hardcode_libdir_separator \ exclude_expsyms \ include_expsyms \ file_list_spec \ variables_saved_for_relink \ libname_spec \ library_names_spec \ soname_spec \ install_override_mode \ finish_eval \ old_striplib \ striplib \ compiler_lib_search_dirs \ predep_objects \ postdep_objects \ predeps \ postdeps \ compiler_lib_search_path \ LD_CXX \ reload_flag_CXX \ compiler_CXX \ lt_prog_compiler_no_builtin_flag_CXX \ lt_prog_compiler_pic_CXX \ lt_prog_compiler_wl_CXX \ lt_prog_compiler_static_CXX \ lt_cv_prog_compiler_c_o_CXX \ export_dynamic_flag_spec_CXX \ whole_archive_flag_spec_CXX \ compiler_needs_object_CXX \ with_gnu_ld_CXX \ allow_undefined_flag_CXX \ no_undefined_flag_CXX \ hardcode_libdir_flag_spec_CXX \ hardcode_libdir_separator_CXX \ exclude_expsyms_CXX \ include_expsyms_CXX \ file_list_spec_CXX \ compiler_lib_search_dirs_CXX \ predep_objects_CXX \ postdep_objects_CXX \ predeps_CXX \ postdeps_CXX \ compiler_lib_search_path_CXX; do case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in *[\\\\\\\`\\"\\\$]*) eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes ;; *) eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" ;; esac done # Double-quote double-evaled strings. for var in reload_cmds \ old_postinstall_cmds \ old_postuninstall_cmds \ old_archive_cmds \ extract_expsyms_cmds \ old_archive_from_new_cmds \ old_archive_from_expsyms_cmds \ archive_cmds \ archive_expsym_cmds \ module_cmds \ module_expsym_cmds \ export_symbols_cmds \ prelink_cmds \ postlink_cmds \ postinstall_cmds \ postuninstall_cmds \ finish_cmds \ sys_lib_search_path_spec \ configure_time_dlsearch_path \ configure_time_lt_sys_library_path \ reload_cmds_CXX \ old_archive_cmds_CXX \ old_archive_from_new_cmds_CXX \ old_archive_from_expsyms_cmds_CXX \ archive_cmds_CXX \ archive_expsym_cmds_CXX \ module_cmds_CXX \ module_expsym_cmds_CXX \ export_symbols_cmds_CXX \ prelink_cmds_CXX \ postlink_cmds_CXX; do case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in *[\\\\\\\`\\"\\\$]*) eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes ;; *) eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" ;; esac done ac_aux_dir='$ac_aux_dir' # See if we are running on zsh, and set the options that allow our # commands through without removal of \ escapes INIT. if test -n "\${ZSH_VERSION+set}"; then setopt NO_GLOB_SUBST fi PACKAGE='$PACKAGE' VERSION='$VERSION' RM='$RM' ofile='$ofile' _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # Handling of arguments. for ac_config_target in $ac_config_targets do case $ac_config_target in "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;; "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; "contrib/Makefile") CONFIG_FILES="$CONFIG_FILES contrib/Makefile" ;; "shapelib.pc") CONFIG_FILES="$CONFIG_FILES shapelib.pc" ;; *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;; esac done # If the user did not use the arguments to specify the items to instantiate, # then the envvar interface is used. Set only those that are not. # We use the long form for the default assignment because of an extremely # bizarre bug on SunOS 4.1.3. if $ac_need_defaults; then test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands fi # Have a temporary directory for convenience. Make it in the build tree # simply because there is no reason against having it here, and in addition, # creating and moving files from /tmp can sometimes cause problems. # Hook for its removal unless debugging. # Note that there is a small window in which the directory will not be cleaned: # after its creation but before its name has been assigned to `$tmp'. $debug || { tmp= ac_tmp= trap 'exit_status=$? : "${ac_tmp:=$tmp}" { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status ' 0 trap 'as_fn_exit 1' 1 2 13 15 } # Create a (secure) tmp directory for tmp files. { tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && test -d "$tmp" } || { tmp=./conf$$-$RANDOM (umask 077 && mkdir "$tmp") } || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5 ac_tmp=$tmp # Set up the scripts for CONFIG_FILES section. # No need to generate them if there are no CONFIG_FILES. # This happens for instance with `./config.status config.h'. if test -n "$CONFIG_FILES"; then ac_cr=`echo X | tr X '\015'` # On cygwin, bash can eat \r inside `` if the user requested igncr. # But we know of no other shell where ac_cr would be empty at this # point, so we can use a bashism as a fallback. if test "x$ac_cr" = x; then eval ac_cr=\$\'\\r\' fi ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' /dev/null` if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then ac_cs_awk_cr='\\r' else ac_cs_awk_cr=$ac_cr fi echo 'BEGIN {' >"$ac_tmp/subs1.awk" && _ACEOF { echo "cat >conf$$subs.awk <<_ACEOF" && echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && echo "_ACEOF" } >conf$$subs.sh || as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'` ac_delim='%!_!# ' for ac_last_try in false false false false false :; do . ./conf$$subs.sh || as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` if test $ac_delim_n = $ac_delim_num; then break elif $ac_last_try; then as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 else ac_delim="$ac_delim!$ac_delim _$ac_delim!! " fi done rm -f conf$$subs.sh cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK && _ACEOF sed -n ' h s/^/S["/; s/!.*/"]=/ p g s/^[^!]*!// :repl t repl s/'"$ac_delim"'$// t delim :nl h s/\(.\{148\}\)..*/\1/ t more1 s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/ p n b repl :more1 s/["\\]/\\&/g; s/^/"/; s/$/"\\/ p g s/.\{148\}// t nl :delim h s/\(.\{148\}\)..*/\1/ t more2 s/["\\]/\\&/g; s/^/"/; s/$/"/ p b :more2 s/["\\]/\\&/g; s/^/"/; s/$/"\\/ p g s/.\{148\}// t delim ' >$CONFIG_STATUS || ac_write_fail=1 rm -f conf$$subs.awk cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 _ACAWK cat >>"\$ac_tmp/subs1.awk" <<_ACAWK && for (key in S) S_is_set[key] = 1 FS = "" } { line = $ 0 nfields = split(line, field, "@") substed = 0 len = length(field[1]) for (i = 2; i < nfields; i++) { key = field[i] keylen = length(key) if (S_is_set[key]) { value = S[key] line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3) len += length(value) + length(field[++i]) substed = 1 } else len += 1 + keylen } print line } _ACAWK _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g" else cat fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \ || as_fn_error $? "could not setup config files machinery" "$LINENO" 5 _ACEOF # VPATH may cause trouble with some makes, so we remove sole $(srcdir), # ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and # trailing colons and then remove the whole line if VPATH becomes empty # (actually we leave an empty line to preserve line numbers). if test "x$srcdir" = x.; then ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{ h s/// s/^/:/ s/[ ]*$/:/ s/:\$(srcdir):/:/g s/:\${srcdir}:/:/g s/:@srcdir@:/:/g s/^:*// s/:*$// x s/\(=[ ]*\).*/\1/ G s/\n// s/^[^=]*=[ ]*$// }' fi cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 fi # test -n "$CONFIG_FILES" eval set X " :F $CONFIG_FILES :C $CONFIG_COMMANDS" shift for ac_tag do case $ac_tag in :[FHLC]) ac_mode=$ac_tag; continue;; esac case $ac_mode$ac_tag in :[FHL]*:*);; :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;; :[FH]-) ac_tag=-:-;; :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; esac ac_save_IFS=$IFS IFS=: set x $ac_tag IFS=$ac_save_IFS shift ac_file=$1 shift case $ac_mode in :L) ac_source=$1;; :[FH]) ac_file_inputs= for ac_f do case $ac_f in -) ac_f="$ac_tmp/stdin";; *) # Look for the file first in the build tree, then in the source tree # (if the path is not absolute). The absolute path cannot be DOS-style, # because $ac_f cannot contain `:'. test -f "$ac_f" || case $ac_f in [\\/$]*) false;; *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; esac || as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;; esac case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac as_fn_append ac_file_inputs " '$ac_f'" done # Let's still pretend it is `configure' which instantiates (i.e., don't # use $as_me), people would be surprised to read: # /* config.h. Generated by config.status. */ configure_input='Generated from '` $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' `' by configure.' if test x"$ac_file" != x-; then configure_input="$ac_file. $configure_input" { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 $as_echo "$as_me: creating $ac_file" >&6;} fi # Neutralize special characters interpreted by sed in replacement strings. case $configure_input in #( *\&* | *\|* | *\\* ) ac_sed_conf_input=`$as_echo "$configure_input" | sed 's/[\\\\&|]/\\\\&/g'`;; #( *) ac_sed_conf_input=$configure_input;; esac case $ac_tag in *:-:* | *:-) cat >"$ac_tmp/stdin" \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; esac ;; esac ac_dir=`$as_dirname -- "$ac_file" || $as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$ac_file" : 'X\(//\)[^/]' \| \ X"$ac_file" : 'X\(//\)$' \| \ X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$ac_file" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` as_dir="$ac_dir"; as_fn_mkdir_p ac_builddir=. case "$ac_dir" in .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` # A ".." for each directory in $ac_dir_suffix. ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` case $ac_top_builddir_sub in "") ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; esac ;; esac ac_abs_top_builddir=$ac_pwd ac_abs_builddir=$ac_pwd$ac_dir_suffix # for backward compatibility: ac_top_builddir=$ac_top_build_prefix case $srcdir in .) # We are building in place. ac_srcdir=. ac_top_srcdir=$ac_top_builddir_sub ac_abs_top_srcdir=$ac_pwd ;; [\\/]* | ?:[\\/]* ) # Absolute name. ac_srcdir=$srcdir$ac_dir_suffix; ac_top_srcdir=$srcdir ac_abs_top_srcdir=$srcdir ;; *) # Relative name. ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_build_prefix$srcdir ac_abs_top_srcdir=$ac_pwd/$srcdir ;; esac ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix case $ac_mode in :F) # # CONFIG_FILE # case $INSTALL in [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; esac ac_MKDIR_P=$MKDIR_P case $MKDIR_P in [\\/$]* | ?:[\\/]* ) ;; */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;; esac _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # If the template does not know about datarootdir, expand it. # FIXME: This hack should be removed a few years after 2.60. ac_datarootdir_hack=; ac_datarootdir_seen= ac_sed_dataroot=' /datarootdir/ { p q } /@datadir@/p /@docdir@/p /@infodir@/p /@localedir@/p /@mandir@/p' case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in *datarootdir*) ac_datarootdir_seen=yes;; *@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 $as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_datarootdir_hack=' s&@datadir@&$datadir&g s&@docdir@&$docdir&g s&@infodir@&$infodir&g s&@localedir@&$localedir&g s&@mandir@&$mandir&g s&\\\${datarootdir}&$datarootdir&g' ;; esac _ACEOF # Neutralize VPATH when `$srcdir' = `.'. # Shell code in configure.ac might set extrasub. # FIXME: do we really want to maintain this feature? cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_sed_extra="$ac_vpsub $extrasub _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 :t /@[a-zA-Z_][a-zA-Z_0-9]*@/!b s|@configure_input@|$ac_sed_conf_input|;t t s&@top_builddir@&$ac_top_builddir_sub&;t t s&@top_build_prefix@&$ac_top_build_prefix&;t t s&@srcdir@&$ac_srcdir&;t t s&@abs_srcdir@&$ac_abs_srcdir&;t t s&@top_srcdir@&$ac_top_srcdir&;t t s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t s&@builddir@&$ac_builddir&;t t s&@abs_builddir@&$ac_abs_builddir&;t t s&@abs_top_builddir@&$ac_abs_top_builddir&;t t s&@INSTALL@&$ac_INSTALL&;t t s&@MKDIR_P@&$ac_MKDIR_P&;t t $ac_datarootdir_hack " eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \ >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5 test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } && { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \ "$ac_tmp/out"`; test -z "$ac_out"; } && { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' which seems to be undefined. Please make sure it is defined" >&5 $as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' which seems to be undefined. Please make sure it is defined" >&2;} rm -f "$ac_tmp/stdin" case $ac_file in -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";; *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";; esac \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; :C) { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5 $as_echo "$as_me: executing $ac_file commands" >&6;} ;; esac case $ac_file$ac_mode in "depfiles":C) test x"$AMDEP_TRUE" != x"" || { # Older Autoconf quotes --file arguments for eval, but not when files # are listed without --file. Let's play safe and only enable the eval # if we detect the quoting. # TODO: see whether this extra hack can be removed once we start # requiring Autoconf 2.70 or later. case $CONFIG_FILES in #( *\'*) : eval set x "$CONFIG_FILES" ;; #( *) : set x $CONFIG_FILES ;; #( *) : ;; esac shift # Used to flag and report bootstrapping failures. am_rc=0 for am_mf do # Strip MF so we end up with the name of the file. am_mf=`$as_echo "$am_mf" | sed -e 's/:.*$//'` # Check whether this is an Automake generated Makefile which includes # dependency-tracking related rules and includes. # Grep'ing the whole file directly is not great: AIX grep has a line # limit of 2048, but all sed's we know have understand at least 4000. sed -n 's,^am--depfiles:.*,X,p' "$am_mf" | grep X >/dev/null 2>&1 \ || continue am_dirpart=`$as_dirname -- "$am_mf" || $as_expr X"$am_mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$am_mf" : 'X\(//\)[^/]' \| \ X"$am_mf" : 'X\(//\)$' \| \ X"$am_mf" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$am_mf" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` am_filepart=`$as_basename -- "$am_mf" || $as_expr X/"$am_mf" : '.*/\([^/][^/]*\)/*$' \| \ X"$am_mf" : 'X\(//\)$' \| \ X"$am_mf" : 'X\(/\)' \| . 2>/dev/null || $as_echo X/"$am_mf" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/ q } /^X\/\(\/\/\)$/{ s//\1/ q } /^X\/\(\/\).*/{ s//\1/ q } s/.*/./; q'` { echo "$as_me:$LINENO: cd "$am_dirpart" \ && sed -e '/# am--include-marker/d' "$am_filepart" \ | $MAKE -f - am--depfiles" >&5 (cd "$am_dirpart" \ && sed -e '/# am--include-marker/d' "$am_filepart" \ | $MAKE -f - am--depfiles) >&5 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } || am_rc=$? done if test $am_rc -ne 0; then { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "Something went wrong bootstrapping makefile fragments for automatic dependency tracking. Try re-running configure with the '--disable-dependency-tracking' option to at least be able to build the package (albeit without support for automatic dependency tracking). See \`config.log' for more details" "$LINENO" 5; } fi { am_dirpart=; unset am_dirpart;} { am_filepart=; unset am_filepart;} { am_mf=; unset am_mf;} { am_rc=; unset am_rc;} rm -f conftest-deps.mk } ;; "libtool":C) # See if we are running on zsh, and set the options that allow our # commands through without removal of \ escapes. if test -n "${ZSH_VERSION+set}"; then setopt NO_GLOB_SUBST fi cfgfile=${ofile}T trap "$RM \"$cfgfile\"; exit 1" 1 2 15 $RM "$cfgfile" cat <<_LT_EOF >> "$cfgfile" #! $SHELL # Generated automatically by $as_me ($PACKAGE) $VERSION # NOTE: Changes made to this file will be lost: look at ltmain.sh. # Provide generalized library-building support services. # Written by Gordon Matzigkeit, 1996 # Copyright (C) 2014 Free Software Foundation, Inc. # This is free software; see the source for copying conditions. There is NO # warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. # GNU Libtool 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 of the License, or # (at your option) any later version. # # As a special exception to the GNU General Public License, if you # distribute this file as part of a program or library that is built # using GNU Libtool, you may include this file under the same # distribution terms that you use for the rest of that program. # # GNU Libtool 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 . # The names of the tagged configurations supported by this script. available_tags='CXX ' # Configured defaults for sys_lib_dlsearch_path munging. : \${LT_SYS_LIBRARY_PATH="$configure_time_lt_sys_library_path"} # ### BEGIN LIBTOOL CONFIG # Which release of libtool.m4 was used? macro_version=$macro_version macro_revision=$macro_revision # Whether or not to build shared libraries. build_libtool_libs=$enable_shared # Whether or not to build static libraries. build_old_libs=$enable_static # What type of objects to build. pic_mode=$pic_mode # Whether or not to optimize for fast installation. fast_install=$enable_fast_install # Shared archive member basename,for filename based shared library versioning on AIX. shared_archive_member_spec=$shared_archive_member_spec # Shell to use when invoking shell scripts. SHELL=$lt_SHELL # An echo program that protects backslashes. ECHO=$lt_ECHO # The PATH separator for the build system. PATH_SEPARATOR=$lt_PATH_SEPARATOR # The host system. host_alias=$host_alias host=$host host_os=$host_os # The build system. build_alias=$build_alias build=$build build_os=$build_os # A sed program that does not truncate output. SED=$lt_SED # Sed that helps us avoid accidentally triggering echo(1) options like -n. Xsed="\$SED -e 1s/^X//" # A grep program that handles long lines. GREP=$lt_GREP # An ERE matcher. EGREP=$lt_EGREP # A literal string matcher. FGREP=$lt_FGREP # A BSD- or MS-compatible name lister. NM=$lt_NM # Whether we need soft or hard links. LN_S=$lt_LN_S # What is the maximum length of a command? max_cmd_len=$max_cmd_len # Object file suffix (normally "o"). objext=$ac_objext # Executable file suffix (normally ""). exeext=$exeext # whether the shell understands "unset". lt_unset=$lt_unset # turn spaces into newlines. SP2NL=$lt_lt_SP2NL # turn newlines into spaces. NL2SP=$lt_lt_NL2SP # convert \$build file names to \$host format. to_host_file_cmd=$lt_cv_to_host_file_cmd # convert \$build files to toolchain format. to_tool_file_cmd=$lt_cv_to_tool_file_cmd # An object symbol dumper. OBJDUMP=$lt_OBJDUMP # Method to check whether dependent libraries are shared objects. deplibs_check_method=$lt_deplibs_check_method # Command to use when deplibs_check_method = "file_magic". file_magic_cmd=$lt_file_magic_cmd # How to find potential files when deplibs_check_method = "file_magic". file_magic_glob=$lt_file_magic_glob # Find potential files using nocaseglob when deplibs_check_method = "file_magic". want_nocaseglob=$lt_want_nocaseglob # DLL creation program. DLLTOOL=$lt_DLLTOOL # Command to associate shared and link libraries. sharedlib_from_linklib_cmd=$lt_sharedlib_from_linklib_cmd # The archiver. AR=$lt_AR # Flags to create an archive. AR_FLAGS=$lt_AR_FLAGS # How to feed a file listing to the archiver. archiver_list_spec=$lt_archiver_list_spec # A symbol stripping program. STRIP=$lt_STRIP # Commands used to install an old-style archive. RANLIB=$lt_RANLIB old_postinstall_cmds=$lt_old_postinstall_cmds old_postuninstall_cmds=$lt_old_postuninstall_cmds # Whether to use a lock for old archive extraction. lock_old_archive_extraction=$lock_old_archive_extraction # A C compiler. LTCC=$lt_CC # LTCC compiler flags. LTCFLAGS=$lt_CFLAGS # Take the output of nm and produce a listing of raw symbols and C names. global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe # Transform the output of nm in a proper C declaration. global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl # Transform the output of nm into a list of symbols to manually relocate. global_symbol_to_import=$lt_lt_cv_sys_global_symbol_to_import # Transform the output of nm in a C name address pair. global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address # Transform the output of nm in a C name address pair when lib prefix is needed. global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix # The name lister interface. nm_interface=$lt_lt_cv_nm_interface # Specify filename containing input files for \$NM. nm_file_list_spec=$lt_nm_file_list_spec # The root where to search for dependent libraries,and where our libraries should be installed. lt_sysroot=$lt_sysroot # Command to truncate a binary pipe. lt_truncate_bin=$lt_lt_cv_truncate_bin # The name of the directory that contains temporary libtool files. objdir=$objdir # Used to examine libraries when file_magic_cmd begins with "file". MAGIC_CMD=$MAGIC_CMD # Must we lock files when doing compilation? need_locks=$lt_need_locks # Manifest tool. MANIFEST_TOOL=$lt_MANIFEST_TOOL # Tool to manipulate archived DWARF debug symbol files on Mac OS X. DSYMUTIL=$lt_DSYMUTIL # Tool to change global to local symbols on Mac OS X. NMEDIT=$lt_NMEDIT # Tool to manipulate fat objects and archives on Mac OS X. LIPO=$lt_LIPO # ldd/readelf like tool for Mach-O binaries on Mac OS X. OTOOL=$lt_OTOOL # ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4. OTOOL64=$lt_OTOOL64 # Old archive suffix (normally "a"). libext=$libext # Shared library suffix (normally ".so"). shrext_cmds=$lt_shrext_cmds # The commands to extract the exported symbol list from a shared archive. extract_expsyms_cmds=$lt_extract_expsyms_cmds # Variables whose values should be saved in libtool wrapper scripts and # restored at link time. variables_saved_for_relink=$lt_variables_saved_for_relink # Do we need the "lib" prefix for modules? need_lib_prefix=$need_lib_prefix # Do we need a version for libraries? need_version=$need_version # Library versioning type. version_type=$version_type # Shared library runtime path variable. runpath_var=$runpath_var # Shared library path variable. shlibpath_var=$shlibpath_var # Is shlibpath searched before the hard-coded library search path? shlibpath_overrides_runpath=$shlibpath_overrides_runpath # Format of library name prefix. libname_spec=$lt_libname_spec # List of archive names. First name is the real one, the rest are links. # The last name is the one that the linker finds with -lNAME library_names_spec=$lt_library_names_spec # The coded name of the library, if different from the real name. soname_spec=$lt_soname_spec # Permission mode override for installation of shared libraries. install_override_mode=$lt_install_override_mode # Command to use after installation of a shared archive. postinstall_cmds=$lt_postinstall_cmds # Command to use after uninstallation of a shared archive. postuninstall_cmds=$lt_postuninstall_cmds # Commands used to finish a libtool library installation in a directory. finish_cmds=$lt_finish_cmds # As "finish_cmds", except a single script fragment to be evaled but # not shown. finish_eval=$lt_finish_eval # Whether we should hardcode library paths into libraries. hardcode_into_libs=$hardcode_into_libs # Compile-time system search path for libraries. sys_lib_search_path_spec=$lt_sys_lib_search_path_spec # Detected run-time system search path for libraries. sys_lib_dlsearch_path_spec=$lt_configure_time_dlsearch_path # Explicit LT_SYS_LIBRARY_PATH set during ./configure time. configure_time_lt_sys_library_path=$lt_configure_time_lt_sys_library_path # Whether dlopen is supported. dlopen_support=$enable_dlopen # Whether dlopen of programs is supported. dlopen_self=$enable_dlopen_self # Whether dlopen of statically linked programs is supported. dlopen_self_static=$enable_dlopen_self_static # Commands to strip libraries. old_striplib=$lt_old_striplib striplib=$lt_striplib # The linker used to build libraries. LD=$lt_LD # How to create reloadable object files. reload_flag=$lt_reload_flag reload_cmds=$lt_reload_cmds # Commands used to build an old-style archive. old_archive_cmds=$lt_old_archive_cmds # A language specific compiler. CC=$lt_compiler # Is the compiler the GNU compiler? with_gcc=$GCC # Compiler flag to turn off builtin functions. no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag # Additional compiler flags for building library objects. pic_flag=$lt_lt_prog_compiler_pic # How to pass a linker flag through the compiler. wl=$lt_lt_prog_compiler_wl # Compiler flag to prevent dynamic linking. link_static_flag=$lt_lt_prog_compiler_static # Does compiler simultaneously support -c and -o options? compiler_c_o=$lt_lt_cv_prog_compiler_c_o # Whether or not to add -lc for building shared libraries. build_libtool_need_lc=$archive_cmds_need_lc # Whether or not to disallow shared libs when runtime libs are static. allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes # Compiler flag to allow reflexive dlopens. export_dynamic_flag_spec=$lt_export_dynamic_flag_spec # Compiler flag to generate shared objects directly from archives. whole_archive_flag_spec=$lt_whole_archive_flag_spec # Whether the compiler copes with passing no objects directly. compiler_needs_object=$lt_compiler_needs_object # Create an old-style archive from a shared archive. old_archive_from_new_cmds=$lt_old_archive_from_new_cmds # Create a temporary old-style archive to link instead of a shared archive. old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds # Commands used to build a shared archive. archive_cmds=$lt_archive_cmds archive_expsym_cmds=$lt_archive_expsym_cmds # Commands used to build a loadable module if different from building # a shared archive. module_cmds=$lt_module_cmds module_expsym_cmds=$lt_module_expsym_cmds # Whether we are building with GNU ld or not. with_gnu_ld=$lt_with_gnu_ld # Flag that allows shared libraries with undefined symbols to be built. allow_undefined_flag=$lt_allow_undefined_flag # Flag that enforces no undefined symbols. no_undefined_flag=$lt_no_undefined_flag # Flag to hardcode \$libdir into a binary during linking. # This must work even if \$libdir does not exist hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec # Whether we need a single "-rpath" flag with a separated argument. hardcode_libdir_separator=$lt_hardcode_libdir_separator # Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes # DIR into the resulting binary. hardcode_direct=$hardcode_direct # Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes # DIR into the resulting binary and the resulting library dependency is # "absolute",i.e impossible to change by setting \$shlibpath_var if the # library is relocated. hardcode_direct_absolute=$hardcode_direct_absolute # Set to "yes" if using the -LDIR flag during linking hardcodes DIR # into the resulting binary. hardcode_minus_L=$hardcode_minus_L # Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR # into the resulting binary. hardcode_shlibpath_var=$hardcode_shlibpath_var # Set to "yes" if building a shared library automatically hardcodes DIR # into the library and all subsequent libraries and executables linked # against it. hardcode_automatic=$hardcode_automatic # Set to yes if linker adds runtime paths of dependent libraries # to runtime path list. inherit_rpath=$inherit_rpath # Whether libtool must link a program against all its dependency libraries. link_all_deplibs=$link_all_deplibs # Set to "yes" if exported symbols are required. always_export_symbols=$always_export_symbols # The commands to list exported symbols. export_symbols_cmds=$lt_export_symbols_cmds # Symbols that should not be listed in the preloaded symbols. exclude_expsyms=$lt_exclude_expsyms # Symbols that must always be exported. include_expsyms=$lt_include_expsyms # Commands necessary for linking programs (against libraries) with templates. prelink_cmds=$lt_prelink_cmds # Commands necessary for finishing linking programs. postlink_cmds=$lt_postlink_cmds # Specify filename containing input files. file_list_spec=$lt_file_list_spec # How to hardcode a shared library path into an executable. hardcode_action=$hardcode_action # The directories searched by this compiler when creating a shared library. compiler_lib_search_dirs=$lt_compiler_lib_search_dirs # Dependencies to place before and after the objects being linked to # create a shared library. predep_objects=$lt_predep_objects postdep_objects=$lt_postdep_objects predeps=$lt_predeps postdeps=$lt_postdeps # The library search path used internally by the compiler when linking # a shared library. compiler_lib_search_path=$lt_compiler_lib_search_path # ### END LIBTOOL CONFIG _LT_EOF cat <<'_LT_EOF' >> "$cfgfile" # ### BEGIN FUNCTIONS SHARED WITH CONFIGURE # func_munge_path_list VARIABLE PATH # ----------------------------------- # VARIABLE is name of variable containing _space_ separated list of # directories to be munged by the contents of PATH, which is string # having a format: # "DIR[:DIR]:" # string "DIR[ DIR]" will be prepended to VARIABLE # ":DIR[:DIR]" # string "DIR[ DIR]" will be appended to VARIABLE # "DIRP[:DIRP]::[DIRA:]DIRA" # string "DIRP[ DIRP]" will be prepended to VARIABLE and string # "DIRA[ DIRA]" will be appended to VARIABLE # "DIR[:DIR]" # VARIABLE will be replaced by "DIR[ DIR]" func_munge_path_list () { case x$2 in x) ;; *:) eval $1=\"`$ECHO $2 | $SED 's/:/ /g'` \$$1\" ;; x:*) eval $1=\"\$$1 `$ECHO $2 | $SED 's/:/ /g'`\" ;; *::*) eval $1=\"\$$1\ `$ECHO $2 | $SED -e 's/.*:://' -e 's/:/ /g'`\" eval $1=\"`$ECHO $2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \$$1\" ;; *) eval $1=\"`$ECHO $2 | $SED 's/:/ /g'`\" ;; esac } # Calculate cc_basename. Skip known compiler wrappers and cross-prefix. func_cc_basename () { for cc_temp in $*""; do case $cc_temp in compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; \-*) ;; *) break;; esac done func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` } # ### END FUNCTIONS SHARED WITH CONFIGURE _LT_EOF case $host_os in aix3*) cat <<\_LT_EOF >> "$cfgfile" # AIX sometimes has problems with the GCC collect2 program. For some # reason, if we set the COLLECT_NAMES environment variable, the problems # vanish in a puff of smoke. if test set != "${COLLECT_NAMES+set}"; then COLLECT_NAMES= export COLLECT_NAMES fi _LT_EOF ;; esac ltmain=$ac_aux_dir/ltmain.sh # We use sed instead of cat because bash on DJGPP gets confused if # if finds mixed CR/LF and LF-only lines. Since sed operates in # text mode, it properly converts lines to CR/LF. This bash problem # is reportedly fixed, but why not run on old versions too? sed '$q' "$ltmain" >> "$cfgfile" \ || (rm -f "$cfgfile"; exit 1) mv -f "$cfgfile" "$ofile" || (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") chmod +x "$ofile" cat <<_LT_EOF >> "$ofile" # ### BEGIN LIBTOOL TAG CONFIG: CXX # The linker used to build libraries. LD=$lt_LD_CXX # How to create reloadable object files. reload_flag=$lt_reload_flag_CXX reload_cmds=$lt_reload_cmds_CXX # Commands used to build an old-style archive. old_archive_cmds=$lt_old_archive_cmds_CXX # A language specific compiler. CC=$lt_compiler_CXX # Is the compiler the GNU compiler? with_gcc=$GCC_CXX # Compiler flag to turn off builtin functions. no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_CXX # Additional compiler flags for building library objects. pic_flag=$lt_lt_prog_compiler_pic_CXX # How to pass a linker flag through the compiler. wl=$lt_lt_prog_compiler_wl_CXX # Compiler flag to prevent dynamic linking. link_static_flag=$lt_lt_prog_compiler_static_CXX # Does compiler simultaneously support -c and -o options? compiler_c_o=$lt_lt_cv_prog_compiler_c_o_CXX # Whether or not to add -lc for building shared libraries. build_libtool_need_lc=$archive_cmds_need_lc_CXX # Whether or not to disallow shared libs when runtime libs are static. allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_CXX # Compiler flag to allow reflexive dlopens. export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_CXX # Compiler flag to generate shared objects directly from archives. whole_archive_flag_spec=$lt_whole_archive_flag_spec_CXX # Whether the compiler copes with passing no objects directly. compiler_needs_object=$lt_compiler_needs_object_CXX # Create an old-style archive from a shared archive. old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_CXX # Create a temporary old-style archive to link instead of a shared archive. old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_CXX # Commands used to build a shared archive. archive_cmds=$lt_archive_cmds_CXX archive_expsym_cmds=$lt_archive_expsym_cmds_CXX # Commands used to build a loadable module if different from building # a shared archive. module_cmds=$lt_module_cmds_CXX module_expsym_cmds=$lt_module_expsym_cmds_CXX # Whether we are building with GNU ld or not. with_gnu_ld=$lt_with_gnu_ld_CXX # Flag that allows shared libraries with undefined symbols to be built. allow_undefined_flag=$lt_allow_undefined_flag_CXX # Flag that enforces no undefined symbols. no_undefined_flag=$lt_no_undefined_flag_CXX # Flag to hardcode \$libdir into a binary during linking. # This must work even if \$libdir does not exist hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_CXX # Whether we need a single "-rpath" flag with a separated argument. hardcode_libdir_separator=$lt_hardcode_libdir_separator_CXX # Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes # DIR into the resulting binary. hardcode_direct=$hardcode_direct_CXX # Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes # DIR into the resulting binary and the resulting library dependency is # "absolute",i.e impossible to change by setting \$shlibpath_var if the # library is relocated. hardcode_direct_absolute=$hardcode_direct_absolute_CXX # Set to "yes" if using the -LDIR flag during linking hardcodes DIR # into the resulting binary. hardcode_minus_L=$hardcode_minus_L_CXX # Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR # into the resulting binary. hardcode_shlibpath_var=$hardcode_shlibpath_var_CXX # Set to "yes" if building a shared library automatically hardcodes DIR # into the library and all subsequent libraries and executables linked # against it. hardcode_automatic=$hardcode_automatic_CXX # Set to yes if linker adds runtime paths of dependent libraries # to runtime path list. inherit_rpath=$inherit_rpath_CXX # Whether libtool must link a program against all its dependency libraries. link_all_deplibs=$link_all_deplibs_CXX # Set to "yes" if exported symbols are required. always_export_symbols=$always_export_symbols_CXX # The commands to list exported symbols. export_symbols_cmds=$lt_export_symbols_cmds_CXX # Symbols that should not be listed in the preloaded symbols. exclude_expsyms=$lt_exclude_expsyms_CXX # Symbols that must always be exported. include_expsyms=$lt_include_expsyms_CXX # Commands necessary for linking programs (against libraries) with templates. prelink_cmds=$lt_prelink_cmds_CXX # Commands necessary for finishing linking programs. postlink_cmds=$lt_postlink_cmds_CXX # Specify filename containing input files. file_list_spec=$lt_file_list_spec_CXX # How to hardcode a shared library path into an executable. hardcode_action=$hardcode_action_CXX # The directories searched by this compiler when creating a shared library. compiler_lib_search_dirs=$lt_compiler_lib_search_dirs_CXX # Dependencies to place before and after the objects being linked to # create a shared library. predep_objects=$lt_predep_objects_CXX postdep_objects=$lt_postdep_objects_CXX predeps=$lt_predeps_CXX postdeps=$lt_postdeps_CXX # The library search path used internally by the compiler when linking # a shared library. compiler_lib_search_path=$lt_compiler_lib_search_path_CXX # ### END LIBTOOL TAG CONFIG: CXX _LT_EOF ;; esac done # for ac_tag as_fn_exit 0 _ACEOF ac_clean_files=$ac_clean_files_save test $ac_write_fail = 0 || as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5 # configure is writing to config.log, and then calls config.status. # config.status does its own redirection, appending to config.log. # Unfortunately, on DOS this fails, as config.log is still kept open # by configure, so config.status won't be able to write to it; its # output is simply discarded. So we exec the FD to /dev/null, # effectively closing config.log, so it can be properly (re)opened and # appended to by config.status. When coming back to configure, we # need to make the FD available again. if test "$no_create" != yes; then ac_cs_success=: ac_config_status_args= test "$silent" = yes && ac_config_status_args="$ac_config_status_args --quiet" exec 5>/dev/null $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false exec 5>>config.log # Use ||, not &&, to avoid exiting from the if with $? = 1, which # would make configure fail if this is the last instruction. $ac_cs_success || as_fn_exit 1 fi if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} fi shapelib-1.6.1/cmake/0000775000175000017500000000000014657064715011410 500000000000000shapelib-1.6.1/cmake/contrib.cmake0000664000175000017500000000577214573117335013777 00000000000000if(BUILD_SHAPELIB_CONTRIB) add_executable(csv2shp ${PROJECT_SOURCE_DIR}/contrib/csv2shp.c) target_link_libraries(csv2shp shp) set_target_properties(csv2shp PROPERTIES FOLDER "contrib") add_executable(dbfcat ${PROJECT_SOURCE_DIR}/contrib/dbfcat.c) target_link_libraries(dbfcat shp) set_target_properties(dbfcat PROPERTIES FOLDER "contrib") add_executable(dbfinfo ${PROJECT_SOURCE_DIR}/contrib/dbfinfo.c) target_link_libraries(dbfinfo shp) set_target_properties(dbfinfo PROPERTIES FOLDER "contrib") add_executable(shpcat ${PROJECT_SOURCE_DIR}/contrib/shpcat.c) target_link_libraries(shpcat shp) set_target_properties(shpcat PROPERTIES FOLDER "contrib") add_executable(shpdxf ${PROJECT_SOURCE_DIR}/contrib/shpdxf.c) target_link_libraries(shpdxf shp) set_target_properties(shpdxf PROPERTIES FOLDER "contrib") add_executable(shpfix ${PROJECT_SOURCE_DIR}/contrib/shpfix.c) target_link_libraries(shpfix shp) set_target_properties(shpfix PROPERTIES FOLDER "contrib") add_executable(shpsort ${PROJECT_SOURCE_DIR}/contrib/shpsort.c) target_link_libraries(shpsort shp) set_target_properties(shpsort PROPERTIES FOLDER "contrib") add_executable(Shape_PointInPoly ${PROJECT_SOURCE_DIR}/contrib/Shape_PointInPoly.cpp) target_link_libraries(Shape_PointInPoly shp) set_target_properties(Shape_PointInPoly PROPERTIES FOLDER "contrib" LINKER_LANGUAGE CXX) add_executable(shpcentrd ${PROJECT_SOURCE_DIR}/contrib/shpcentrd.c ${PROJECT_SOURCE_DIR}/contrib/shpgeo.c ${PROJECT_SOURCE_DIR}/contrib/shpgeo.h) target_link_libraries(shpcentrd shp) set_target_properties(shpcentrd PROPERTIES FOLDER "contrib") add_executable(shpdata ${PROJECT_SOURCE_DIR}/contrib/shpdata.c ${PROJECT_SOURCE_DIR}/contrib/shpgeo.c ${PROJECT_SOURCE_DIR}/contrib/shpgeo.h) target_link_libraries(shpdata shp) set_target_properties(shpdata PROPERTIES FOLDER "contrib") add_executable(shpinfo ${PROJECT_SOURCE_DIR}/contrib/shpinfo.c ${PROJECT_SOURCE_DIR}/contrib/shpgeo.c ${PROJECT_SOURCE_DIR}/contrib/shpgeo.h) target_link_libraries(shpinfo shp) set_target_properties(shpinfo PROPERTIES FOLDER "contrib") add_executable(shpwkb ${PROJECT_SOURCE_DIR}/contrib/shpwkb.c ${PROJECT_SOURCE_DIR}/contrib/shpgeo.c ${PROJECT_SOURCE_DIR}/contrib/shpgeo.h) target_link_libraries(shpwkb shp) set_target_properties(shpwkb PROPERTIES FOLDER "contrib") install( TARGETS csv2shp dbfcat dbfinfo shpcat shpdxf shpfix shpsort Shape_PointInPoly shpcentrd shpdata shpinfo shpwkb PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} ) if(BUILD_TESTING) add_test( NAME contrib COMMAND ${BASH_EXECUTABLE} ${PROJECT_SOURCE_DIR}/contrib/tests/shpproj.sh ${PROJECT_SOURCE_DIR}/contrib/tests/expect.out ) declare_test_executable(contrib "dbfadd;dbfcreate;shpadd;shpcreate;shpdump") endif() endif() shapelib-1.6.1/cmake/CMakeLists.txt0000664000175000017500000000267314371676733014102 00000000000000# config file support for find_package (shapelib). # Variables needed by ${PROJECT_NAME}-config-version.cmake if (MSVC) # For checking the compatibility of MSVC_TOOLSET_VERSION; see # https://docs.microsoft.com/en-us/cpp/porting/overview-of-potential-upgrade-issues-visual-cpp # Assume major version number is obtained by dropping the last decimal # digit. math (EXPR MSVC_TOOLSET_MAJOR "${MSVC_TOOLSET_VERSION}/10") else () set (MSVC_TOOLSET_VERSION 0) set (MSVC_TOOLSET_MAJOR 0) endif () if (CMAKE_CROSSCOMPILING) # Ensure that all "true" (resp. "false") settings are represented by # the same string. set (CMAKE_CROSSCOMPILING_STR "ON") else () set (CMAKE_CROSSCOMPILING_STR "OFF") endif () # Find root of install tree relative to CMAKE_INSTALL_CMAKEDIR file (RELATIVE_PATH PROJECT_ROOT_DIR "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_CMAKEDIR}" "${CMAKE_INSTALL_PREFIX}") # strip trailing slash get_filename_component (PROJECT_ROOT_DIR "${PROJECT_ROOT_DIR}/." PATH) configure_file (project-config.cmake.in project-config.cmake @ONLY) configure_file (project-config-version.cmake.in project-config-version.cmake @ONLY) install (FILES "${CMAKE_CURRENT_BINARY_DIR}/project-config.cmake" DESTINATION "${CMAKE_INSTALL_CMAKEDIR}" RENAME "${PROJECT_NAME}-config.cmake") install (FILES "${CMAKE_CURRENT_BINARY_DIR}/project-config-version.cmake" DESTINATION "${CMAKE_INSTALL_CMAKEDIR}" RENAME "${PROJECT_NAME}-config-version.cmake") shapelib-1.6.1/cmake/project-config.cmake.in0000664000175000017500000000205214371676733015651 00000000000000# Configure @PROJECT_NAME@ # # Set # @PROJECT_NAME@_FOUND = 1 # @PROJECT_NAME@_INCLUDE_DIRS = /usr/local/include # @PROJECT_NAME@_LIBRARIES = shapelib::shp # @PROJECT_NAME@_LIBRARY_DIRS = /usr/local/lib # @PROJECT_NAME@_BINARY_DIRS = /usr/local/bin # @PROJECT_NAME@_VERSION = 1.5.0 (for example) message (STATUS "Reading ${CMAKE_CURRENT_LIST_FILE}") # @PROJECT_NAME@_VERSION is set by version file message (STATUS "@PROJECT_NAME@ configuration, version ${@PROJECT_NAME@_VERSION}") # Tell the user project where to find our headers and libraries get_filename_component (_DIR ${CMAKE_CURRENT_LIST_FILE} PATH) get_filename_component (_ROOT "${_DIR}/@PROJECT_ROOT_DIR@" ABSOLUTE) set (@PROJECT_NAME@_INCLUDE_DIRS "${_ROOT}/@CMAKE_INSTALL_INCLUDEDIR@") set (@PROJECT_NAME@_LIBRARY_DIRS "${_ROOT}/@CMAKE_INSTALL_LIBDIR@") set (@PROJECT_NAME@_BINARY_DIRS "${_ROOT}/@CMAKE_INSTALL_BINDIR@") set (@PROJECT_NAME@_LIBRARIES shapelib::shp) # Read in the exported definition of the library include ("${_DIR}/@PROJECT_NAME@-targets.cmake") unset (_ROOT) unset (_DIR) shapelib-1.6.1/cmake/project-config-version.cmake.in0000664000175000017500000000611314371676733017336 00000000000000# Version checking for @PROJECT_NAME@ set (PACKAGE_VERSION "@PROJECT_VERSION@") set (PACKAGE_VERSION_MAJOR "@PROJECT_VERSION_MAJOR@") set (PACKAGE_VERSION_MINOR "@PROJECT_VERSION_MINOR@") set (PACKAGE_VERSION_PATCH "@PROJECT_VERSION_PATCH@") # These variable definitions parallel those in @PROJECT_NAME@'s # cmake/CMakeLists.txt. if (MSVC) # For checking the compatibility of MSVC_TOOLSET_VERSION; see # https://docs.microsoft.com/en-us/cpp/porting/overview-of-potential-upgrade-issues-visual-cpp # Assume major version number is obtained by dropping the last decimal # digit. math (EXPR MSVC_TOOLSET_MAJOR "${MSVC_TOOLSET_VERSION}/10") endif () if (CMAKE_CROSSCOMPILING) # Ensure that all "true" (resp. "false") settings are represented by # the same string. set (CMAKE_CROSSCOMPILING_STR "ON") else () set (CMAKE_CROSSCOMPILING_STR "OFF") endif () if (NOT PACKAGE_FIND_NAME STREQUAL "@PROJECT_NAME@") # Check package name (in particular, because of the way cmake finds # package config files, the capitalization could easily be "wrong"). # This is necessary to ensure that the automatically generated # variables, e.g., _FOUND, are consistently spelled. set (REASON "package = @PROJECT_NAME@, NOT ${PACKAGE_FIND_NAME}") set (PACKAGE_VERSION_UNSUITABLE TRUE) elseif (NOT (APPLE OR (NOT DEFINED CMAKE_SIZEOF_VOID_P) OR CMAKE_SIZEOF_VOID_P EQUAL @CMAKE_SIZEOF_VOID_P@)) # Reject if there's a 32-bit/64-bit mismatch (not necessary with Apple # since a multi-architecture library is built for that platform). set (REASON "sizeof(*void) = @CMAKE_SIZEOF_VOID_P@") set (PACKAGE_VERSION_UNSUITABLE TRUE) elseif (MSVC AND NOT ( # toolset version must be at least as great as @PROJECT_NAME@'s MSVC_TOOLSET_VERSION GREATER_EQUAL @MSVC_TOOLSET_VERSION@ # and major versions must match AND MSVC_TOOLSET_MAJOR EQUAL @MSVC_TOOLSET_MAJOR@ )) # Reject if there's a mismatch in MSVC compiler versions set (REASON "MSVC_TOOLSET_VERSION = @MSVC_TOOLSET_VERSION@") set (PACKAGE_VERSION_UNSUITABLE TRUE) elseif (NOT CMAKE_CROSSCOMPILING_STR STREQUAL "@CMAKE_CROSSCOMPILING_STR@") # Reject if there's a mismatch in ${CMAKE_CROSSCOMPILING} set (REASON "cross-compiling = @CMAKE_CROSSCOMPILING@") set (PACKAGE_VERSION_UNSUITABLE TRUE) elseif (CMAKE_CROSSCOMPILING AND NOT (CMAKE_SYSTEM_NAME STREQUAL "@CMAKE_SYSTEM_NAME@" AND CMAKE_SYSTEM_PROCESSOR STREQUAL "@CMAKE_SYSTEM_PROCESSOR@")) # Reject if cross-compiling and there's a mismatch in the target system set (REASON "target = @CMAKE_SYSTEM_NAME@-@CMAKE_SYSTEM_PROCESSOR@") set (PACKAGE_VERSION_UNSUITABLE TRUE) elseif (PACKAGE_FIND_VERSION) if (PACKAGE_FIND_VERSION VERSION_EQUAL PACKAGE_VERSION) set (PACKAGE_VERSION_EXACT TRUE) elseif (PACKAGE_FIND_VERSION VERSION_LESS PACKAGE_VERSION AND PACKAGE_FIND_VERSION_MAJOR EQUAL PACKAGE_VERSION_MAJOR) set (PACKAGE_VERSION_COMPATIBLE TRUE) endif () endif () # If unsuitable, append the reason to the package version so that it's # visible to the user. if (PACKAGE_VERSION_UNSUITABLE) set (PACKAGE_VERSION "${PACKAGE_VERSION} (${REASON})") endif () shapelib-1.6.1/cmake/shapelib.gta.runsettings.in0000664000175000017500000000037014656614636016607 00000000000000 @PROJECT_SOURCE_DIR@ shapelib-1.6.1/cmake/shapelib.pc.cmake.in0000664000175000017500000000042214655153023015112 00000000000000prefix=@prefix@ exec_prefix=@exec_prefix@ libdir=@libdir@ datarootdir=${prefix}/share datadir=${datarootdir} includedir=@includedir@ Name: shapelib Description: C API for processing ESRI Shapefiles Version: @PROJECT_VERSION@ Libs: -L${libdir} -lshp Cflags: -I${includedir} shapelib-1.6.1/aclocal.m40000664000175000017500000012577214656616447012132 00000000000000# generated automatically by aclocal 1.16.1 -*- Autoconf -*- # Copyright (C) 1996-2018 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])]) m4_ifndef([AC_AUTOCONF_VERSION], [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.69],, [m4_warning([this file was generated for autoconf 2.69. You have another version of autoconf. It may work, but is not guaranteed to. If you have problems, you may need to regenerate the build system entirely. To do so, use the procedure documented by the package, typically 'autoreconf'.])]) # Copyright (C) 2002-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_AUTOMAKE_VERSION(VERSION) # ---------------------------- # Automake X.Y traces this macro to ensure aclocal.m4 has been # generated from the m4 files accompanying Automake X.Y. # (This private macro should not be called outside this file.) AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api_version='1.16' dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to dnl require some minimum version. Point them to the right macro. m4_if([$1], [1.16.1], [], [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl ]) # _AM_AUTOCONF_VERSION(VERSION) # ----------------------------- # aclocal traces this macro to find the Autoconf version. # This is a private macro too. Using m4_define simplifies # the logic in aclocal, which can simply ignore this definition. m4_define([_AM_AUTOCONF_VERSION], []) # AM_SET_CURRENT_AUTOMAKE_VERSION # ------------------------------- # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced. # This function is AC_REQUIREd by AM_INIT_AUTOMAKE. AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], [AM_AUTOMAKE_VERSION([1.16.1])dnl m4_ifndef([AC_AUTOCONF_VERSION], [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))]) # Copyright (C) 2011-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_PROG_AR([ACT-IF-FAIL]) # ------------------------- # Try to determine the archiver interface, and trigger the ar-lib wrapper # if it is needed. If the detection of archiver interface fails, run # ACT-IF-FAIL (default is to abort configure with a proper error message). AC_DEFUN([AM_PROG_AR], [AC_BEFORE([$0], [LT_INIT])dnl AC_BEFORE([$0], [AC_PROG_LIBTOOL])dnl AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl AC_REQUIRE_AUX_FILE([ar-lib])dnl AC_CHECK_TOOLS([AR], [ar lib "link -lib"], [false]) : ${AR=ar} AC_CACHE_CHECK([the archiver ($AR) interface], [am_cv_ar_interface], [AC_LANG_PUSH([C]) am_cv_ar_interface=ar AC_COMPILE_IFELSE([AC_LANG_SOURCE([[int some_variable = 0;]])], [am_ar_try='$AR cru libconftest.a conftest.$ac_objext >&AS_MESSAGE_LOG_FD' AC_TRY_EVAL([am_ar_try]) if test "$ac_status" -eq 0; then am_cv_ar_interface=ar else am_ar_try='$AR -NOLOGO -OUT:conftest.lib conftest.$ac_objext >&AS_MESSAGE_LOG_FD' AC_TRY_EVAL([am_ar_try]) if test "$ac_status" -eq 0; then am_cv_ar_interface=lib else am_cv_ar_interface=unknown fi fi rm -f conftest.lib libconftest.a ]) AC_LANG_POP([C])]) case $am_cv_ar_interface in ar) ;; lib) # Microsoft lib, so override with the ar-lib wrapper script. # FIXME: It is wrong to rewrite AR. # But if we don't then we get into trouble of one sort or another. # A longer-term fix would be to have automake use am__AR in this case, # and then we could set am__AR="$am_aux_dir/ar-lib \$(AR)" or something # similar. AR="$am_aux_dir/ar-lib $AR" ;; unknown) m4_default([$1], [AC_MSG_ERROR([could not determine $AR interface])]) ;; esac AC_SUBST([AR])dnl ]) # AM_AUX_DIR_EXPAND -*- Autoconf -*- # Copyright (C) 2001-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets # $ac_aux_dir to '$srcdir/foo'. In other projects, it is set to # '$srcdir', '$srcdir/..', or '$srcdir/../..'. # # Of course, Automake must honor this variable whenever it calls a # tool from the auxiliary directory. The problem is that $srcdir (and # therefore $ac_aux_dir as well) can be either absolute or relative, # depending on how configure is run. This is pretty annoying, since # it makes $ac_aux_dir quite unusable in subdirectories: in the top # source directory, any form will work fine, but in subdirectories a # relative path needs to be adjusted first. # # $ac_aux_dir/missing # fails when called from a subdirectory if $ac_aux_dir is relative # $top_srcdir/$ac_aux_dir/missing # fails if $ac_aux_dir is absolute, # fails when called from a subdirectory in a VPATH build with # a relative $ac_aux_dir # # The reason of the latter failure is that $top_srcdir and $ac_aux_dir # are both prefixed by $srcdir. In an in-source build this is usually # harmless because $srcdir is '.', but things will broke when you # start a VPATH build or use an absolute $srcdir. # # So we could use something similar to $top_srcdir/$ac_aux_dir/missing, # iff we strip the leading $srcdir from $ac_aux_dir. That would be: # am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"` # and then we would define $MISSING as # MISSING="\${SHELL} $am_aux_dir/missing" # This will work as long as MISSING is not called from configure, because # unfortunately $(top_srcdir) has no meaning in configure. # However there are other variables, like CC, which are often used in # configure, and could therefore not use this "fixed" $ac_aux_dir. # # Another solution, used here, is to always expand $ac_aux_dir to an # absolute PATH. The drawback is that using absolute paths prevent a # configured tree to be moved without reconfiguration. AC_DEFUN([AM_AUX_DIR_EXPAND], [AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl # Expand $ac_aux_dir to an absolute path. am_aux_dir=`cd "$ac_aux_dir" && pwd` ]) # AM_CONDITIONAL -*- Autoconf -*- # Copyright (C) 1997-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_CONDITIONAL(NAME, SHELL-CONDITION) # ------------------------------------- # Define a conditional. AC_DEFUN([AM_CONDITIONAL], [AC_PREREQ([2.52])dnl m4_if([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])], [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl AC_SUBST([$1_TRUE])dnl AC_SUBST([$1_FALSE])dnl _AM_SUBST_NOTMAKE([$1_TRUE])dnl _AM_SUBST_NOTMAKE([$1_FALSE])dnl m4_define([_AM_COND_VALUE_$1], [$2])dnl if $2; then $1_TRUE= $1_FALSE='#' else $1_TRUE='#' $1_FALSE= fi AC_CONFIG_COMMANDS_PRE( [if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then AC_MSG_ERROR([[conditional "$1" was never defined. Usually this means the macro was only invoked conditionally.]]) fi])]) # Copyright (C) 1999-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # There are a few dirty hacks below to avoid letting 'AC_PROG_CC' be # written in clear, in which case automake, when reading aclocal.m4, # will think it sees a *use*, and therefore will trigger all it's # C support machinery. Also note that it means that autoscan, seeing # CC etc. in the Makefile, will ask for an AC_PROG_CC use... # _AM_DEPENDENCIES(NAME) # ---------------------- # See how the compiler implements dependency checking. # NAME is "CC", "CXX", "OBJC", "OBJCXX", "UPC", or "GJC". # We try a few techniques and use that to set a single cache variable. # # We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was # modified to invoke _AM_DEPENDENCIES(CC); we would have a circular # dependency, and given that the user is not expected to run this macro, # just rely on AC_PROG_CC. AC_DEFUN([_AM_DEPENDENCIES], [AC_REQUIRE([AM_SET_DEPDIR])dnl AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl AC_REQUIRE([AM_MAKE_INCLUDE])dnl AC_REQUIRE([AM_DEP_TRACK])dnl m4_if([$1], [CC], [depcc="$CC" am_compiler_list=], [$1], [CXX], [depcc="$CXX" am_compiler_list=], [$1], [OBJC], [depcc="$OBJC" am_compiler_list='gcc3 gcc'], [$1], [OBJCXX], [depcc="$OBJCXX" am_compiler_list='gcc3 gcc'], [$1], [UPC], [depcc="$UPC" am_compiler_list=], [$1], [GCJ], [depcc="$GCJ" am_compiler_list='gcc3 gcc'], [depcc="$$1" am_compiler_list=]) AC_CACHE_CHECK([dependency style of $depcc], [am_cv_$1_dependencies_compiler_type], [if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named 'D' -- because '-MD' means "put the output # in D". rm -rf conftest.dir mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir # We will build objects and dependencies in a subdirectory because # it helps to detect inapplicable dependency modes. For instance # both Tru64's cc and ICC support -MD to output dependencies as a # side effect of compilation, but ICC will put the dependencies in # the current directory while Tru64 will put them in the object # directory. mkdir sub am_cv_$1_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp` fi am__universal=false m4_case([$1], [CC], [case " $depcc " in #( *\ -arch\ *\ -arch\ *) am__universal=true ;; esac], [CXX], [case " $depcc " in #( *\ -arch\ *\ -arch\ *) am__universal=true ;; esac]) for depmode in $am_compiler_list; do # Setup a source with many dependencies, because some compilers # like to wrap large dependency lists on column 80 (with \), and # we should not choose a depcomp mode which is confused by this. # # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. : > sub/conftest.c for i in 1 2 3 4 5 6; do echo '#include "conftst'$i'.h"' >> sub/conftest.c # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with # Solaris 10 /bin/sh. echo '/* dummy */' > sub/conftst$i.h done echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf # We check with '-c' and '-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle '-M -o', and we need to detect this. Also, some Intel # versions had trouble with output in subdirs. am__obj=sub/conftest.${OBJEXT-o} am__minus_obj="-o $am__obj" case $depmode in gcc) # This depmode causes a compiler race in universal mode. test "$am__universal" = false || continue ;; nosideeffect) # After this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested. if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; msvc7 | msvc7msys | msvisualcpp | msvcmsys) # This compiler won't grok '-c -o', but also, the minuso test has # not run yet. These depmodes are late enough in the game, and # so weak that their functioning should not be impacted. am__obj=conftest.${OBJEXT-o} am__minus_obj= ;; none) break ;; esac if depmode=$depmode \ source=sub/conftest.c object=$am__obj \ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ >/dev/null 2>conftest.err && grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && grep $am__obj sub/conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then # icc doesn't choke on unknown options, it will just issue warnings # or remarks (even with -Werror). So we grep stderr for any message # that says an option was ignored or not supported. # When given -MP, icc 7.0 and 7.1 complain thusly: # icc: Command line warning: ignoring option '-M'; no argument required # The diagnosis changed in icc 8.0: # icc: Command line remark: option '-MP' not supported if (grep 'ignoring option' conftest.err || grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else am_cv_$1_dependencies_compiler_type=$depmode break fi fi done cd .. rm -rf conftest.dir else am_cv_$1_dependencies_compiler_type=none fi ]) AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type]) AM_CONDITIONAL([am__fastdep$1], [ test "x$enable_dependency_tracking" != xno \ && test "$am_cv_$1_dependencies_compiler_type" = gcc3]) ]) # AM_SET_DEPDIR # ------------- # Choose a directory name for dependency files. # This macro is AC_REQUIREd in _AM_DEPENDENCIES. AC_DEFUN([AM_SET_DEPDIR], [AC_REQUIRE([AM_SET_LEADING_DOT])dnl AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl ]) # AM_DEP_TRACK # ------------ AC_DEFUN([AM_DEP_TRACK], [AC_ARG_ENABLE([dependency-tracking], [dnl AS_HELP_STRING( [--enable-dependency-tracking], [do not reject slow dependency extractors]) AS_HELP_STRING( [--disable-dependency-tracking], [speeds up one-time build])]) if test "x$enable_dependency_tracking" != xno; then am_depcomp="$ac_aux_dir/depcomp" AMDEPBACKSLASH='\' am__nodep='_no' fi AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) AC_SUBST([AMDEPBACKSLASH])dnl _AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl AC_SUBST([am__nodep])dnl _AM_SUBST_NOTMAKE([am__nodep])dnl ]) # Generate code to set up dependency tracking. -*- Autoconf -*- # Copyright (C) 1999-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # _AM_OUTPUT_DEPENDENCY_COMMANDS # ------------------------------ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], [{ # Older Autoconf quotes --file arguments for eval, but not when files # are listed without --file. Let's play safe and only enable the eval # if we detect the quoting. # TODO: see whether this extra hack can be removed once we start # requiring Autoconf 2.70 or later. AS_CASE([$CONFIG_FILES], [*\'*], [eval set x "$CONFIG_FILES"], [*], [set x $CONFIG_FILES]) shift # Used to flag and report bootstrapping failures. am_rc=0 for am_mf do # Strip MF so we end up with the name of the file. am_mf=`AS_ECHO(["$am_mf"]) | sed -e 's/:.*$//'` # Check whether this is an Automake generated Makefile which includes # dependency-tracking related rules and includes. # Grep'ing the whole file directly is not great: AIX grep has a line # limit of 2048, but all sed's we know have understand at least 4000. sed -n 's,^am--depfiles:.*,X,p' "$am_mf" | grep X >/dev/null 2>&1 \ || continue am_dirpart=`AS_DIRNAME(["$am_mf"])` am_filepart=`AS_BASENAME(["$am_mf"])` AM_RUN_LOG([cd "$am_dirpart" \ && sed -e '/# am--include-marker/d' "$am_filepart" \ | $MAKE -f - am--depfiles]) || am_rc=$? done if test $am_rc -ne 0; then AC_MSG_FAILURE([Something went wrong bootstrapping makefile fragments for automatic dependency tracking. Try re-running configure with the '--disable-dependency-tracking' option to at least be able to build the package (albeit without support for automatic dependency tracking).]) fi AS_UNSET([am_dirpart]) AS_UNSET([am_filepart]) AS_UNSET([am_mf]) AS_UNSET([am_rc]) rm -f conftest-deps.mk } ])# _AM_OUTPUT_DEPENDENCY_COMMANDS # AM_OUTPUT_DEPENDENCY_COMMANDS # ----------------------------- # This macro should only be invoked once -- use via AC_REQUIRE. # # This code is only required when automatic dependency tracking is enabled. # This creates each '.Po' and '.Plo' makefile fragment that we'll need in # order to bootstrap the dependency handling code. AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], [AC_CONFIG_COMMANDS([depfiles], [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS], [AMDEP_TRUE="$AMDEP_TRUE" MAKE="${MAKE-make}"])]) # Do all the work for Automake. -*- Autoconf -*- # Copyright (C) 1996-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This macro actually does too much. Some checks are only needed if # your package does certain things. But this isn't really a big deal. dnl Redefine AC_PROG_CC to automatically invoke _AM_PROG_CC_C_O. m4_define([AC_PROG_CC], m4_defn([AC_PROG_CC]) [_AM_PROG_CC_C_O ]) # AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE]) # AM_INIT_AUTOMAKE([OPTIONS]) # ----------------------------------------------- # The call with PACKAGE and VERSION arguments is the old style # call (pre autoconf-2.50), which is being phased out. PACKAGE # and VERSION should now be passed to AC_INIT and removed from # the call to AM_INIT_AUTOMAKE. # We support both call styles for the transition. After # the next Automake release, Autoconf can make the AC_INIT # arguments mandatory, and then we can depend on a new Autoconf # release and drop the old call support. AC_DEFUN([AM_INIT_AUTOMAKE], [AC_PREREQ([2.65])dnl dnl Autoconf wants to disallow AM_ names. We explicitly allow dnl the ones we care about. m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl AC_REQUIRE([AC_PROG_INSTALL])dnl if test "`cd $srcdir && pwd`" != "`pwd`"; then # Use -I$(srcdir) only when $(srcdir) != ., so that make's output # is not polluted with repeated "-I." AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl # test to see if srcdir already configured if test -f $srcdir/config.status; then AC_MSG_ERROR([source directory already configured; run "make distclean" there first]) fi fi # test whether we have cygpath if test -z "$CYGPATH_W"; then if (cygpath --version) >/dev/null 2>/dev/null; then CYGPATH_W='cygpath -w' else CYGPATH_W=echo fi fi AC_SUBST([CYGPATH_W]) # Define the identity of the package. dnl Distinguish between old-style and new-style calls. m4_ifval([$2], [AC_DIAGNOSE([obsolete], [$0: two- and three-arguments forms are deprecated.]) m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl AC_SUBST([PACKAGE], [$1])dnl AC_SUBST([VERSION], [$2])], [_AM_SET_OPTIONS([$1])dnl dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT. m4_if( m4_ifdef([AC_PACKAGE_NAME], [ok]):m4_ifdef([AC_PACKAGE_VERSION], [ok]), [ok:ok],, [m4_fatal([AC_INIT should be called with package and version arguments])])dnl AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl _AM_IF_OPTION([no-define],, [AC_DEFINE_UNQUOTED([PACKAGE], ["$PACKAGE"], [Name of package]) AC_DEFINE_UNQUOTED([VERSION], ["$VERSION"], [Version number of package])])dnl # Some tools Automake needs. AC_REQUIRE([AM_SANITY_CHECK])dnl AC_REQUIRE([AC_ARG_PROGRAM])dnl AM_MISSING_PROG([ACLOCAL], [aclocal-${am__api_version}]) AM_MISSING_PROG([AUTOCONF], [autoconf]) AM_MISSING_PROG([AUTOMAKE], [automake-${am__api_version}]) AM_MISSING_PROG([AUTOHEADER], [autoheader]) AM_MISSING_PROG([MAKEINFO], [makeinfo]) AC_REQUIRE([AM_PROG_INSTALL_SH])dnl AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl AC_REQUIRE([AC_PROG_MKDIR_P])dnl # For better backward compatibility. To be removed once Automake 1.9.x # dies out for good. For more background, see: # # AC_SUBST([mkdir_p], ['$(MKDIR_P)']) # We need awk for the "check" target (and possibly the TAP driver). The # system "awk" is bad on some platforms. AC_REQUIRE([AC_PROG_AWK])dnl AC_REQUIRE([AC_PROG_MAKE_SET])dnl AC_REQUIRE([AM_SET_LEADING_DOT])dnl _AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])], [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])], [_AM_PROG_TAR([v7])])]) _AM_IF_OPTION([no-dependencies],, [AC_PROVIDE_IFELSE([AC_PROG_CC], [_AM_DEPENDENCIES([CC])], [m4_define([AC_PROG_CC], m4_defn([AC_PROG_CC])[_AM_DEPENDENCIES([CC])])])dnl AC_PROVIDE_IFELSE([AC_PROG_CXX], [_AM_DEPENDENCIES([CXX])], [m4_define([AC_PROG_CXX], m4_defn([AC_PROG_CXX])[_AM_DEPENDENCIES([CXX])])])dnl AC_PROVIDE_IFELSE([AC_PROG_OBJC], [_AM_DEPENDENCIES([OBJC])], [m4_define([AC_PROG_OBJC], m4_defn([AC_PROG_OBJC])[_AM_DEPENDENCIES([OBJC])])])dnl AC_PROVIDE_IFELSE([AC_PROG_OBJCXX], [_AM_DEPENDENCIES([OBJCXX])], [m4_define([AC_PROG_OBJCXX], m4_defn([AC_PROG_OBJCXX])[_AM_DEPENDENCIES([OBJCXX])])])dnl ]) AC_REQUIRE([AM_SILENT_RULES])dnl dnl The testsuite driver may need to know about EXEEXT, so add the dnl 'am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This dnl macro is hooked onto _AC_COMPILER_EXEEXT early, see below. AC_CONFIG_COMMANDS_PRE(dnl [m4_provide_if([_AM_COMPILER_EXEEXT], [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl # POSIX will say in a future version that running "rm -f" with no argument # is OK; and we want to be able to make that assumption in our Makefile # recipes. So use an aggressive probe to check that the usage we want is # actually supported "in the wild" to an acceptable degree. # See automake bug#10828. # To make any issue more visible, cause the running configure to be aborted # by default if the 'rm' program in use doesn't match our expectations; the # user can still override this though. if rm -f && rm -fr && rm -rf; then : OK; else cat >&2 <<'END' Oops! Your 'rm' program seems unable to run without file operands specified on the command line, even when the '-f' option is present. This is contrary to the behaviour of most rm programs out there, and not conforming with the upcoming POSIX standard: Please tell bug-automake@gnu.org about your system, including the value of your $PATH and any error possibly output before this message. This can help us improve future automake versions. END if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then echo 'Configuration will proceed anyway, since you have set the' >&2 echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2 echo >&2 else cat >&2 <<'END' Aborting the configuration process, to ensure you take notice of the issue. You can download and install GNU coreutils to get an 'rm' implementation that behaves properly: . If you want to complete the configuration process using your problematic 'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM to "yes", and re-run configure. END AC_MSG_ERROR([Your 'rm' program is bad, sorry.]) fi fi dnl The trailing newline in this macro's definition is deliberate, for dnl backward compatibility and to allow trailing 'dnl'-style comments dnl after the AM_INIT_AUTOMAKE invocation. See automake bug#16841. ]) dnl Hook into '_AC_COMPILER_EXEEXT' early to learn its expansion. Do not dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further dnl mangled by Autoconf and run in a shell conditional statement. m4_define([_AC_COMPILER_EXEEXT], m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])]) # When config.status generates a header, we must update the stamp-h file. # This file resides in the same directory as the config header # that is generated. The stamp files are numbered to have different names. # Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the # loop where config.status creates the headers, so we can generate # our stamp files there. AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK], [# Compute $1's index in $config_headers. _am_arg=$1 _am_stamp_count=1 for _am_header in $config_headers :; do case $_am_header in $_am_arg | $_am_arg:* ) break ;; * ) _am_stamp_count=`expr $_am_stamp_count + 1` ;; esac done echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count]) # Copyright (C) 2001-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_PROG_INSTALL_SH # ------------------ # Define $install_sh. AC_DEFUN([AM_PROG_INSTALL_SH], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl if test x"${install_sh+set}" != xset; then case $am_aux_dir in *\ * | *\ *) install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; *) install_sh="\${SHELL} $am_aux_dir/install-sh" esac fi AC_SUBST([install_sh])]) # Copyright (C) 2003-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # Check whether the underlying file-system supports filenames # with a leading dot. For instance MS-DOS doesn't. AC_DEFUN([AM_SET_LEADING_DOT], [rm -rf .tst 2>/dev/null mkdir .tst 2>/dev/null if test -d .tst; then am__leading_dot=. else am__leading_dot=_ fi rmdir .tst 2>/dev/null AC_SUBST([am__leading_dot])]) # Check to see how 'make' treats includes. -*- Autoconf -*- # Copyright (C) 2001-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_MAKE_INCLUDE() # ----------------- # Check whether make has an 'include' directive that can support all # the idioms we need for our automatic dependency tracking code. AC_DEFUN([AM_MAKE_INCLUDE], [AC_MSG_CHECKING([whether ${MAKE-make} supports the include directive]) cat > confinc.mk << 'END' am__doit: @echo this is the am__doit target >confinc.out .PHONY: am__doit END am__include="#" am__quote= # BSD make does it like this. echo '.include "confinc.mk" # ignored' > confmf.BSD # Other make implementations (GNU, Solaris 10, AIX) do it like this. echo 'include confinc.mk # ignored' > confmf.GNU _am_result=no for s in GNU BSD; do AM_RUN_LOG([${MAKE-make} -f confmf.$s && cat confinc.out]) AS_CASE([$?:`cat confinc.out 2>/dev/null`], ['0:this is the am__doit target'], [AS_CASE([$s], [BSD], [am__include='.include' am__quote='"'], [am__include='include' am__quote=''])]) if test "$am__include" != "#"; then _am_result="yes ($s style)" break fi done rm -f confinc.* confmf.* AC_MSG_RESULT([${_am_result}]) AC_SUBST([am__include])]) AC_SUBST([am__quote])]) # Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- # Copyright (C) 1997-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_MISSING_PROG(NAME, PROGRAM) # ------------------------------ AC_DEFUN([AM_MISSING_PROG], [AC_REQUIRE([AM_MISSING_HAS_RUN]) $1=${$1-"${am_missing_run}$2"} AC_SUBST($1)]) # AM_MISSING_HAS_RUN # ------------------ # Define MISSING if not defined so far and test if it is modern enough. # If it is, set am_missing_run to use it, otherwise, to nothing. AC_DEFUN([AM_MISSING_HAS_RUN], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl AC_REQUIRE_AUX_FILE([missing])dnl if test x"${MISSING+set}" != xset; then case $am_aux_dir in *\ * | *\ *) MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; *) MISSING="\${SHELL} $am_aux_dir/missing" ;; esac fi # Use eval to expand $SHELL if eval "$MISSING --is-lightweight"; then am_missing_run="$MISSING " else am_missing_run= AC_MSG_WARN(['missing' script is too old or missing]) fi ]) # Helper functions for option handling. -*- Autoconf -*- # Copyright (C) 2001-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # _AM_MANGLE_OPTION(NAME) # ----------------------- AC_DEFUN([_AM_MANGLE_OPTION], [[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])]) # _AM_SET_OPTION(NAME) # -------------------- # Set option NAME. Presently that only means defining a flag for this option. AC_DEFUN([_AM_SET_OPTION], [m4_define(_AM_MANGLE_OPTION([$1]), [1])]) # _AM_SET_OPTIONS(OPTIONS) # ------------------------ # OPTIONS is a space-separated list of Automake options. AC_DEFUN([_AM_SET_OPTIONS], [m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])]) # _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET]) # ------------------------------------------- # Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. AC_DEFUN([_AM_IF_OPTION], [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) # Copyright (C) 1999-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # _AM_PROG_CC_C_O # --------------- # Like AC_PROG_CC_C_O, but changed for automake. We rewrite AC_PROG_CC # to automatically call this. AC_DEFUN([_AM_PROG_CC_C_O], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl AC_REQUIRE_AUX_FILE([compile])dnl AC_LANG_PUSH([C])dnl AC_CACHE_CHECK( [whether $CC understands -c and -o together], [am_cv_prog_cc_c_o], [AC_LANG_CONFTEST([AC_LANG_PROGRAM([])]) # Make sure it works both with $CC and with simple cc. # Following AC_PROG_CC_C_O, we do the test twice because some # compilers refuse to overwrite an existing .o file with -o, # though they will create one. am_cv_prog_cc_c_o=yes for am_i in 1 2; do if AM_RUN_LOG([$CC -c conftest.$ac_ext -o conftest2.$ac_objext]) \ && test -f conftest2.$ac_objext; then : OK else am_cv_prog_cc_c_o=no break fi done rm -f core conftest* unset am_i]) if test "$am_cv_prog_cc_c_o" != yes; then # Losing compiler, so override with the script. # FIXME: It is wrong to rewrite CC. # But if we don't then we get into trouble of one sort or another. # A longer-term fix would be to have automake use am__CC in this case, # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" CC="$am_aux_dir/compile $CC" fi AC_LANG_POP([C])]) # For backward compatibility. AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])]) # Copyright (C) 2001-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_RUN_LOG(COMMAND) # ------------------- # Run COMMAND, save the exit status in ac_status, and log it. # (This has been adapted from Autoconf's _AC_RUN_LOG macro.) AC_DEFUN([AM_RUN_LOG], [{ echo "$as_me:$LINENO: $1" >&AS_MESSAGE_LOG_FD ($1) >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD (exit $ac_status); }]) # Check to make sure that the build environment is sane. -*- Autoconf -*- # Copyright (C) 1996-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_SANITY_CHECK # --------------- AC_DEFUN([AM_SANITY_CHECK], [AC_MSG_CHECKING([whether build environment is sane]) # Reject unsafe characters in $srcdir or the absolute working directory # name. Accept space and tab only in the latter. am_lf=' ' case `pwd` in *[[\\\"\#\$\&\'\`$am_lf]]*) AC_MSG_ERROR([unsafe absolute working directory name]);; esac case $srcdir in *[[\\\"\#\$\&\'\`$am_lf\ \ ]]*) AC_MSG_ERROR([unsafe srcdir value: '$srcdir']);; esac # Do 'set' in a subshell so we don't clobber the current shell's # arguments. Must try -L first in case configure is actually a # symlink; some systems play weird games with the mod time of symlinks # (eg FreeBSD returns the mod time of the symlink's containing # directory). if ( am_has_slept=no for am_try in 1 2; do echo "timestamp, slept: $am_has_slept" > conftest.file set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` if test "$[*]" = "X"; then # -L didn't work. set X `ls -t "$srcdir/configure" conftest.file` fi if test "$[*]" != "X $srcdir/configure conftest.file" \ && test "$[*]" != "X conftest.file $srcdir/configure"; then # If neither matched, then we have a broken ls. This can happen # if, for instance, CONFIG_SHELL is bash and it inherits a # broken ls alias from the environment. This has actually # happened. Such a system could not be considered "sane". AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken alias in your environment]) fi if test "$[2]" = conftest.file || test $am_try -eq 2; then break fi # Just in case. sleep 1 am_has_slept=yes done test "$[2]" = conftest.file ) then # Ok. : else AC_MSG_ERROR([newly created file is older than distributed files! Check your system clock]) fi AC_MSG_RESULT([yes]) # If we didn't sleep, we still need to ensure time stamps of config.status and # generated files are strictly newer. am_sleep_pid= if grep 'slept: no' conftest.file >/dev/null 2>&1; then ( sleep 1 ) & am_sleep_pid=$! fi AC_CONFIG_COMMANDS_PRE( [AC_MSG_CHECKING([that generated files are newer than configure]) if test -n "$am_sleep_pid"; then # Hide warnings about reused PIDs. wait $am_sleep_pid 2>/dev/null fi AC_MSG_RESULT([done])]) rm -f conftest.file ]) # Copyright (C) 2009-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_SILENT_RULES([DEFAULT]) # -------------------------- # Enable less verbose build rules; with the default set to DEFAULT # ("yes" being less verbose, "no" or empty being verbose). AC_DEFUN([AM_SILENT_RULES], [AC_ARG_ENABLE([silent-rules], [dnl AS_HELP_STRING( [--enable-silent-rules], [less verbose build output (undo: "make V=1")]) AS_HELP_STRING( [--disable-silent-rules], [verbose build output (undo: "make V=0")])dnl ]) case $enable_silent_rules in @%:@ ((( yes) AM_DEFAULT_VERBOSITY=0;; no) AM_DEFAULT_VERBOSITY=1;; *) AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1]);; esac dnl dnl A few 'make' implementations (e.g., NonStop OS and NextStep) dnl do not support nested variable expansions. dnl See automake bug#9928 and bug#10237. am_make=${MAKE-make} AC_CACHE_CHECK([whether $am_make supports nested variables], [am_cv_make_support_nested_variables], [if AS_ECHO([['TRUE=$(BAR$(V)) BAR0=false BAR1=true V=1 am__doit: @$(TRUE) .PHONY: am__doit']]) | $am_make -f - >/dev/null 2>&1; then am_cv_make_support_nested_variables=yes else am_cv_make_support_nested_variables=no fi]) if test $am_cv_make_support_nested_variables = yes; then dnl Using '$V' instead of '$(V)' breaks IRIX make. AM_V='$(V)' AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' else AM_V=$AM_DEFAULT_VERBOSITY AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY fi AC_SUBST([AM_V])dnl AM_SUBST_NOTMAKE([AM_V])dnl AC_SUBST([AM_DEFAULT_V])dnl AM_SUBST_NOTMAKE([AM_DEFAULT_V])dnl AC_SUBST([AM_DEFAULT_VERBOSITY])dnl AM_BACKSLASH='\' AC_SUBST([AM_BACKSLASH])dnl _AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl ]) # Copyright (C) 2001-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_PROG_INSTALL_STRIP # --------------------- # One issue with vendor 'install' (even GNU) is that you can't # specify the program used to strip binaries. This is especially # annoying in cross-compiling environments, where the build's strip # is unlikely to handle the host's binaries. # Fortunately install-sh will honor a STRIPPROG variable, so we # always use install-sh in "make install-strip", and initialize # STRIPPROG with the value of the STRIP variable (set by the user). AC_DEFUN([AM_PROG_INSTALL_STRIP], [AC_REQUIRE([AM_PROG_INSTALL_SH])dnl # Installed binaries are usually stripped using 'strip' when the user # run "make install-strip". However 'strip' might not be the right # tool to use in cross-compilation environments, therefore Automake # will honor the 'STRIP' environment variable to overrule this program. dnl Don't test for $cross_compiling = yes, because it might be 'maybe'. if test "$cross_compiling" != no; then AC_CHECK_TOOL([STRIP], [strip], :) fi INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" AC_SUBST([INSTALL_STRIP_PROGRAM])]) # Copyright (C) 2006-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # _AM_SUBST_NOTMAKE(VARIABLE) # --------------------------- # Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in. # This macro is traced by Automake. AC_DEFUN([_AM_SUBST_NOTMAKE]) # AM_SUBST_NOTMAKE(VARIABLE) # -------------------------- # Public sister of _AM_SUBST_NOTMAKE. AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)]) # Check how to create a tarball. -*- Autoconf -*- # Copyright (C) 2004-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # _AM_PROG_TAR(FORMAT) # -------------------- # Check how to create a tarball in format FORMAT. # FORMAT should be one of 'v7', 'ustar', or 'pax'. # # Substitute a variable $(am__tar) that is a command # writing to stdout a FORMAT-tarball containing the directory # $tardir. # tardir=directory && $(am__tar) > result.tar # # Substitute a variable $(am__untar) that extract such # a tarball read from stdin. # $(am__untar) < result.tar # AC_DEFUN([_AM_PROG_TAR], [# Always define AMTAR for backward compatibility. Yes, it's still used # in the wild :-( We should find a proper way to deprecate it ... AC_SUBST([AMTAR], ['$${TAR-tar}']) # We'll loop over all known methods to create a tar archive until one works. _am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none' m4_if([$1], [v7], [am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'], [m4_case([$1], [ustar], [# The POSIX 1988 'ustar' format is defined with fixed-size fields. # There is notably a 21 bits limit for the UID and the GID. In fact, # the 'pax' utility can hang on bigger UID/GID (see automake bug#8343 # and bug#13588). am_max_uid=2097151 # 2^21 - 1 am_max_gid=$am_max_uid # The $UID and $GID variables are not portable, so we need to resort # to the POSIX-mandated id(1) utility. Errors in the 'id' calls # below are definitely unexpected, so allow the users to see them # (that is, avoid stderr redirection). am_uid=`id -u || echo unknown` am_gid=`id -g || echo unknown` AC_MSG_CHECKING([whether UID '$am_uid' is supported by ustar format]) if test $am_uid -le $am_max_uid; then AC_MSG_RESULT([yes]) else AC_MSG_RESULT([no]) _am_tools=none fi AC_MSG_CHECKING([whether GID '$am_gid' is supported by ustar format]) if test $am_gid -le $am_max_gid; then AC_MSG_RESULT([yes]) else AC_MSG_RESULT([no]) _am_tools=none fi], [pax], [], [m4_fatal([Unknown tar format])]) AC_MSG_CHECKING([how to create a $1 tar archive]) # Go ahead even if we have the value already cached. We do so because we # need to set the values for the 'am__tar' and 'am__untar' variables. _am_tools=${am_cv_prog_tar_$1-$_am_tools} for _am_tool in $_am_tools; do case $_am_tool in gnutar) for _am_tar in tar gnutar gtar; do AM_RUN_LOG([$_am_tar --version]) && break done am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"' am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"' am__untar="$_am_tar -xf -" ;; plaintar) # Must skip GNU tar: if it does not support --format= it doesn't create # ustar tarball either. (tar --version) >/dev/null 2>&1 && continue am__tar='tar chf - "$$tardir"' am__tar_='tar chf - "$tardir"' am__untar='tar xf -' ;; pax) am__tar='pax -L -x $1 -w "$$tardir"' am__tar_='pax -L -x $1 -w "$tardir"' am__untar='pax -r' ;; cpio) am__tar='find "$$tardir" -print | cpio -o -H $1 -L' am__tar_='find "$tardir" -print | cpio -o -H $1 -L' am__untar='cpio -i -H $1 -d' ;; none) am__tar=false am__tar_=false am__untar=false ;; esac # If the value was cached, stop now. We just wanted to have am__tar # and am__untar set. test -n "${am_cv_prog_tar_$1}" && break # tar/untar a dummy directory, and stop if the command works. rm -rf conftest.dir mkdir conftest.dir echo GrepMe > conftest.dir/file AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar]) rm -rf conftest.dir if test -s conftest.tar; then AM_RUN_LOG([$am__untar /dev/null 2>&1 && break fi done rm -rf conftest.dir AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool]) AC_MSG_RESULT([$am_cv_prog_tar_$1])]) AC_SUBST([am__tar]) AC_SUBST([am__untar]) ]) # _AM_PROG_TAR m4_include([m4/libtool.m4]) m4_include([m4/ltoptions.m4]) m4_include([m4/ltsugar.m4]) m4_include([m4/ltversion.m4]) m4_include([m4/lt~obsolete.m4]) shapelib-1.6.1/config.sub0000755000175000017500000010645014656616450012235 00000000000000#! /bin/sh # Configuration validation subroutine script. # Copyright 1992-2018 Free Software Foundation, Inc. timestamp='2018-02-22' # This file 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 3 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 to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that # program. This Exception is an additional permission under section 7 # of the GNU General Public License, version 3 ("GPLv3"). # Please send patches to . # # Configuration subroutine to validate and canonicalize a configuration type. # Supply the specified configuration type as an argument. # If it is invalid, we print an error message on stderr and exit with code 1. # Otherwise, we print the canonical config type on stdout and succeed. # You can get the latest version of this script from: # https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub # This file is supposed to be the same for all GNU packages # and recognize all the CPU types, system types and aliases # that are meaningful with *any* GNU software. # Each package is responsible for reporting which valid configurations # it does not support. The user should be able to distinguish # a failure to support a valid configuration from a meaningless # configuration. # The goal of this file is to map all the various variations of a given # machine specification into a single specification in the form: # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM # or in some cases, the newer four-part form: # CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM # It is wrong to echo any other type of specification. me=`echo "$0" | sed -e 's,.*/,,'` usage="\ Usage: $0 [OPTION] CPU-MFR-OPSYS or ALIAS Canonicalize a configuration name. Options: -h, --help print this help, then exit -t, --time-stamp print date of last modification, then exit -v, --version print version number, then exit Report bugs and patches to ." version="\ GNU config.sub ($timestamp) Copyright 1992-2018 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." help=" Try \`$me --help' for more information." # Parse command line while test $# -gt 0 ; do case $1 in --time-stamp | --time* | -t ) echo "$timestamp" ; exit ;; --version | -v ) echo "$version" ; exit ;; --help | --h* | -h ) echo "$usage"; exit ;; -- ) # Stop option processing shift; break ;; - ) # Use stdin as input. break ;; -* ) echo "$me: invalid option $1$help" exit 1 ;; *local*) # First pass through any local machine types. echo "$1" exit ;; * ) break ;; esac done case $# in 0) echo "$me: missing argument$help" >&2 exit 1;; 1) ;; *) echo "$me: too many arguments$help" >&2 exit 1;; esac # Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). # Here we must recognize all the valid KERNEL-OS combinations. maybe_os=`echo "$1" | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` case $maybe_os in nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \ linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \ knetbsd*-gnu* | netbsd*-gnu* | netbsd*-eabi* | \ kopensolaris*-gnu* | cloudabi*-eabi* | \ storm-chaos* | os2-emx* | rtmk-nova*) os=-$maybe_os basic_machine=`echo "$1" | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` ;; android-linux) os=-linux-android basic_machine=`echo "$1" | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown ;; *) basic_machine=`echo "$1" | sed 's/-[^-]*$//'` if [ "$basic_machine" != "$1" ] then os=`echo "$1" | sed 's/.*-/-/'` else os=; fi ;; esac ### Let's recognize common machines as not being operating systems so ### that things like config.sub decstation-3100 work. We also ### recognize some manufacturers as not being operating systems, so we ### can provide default operating systems below. case $os in -sun*os*) # Prevent following clause from handling this invalid input. ;; -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ -apple | -axis | -knuth | -cray | -microblaze*) os= basic_machine=$1 ;; -bluegene*) os=-cnk ;; -sim | -cisco | -oki | -wec | -winbond) os= basic_machine=$1 ;; -scout) ;; -wrs) os=-vxworks basic_machine=$1 ;; -chorusos*) os=-chorusos basic_machine=$1 ;; -chorusrdb) os=-chorusrdb basic_machine=$1 ;; -hiux*) os=-hiuxwe2 ;; -sco6) os=-sco5v6 basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` ;; -sco5) os=-sco3.2v5 basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` ;; -sco4) os=-sco3.2v4 basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` ;; -sco3.2.[4-9]*) os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` ;; -sco3.2v[4-9]*) # Don't forget version if it is 3.2v4 or newer. basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` ;; -sco5v6*) # Don't forget version if it is 3.2v4 or newer. basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` ;; -sco*) os=-sco3.2v2 basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` ;; -udk*) basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` ;; -isc) os=-isc2.2 basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` ;; -clix*) basic_machine=clipper-intergraph ;; -isc*) basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` ;; -lynx*178) os=-lynxos178 ;; -lynx*5) os=-lynxos5 ;; -lynx*) os=-lynxos ;; -ptx*) basic_machine=`echo "$1" | sed -e 's/86-.*/86-sequent/'` ;; -psos*) os=-psos ;; -mint | -mint[0-9]*) basic_machine=m68k-atari os=-mint ;; esac # Decode aliases for certain CPU-COMPANY combinations. case $basic_machine in # Recognize the basic CPU types without company name. # Some are omitted here because they have special meanings below. 1750a | 580 \ | a29k \ | aarch64 | aarch64_be \ | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ | am33_2.0 \ | arc | arceb \ | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \ | avr | avr32 \ | ba \ | be32 | be64 \ | bfin \ | c4x | c8051 | clipper \ | d10v | d30v | dlx | dsp16xx \ | e2k | epiphany \ | fido | fr30 | frv | ft32 \ | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ | hexagon \ | i370 | i860 | i960 | ia16 | ia64 \ | ip2k | iq2000 \ | k1om \ | le32 | le64 \ | lm32 \ | m32c | m32r | m32rle | m68000 | m68k | m88k \ | maxq | mb | microblaze | microblazeel | mcore | mep | metag \ | mips | mipsbe | mipseb | mipsel | mipsle \ | mips16 \ | mips64 | mips64el \ | mips64octeon | mips64octeonel \ | mips64orion | mips64orionel \ | mips64r5900 | mips64r5900el \ | mips64vr | mips64vrel \ | mips64vr4100 | mips64vr4100el \ | mips64vr4300 | mips64vr4300el \ | mips64vr5000 | mips64vr5000el \ | mips64vr5900 | mips64vr5900el \ | mipsisa32 | mipsisa32el \ | mipsisa32r2 | mipsisa32r2el \ | mipsisa32r6 | mipsisa32r6el \ | mipsisa64 | mipsisa64el \ | mipsisa64r2 | mipsisa64r2el \ | mipsisa64r6 | mipsisa64r6el \ | mipsisa64sb1 | mipsisa64sb1el \ | mipsisa64sr71k | mipsisa64sr71kel \ | mipsr5900 | mipsr5900el \ | mipstx39 | mipstx39el \ | mn10200 | mn10300 \ | moxie \ | mt \ | msp430 \ | nds32 | nds32le | nds32be \ | nios | nios2 | nios2eb | nios2el \ | ns16k | ns32k \ | open8 | or1k | or1knd | or32 \ | pdp10 | pj | pjl \ | powerpc | powerpc64 | powerpc64le | powerpcle \ | pru \ | pyramid \ | riscv32 | riscv64 \ | rl78 | rx \ | score \ | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[234]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ | sh64 | sh64le \ | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ | spu \ | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \ | ubicom32 \ | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \ | visium \ | wasm32 \ | x86 | xc16x | xstormy16 | xtensa \ | z8k | z80) basic_machine=$basic_machine-unknown ;; c54x) basic_machine=tic54x-unknown ;; c55x) basic_machine=tic55x-unknown ;; c6x) basic_machine=tic6x-unknown ;; leon|leon[3-9]) basic_machine=sparc-$basic_machine ;; m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip) basic_machine=$basic_machine-unknown os=-none ;; m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65) ;; ms1) basic_machine=mt-unknown ;; strongarm | thumb | xscale) basic_machine=arm-unknown ;; xgate) basic_machine=$basic_machine-unknown os=-none ;; xscaleeb) basic_machine=armeb-unknown ;; xscaleel) basic_machine=armel-unknown ;; # We use `pc' rather than `unknown' # because (1) that's what they normally are, and # (2) the word "unknown" tends to confuse beginning users. i*86 | x86_64) basic_machine=$basic_machine-pc ;; # Object if more than one company name word. *-*-*) echo Invalid configuration \`"$1"\': machine \`"$basic_machine"\' not recognized 1>&2 exit 1 ;; # Recognize the basic CPU types with company name. 580-* \ | a29k-* \ | aarch64-* | aarch64_be-* \ | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ | alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \ | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ | avr-* | avr32-* \ | ba-* \ | be32-* | be64-* \ | bfin-* | bs2000-* \ | c[123]* | c30-* | [cjt]90-* | c4x-* \ | c8051-* | clipper-* | craynv-* | cydra-* \ | d10v-* | d30v-* | dlx-* \ | e2k-* | elxsi-* \ | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ | h8300-* | h8500-* \ | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ | hexagon-* \ | i*86-* | i860-* | i960-* | ia16-* | ia64-* \ | ip2k-* | iq2000-* \ | k1om-* \ | le32-* | le64-* \ | lm32-* \ | m32c-* | m32r-* | m32rle-* \ | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \ | microblaze-* | microblazeel-* \ | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ | mips16-* \ | mips64-* | mips64el-* \ | mips64octeon-* | mips64octeonel-* \ | mips64orion-* | mips64orionel-* \ | mips64r5900-* | mips64r5900el-* \ | mips64vr-* | mips64vrel-* \ | mips64vr4100-* | mips64vr4100el-* \ | mips64vr4300-* | mips64vr4300el-* \ | mips64vr5000-* | mips64vr5000el-* \ | mips64vr5900-* | mips64vr5900el-* \ | mipsisa32-* | mipsisa32el-* \ | mipsisa32r2-* | mipsisa32r2el-* \ | mipsisa32r6-* | mipsisa32r6el-* \ | mipsisa64-* | mipsisa64el-* \ | mipsisa64r2-* | mipsisa64r2el-* \ | mipsisa64r6-* | mipsisa64r6el-* \ | mipsisa64sb1-* | mipsisa64sb1el-* \ | mipsisa64sr71k-* | mipsisa64sr71kel-* \ | mipsr5900-* | mipsr5900el-* \ | mipstx39-* | mipstx39el-* \ | mmix-* \ | mt-* \ | msp430-* \ | nds32-* | nds32le-* | nds32be-* \ | nios-* | nios2-* | nios2eb-* | nios2el-* \ | none-* | np1-* | ns16k-* | ns32k-* \ | open8-* \ | or1k*-* \ | orion-* \ | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \ | pru-* \ | pyramid-* \ | riscv32-* | riscv64-* \ | rl78-* | romp-* | rs6000-* | rx-* \ | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ | sparclite-* \ | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx*-* \ | tahoe-* \ | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ | tile*-* \ | tron-* \ | ubicom32-* \ | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \ | vax-* \ | visium-* \ | wasm32-* \ | we32k-* \ | x86-* | x86_64-* | xc16x-* | xps100-* \ | xstormy16-* | xtensa*-* \ | ymp-* \ | z8k-* | z80-*) ;; # Recognize the basic CPU types without company name, with glob match. xtensa*) basic_machine=$basic_machine-unknown ;; # Recognize the various machine names and aliases which stand # for a CPU type and a company and sometimes even an OS. 386bsd) basic_machine=i386-pc os=-bsd ;; 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) basic_machine=m68000-att ;; 3b*) basic_machine=we32k-att ;; a29khif) basic_machine=a29k-amd os=-udi ;; abacus) basic_machine=abacus-unknown ;; adobe68k) basic_machine=m68010-adobe os=-scout ;; alliant | fx80) basic_machine=fx80-alliant ;; altos | altos3068) basic_machine=m68k-altos ;; am29k) basic_machine=a29k-none os=-bsd ;; amd64) basic_machine=x86_64-pc ;; amd64-*) basic_machine=x86_64-`echo "$basic_machine" | sed 's/^[^-]*-//'` ;; amdahl) basic_machine=580-amdahl os=-sysv ;; amiga | amiga-*) basic_machine=m68k-unknown ;; amigaos | amigados) basic_machine=m68k-unknown os=-amigaos ;; amigaunix | amix) basic_machine=m68k-unknown os=-sysv4 ;; apollo68) basic_machine=m68k-apollo os=-sysv ;; apollo68bsd) basic_machine=m68k-apollo os=-bsd ;; aros) basic_machine=i386-pc os=-aros ;; asmjs) basic_machine=asmjs-unknown ;; aux) basic_machine=m68k-apple os=-aux ;; balance) basic_machine=ns32k-sequent os=-dynix ;; blackfin) basic_machine=bfin-unknown os=-linux ;; blackfin-*) basic_machine=bfin-`echo "$basic_machine" | sed 's/^[^-]*-//'` os=-linux ;; bluegene*) basic_machine=powerpc-ibm os=-cnk ;; c54x-*) basic_machine=tic54x-`echo "$basic_machine" | sed 's/^[^-]*-//'` ;; c55x-*) basic_machine=tic55x-`echo "$basic_machine" | sed 's/^[^-]*-//'` ;; c6x-*) basic_machine=tic6x-`echo "$basic_machine" | sed 's/^[^-]*-//'` ;; c90) basic_machine=c90-cray os=-unicos ;; cegcc) basic_machine=arm-unknown os=-cegcc ;; convex-c1) basic_machine=c1-convex os=-bsd ;; convex-c2) basic_machine=c2-convex os=-bsd ;; convex-c32) basic_machine=c32-convex os=-bsd ;; convex-c34) basic_machine=c34-convex os=-bsd ;; convex-c38) basic_machine=c38-convex os=-bsd ;; cray | j90) basic_machine=j90-cray os=-unicos ;; craynv) basic_machine=craynv-cray os=-unicosmp ;; cr16 | cr16-*) basic_machine=cr16-unknown os=-elf ;; crds | unos) basic_machine=m68k-crds ;; crisv32 | crisv32-* | etraxfs*) basic_machine=crisv32-axis ;; cris | cris-* | etrax*) basic_machine=cris-axis ;; crx) basic_machine=crx-unknown os=-elf ;; da30 | da30-*) basic_machine=m68k-da30 ;; decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) basic_machine=mips-dec ;; decsystem10* | dec10*) basic_machine=pdp10-dec os=-tops10 ;; decsystem20* | dec20*) basic_machine=pdp10-dec os=-tops20 ;; delta | 3300 | motorola-3300 | motorola-delta \ | 3300-motorola | delta-motorola) basic_machine=m68k-motorola ;; delta88) basic_machine=m88k-motorola os=-sysv3 ;; dicos) basic_machine=i686-pc os=-dicos ;; djgpp) basic_machine=i586-pc os=-msdosdjgpp ;; dpx20 | dpx20-*) basic_machine=rs6000-bull os=-bosx ;; dpx2*) basic_machine=m68k-bull os=-sysv3 ;; e500v[12]) basic_machine=powerpc-unknown os=$os"spe" ;; e500v[12]-*) basic_machine=powerpc-`echo "$basic_machine" | sed 's/^[^-]*-//'` os=$os"spe" ;; ebmon29k) basic_machine=a29k-amd os=-ebmon ;; elxsi) basic_machine=elxsi-elxsi os=-bsd ;; encore | umax | mmax) basic_machine=ns32k-encore ;; es1800 | OSE68k | ose68k | ose | OSE) basic_machine=m68k-ericsson os=-ose ;; fx2800) basic_machine=i860-alliant ;; genix) basic_machine=ns32k-ns ;; gmicro) basic_machine=tron-gmicro os=-sysv ;; go32) basic_machine=i386-pc os=-go32 ;; h3050r* | hiux*) basic_machine=hppa1.1-hitachi os=-hiuxwe2 ;; h8300hms) basic_machine=h8300-hitachi os=-hms ;; h8300xray) basic_machine=h8300-hitachi os=-xray ;; h8500hms) basic_machine=h8500-hitachi os=-hms ;; harris) basic_machine=m88k-harris os=-sysv3 ;; hp300-*) basic_machine=m68k-hp ;; hp300bsd) basic_machine=m68k-hp os=-bsd ;; hp300hpux) basic_machine=m68k-hp os=-hpux ;; hp3k9[0-9][0-9] | hp9[0-9][0-9]) basic_machine=hppa1.0-hp ;; hp9k2[0-9][0-9] | hp9k31[0-9]) basic_machine=m68000-hp ;; hp9k3[2-9][0-9]) basic_machine=m68k-hp ;; hp9k6[0-9][0-9] | hp6[0-9][0-9]) basic_machine=hppa1.0-hp ;; hp9k7[0-79][0-9] | hp7[0-79][0-9]) basic_machine=hppa1.1-hp ;; hp9k78[0-9] | hp78[0-9]) # FIXME: really hppa2.0-hp basic_machine=hppa1.1-hp ;; hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) # FIXME: really hppa2.0-hp basic_machine=hppa1.1-hp ;; hp9k8[0-9][13679] | hp8[0-9][13679]) basic_machine=hppa1.1-hp ;; hp9k8[0-9][0-9] | hp8[0-9][0-9]) basic_machine=hppa1.0-hp ;; hppaosf) basic_machine=hppa1.1-hp os=-osf ;; hppro) basic_machine=hppa1.1-hp os=-proelf ;; i370-ibm* | ibm*) basic_machine=i370-ibm ;; i*86v32) basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'` os=-sysv32 ;; i*86v4*) basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'` os=-sysv4 ;; i*86v) basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'` os=-sysv ;; i*86sol2) basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'` os=-solaris2 ;; i386mach) basic_machine=i386-mach os=-mach ;; vsta) basic_machine=i386-unknown os=-vsta ;; iris | iris4d) basic_machine=mips-sgi case $os in -irix*) ;; *) os=-irix4 ;; esac ;; isi68 | isi) basic_machine=m68k-isi os=-sysv ;; leon-*|leon[3-9]-*) basic_machine=sparc-`echo "$basic_machine" | sed 's/-.*//'` ;; m68knommu) basic_machine=m68k-unknown os=-linux ;; m68knommu-*) basic_machine=m68k-`echo "$basic_machine" | sed 's/^[^-]*-//'` os=-linux ;; magnum | m3230) basic_machine=mips-mips os=-sysv ;; merlin) basic_machine=ns32k-utek os=-sysv ;; microblaze*) basic_machine=microblaze-xilinx ;; mingw64) basic_machine=x86_64-pc os=-mingw64 ;; mingw32) basic_machine=i686-pc os=-mingw32 ;; mingw32ce) basic_machine=arm-unknown os=-mingw32ce ;; miniframe) basic_machine=m68000-convergent ;; *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) basic_machine=m68k-atari os=-mint ;; mips3*-*) basic_machine=`echo "$basic_machine" | sed -e 's/mips3/mips64/'` ;; mips3*) basic_machine=`echo "$basic_machine" | sed -e 's/mips3/mips64/'`-unknown ;; monitor) basic_machine=m68k-rom68k os=-coff ;; morphos) basic_machine=powerpc-unknown os=-morphos ;; moxiebox) basic_machine=moxie-unknown os=-moxiebox ;; msdos) basic_machine=i386-pc os=-msdos ;; ms1-*) basic_machine=`echo "$basic_machine" | sed -e 's/ms1-/mt-/'` ;; msys) basic_machine=i686-pc os=-msys ;; mvs) basic_machine=i370-ibm os=-mvs ;; nacl) basic_machine=le32-unknown os=-nacl ;; ncr3000) basic_machine=i486-ncr os=-sysv4 ;; netbsd386) basic_machine=i386-unknown os=-netbsd ;; netwinder) basic_machine=armv4l-rebel os=-linux ;; news | news700 | news800 | news900) basic_machine=m68k-sony os=-newsos ;; news1000) basic_machine=m68030-sony os=-newsos ;; news-3600 | risc-news) basic_machine=mips-sony os=-newsos ;; necv70) basic_machine=v70-nec os=-sysv ;; next | m*-next) basic_machine=m68k-next case $os in -nextstep* ) ;; -ns2*) os=-nextstep2 ;; *) os=-nextstep3 ;; esac ;; nh3000) basic_machine=m68k-harris os=-cxux ;; nh[45]000) basic_machine=m88k-harris os=-cxux ;; nindy960) basic_machine=i960-intel os=-nindy ;; mon960) basic_machine=i960-intel os=-mon960 ;; nonstopux) basic_machine=mips-compaq os=-nonstopux ;; np1) basic_machine=np1-gould ;; neo-tandem) basic_machine=neo-tandem ;; nse-tandem) basic_machine=nse-tandem ;; nsr-tandem) basic_machine=nsr-tandem ;; nsv-tandem) basic_machine=nsv-tandem ;; nsx-tandem) basic_machine=nsx-tandem ;; op50n-* | op60c-*) basic_machine=hppa1.1-oki os=-proelf ;; openrisc | openrisc-*) basic_machine=or32-unknown ;; os400) basic_machine=powerpc-ibm os=-os400 ;; OSE68000 | ose68000) basic_machine=m68000-ericsson os=-ose ;; os68k) basic_machine=m68k-none os=-os68k ;; pa-hitachi) basic_machine=hppa1.1-hitachi os=-hiuxwe2 ;; paragon) basic_machine=i860-intel os=-osf ;; parisc) basic_machine=hppa-unknown os=-linux ;; parisc-*) basic_machine=hppa-`echo "$basic_machine" | sed 's/^[^-]*-//'` os=-linux ;; pbd) basic_machine=sparc-tti ;; pbb) basic_machine=m68k-tti ;; pc532 | pc532-*) basic_machine=ns32k-pc532 ;; pc98) basic_machine=i386-pc ;; pc98-*) basic_machine=i386-`echo "$basic_machine" | sed 's/^[^-]*-//'` ;; pentium | p5 | k5 | k6 | nexgen | viac3) basic_machine=i586-pc ;; pentiumpro | p6 | 6x86 | athlon | athlon_*) basic_machine=i686-pc ;; pentiumii | pentium2 | pentiumiii | pentium3) basic_machine=i686-pc ;; pentium4) basic_machine=i786-pc ;; pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) basic_machine=i586-`echo "$basic_machine" | sed 's/^[^-]*-//'` ;; pentiumpro-* | p6-* | 6x86-* | athlon-*) basic_machine=i686-`echo "$basic_machine" | sed 's/^[^-]*-//'` ;; pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) basic_machine=i686-`echo "$basic_machine" | sed 's/^[^-]*-//'` ;; pentium4-*) basic_machine=i786-`echo "$basic_machine" | sed 's/^[^-]*-//'` ;; pn) basic_machine=pn-gould ;; power) basic_machine=power-ibm ;; ppc | ppcbe) basic_machine=powerpc-unknown ;; ppc-* | ppcbe-*) basic_machine=powerpc-`echo "$basic_machine" | sed 's/^[^-]*-//'` ;; ppcle | powerpclittle) basic_machine=powerpcle-unknown ;; ppcle-* | powerpclittle-*) basic_machine=powerpcle-`echo "$basic_machine" | sed 's/^[^-]*-//'` ;; ppc64) basic_machine=powerpc64-unknown ;; ppc64-*) basic_machine=powerpc64-`echo "$basic_machine" | sed 's/^[^-]*-//'` ;; ppc64le | powerpc64little) basic_machine=powerpc64le-unknown ;; ppc64le-* | powerpc64little-*) basic_machine=powerpc64le-`echo "$basic_machine" | sed 's/^[^-]*-//'` ;; ps2) basic_machine=i386-ibm ;; pw32) basic_machine=i586-unknown os=-pw32 ;; rdos | rdos64) basic_machine=x86_64-pc os=-rdos ;; rdos32) basic_machine=i386-pc os=-rdos ;; rom68k) basic_machine=m68k-rom68k os=-coff ;; rm[46]00) basic_machine=mips-siemens ;; rtpc | rtpc-*) basic_machine=romp-ibm ;; s390 | s390-*) basic_machine=s390-ibm ;; s390x | s390x-*) basic_machine=s390x-ibm ;; sa29200) basic_machine=a29k-amd os=-udi ;; sb1) basic_machine=mipsisa64sb1-unknown ;; sb1el) basic_machine=mipsisa64sb1el-unknown ;; sde) basic_machine=mipsisa32-sde os=-elf ;; sei) basic_machine=mips-sei os=-seiux ;; sequent) basic_machine=i386-sequent ;; sh5el) basic_machine=sh5le-unknown ;; simso-wrs) basic_machine=sparclite-wrs os=-vxworks ;; sps7) basic_machine=m68k-bull os=-sysv2 ;; spur) basic_machine=spur-unknown ;; st2000) basic_machine=m68k-tandem ;; stratus) basic_machine=i860-stratus os=-sysv4 ;; strongarm-* | thumb-*) basic_machine=arm-`echo "$basic_machine" | sed 's/^[^-]*-//'` ;; sun2) basic_machine=m68000-sun ;; sun2os3) basic_machine=m68000-sun os=-sunos3 ;; sun2os4) basic_machine=m68000-sun os=-sunos4 ;; sun3os3) basic_machine=m68k-sun os=-sunos3 ;; sun3os4) basic_machine=m68k-sun os=-sunos4 ;; sun4os3) basic_machine=sparc-sun os=-sunos3 ;; sun4os4) basic_machine=sparc-sun os=-sunos4 ;; sun4sol2) basic_machine=sparc-sun os=-solaris2 ;; sun3 | sun3-*) basic_machine=m68k-sun ;; sun4) basic_machine=sparc-sun ;; sun386 | sun386i | roadrunner) basic_machine=i386-sun ;; sv1) basic_machine=sv1-cray os=-unicos ;; symmetry) basic_machine=i386-sequent os=-dynix ;; t3e) basic_machine=alphaev5-cray os=-unicos ;; t90) basic_machine=t90-cray os=-unicos ;; tile*) basic_machine=$basic_machine-unknown os=-linux-gnu ;; tx39) basic_machine=mipstx39-unknown ;; tx39el) basic_machine=mipstx39el-unknown ;; toad1) basic_machine=pdp10-xkl os=-tops20 ;; tower | tower-32) basic_machine=m68k-ncr ;; tpf) basic_machine=s390x-ibm os=-tpf ;; udi29k) basic_machine=a29k-amd os=-udi ;; ultra3) basic_machine=a29k-nyu os=-sym1 ;; v810 | necv810) basic_machine=v810-nec os=-none ;; vaxv) basic_machine=vax-dec os=-sysv ;; vms) basic_machine=vax-dec os=-vms ;; vpp*|vx|vx-*) basic_machine=f301-fujitsu ;; vxworks960) basic_machine=i960-wrs os=-vxworks ;; vxworks68) basic_machine=m68k-wrs os=-vxworks ;; vxworks29k) basic_machine=a29k-wrs os=-vxworks ;; w65*) basic_machine=w65-wdc os=-none ;; w89k-*) basic_machine=hppa1.1-winbond os=-proelf ;; x64) basic_machine=x86_64-pc ;; xbox) basic_machine=i686-pc os=-mingw32 ;; xps | xps100) basic_machine=xps100-honeywell ;; xscale-* | xscalee[bl]-*) basic_machine=`echo "$basic_machine" | sed 's/^xscale/arm/'` ;; ymp) basic_machine=ymp-cray os=-unicos ;; none) basic_machine=none-none os=-none ;; # Here we handle the default manufacturer of certain CPU types. It is in # some cases the only manufacturer, in others, it is the most popular. w89k) basic_machine=hppa1.1-winbond ;; op50n) basic_machine=hppa1.1-oki ;; op60c) basic_machine=hppa1.1-oki ;; romp) basic_machine=romp-ibm ;; mmix) basic_machine=mmix-knuth ;; rs6000) basic_machine=rs6000-ibm ;; vax) basic_machine=vax-dec ;; pdp11) basic_machine=pdp11-dec ;; we32k) basic_machine=we32k-att ;; sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele) basic_machine=sh-unknown ;; cydra) basic_machine=cydra-cydrome ;; orion) basic_machine=orion-highlevel ;; orion105) basic_machine=clipper-highlevel ;; mac | mpw | mac-mpw) basic_machine=m68k-apple ;; pmac | pmac-mpw) basic_machine=powerpc-apple ;; *-unknown) # Make sure to match an already-canonicalized machine name. ;; *) echo Invalid configuration \`"$1"\': machine \`"$basic_machine"\' not recognized 1>&2 exit 1 ;; esac # Here we canonicalize certain aliases for manufacturers. case $basic_machine in *-digital*) basic_machine=`echo "$basic_machine" | sed 's/digital.*/dec/'` ;; *-commodore*) basic_machine=`echo "$basic_machine" | sed 's/commodore.*/cbm/'` ;; *) ;; esac # Decode manufacturer-specific aliases for certain operating systems. if [ x"$os" != x"" ] then case $os in # First match some system type aliases that might get confused # with valid system types. # -solaris* is a basic system type, with this one exception. -auroraux) os=-auroraux ;; -solaris1 | -solaris1.*) os=`echo $os | sed -e 's|solaris1|sunos4|'` ;; -solaris) os=-solaris2 ;; -unixware*) os=-sysv4.2uw ;; -gnu/linux*) os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` ;; # es1800 is here to avoid being matched by es* (a different OS) -es1800*) os=-ose ;; # Now accept the basic system types. # The portable systems comes first. # Each alternative MUST end in a * to match a version number. # -sysv* is not here because it comes later, after sysvr4. -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \ | -sym* | -kopensolaris* | -plan9* \ | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ | -aos* | -aros* | -cloudabi* | -sortix* \ | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ | -hiux* | -knetbsd* | -mirbsd* | -netbsd* \ | -bitrig* | -openbsd* | -solidbsd* | -libertybsd* \ | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ | -chorusos* | -chorusrdb* | -cegcc* | -glidix* \ | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ | -midipix* | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \ | -linux-newlib* | -linux-musl* | -linux-uclibc* \ | -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \ | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* \ | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ | -morphos* | -superux* | -rtmk* | -windiss* \ | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* \ | -onefs* | -tirtos* | -phoenix* | -fuchsia* | -redox* | -bme* \ | -midnightbsd*) # Remember, each alternative MUST END IN *, to match a version number. ;; -qnx*) case $basic_machine in x86-* | i*86-*) ;; *) os=-nto$os ;; esac ;; -nto-qnx*) ;; -nto*) os=`echo $os | sed -e 's|nto|nto-qnx|'` ;; -sim | -xray | -os68k* | -v88r* \ | -windows* | -osx | -abug | -netware* | -os9* \ | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) ;; -mac*) os=`echo "$os" | sed -e 's|mac|macos|'` ;; -linux-dietlibc) os=-linux-dietlibc ;; -linux*) os=`echo $os | sed -e 's|linux|linux-gnu|'` ;; -sunos5*) os=`echo "$os" | sed -e 's|sunos5|solaris2|'` ;; -sunos6*) os=`echo "$os" | sed -e 's|sunos6|solaris3|'` ;; -opened*) os=-openedition ;; -os400*) os=-os400 ;; -wince*) os=-wince ;; -utek*) os=-bsd ;; -dynix*) os=-bsd ;; -acis*) os=-aos ;; -atheos*) os=-atheos ;; -syllable*) os=-syllable ;; -386bsd) os=-bsd ;; -ctix* | -uts*) os=-sysv ;; -nova*) os=-rtmk-nova ;; -ns2) os=-nextstep2 ;; -nsk*) os=-nsk ;; # Preserve the version number of sinix5. -sinix5.*) os=`echo $os | sed -e 's|sinix|sysv|'` ;; -sinix*) os=-sysv4 ;; -tpf*) os=-tpf ;; -triton*) os=-sysv3 ;; -oss*) os=-sysv3 ;; -svr4*) os=-sysv4 ;; -svr3) os=-sysv3 ;; -sysvr4) os=-sysv4 ;; # This must come after -sysvr4. -sysv*) ;; -ose*) os=-ose ;; -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) os=-mint ;; -zvmoe) os=-zvmoe ;; -dicos*) os=-dicos ;; -pikeos*) # Until real need of OS specific support for # particular features comes up, bare metal # configurations are quite functional. case $basic_machine in arm*) os=-eabi ;; *) os=-elf ;; esac ;; -nacl*) ;; -ios) ;; -none) ;; *) # Get rid of the `-' at the beginning of $os. os=`echo $os | sed 's/[^-]*-//'` echo Invalid configuration \`"$1"\': system \`"$os"\' not recognized 1>&2 exit 1 ;; esac else # Here we handle the default operating systems that come with various machines. # The value should be what the vendor currently ships out the door with their # machine or put another way, the most popular os provided with the machine. # Note that if you're going to try to match "-MANUFACTURER" here (say, # "-sun"), then you have to tell the case statement up towards the top # that MANUFACTURER isn't an operating system. Otherwise, code above # will signal an error saying that MANUFACTURER isn't an operating # system, and we'll never get to this point. case $basic_machine in score-*) os=-elf ;; spu-*) os=-elf ;; *-acorn) os=-riscix1.2 ;; arm*-rebel) os=-linux ;; arm*-semi) os=-aout ;; c4x-* | tic4x-*) os=-coff ;; c8051-*) os=-elf ;; hexagon-*) os=-elf ;; tic54x-*) os=-coff ;; tic55x-*) os=-coff ;; tic6x-*) os=-coff ;; # This must come before the *-dec entry. pdp10-*) os=-tops20 ;; pdp11-*) os=-none ;; *-dec | vax-*) os=-ultrix4.2 ;; m68*-apollo) os=-domain ;; i386-sun) os=-sunos4.0.2 ;; m68000-sun) os=-sunos3 ;; m68*-cisco) os=-aout ;; mep-*) os=-elf ;; mips*-cisco) os=-elf ;; mips*-*) os=-elf ;; or32-*) os=-coff ;; *-tti) # must be before sparc entry or we get the wrong os. os=-sysv3 ;; sparc-* | *-sun) os=-sunos4.1.1 ;; pru-*) os=-elf ;; *-be) os=-beos ;; *-ibm) os=-aix ;; *-knuth) os=-mmixware ;; *-wec) os=-proelf ;; *-winbond) os=-proelf ;; *-oki) os=-proelf ;; *-hp) os=-hpux ;; *-hitachi) os=-hiux ;; i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) os=-sysv ;; *-cbm) os=-amigaos ;; *-dg) os=-dgux ;; *-dolphin) os=-sysv3 ;; m68k-ccur) os=-rtu ;; m88k-omron*) os=-luna ;; *-next) os=-nextstep ;; *-sequent) os=-ptx ;; *-crds) os=-unos ;; *-ns) os=-genix ;; i370-*) os=-mvs ;; *-gould) os=-sysv ;; *-highlevel) os=-bsd ;; *-encore) os=-bsd ;; *-sgi) os=-irix ;; *-siemens) os=-sysv4 ;; *-masscomp) os=-rtu ;; f30[01]-fujitsu | f700-fujitsu) os=-uxpv ;; *-rom68k) os=-coff ;; *-*bug) os=-coff ;; *-apple) os=-macos ;; *-atari*) os=-mint ;; *) os=-none ;; esac fi # Here we handle the case where we know the os, and the CPU type, but not the # manufacturer. We pick the logical manufacturer. vendor=unknown case $basic_machine in *-unknown) case $os in -riscix*) vendor=acorn ;; -sunos*) vendor=sun ;; -cnk*|-aix*) vendor=ibm ;; -beos*) vendor=be ;; -hpux*) vendor=hp ;; -mpeix*) vendor=hp ;; -hiux*) vendor=hitachi ;; -unos*) vendor=crds ;; -dgux*) vendor=dg ;; -luna*) vendor=omron ;; -genix*) vendor=ns ;; -mvs* | -opened*) vendor=ibm ;; -os400*) vendor=ibm ;; -ptx*) vendor=sequent ;; -tpf*) vendor=ibm ;; -vxsim* | -vxworks* | -windiss*) vendor=wrs ;; -aux*) vendor=apple ;; -hms*) vendor=hitachi ;; -mpw* | -macos*) vendor=apple ;; -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) vendor=atari ;; -vos*) vendor=stratus ;; esac basic_machine=`echo "$basic_machine" | sed "s/unknown/$vendor/"` ;; esac echo "$basic_machine$os" exit # Local variables: # eval: (add-hook 'write-file-functions 'time-stamp) # time-stamp-start: "timestamp='" # time-stamp-format: "%:y-%02m-%02d" # time-stamp-end: "'" # End: shapelib-1.6.1/NEWS0000664000175000017500000000001714371676733010747 00000000000000See ChangeLog shapelib-1.6.1/shpadd.c0000664000175000017500000001105014526370352011644 00000000000000/****************************************************************************** * * Project: Shapelib * Purpose: Sample application for adding a shape to a shapefile. * Author: Frank Warmerdam, warmerdam@pobox.com * ****************************************************************************** * Copyright (c) 1999, Frank Warmerdam * * SPDX-License-Identifier: MIT OR LGPL-2.0-or-later ****************************************************************************** * */ #include #include #include #include #include "shapefil.h" int main(int argc, char **argv) { /* -------------------------------------------------------------------- */ /* Display a usage message. */ /* -------------------------------------------------------------------- */ if (argc < 2) { printf("shpadd shp_file [[x y] [+]]*\n"); printf(" or\n"); printf("shpadd shp_file -m [[x y m] [+]]*\n"); printf(" or\n"); printf("shpadd shp_file -z [[x y z] [+]]*\n"); printf(" or\n"); printf("shpadd shp_file -zm [[x y z m] [+]]*\n"); exit(1); } const char *filename = argv[1]; argv++; argc--; /* -------------------------------------------------------------------- */ /* Check for tuple description options. */ /* -------------------------------------------------------------------- */ const char *tuple = ""; if (argc > 1 && (strcmp(argv[1], "-z") == 0 || strcmp(argv[1], "-m") == 0 || strcmp(argv[1], "-zm") == 0)) { tuple = argv[1] + 1; argv++; argc--; } /* -------------------------------------------------------------------- */ /* Open the passed shapefile. */ /* -------------------------------------------------------------------- */ SHPHandle hSHP = SHPOpen(filename, "r+b"); if (hSHP == NULL) { printf("Unable to open:%s\n", filename); exit(1); } int nShapeType; SHPGetInfo(hSHP, NULL, &nShapeType, NULL, NULL); if (argc == 1) nShapeType = SHPT_NULL; /* -------------------------------------------------------------------- */ /* Build a vertex/part list from the command line arguments. */ /* -------------------------------------------------------------------- */ int nVMax = 1000; double *padfX = (double *)malloc(sizeof(double) * nVMax); double *padfY = (double *)malloc(sizeof(double) * nVMax); double *padfZ = NULL; if (strchr(tuple, 'z')) padfZ = (double *)malloc(sizeof(double) * nVMax); double *padfM = NULL; if (strchr(tuple, 'm')) padfM = (double *)malloc(sizeof(double) * nVMax); int *panParts; if ((panParts = (int *)malloc(sizeof(int) * 1000)) == NULL) { printf("Out of memory\n"); exit(1); } int nParts = 1; panParts[0] = 0; int nVertices = 0; for (int i = 1; i < argc;) { if (argv[i][0] == '+') { panParts[nParts++] = nVertices; i++; } else if (i < argc - 1 - (int)strlen(tuple)) { if (nVertices == nVMax) { nVMax = nVMax * 2; padfX = (double *)realloc(padfX, sizeof(double) * nVMax); padfY = (double *)realloc(padfY, sizeof(double) * nVMax); if (padfZ) padfZ = (double *)realloc(padfZ, sizeof(double) * nVMax); if (padfM) padfM = (double *)realloc(padfM, sizeof(double) * nVMax); } sscanf(argv[i++], "%lg", padfX + nVertices); sscanf(argv[i++], "%lg", padfY + nVertices); if (padfZ) sscanf(argv[i++], "%lg", padfZ + nVertices); if (padfM) sscanf(argv[i++], "%lg", padfM + nVertices); nVertices += 1; } } /* -------------------------------------------------------------------- */ /* Write the new entity to the shape file. */ /* -------------------------------------------------------------------- */ SHPObject *psObject = SHPCreateObject(nShapeType, -1, nParts, panParts, NULL, nVertices, padfX, padfY, padfZ, padfM); SHPWriteObject(hSHP, -1, psObject); SHPDestroyObject(psObject); SHPClose(hSHP); free(panParts); free(padfX); free(padfY); free(padfZ); free(padfM); return 0; } shapelib-1.6.1/shapelib.pc.in0000664000175000017500000000040314371676733012767 00000000000000prefix=@prefix@ exec_prefix=@exec_prefix@ libdir=@libdir@ datarootdir=@datarootdir@ datadir=@datadir@ includedir=@includedir@ Name: shapelib Description: C API for processing ESRI Shapefiles Version: @VERSION@ Libs: -L${libdir} -lshp Cflags: -I${includedir} shapelib-1.6.1/AUTHORS0000664000175000017500000000005614371676733011323 00000000000000Frank Warmerdam et al. shapelib-1.6.1/dbfcreate.c0000664000175000017500000000433014526370352012323 00000000000000/****************************************************************************** * * Project: Shapelib * Purpose: Sample application for creating a new .dbf file. * Author: Frank Warmerdam, warmerdam@pobox.com * ****************************************************************************** * Copyright (c) 1999, Frank Warmerdam * * SPDX-License-Identifier: MIT OR LGPL-2.0-or-later ****************************************************************************** * */ #include #include #include #include "shapefil.h" int main(int argc, char **argv) { // Display a usage message. if (argc < 2) { printf("dbfcreate xbase_file [[-s field_name width], " "[-n field_name width decimals]]...\n"); return 1; } // Create the database. DBFHandle hDBF = DBFCreate(argv[1]); if (hDBF == NULL) { printf("DBFCreate(%s) failed.\n", argv[1]); return 2; } // Loop over the field definitions adding new fields. for (int i = 2; i < argc; i++) { if (i < argc - 2 && strcmp(argv[i], "-s") == 0) { const char *field = argv[i + 1]; const int width = atoi(argv[i + 2]); const int decimals = 0; if (DBFAddField(hDBF, field, FTString, width, decimals) == -1) { printf("DBFAddField(%s,FTString,%d,0) failed.\n", field, width); DBFClose(hDBF); return 4; } i += 2; } else if (i < argc - 3 && strcmp(argv[i], "-n") == 0) { const char *field = argv[i + 1]; const int width = atoi(argv[i + 2]); const int decimals = atoi(argv[i + 3]); if (DBFAddField(hDBF, field, FTDouble, width, decimals) == -1) { printf("DBFAddField(%s,FTDouble,%d,%d) failed.\n", field, width, decimals); DBFClose(hDBF); return 4; } i += 3; } else { printf("Argument incomplete, or unrecognised: %s\n", argv[i]); DBFClose(hDBF); return 3; } } DBFClose(hDBF); return 0; } shapelib-1.6.1/README0000775000175000017500000000102614371676733011134 00000000000000 Building on Unix ---------------- 1) run ./configure to generate build scripts Note: type ./configure --help for a list of fine-tuning options 2) type "make" 3) type "make check" to perform self-tests 4) type "make install" to install Building on Windows ------------------- If you have run the VC++ VCVARS32.BAT, you should be able to type the following in a command window to build the code and executables: C:> nmake /f makefile.vc Otherwise create your own VC++ project. There aren't many files to deal with here! shapelib-1.6.1/test-driver0000755000175000017500000001104214656616450012440 00000000000000#! /bin/sh # test-driver - basic testsuite driver script. scriptversion=2018-03-07.03; # UTC # Copyright (C) 2011-2018 Free Software Foundation, Inc. # # 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, 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 to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. # This file is maintained in Automake, please report # bugs to or send patches to # . # Make unconditional expansion of undefined variables an error. This # helps a lot in preventing typo-related bugs. set -u usage_error () { echo "$0: $*" >&2 print_usage >&2 exit 2 } print_usage () { cat <$log_file 2>&1 estatus=$? if test $enable_hard_errors = no && test $estatus -eq 99; then tweaked_estatus=1 else tweaked_estatus=$estatus fi case $tweaked_estatus:$expect_failure in 0:yes) col=$red res=XPASS recheck=yes gcopy=yes;; 0:*) col=$grn res=PASS recheck=no gcopy=no;; 77:*) col=$blu res=SKIP recheck=no gcopy=yes;; 99:*) col=$mgn res=ERROR recheck=yes gcopy=yes;; *:yes) col=$lgn res=XFAIL recheck=no gcopy=yes;; *:*) col=$red res=FAIL recheck=yes gcopy=yes;; esac # Report the test outcome and exit status in the logs, so that one can # know whether the test passed or failed simply by looking at the '.log' # file, without the need of also peaking into the corresponding '.trs' # file (automake bug#11814). echo "$res $test_name (exit status: $estatus)" >>$log_file # Report outcome to console. echo "${col}${res}${std}: $test_name" # Register the test result, and other relevant metadata. echo ":test-result: $res" > $trs_file echo ":global-test-result: $res" >> $trs_file echo ":recheck: $recheck" >> $trs_file echo ":copy-in-global-log: $gcopy" >> $trs_file # Local Variables: # mode: shell-script # sh-indentation: 2 # eval: (add-hook 'before-save-hook 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC0" # time-stamp-end: "; # UTC" # End: shapelib-1.6.1/Makefile.am0000664000175000017500000001234514656614636012313 00000000000000## Process this file with automake to produce Makefile.in SUBDIRS = . contrib ACLOCAL_AMFLAGS = -I m4 AUTOMAKE_OPTIONS = dist-zip if PLATFORM_WIN32 no_undefined = -no-undefined endif # Extra files to distribute in the source tarball EXTRA_DIST = makefile.vc CMakeLists.txt autogen.sh \ shapelib.def \ cmake/CMakeLists.txt \ cmake/contrib.cmake \ cmake/project-config-version.cmake.in \ cmake/project-config.cmake.in \ cmake/shapelib.gta.runsettings.in \ cmake/shapelib.pc.cmake.in \ tests/CMakeLists.txt \ tests/dbf_test.cc \ tests/sbn_test.cc \ tests/shp_test.cc \ tests/test1.sh tests/test2.sh tests/test3.sh \ tests/expect1.out tests/expect2.out tests/expect3.out \ tests/shape_eg_data/3dpoints.dbf \ tests/shape_eg_data/3dpoints.shp \ tests/shape_eg_data/3dpoints.shx \ tests/shape_eg_data/anno.aux \ tests/shape_eg_data/anno.dbf \ tests/shape_eg_data/anno.shp \ tests/shape_eg_data/anno.shx \ tests/shape_eg_data/brklinz.dbf \ tests/shape_eg_data/brklinz.shp \ tests/shape_eg_data/brklinz.shx \ tests/shape_eg_data/mexico/cities.dbf \ tests/shape_eg_data/mexico/cities.sbn \ tests/shape_eg_data/mexico/cities.sbx \ tests/shape_eg_data/mexico/cities.shp \ tests/shape_eg_data/mexico/cities.shx \ tests/shape_eg_data/csah.dbf \ tests/shape_eg_data/csah.shp \ tests/shape_eg_data/csah.shx \ tests/shape_eg_data/mexico/drainage.dbf \ tests/shape_eg_data/mexico/drainage.sbn \ tests/shape_eg_data/mexico/drainage.sbx \ tests/shape_eg_data/mexico/drainage.shp \ tests/shape_eg_data/mexico/drainage.shx \ tests/shape_eg_data/mexico/lakes.dbf \ tests/shape_eg_data/mexico/lakes.sbn \ tests/shape_eg_data/mexico/lakes.sbx \ tests/shape_eg_data/mexico/lakes.shp \ tests/shape_eg_data/mexico/lakes.shx \ tests/shape_eg_data/masspntz.dbf \ tests/shape_eg_data/masspntz.shp \ tests/shape_eg_data/masspntz.shx \ tests/shape_eg_data/mpatch3.dbf \ tests/shape_eg_data/mpatch3.shp \ tests/shape_eg_data/mpatch3.shx \ tests/shape_eg_data/multipatch.dbf \ tests/shape_eg_data/multipatch.shp \ tests/shape_eg_data/multipatch.shx \ tests/shape_eg_data/multipnt.dbf \ tests/shape_eg_data/multipnt.shp \ tests/shape_eg_data/multipnt.shx \ tests/shape_eg_data/pline.dbf \ tests/shape_eg_data/pline.shp \ tests/shape_eg_data/pline.shx \ tests/shape_eg_data/polygon.dbf \ tests/shape_eg_data/polygon.shp \ tests/shape_eg_data/polygon.shx \ tests/shape_eg_data/mexico/rivers.dbf \ tests/shape_eg_data/mexico/rivers.sbn \ tests/shape_eg_data/mexico/rivers.sbx \ tests/shape_eg_data/mexico/rivers.shp \ tests/shape_eg_data/mexico/rivers.shx \ tests/shape_eg_data/mexico/roads.dbf \ tests/shape_eg_data/mexico/roads.sbn \ tests/shape_eg_data/mexico/roads.sbx \ tests/shape_eg_data/mexico/roads.shp \ tests/shape_eg_data/mexico/roads.shx \ tests/shape_eg_data/mexico/roads_rt.dbf \ tests/shape_eg_data/mexico/roads_rt.sbn \ tests/shape_eg_data/mexico/roads_rt.sbx \ tests/shape_eg_data/mexico/roads_rt.shp \ tests/shape_eg_data/mexico/roads_rt.shx \ tests/shape_eg_data/mexico/states.dbf \ tests/shape_eg_data/mexico/states.sbn \ tests/shape_eg_data/mexico/states.sbx \ tests/shape_eg_data/mexico/states.shp \ tests/shape_eg_data/mexico/states.shx \ tests/shape_eg_data/CoHI_GCS12.dbf \ tests/shape_eg_data/CoHI_GCS12.prj \ tests/shape_eg_data/CoHI_GCS12_README.txt \ tests/shape_eg_data/CoHI_GCS12.sbn \ tests/shape_eg_data/CoHI_GCS12.sbx \ tests/shape_eg_data/CoHI_GCS12.shp \ tests/shape_eg_data/CoHI_GCS12.shx \ web/maptools.css \ web/codepage.html \ web/index.html \ web/shapelib-tools.html \ web/shp_api.html \ web/release.html \ web/dbf_api.html \ web/license.html \ web/manifest.html \ LICENSE-LGPL LICENSE-MIT \ README.tree README.CMake # pkg-config file pkgconfigdir = $(libdir)/pkgconfig pkgconfig_DATA = shapelib.pc # Library lib_LTLIBRARIES = libshp.la libshp_la_includedir = $(includedir) libshp_la_include_HEADERS = shapefil.h noinst_HEADERS = shapefil_private.h libshp_la_SOURCES = shpopen.c dbfopen.c safileio.c shptree.c sbnsearch.c libshp_la_LDFLAGS = -version-info $(SHAPELIB_SO_VERSION) $(no_undefined) $(LIBM) # Installed executables bin_PROGRAMS = dbfadd dbfcreate dbfdump shpadd shpcreate shpdump shprewind shptreedump shputils dbfadd_SOURCES = dbfadd.c dbfadd_LDADD = $(top_builddir)/libshp.la dbfcreate_SOURCES = dbfcreate.c dbfcreate_LDADD = $(top_builddir)/libshp.la dbfdump_SOURCES = dbfdump.c dbfdump_LDADD = $(top_builddir)/libshp.la shpadd_SOURCES = shpadd.c shpadd_LDADD = $(top_builddir)/libshp.la shpcreate_SOURCES = shpcreate.c shpcreate_LDADD = $(top_builddir)/libshp.la shpdump_SOURCES = shpdump.c shpdump_LDADD = $(top_builddir)/libshp.la shprewind_SOURCES = shprewind.c shprewind_LDADD = $(top_builddir)/libshp.la shptreedump_SOURCES = shptreedump.c shptreedump_LDADD = $(top_builddir)/libshp.la shputils_SOURCES = shputils.c shputils_LDADD = $(top_builddir)/libshp.la # Non-installed executables noinst_PROGRAMS = shptest shptest_SOURCES = shptest.c shptest_LDADD = $(top_builddir)/libshp.la # Tests TESTS_ENVIRONMENT = top_builddir=$(abs_top_builddir) # tests/test1.sh requires ftp://gdal.velocet.ca/pub/outgoing/shape_eg_data.zip TESTS = tests/test1.sh tests/test2.sh tests/test3.sh clean-local: -rm -f test*.* s*.out shapelib-1.6.1/contrib/0000775000175000017500000000000014657064715011770 500000000000000shapelib-1.6.1/contrib/shpgeo.h0000664000175000017500000001167314573117332013345 00000000000000/****************************************************************************** * Copyright (c) 1999, Carl Anderson * * This code is based in part on the earlier work of Frank Warmerdam * * 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. ****************************************************************************** * shpgeo.h * * support for geometric and other additions to shapelib */ /* I'm using some shorthand throughout this file * R+ is a Clockwise Ring and is the positive portion of an object * R- is a CounterClockwise Ring and is a hole in a R+ * A complex object is one having at least one R- * A compound object is one having more than one R+ * A simple object has one and only one element (R+ or R-) * * The closed ring constraint is for polygons and assumed here * Arcs or LineStrings I am calling Rings (generically open or closed) * Point types are vertices or lists of vertices but not Rings * * SHPT_POLYGON, SHPT_POLYGONZ, SHPT_POLYGONM and SHPT_MULTIPATCH * can have SHPObjects that are compound as well as complex * * SHP_POINT and its Z and M derivatives are strictly simple * MULTI_POINT, SHPT_ARC and their derivatives may be simple or compound * */ #ifndef SHPGEO_H #define SHPGEO_H #ifdef __cplusplus extern "C" { #endif #define SHPD_POINT 1 #define SHPD_LINE 2 #define SHPD_AREA 4 #define SHPD_Z 8 #define SHPD_MEASURE 16 /* move these into a ogis header file ogis.h */ #define OGIST_UNKNOWN 0 #define OGIST_POINT 1 #define OGIST_LINESTRING 2 #define OGIST_POLYGON 3 #define OGIST_MULTIPOINT 4 #define OGIST_MULTILINE 5 #define OGIST_MULTIPOLYGON 6 #define OGIST_GEOMCOLL 7 typedef struct { int StreamPos; int NeedSwap; char *wStream; } WKBStreamObj; typedef struct { double x; double y; } PT; typedef struct { int cParts; SHPObject *SHPObj; } SHPObjectList; #define LSB_ORDER (int)1 extern char *asFileName(const char *fil, const char *ext); extern int SHPDimension(int SHPType); extern double SHPArea_2d(const SHPObject *psCShape); extern int SHPRingDir_2d(const SHPObject *psCShape, int Ring); extern double SHPLength_2d(const SHPObject *psCShape); extern PT SHPCentrd_2d(const SHPObject *psCShape); extern PT SHPPointinPoly_2d(const SHPObject *psCShape); extern PT *SHPPointsinPoly_2d(const SHPObject *psCShape); extern int RingCentroid_2d(int nVertices, const double *a, const double *b, PT *C, double *Area); extern double RingLength_2d(int nVertices, const double *a, const double *b); extern double RingArea_2d(int nVertices, const double *a, const double *b); extern SHPObject *SHPClone(const SHPObject *psCShape, int lowPart, int highPart); extern SHPObject *SHPUnCompound(const SHPObject *psCShape, int *ringNumber); extern SHPObject *SHPIntersect_2d(const SHPObject *a, const SHPObject *b); extern int SHPWriteOGisWKB(WKBStreamObj *stream_obj, const SHPObject *psCShape); extern SHPObject *SHPReadOGisWKB(WKBStreamObj *stream_obj); int SHPWriteOGisPolygon(WKBStreamObj *stream_obj, const SHPObject *psCShape); int SHPWriteOGisLine(WKBStreamObj *stream_obj, const SHPObject *psCShape); int SHPWriteOGisPoint(WKBStreamObj *stream_obj, const SHPObject *psCShape); SHPObject *SHPReadOGisPolygon(WKBStreamObj *stream_obj); SHPObject *SHPReadOGisLine(WKBStreamObj *stream_obj); SHPObject *SHPReadOGisPoint(WKBStreamObj *stream_obj); extern int SHPClean(SHPObject *psCShape); extern int SHPOGisType(int GeomType, int toOGis); void swapD(void *so, const unsigned char *in, long bytes); void swapW(void *so, const unsigned char *in, long bytes); void SwapG(void *so, const void *in, int this_cnt, int this_size); #ifdef __cplusplus } #endif #endif /* ndef SHPGEO_H */ shapelib-1.6.1/contrib/shpgeo.c0000664000175000017500000013105714655412564013345 00000000000000/****************************************************************************** * Copyright (c) 1999, Carl Anderson * * This code is based in part on the earlier work of Frank Warmerdam * * 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. ****************************************************************************** * * requires shapelib 1.2 * gcc shpproj shpopen.o dbfopen.o -lm -lproj -o shpproj * * this may require linking with the PROJ4 projection library available from * * http://www.remotesensing.org/proj * * use -DPROJ4 to compile in Projection support * */ #include #include #include #include #include "shapefil.h" #include "shpgeo.h" #if defined(_MSC_VER) && _MSC_VER < 1800 #include #define INFINITY (DBL_MAX + DBL_MAX) #define NAN (INFINITY - INFINITY) #endif /* I'm using some shorthand throughout this file * R+ is a Clockwise Ring and is the positive portion of an object * R- is a CounterClockwise Ring and is a hole in a R+ * A complex object is one having at least one R- * A compound object is one having more than one R+ * A simple object has one and only one element (R+ or R-) * * The closed ring constraint is for polygons and assumed here * Arcs or LineStrings I am calling Rings (generically open or closed) * Point types are vertices or lists of vertices but not Rings * * SHPT_POLYGON, SHPT_POLYGONZ, SHPT_POLYGONM and SHPT_MULTIPATCH * can have SHPObjects that are compound as well as complex * * SHP_POINT and its Z and M derivatives are strictly simple * MULTI_POINT, SHPT_ARC and their derivatives may be simple or compound * */ /* ************************************************************************** * asFileName * * utility function, toss part of filename after last dot * * **************************************************************************/ char *asFileName(const char *fil, const char *ext) { /* -------------------------------------------------------------------- */ /* Compute the base (layer) name. If there is any extension */ /* on the passed in filename we will strip it off. */ /* -------------------------------------------------------------------- */ char pszBasename[120]; strcpy(pszBasename, fil); int i = (int)strlen(pszBasename) - 1; for (; i > 0 && pszBasename[i] != '.' && pszBasename[i] != '/' && pszBasename[i] != '\\'; i--) { } if (pszBasename[i] == '.') pszBasename[i] = '\0'; /* -------------------------------------------------------------------- */ /* Note that files pulled from */ /* a PC to Unix with upper case filenames won't work! */ /* -------------------------------------------------------------------- */ static char pszFullname[256]; sprintf(pszFullname, "%s.%s", pszBasename, ext); return pszFullname; } /* ************************************************************************** * SHPOGisType * * Convert Both ways from and to OGIS Geometry Types * * **************************************************************************/ int SHPOGisType(int GeomType, int toOGis) { if (toOGis == 0) /* connect OGis -> SHP types */ switch (GeomType) { case (OGIST_POINT): return (SHPT_POINT); break; case (OGIST_LINESTRING): return (SHPT_ARC); break; case (OGIST_POLYGON): return (SHPT_POLYGON); break; case (OGIST_MULTIPOINT): return (SHPT_MULTIPOINT); break; case (OGIST_MULTILINE): return (SHPT_ARC); break; case (OGIST_MULTIPOLYGON): return (SHPT_POLYGON); break; } else /* ok so its SHP->OGis types */ switch (GeomType) { case (SHPT_POINT): return (OGIST_POINT); break; case (SHPT_POINTM): return (OGIST_POINT); break; case (SHPT_POINTZ): return (OGIST_POINT); break; case (SHPT_ARC): return (OGIST_LINESTRING); break; case (SHPT_ARCZ): return (OGIST_LINESTRING); break; case (SHPT_ARCM): return (OGIST_LINESTRING); break; case (SHPT_POLYGON): return (OGIST_MULTIPOLYGON); break; case (SHPT_POLYGONZ): return (OGIST_MULTIPOLYGON); break; case (SHPT_POLYGONM): return (OGIST_MULTIPOLYGON); break; case (SHPT_MULTIPOINT): return (OGIST_MULTIPOINT); break; case (SHPT_MULTIPOINTZ): return (OGIST_MULTIPOINT); break; case (SHPT_MULTIPOINTM): return (OGIST_MULTIPOINT); break; case (SHPT_MULTIPATCH): return (OGIST_GEOMCOLL); break; } return 0; } /* ************************************************************************** * SHPWriteSHPStream * * Encapsulate entire SHPObject for use with Postgresql * * **************************************************************************/ static int SHPWriteSHPStream(WKBStreamObj *stream_obj, const SHPObject *psCShape) { int need_swap = 1; need_swap = ((char *)(&need_swap))[0]; /*realloc (stream_obj, obj_storage );*/ if (need_swap) { } else { memcpy(stream_obj, psCShape, 4 * sizeof(int)); memcpy(stream_obj, psCShape, 4 * sizeof(double)); // TODO(schwehr): What? // const int use_Z = 0; // const int use_M = 0; // if ( use_Z ) // memcpy (stream_obj, psCShape, 2 * sizeof (double) ); // if ( use_M ) // memcpy (stream_obj, psCShape, 2 * sizeof (double) ); memcpy(stream_obj, psCShape, psCShape->nParts * 2 * sizeof(int)); memcpy(stream_obj, psCShape, psCShape->nVertices * 2 * sizeof(double)); // if ( use_Z ) // memcpy (stream_obj, psCShape, psCShape->nVertices * 2 * sizeof (double) ); // if ( use_M ) // memcpy (stream_obj, psCShape, psCShape->nVertices * 2 * sizeof (double) ); } return (0); } /* ************************************************************************** * WKBStreamWrite * * Encapsulate entire SHPObject for use with Postgresql * * **************************************************************************/ static int WKBStreamWrite(WKBStreamObj *wso, const void *this, int tcount, int tsize) { if (wso->NeedSwap) SwapG(&(wso->wStream[wso->StreamPos]), this, tcount, tsize); else memcpy(&(wso->wStream[wso->StreamPos]), this, tsize * tcount); wso->StreamPos += tsize; return 0; } /* ************************************************************************** * WKBStreamRead * * Encapsulate entire SHPObject for use with Postgresql * * **************************************************************************/ static int WKBStreamRead(WKBStreamObj *wso, void *this, int tcount, int tsize) { if (wso->NeedSwap) SwapG(this, &(wso->wStream[wso->StreamPos]), tcount, tsize); else memcpy(this, &(wso->wStream[wso->StreamPos]), tsize * tcount); wso->StreamPos += tsize; return 0; } /* ************************************************************************** * SHPReadOGisWKB * * Encapsulate entire SHPObject for use with Postgresql * * **************************************************************************/ SHPObject *SHPReadOGisWKB(WKBStreamObj *stream_obj) { char WKB_order; WKBStreamRead(stream_obj, &WKB_order, 1, sizeof(char)); int my_order = 1; my_order = ((char *)(&my_order))[0]; stream_obj->NeedSwap = !(WKB_order & my_order); /* convert OGis Types to SHP types */ int GeoType = 0; const int nSHPType = SHPOGisType(GeoType, 0); WKBStreamRead(stream_obj, &GeoType, 1, sizeof(int)); const int thisDim = SHPDimension(nSHPType); // SHPObject *psCShape; if (thisDim & SHPD_AREA) { /* psCShape = */ SHPReadOGisPolygon(stream_obj); } else { if (thisDim & SHPD_LINE) { /* psCShape = */ SHPReadOGisLine(stream_obj); } else { if (thisDim & SHPD_POINT) { /* psCShape = */ SHPReadOGisPoint(stream_obj); } } } return (0); } /* ************************************************************************** * SHPWriteOGisWKB * * Encapsulate entire SHPObject for use with Postgresql * * **************************************************************************/ int SHPWriteOGisWKB(WKBStreamObj *stream_obj, const SHPObject *psCShape) { /* OGis WKB can handle either byte order, but if I get to choose I'd */ /* rather have it predicatable system-to-system */ if (stream_obj) { if (stream_obj->wStream) free(stream_obj->wStream); } else { stream_obj = calloc(3, sizeof(int)); } /* object size needs to be 9 bytes for the wrapper, and for each polygon */ /* another 9 bytes all plus twice the total number of vertices */ /* times the sizeof (double) and just pad with 10 more chars for fun */ stream_obj->wStream = calloc(1, (9 * (psCShape->nParts + 1)) + (sizeof(double) * 2 * psCShape->nVertices) + 10); #ifdef DEBUG2 printf(" I just allocated %d bytes to wkbObj \n", (int)(sizeof(int) + sizeof(int) + sizeof(int) + (sizeof(int) * psCShape->nParts + 1) + (sizeof(double) * 2 * psCShape->nVertices) + 10)); #endif /* indicate that this WKB is in LSB Order */ int my_order = 1; my_order = ((char *)(&my_order))[0]; /* Need to swap if this system is not LSB (Intel Order) */ char LSB = 1; stream_obj->NeedSwap = (my_order != LSB); stream_obj->StreamPos = 0; #ifdef DEBUG2 printf("this system is (%d) LSB recorded as needSwap %d\n", my_order, stream_obj->NeedSwap); #endif WKBStreamWrite(stream_obj, &LSB, 1, sizeof(char)); #ifdef DEBUG2 printf("this system in LSB \n"); #endif /* convert SHP Types to OGis types */ int GeoType = SHPOGisType(psCShape->nSHPType, 1); WKBStreamWrite(stream_obj, &GeoType, 1, sizeof(int)); const int thisDim = SHPDimension(psCShape->nSHPType); if (thisDim & SHPD_AREA) { SHPWriteOGisPolygon(stream_obj, psCShape); } else { if (thisDim & SHPD_LINE) { SHPWriteOGisLine(stream_obj, psCShape); } else { if (thisDim & SHPD_POINT) { SHPWriteOGisPoint(stream_obj, psCShape); } } } #ifdef DEBUG2 printf("(SHPWriteOGisWKB) outta here when stream pos is %d \n", stream_obj->StreamPos); #endif return (0); } /* ************************************************************************** * SHPWriteOGisPolygon * * for this pass code to more generic OGis MultiPolygon Type * later add support for OGis Polygon Type * * Encapsulate entire SHPObject for use with Postgresql * * **************************************************************************/ int SHPWriteOGisPolygon(WKBStreamObj *stream_obj, const SHPObject *psCShape) { /* cannot have more than nParts complex objects in this object */ SHPObject **ppsC = calloc(psCShape->nParts, sizeof(int)); int nextring = 0; int cParts = 0; while (nextring >= 0) { ppsC[cParts] = SHPUnCompound(psCShape, &nextring); cParts++; } #ifdef DEBUG2 printf("(SHPWriteOGisPolygon) Uncompounded into %d parts \n", cParts); #endif WKBStreamWrite(stream_obj, &cParts, 1, sizeof(int)); int GeoType = OGIST_POLYGON; char Flag = 1; for (int cpart = 0; cpart < cParts; cpart++) { WKBStreamWrite(stream_obj, &Flag, 1, sizeof(char)); WKBStreamWrite(stream_obj, &GeoType, 1, sizeof(int)); SHPObject *psC = (SHPObject *)ppsC[cpart]; WKBStreamWrite(stream_obj, &(psC->nParts), 1, sizeof(int)); for (int ring = 0; (ring < (psC->nParts)) && (psC->nParts > 0); ring++) { int rVertices; if (ring < (psC->nParts - 2)) { rVertices = psC->panPartStart[ring + 1] - psC->panPartStart[ring]; } else { rVertices = psC->nVertices - psC->panPartStart[ring]; } #ifdef DEBUG2 printf("(SHPWriteOGisPolygon) scanning part %d, ring %d %d vtxs \n", cpart, ring, rVertices); #endif const int rPart = psC->panPartStart[ring]; WKBStreamWrite(stream_obj, &rVertices, 1, sizeof(int)); for (int j = rPart; j < (rPart + rVertices); j++) { WKBStreamWrite(stream_obj, &(psC->padfX[j]), 1, sizeof(double)); WKBStreamWrite(stream_obj, &(psC->padfY[j]), 1, sizeof(double)); } /* for each vertex */ } /* for each ring */ } /* for each complex part */ #ifdef DEBUG2 printf("(SHPWriteOGisPolygon) outta here \n"); #endif return (1); } /* ************************************************************************** * SHPWriteOGisLine * * for this pass code to more generic OGis MultiXXXXXXX Type * later add support for OGis LineString Type * * Encapsulate entire SHPObject for use with Postgresql * * **************************************************************************/ int SHPWriteOGisLine(WKBStreamObj *stream_obj, const SHPObject *psCShape) { return (SHPWriteOGisPolygon(stream_obj, psCShape)); } /* ************************************************************************** * SHPWriteOGisPoint * * for this pass code to more generic OGis MultiPoint Type * later add support for OGis Point Type * * Encapsulate entire SHPObject for use with Postgresql * * **************************************************************************/ int SHPWriteOGisPoint(WKBStreamObj *stream_obj, const SHPObject *psCShape) { WKBStreamWrite(stream_obj, &(psCShape->nVertices), 1, sizeof(int)); for (int j = 0; j < psCShape->nVertices; j++) { WKBStreamWrite(stream_obj, &(psCShape->padfX[j]), 1, sizeof(double)); WKBStreamWrite(stream_obj, &(psCShape->padfY[j]), 1, sizeof(double)); } /* for each vertex */ return (1); } /* ************************************************************************** * SHPReadOGisPolygon * * for this pass code to more generic OGis MultiPolygon Type * later add support for OGis Polygon Type * * Encapsulate entire SHPObject for use with Postgresql * * **************************************************************************/ SHPObject *SHPReadOGisPolygon(WKBStreamObj *stream_obj) { SHPObject *psC = SHPCreateObject(SHPT_POLYGON, -1, 0, NULL, NULL, 0, NULL, NULL, NULL, NULL); /* initialize a blank SHPObject */ int cParts; WKBStreamRead(stream_obj, &cParts, 1, sizeof(char)); int totParts = cParts; int totVertices = 0; psC->panPartStart = realloc(psC->panPartStart, cParts * sizeof(int)); psC->panPartType = realloc(psC->panPartType, cParts * sizeof(int)); int rVertices; int nParts; for (int cpart = 0; cpart < cParts; cpart++) { WKBStreamRead(stream_obj, &nParts, 1, sizeof(int)); const int pRings = nParts; /* pRings is the number of rings prior to the Ring loop below */ if (nParts > 1) { totParts += nParts - 1; psC->panPartStart = realloc(psC->panPartStart, totParts * sizeof(int)); psC->panPartType = realloc(psC->panPartType, totParts * sizeof(int)); } int rPart = 0; for (int ring = 0; ring < (nParts - 1); ring++) { WKBStreamRead(stream_obj, &rVertices, 1, sizeof(int)); totVertices += rVertices; psC->panPartStart[ring + pRings] = rPart; if (ring == 0) { psC->panPartType[ring + pRings] = SHPP_OUTERRING; } else { psC->panPartType[ring + pRings] = SHPP_INNERRING; } psC->padfX = realloc(psC->padfX, totVertices * sizeof(double)); psC->padfY = realloc(psC->padfY, totVertices * sizeof(double)); for (int j = rPart; j < (rPart + rVertices); j++) { WKBStreamRead(stream_obj, &(psC->padfX[j]), 1, sizeof(double)); WKBStreamRead(stream_obj, &(psC->padfY[j]), 1, sizeof(double)); } /* for each vertex */ rPart += rVertices; } /* for each ring */ } /* for each complex part */ return (psC); } /* ************************************************************************** * SHPReadOGisLine * * for this pass code to more generic OGis MultiLineString Type * later add support for OGis LineString Type * * Encapsulate entire SHPObject for use with Postgresql * * **************************************************************************/ SHPObject *SHPReadOGisLine(WKBStreamObj *stream_obj) { SHPObject *psC = SHPCreateObject(SHPT_ARC, -1, 0, NULL, NULL, 0, NULL, NULL, NULL, NULL); /* initialize a blank SHPObject */ int cParts; WKBStreamRead(stream_obj, &cParts, 1, sizeof(int)); int totParts = cParts; int totVertices = 0; psC->panPartStart = realloc(psC->panPartStart, cParts * sizeof(int)); psC->panPartType = realloc(psC->panPartType, cParts * sizeof(int)); int rVertices; int nParts; for (int cpart = 0; cpart < cParts; cpart++) { WKBStreamRead(stream_obj, &nParts, 1, sizeof(int)); int pRings = totParts; /* pRings is the number of rings prior to the Ring loop below */ if (nParts > 1) { totParts += nParts - 1; psC->panPartStart = realloc(psC->panPartStart, totParts * sizeof(int)); psC->panPartType = realloc(psC->panPartType, totParts * sizeof(int)); } int rPart = 0; for (int ring = 0; ring < (nParts - 1); ring++) { WKBStreamRead(stream_obj, &rVertices, 1, sizeof(int)); totVertices += rVertices; psC->panPartStart[ring + pRings] = rPart; if (ring == 0) { psC->panPartType[ring + pRings] = SHPP_OUTERRING; } else { psC->panPartType[ring + pRings] = SHPP_INNERRING; } psC->padfX = realloc(psC->padfX, totVertices * sizeof(double)); psC->padfY = realloc(psC->padfY, totVertices * sizeof(double)); for (int j = rPart; j < (rPart + rVertices); j++) { WKBStreamRead(stream_obj, &(psC->padfX[j]), 1, sizeof(double)); WKBStreamRead(stream_obj, &(psC->padfY[j]), 1, sizeof(double)); } /* for each vertex */ rPart += rVertices; } /* for each ring */ } /* for each complex part */ return (psC); } /* ************************************************************************** * SHPReadOGisPoint * * Encapsulate entire SHPObject for use with Postgresql * * **************************************************************************/ SHPObject *SHPReadOGisPoint(WKBStreamObj *stream_obj) { SHPObject *psC = SHPCreateObject(SHPT_MULTIPOINT, -1, 0, NULL, NULL, 0, NULL, NULL, NULL, NULL); /* initialize a blank SHPObject */ int nVertices; WKBStreamRead(stream_obj, &nVertices, 1, sizeof(int)); psC->padfX = realloc(psC->padfX, nVertices * sizeof(double)); psC->padfY = realloc(psC->padfY, nVertices * sizeof(double)); for (int j = 0; j < nVertices; j++) { WKBStreamRead(stream_obj, &(psC->padfX[j]), 1, sizeof(double)); WKBStreamRead(stream_obj, &(psC->padfY[j]), 1, sizeof(double)); } /* for each vertex */ return (psC); } /* ************************************************************************** * SHPDimension * * Return the Dimensionality of the SHPObject * a handy utility function * * **************************************************************************/ int SHPDimension(int SHPType) { int dimension = 0; switch (SHPType) { case SHPT_POINT: dimension = SHPD_POINT; break; case SHPT_ARC: dimension = SHPD_LINE; break; case SHPT_POLYGON: dimension = SHPD_AREA; break; case SHPT_MULTIPOINT: dimension = SHPD_POINT; break; case SHPT_POINTZ: dimension = SHPD_POINT | SHPD_Z; break; case SHPT_ARCZ: dimension = SHPD_LINE | SHPD_Z; break; case SHPT_POLYGONZ: dimension = SHPD_AREA | SHPD_Z; break; case SHPT_MULTIPOINTZ: dimension = SHPD_POINT | SHPD_Z; break; case SHPT_POINTM: dimension = SHPD_POINT | SHPD_MEASURE; break; case SHPT_ARCM: dimension = SHPD_LINE | SHPD_MEASURE; break; case SHPT_POLYGONM: dimension = SHPD_AREA | SHPD_MEASURE; break; case SHPT_MULTIPOINTM: dimension = SHPD_POINT | SHPD_MEASURE; break; case SHPT_MULTIPATCH: dimension = SHPD_AREA; break; } return (dimension); } /* ************************************************************************** * SHPPointinPoly_2d * * Return a Point inside an R+ of a potentially * complex/compound SHPObject suitable for labelling * return only one point even if if is a compound object * * reject non area SHP Types * * **************************************************************************/ PT SHPPointinPoly_2d(const SHPObject *psCShape) { PT rPT; if (!(SHPDimension(psCShape->nSHPType) & SHPD_AREA)) { rPT.x = NAN; rPT.y = NAN; return rPT; } PT *sPT = SHPPointsinPoly_2d(psCShape); if (sPT) { rPT.x = sPT[0].x; rPT.y = sPT[0].y; } else { rPT.x = NAN; rPT.y = NAN; } return (rPT); } /* ************************************************************************** * SHPPointsinPoly_2d * * Return a Point inside each R+ of a potentially * complex/compound SHPObject suitable for labelling * return one point for each R+ even if it is a compound object * * reject non area SHP Types * * **************************************************************************/ PT *SHPPointsinPoly_2d(const SHPObject *psCShape) { if (!(SHPDimension(psCShape->nSHPType) & SHPD_AREA)) return NULL; PT *PIP = NULL; int cRing = 0; int nPIP = 0; int rMpart, ring_nVertices; // TODO(schwehr): Is this a bug? Should rLen be zero'ed on each loop? double rLen = 0; double rLenMax = 0; SHPObject *psO; while ((psO = SHPUnCompound(psCShape, &cRing)) != NULL) { double *CLx = calloc(4, sizeof(double)); double *CLy = calloc(4, sizeof(double)); int *CLst = calloc(2, sizeof(int)); int *CLstt = calloc(2, sizeof(int)); // TODO(schwehr): Check for allocation failures // a horizontal & vertical compound line though the middle of the extents CLx[0] = psO->dfXMin; CLy[0] = (psO->dfYMin + psO->dfYMax) * 0.5; CLx[1] = psO->dfXMax; CLy[1] = (psO->dfYMin + psO->dfYMax) * 0.5; CLx[2] = (psO->dfXMin + psO->dfXMax) * 0.5; CLy[2] = psO->dfYMin; CLx[3] = (psO->dfXMin + psO->dfXMax) * 0.5; CLy[3] = psO->dfYMax; CLst[0] = 0; CLst[1] = 2; CLstt[0] = SHPP_RING; CLstt[1] = SHPP_RING; SHPObject *CLine = SHPCreateObject(SHPT_POINT, -1, 2, CLst, CLstt, 4, CLx, CLy, NULL, NULL); /* with the H & V centrline compound object, intersect it with the OBJ */ SHPObject *psInt = SHPIntersect_2d(CLine, psO); /* return SHP type is lowest common dimensionality of the input types */ // find the longest linestring returned by the intersection int ring_vtx = psInt->nVertices; for (int ring = (psInt->nParts - 1); ring >= 0; ring--) { ring_nVertices = ring_vtx - psInt->panPartStart[ring]; rLen += RingLength_2d( ring_nVertices, (double *)&(psInt->padfX[psInt->panPartStart[ring]]), (double *)&(psInt->padfY[psInt->panPartStart[ring]])); if (rLen > rLenMax) { rLenMax = rLen; rMpart = psInt->panPartStart[ring]; } ring_vtx = psInt->panPartStart[ring]; } // add the centerpoint of the longest ARC of the intersection to the PIP list nPIP++; PIP = realloc(PIP, sizeof(double) * 2 * nPIP); PIP[nPIP].x = (psInt->padfX[rMpart] + psInt->padfX[rMpart]) * 0.5; PIP[nPIP].y = (psInt->padfY[rMpart] + psInt->padfY[rMpart]) * 0.5; SHPDestroyObject(psO); SHPDestroyObject(CLine); // does SHPCreateobject use preallocated memory or does it copy the // contents. To be safe conditionally release CLx, CLy, CLst, CLstt free(CLx); free(CLy); free(CLst); free(CLstt); } return (PIP); } /* ************************************************************************** * SHPCentrd_2d * * Return the single mathematical / geometric centroid of a potentially * complex/compound SHPObject * * reject non area SHP Types * * **************************************************************************/ PT SHPCentrd_2d(const SHPObject *psCShape) { PT C; if (!(SHPDimension(psCShape->nSHPType) & SHPD_AREA)) { C.x = NAN; C.y = NAN; return C; } #ifdef DEBUG printf("for Object with %d vtx, %d parts [ %d, %d] \n", psCShape->nVertices, psCShape->nParts, psCShape->panPartStart[0], psCShape->panPartStart[1]); #endif double Area = 0; C.x = 0.0; C.y = 0.0; /* for each ring in compound / complex object calc the ring cntrd */ double ringArea; PT ringCentrd; int ringPrev = psCShape->nVertices; for (int ring = (psCShape->nParts - 1); ring >= 0; ring--) { const int rStart = psCShape->panPartStart[ring]; const int ring_nVertices = ringPrev - rStart; RingCentroid_2d(ring_nVertices, (double *)&(psCShape->padfX[rStart]), (double *)&(psCShape->padfY[rStart]), &ringCentrd, &ringArea); #ifdef DEBUG printf( "(SHPCentrd_2d) Ring %d, vtxs %d, area: %f, ring centrd %f, %f \n", ring, ring_nVertices, ringArea, ringCentrd.x, ringCentrd.y); #endif /* use Superposition of these rings to build a composite Centroid */ /* sum the ring centrds * ringAreas, at the end divide by total area */ C.x += ringCentrd.x * ringArea; C.y += ringCentrd.y * ringArea; Area += ringArea; ringPrev = rStart; } /* hold on the division by AREA until were at the end */ C.x = C.x / Area; C.y = C.y / Area; #ifdef DEBUG printf("SHPCentrd_2d) Overall Area: %f, Centrd %f, %f \n", Area, C.x, C.y); #endif return (C); } /* ************************************************************************** * RingCentroid_2d * * Return the mathematical / geometric centroid of a single closed ring * * **************************************************************************/ int RingCentroid_2d(int nVertices, const double *a, const double *b, PT *C, double *Area) { /* the centroid of a closed Ring is defined as * * Cx = sum (cx * dArea ) / Total Area * and * Cy = sum (cy * dArea ) / Total Area */ double x_base = a[0]; double y_base = b[0]; double Cy_accum = 0.0; double Cx_accum = 0.0; double ppx = a[1] - x_base; double ppy = b[1] - y_base; *Area = 0; /* Skip the closing vector */ for (int iv = 2; iv <= nVertices - 2; iv++) { const double x = a[iv] - x_base; const double y = b[iv] - y_base; /* calc the area and centroid of triangle built out of an arbitrary */ /* base_point on the ring and each successive pair on the ring */ /* Area of a triangle is the cross product of its defining vectors */ /* Centroid of a triangle is the average of its vertices */ const double dx_Area = ((x * ppy) - (y * ppx)) * 0.5; *Area += dx_Area; Cx_accum += (ppx + x) * dx_Area; Cy_accum += (ppy + y) * dx_Area; #ifdef DEBUG2 printf("(ringcentrd_2d) Pp( %f, %f), P(%f, %f)\n", ppx, ppy, x, y); printf("(ringcentrd_2d) dA: %f, sA: %f, Cx: %f, Cy: %f \n", dx_Area, *Area, Cx_accum, Cy_accum); #endif ppx = x; ppy = y; } #ifdef DEBUG2 printf("(ringcentrd_2d) Cx: %f, Cy: %f \n", (Cx_accum / (*Area * 3)), (Cy_accum / (*Area * 3))); #endif /* adjust back to world coords */ C->x = (Cx_accum / (*Area * 3)) + x_base; C->y = (Cy_accum / (*Area * 3)) + y_base; return (1); } /* ************************************************************************** * SHPRingDir_2d * * Test Polygon for CW / CCW ( R+ / R- ) * * return 1 for R+ * return -1 for R- * return 0 for error * **************************************************************************/ int SHPRingDir_2d(const SHPObject *psCShape, int Ring) { if (Ring >= psCShape->nParts) return (0); double tX = 0.0; const double *a = psCShape->padfX; const double *b = psCShape->padfY; int last_vtx; if (Ring >= psCShape->nParts - 1) { last_vtx = psCShape->nVertices; } else { last_vtx = psCShape->panPartStart[Ring + 1]; } /* All vertices at the corners of the extrema (rightmost lowest, leftmost lowest, */ /* topmost rightest, ...) must be less than pi wide. If they weren't, they couldn't be */ /* extrema. */ /* of course the following will fail if the Extents are even a little wrong */ int ti; for (int i = psCShape->panPartStart[Ring]; i < last_vtx; i++) { if (b[i] == psCShape->dfYMax && a[i] > tX) { ti = i; } } #ifdef DEBUG2 printf("(shpgeo:SHPRingDir) highest Rightmost Pt is vtx %d (%f, %f)\n", ti, a[ti], b[ti]); #endif /* cross product */ /* the sign of the cross product of two vectors indicates the right or left half-plane */ /* which we can use to indicate Ring Dir */ double dx0; double dx1; double dy0; double dy1; if (ti > psCShape->panPartStart[Ring] && ti < last_vtx) { dx0 = a[ti - 1] - a[ti]; dx1 = a[ti + 1] - a[ti]; dy0 = b[ti - 1] - b[ti]; dy1 = b[ti + 1] - b[ti]; } else /* if the tested vertex is at the origin then continue from 0 */ { dx1 = a[1] - a[0]; dx0 = a[last_vtx] - a[0]; dy1 = b[1] - b[0]; dy0 = b[last_vtx] - b[0]; } // v1 = ( (dy0 * 0) - (0 * dy1) ); // v2 = ( (0 * dx1) - (dx0 * 0) ); /* these above are always zero so why do the math */ const double v3 = ((dx0 * dy1) - (dx1 * dy0)); #ifdef DEBUG2 printf("(shpgeo:SHPRingDir) cross product for vtx %d was %f \n", ti, v3); #endif if (v3 > 0) { return (1); } else { return (-1); } } /* ************************************************************************** * SHPArea_2d * * Calculate the XY Area of Polygon ( can be compound / complex ) * * **************************************************************************/ double SHPArea_2d(const SHPObject *psCShape) { if (!(SHPDimension(psCShape->nSHPType) & SHPD_AREA)) return (-1); double cArea = 0; /* Walk each ring adding its signed Area, R- will return a negative */ /* area, so we don't have to test for them */ /* I just start at the last ring and work down to the first */ int ring_vtx = psCShape->nVertices; for (int ring = (psCShape->nParts - 1); ring >= 0; ring--) { const int ring_nVertices = ring_vtx - psCShape->panPartStart[ring]; #ifdef DEBUG2 printf("(shpgeo:SHPArea_2d) part %d, vtx %d \n", ring, ring_nVertices); #endif cArea += RingArea_2d( ring_nVertices, (double *)&(psCShape->padfX[psCShape->panPartStart[ring]]), (double *)&(psCShape->padfY[psCShape->panPartStart[ring]])); ring_vtx = psCShape->panPartStart[ring]; } #ifdef DEBUG2 printf("(shpgeo:SHPArea_2d) Area = %f \n", cArea); #endif /* Area is signed, negative Areas are R- */ return (cArea); } /* ************************************************************************** * SHPLength_2d * * Calculate the Planar ( XY ) Length of Polygon ( can be compound / complex ) * or Polyline ( can be compound ). Length on Polygon is its Perimeter * * **************************************************************************/ double SHPLength_2d(const SHPObject *psCShape) { if (!(SHPDimension(psCShape->nSHPType) & (SHPD_AREA | SHPD_LINE))) return -1.0; double Length = 0; int j = 1; for (int i = 1; i < psCShape->nVertices; i++) { if (psCShape->panPartStart[j] == i) { j++; } /* skip the moves with "pen up" from ring to ring */ else { const double dx = psCShape->padfX[i] - psCShape->padfX[i - 1]; const double dy = psCShape->padfY[i] - psCShape->padfY[i - 1]; Length += sqrt((dx * dx) + (dy * dy)); } /* simplify this equation */ } return Length; } /* ************************************************************************** * RingLength_2d * * Calculate the Planar ( XY ) Length of Polygon ( can be compound / complex ) * or Polyline ( can be compound ). Length of Polygon is its Perimeter * * **************************************************************************/ double RingLength_2d(int nVertices, const double *a, const double *b) { double Length = 0; // int j = 1; for (int i = 1; i < nVertices; i++) { const double dx = a[i] - b[i - 1]; const double dy = b[i] - b[i - 1]; Length += sqrt((dx * dx) + (dy * dy)); /* simplify this equation */ } return (Length); } /* ************************************************************************** * RingArea_2d * * Calculate the Planar Area of a single closed ring * * **************************************************************************/ double RingArea_2d(int nVertices, const double *a, const double *b) { const double x_base = a[0]; const double y_base = b[0]; double ppx = a[1] - x_base; double ppy = b[1] - y_base; static double Area = 0.0; #ifdef DEBUG2 printf("(shpgeo:RingArea) %d vertices \n", nVertices); #endif for (int iv = 2; iv <= (nVertices - 1); iv++) { const double x = a[iv] - x_base; const double y = b[iv] - y_base; /* Area of a triangle is the cross product of its defining vectors */ const double dx_Area = ((x * ppy) - (y * ppx)) * 0.5; Area += dx_Area; #ifdef DEBUG2 printf("(shpgeo:RingArea) dxArea %f sArea %f for pt(%f, %f)\n", dx_Area, Area, x, y); #endif ppx = x; ppy = y; } #ifdef DEBUG2 printf("(shpgeo:RingArea) total RingArea %f \n", Area); #endif return Area; } /* ************************************************************************** * SHPUnCompound * * ESRI calls this function explode * Return a non compound ( possibly complex ) object * * ring_number is R+ number corresponding to object * * ignore complexity in Z dimension for now * * **************************************************************************/ SHPObject *SHPUnCompound(const SHPObject *psCShape, int *ringNumber) { if (*ringNumber >= psCShape->nParts || *ringNumber == -1) { *ringNumber = -1; return NULL; } if (*ringNumber == (psCShape->nParts - 1)) { *ringNumber = -1; return (SHPClone(psCShape, (psCShape->nParts - 1), -1)); } const int lRing = *ringNumber; int ringDir = -1; int ring = (lRing + 1); for (; (ring < psCShape->nParts) && (ringDir < 0); ring++) ringDir = SHPRingDir_2d(psCShape, ring); if (ring == psCShape->nParts) *ringNumber = -1; else *ringNumber = ring; /* I am strictly assuming that all R- parts of a complex object * directly follow their R+, so when we hit a new R+ its a * new part of a compound object * a SHPClean may be needed to enforce this as it is not part * of ESRI's definition of a SHPfile */ #ifdef DEBUG2 printf("(SHPUnCompound) asked for ring %d, lastring is %d \n", lRing, ring); #endif return (SHPClone(psCShape, lRing, ring)); } /* ************************************************************************** * SHPIntersect_2d * * * prototype only for now * * return object with lowest common dimensionality of objects * * **************************************************************************/ SHPObject *SHPIntersect_2d(const SHPObject *a, const SHPObject *b) { if ((SHPDimension(a->nSHPType) && SHPD_POINT) || (SHPDimension(b->nSHPType) && SHPD_POINT)) return (NULL); /* there is no intersect function like this for points */ SHPObject *C = SHPClone(a, 0, -1); return C; } /* ************************************************************************** * SHPClean * * Test and fix normalization problems in shapes * Different tests need to be implemented for different SHPTypes * SHPT_POLYGON check ring directions CW / CCW ( R+ / R- ) * put all R- after the R+ they are members of * i.e. each complex object is completed before the * next object is started * check for closed rings * ring must not intersect itself, even on edge * * no other types implemented yet * * not sure why but return object in place * use for object casting and object verification * **************************************************************************/ int SHPClean(SHPObject *psCShape) { return (0); } /* ************************************************************************** * SHPClone * * Clone a SHPObject, replicating all data * * **************************************************************************/ SHPObject *SHPClone(const SHPObject *psCShape, int lowPart, int highPart) { if (highPart >= psCShape->nParts || highPart == -1) highPart = psCShape->nParts; #ifdef DEBUG printf(" cloning SHP (%d parts) from ring %d to ring %d \n", psCShape->nParts, lowPart, highPart); #endif const int newParts = highPart - lowPart; if (newParts == 0) { return (NULL); } SHPObject *psObject = (SHPObject *)calloc(1, sizeof(SHPObject)); psObject->nSHPType = psCShape->nSHPType; psObject->nShapeId = psCShape->nShapeId; psObject->nParts = newParts; if (psCShape->padfX) { psObject->panPartStart = (int *)calloc(newParts, sizeof(int)); memcpy(psObject->panPartStart, psCShape->panPartStart, newParts * sizeof(int)); psObject->panPartType = (int *)calloc(newParts, sizeof(int)); memcpy(psObject->panPartType, (int *)&(psCShape->panPartType[lowPart]), newParts * sizeof(int)); } int newVertices; if (highPart != psCShape->nParts) { newVertices = psCShape->panPartStart[highPart] - psCShape->panPartStart[lowPart]; } else { newVertices = psCShape->nVertices - psCShape->panPartStart[lowPart]; } #ifdef DEBUG int i; if (highPart = psCShape->nParts) i = psCShape->nVertices; else i = psCShape->panPartStart[highPart]; printf(" from part %d (%d) to %d (%d) is %d vertices \n", lowPart, psCShape->panPartStart[lowPart], highPart, i, newVertices); #endif psObject->nVertices = newVertices; if (psCShape->padfX) { psObject->padfX = (double *)calloc(newVertices, sizeof(double)); memcpy(psObject->padfX, (double *)&(psCShape->padfX[psCShape->panPartStart[lowPart]]), newVertices * sizeof(double)); } if (psCShape->padfY) { psObject->padfY = (double *)calloc(newVertices, sizeof(double)); memcpy(psObject->padfY, (double *)&(psCShape->padfY[psCShape->panPartStart[lowPart]]), newVertices * sizeof(double)); } if (psCShape->padfZ) { psObject->padfZ = (double *)calloc(newVertices, sizeof(double)); memcpy(psObject->padfZ, (double *)&(psCShape->padfZ[psCShape->panPartStart[lowPart]]), newVertices * sizeof(double)); } if (psCShape->padfM) { psObject->padfM = (double *)calloc(newVertices, sizeof(double)); memcpy(psObject->padfM, (double *)&(psCShape->padfM[psCShape->panPartStart[lowPart]]), newVertices * sizeof(double)); } psObject->dfXMin = psCShape->dfXMin; psObject->dfYMin = psCShape->dfYMin; psObject->dfZMin = psCShape->dfZMin; psObject->dfMMin = psCShape->dfMMin; psObject->dfXMax = psCShape->dfXMax; psObject->dfYMax = psCShape->dfYMax; psObject->dfZMax = psCShape->dfZMax; psObject->dfMMax = psCShape->dfMMax; SHPComputeExtents(psObject); return (psObject); } /************************************************************************/ /* SwapG */ /* */ /* Swap a 2, 4 or 8 byte word. */ /************************************************************************/ void SwapG(void *so, const void *in, int this_cnt, int this_size) { // return to a new pointer otherwise it would invalidate existing data // as prevent further use of it for (int j = 0; j < this_cnt; j++) { for (int i = 0; i < this_size / 2; i++) { ((unsigned char *)so)[i] = ((unsigned char *)in)[this_size - i - 1]; ((unsigned char *)so)[this_size - i - 1] = ((unsigned char *)in)[i]; } } } /* ************************************************************************** * SwapW * * change byte order on an array of 16 bit words * need to change this over to shapelib, Frank Warmerdam's functions * * **************************************************************************/ void swapW(void *so, const unsigned char *in, long bytes) { const unsigned char map[4] = {3, 2, 1, 0}; unsigned char *out = so; for (int i = 0; i <= (bytes / 4); i++) for (int j = 0; j < 4; j++) out[(i * 4) + map[j]] = in[(i * 4) + j]; } /* ************************************************************************** * SwapD * * change byte order on an array of (double) 32 bit words * need to change this over to shapelib, Frank Warmerdam's functions * * **************************************************************************/ void swapD(void *so, const unsigned char *in, long bytes) { const unsigned char map[8] = {7, 6, 5, 4, 3, 2, 1, 0}; unsigned char *out = so; for (int i = 0; i <= (bytes / 8); i++) for (int j = 0; j < 8; j++) out[(i * 8) + map[j]] = in[(i * 8) + j]; } shapelib-1.6.1/contrib/doc/0000775000175000017500000000000014657064715012535 500000000000000shapelib-1.6.1/contrib/doc/shpsort.txt0000664000175000017500000000324314371676733014724 00000000000000============================= ABOUT =========================================== The program "shpsort" is a standalone program for sorting shapefiles on one or more fields (including the pseudofield "SHAPE") and outputting the results. People may find it useful for forcing drawing order. ============================= AUTHOR ========================================== Eric G. Miller California Department of Fish and Game 2004-06-30 ============================= USAGE =========================================== shpsort {SORT_ORDER;SORT_ORDER...} ============================= DETAILS ========================================= INFILE The input shapefile OUTFILE The output shapefile SORT_FIELD Any attribute field of the shapefile, including "SHAPE" SORT_ORDER Specify "ASCENDING" or "DESCENDING" for each SORT_FIELD. This field is optional, and is assumed to be ASCENDING unless the exact word "DESCENDING" is specified (case matters). When sorting on the "SHAPE" the records are sorted as follows: * Null shapes are treated as any other null field and will sort to the top in ASCENDING mode. A warning is issued for each null shape encountered. * POINT, POINTM, POINTZ, MULTIPOINT, MULTIPOINTM, MULTIPOINTZ and MULTIPATCH are all sorted by the maximum "Y" value of their envelopes (not particularly useful). * POLYLINE, POLYLINEZ and POLYLINEM are sorted by total 2d shape length. * POLYGON, POLYGONZ and POLYGONM are sorted by the 2d shape area. Shapes are assumed to be in canonical ordering, so that the area of interior rings (if any) is subtracted from the area of exterior rings. shapelib-1.6.1/contrib/doc/Shape_PointInPoly_README.txt0000664000175000017500000000563114527460243017574 00000000000000=============================================================================== Project: Shape_PointInPoly Purpose: Sample and the function for calculation a point in a polygon (complex,compound - it doesn't matter). Can be used for labeling. Author: Copyright (c) 2004, Marko Podgorsek, d-mon@siol.net =============================================================================== Requires: shapelib 1.2 (http://shapelib.maptools.org/) Tested and created on platform: Windows 2000 Professional Visual Studio .NET 7.0 P4 2.4 GHz 1GB RAM I just found out about the ShapeLib, GDAL and OGR and I must say that they're all great projects. I believe I'll use some of those libraries in the future. Right now I'm using only shapelib. The thing that led me to the http://wwww.maptools.org was the need of finding the point in poly...but as I found out that even OGR didn't support it. So there I was. I was forced to make my own function. Well, it was fun. I learned a lot. I wrote this function for the Autodesk Autocad 2004 MPolygon, because there was no function to do this in the Object Arx SDK (the Acad programming SDK). Well, it will be in the 2005 release...but, still. There is a function in the Autodesk Map 2004 version...in the menu. Not useful when you need the coordinates, not the point on the screen... So when the Acad version was done I was thinking of doing it on the Shape files, too. A little bit of changing the structures and variable types (so they're not using Object Arx) and I was done. And here it is....Contribution from me to the ShapeLib world :)...and maybe even OGR (a little bit of changing there). Some statistics: For about 69000 polygons in Autocad picture (.dwg files) Autodesk Map 2004 was creating centroids (the menu command) about 45s (1 scan line) My function, with 3 scan lines took about 5s. And I was drawing the dots on the picture... ------------------------------------------------------------------------------- DPoint2d CreatePointInPoly(SHPObject *psShape, int quality) The second parameter quality tell the function just how many rays shall it use to get the point. quality = 3 works very well, but anything below 5 is good. This doesn't mean that the execution will slow down, but it just finds a good point. That's all. The quality shows on the compound objects (multiple polygons with more than one exterior loop) - if not enough rays, then there may be no centroid. Or the U shaped thin polygon, only the bottom (below the y center line) is fat. Autodesk Map with one scan line will create the centroid on one of the thin parts, because it only uses the y center line. If you have more rays, one will surely pass the fat area and centroid will be created there. ------------------------------------------------------------------------------- Anyone using this function: Just send me an e-mail, so I'll see if I did anything good for the public. And you can send me e-mail with questions also. shapelib-1.6.1/contrib/csv2shp.c0000664000175000017500000003445614625633764013461 00000000000000// TODO(schwehr): Untested. /* csv2shp - converts a character delimited file to a ESRI shapefile Copyright (C) 2005 Springs Rescue Mission LICENSE 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, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. The GNU General Public License is also available from the web site . GRATITUDE Like this program? Donate at . USAGE NOTES This program operates on single points only (not polygons or lines). The input file may be a .csv file (comma separated values) or tab-separated values, or it may be separated by any other character. The first row must contain column names. There must be each a column named longitude and latitude in the input file. The .csv parser does not understand text delimiters (e.g. quotation mark). It parses fields only by the given field delimiter (e.g. comma or tab). The program has not been tested with null values, and in this case, the behavior is undefined. The program will not accept lines with a trailing delimiter character. All columns (including longitude and latitude) in the input file are exported to the .dbf file. The program attempts to find the best type (integer, decimal, string) and smallest size of the fields necessary for the .dbf file. SUPPORT Springs Rescue Mission does not offer any support for this program. CONTACT INFORMATION Springs Rescue Mission 5 West Las Vegas St PO Box 2108 Colorado Springs CO 80901 Web: Email: */ #include #include #include #include #include "shapefil.h" #define MAX_COLUMNS 30 #if defined(_MSC_VER) #define STRCASECMP(a, b) (_stricmp(a, b)) #elif defined(WIN32) || defined(_WIN32) #define STRCASECMP(a, b) (stricmp(a, b)) #else #include #define STRCASECMP(a, b) (strcasecmp(a, b)) #endif typedef struct column_t { DBFFieldType eType; int nWidth; int nDecimals; } column; /* counts the number of occurrences of the character in the string */ static int strnchr(const char *s, char c) { int n = 0; for (size_t x = 0; x < strlen(s); x++) { if (c == s[x]) { n++; } } return n; } /* Returns a field given by column n (0-based) in a character- delimited string s */ static char *delimited_column(const char *s, char delim, int n) { if (strnchr(s, delim) < n) { fprintf(stderr, "delimited_column: n is too large\n"); return NULL; } char szbuffer[4096]; /* a copy of s */ strcpy(szbuffer, s); char szdelimiter[2]; /* delim converted to string */ szdelimiter[0] = delim; szdelimiter[1] = '\0'; int x = 0; const char *pchar = strtok(szbuffer, szdelimiter); while (x < n) { pchar = strtok(NULL, szdelimiter); x++; } if (NULL == pchar) { return NULL; } static char szreturn[4096]; strcpy(szreturn, pchar); return szreturn; } /* returns the number of decimals in a real number given as a string s */ static int str_to_ndecimals(const char *s) { if (s == NULL) { return -1; } /* Check for float: ^-?[0-9]+\.[0-9]+$ */ if (!isdigit(s[0]) && s[0] != '-') { return -1; } size_t len = strlen(s); if (!isdigit(s[len - 1])) { return -1; } const char *decimalPoint = strchr(s, '.'); if ((decimalPoint == NULL) || (strchr(decimalPoint + 1, '.') != NULL)) { return -1; } for (size_t x = 1; x < len - 1; x++) { if (!isdigit(s[x]) && s[x] != '.') { return -1; } } return (int)strlen(decimalPoint + 1); } /* Determines the most specific column type. The most specific types from most to least are integer, float, string. */ static DBFFieldType str_to_fieldtype(const char *s) { size_t len = strlen(s); /* Check for integer: ^[0-9]+$ */ int isInteger = 1; for (size_t x = 0; x < len; x++) { if (!isdigit(s[x])) { isInteger = 0; break; } } if (isInteger) { return FTInteger; } return str_to_ndecimals(s) > 0 ? FTDouble : FTString; } /* returns the field width */ static int str_to_nwidth(const char *s, DBFFieldType eType) { switch (eType) { case FTString: case FTInteger: case FTDouble: return (int)strlen(s); default: fprintf(stderr, "str_to_nwidth: unexpected type\n"); exit(EXIT_FAILURE); } } /* returns true if f1 is more general than f2, otherwise false */ static int more_general_field_type(DBFFieldType t1, DBFFieldType t2) { if (FTInteger == t2 && t1 != FTInteger) { return 1; } if (FTDouble == t2 && FTString == t1) { return 1; } return 0; } static void strip_crlf(const char *line) { /* remove trailing CR/LF */ if (strchr(line, 0x0D)) { char *pszline = strchr(line, 0x0D); pszline[0] = '\0'; } if (strchr(line, 0x0A)) { char *pszline = strchr(line, 0x0A); pszline[0] = '\0'; } } static void IGNORE_FGETS_RET_VAL(char *s) { (void)s; } int main(int argc, char **argv) { printf("csv2shp version 1, Copyright (C) 2005 Springs Rescue Mission\n"); if (4 != argc) { fprintf(stderr, "csv2shp comes with ABSOLUTELY NO WARRANTY; for details\n"); fprintf(stderr, "see csv2shp.c. This is free software, and you are welcome\n"); fprintf(stderr, "to redistribute it under certain conditions; see csv2shp.c\n"); fprintf(stderr, "for details\n"); fprintf(stderr, "\n"); fprintf(stderr, "USAGE\n"); fprintf(stderr, "csv2shp csv_filename delimiter_character shp_filename\n"); fprintf(stderr, " csv_filename\n"); fprintf(stderr, " columns named longitude and latitude must exist\n"); fprintf(stderr, " delimiter_character\n"); fprintf(stderr, " one character only\n"); fprintf(stderr, " shp_filename\n"); fprintf(stderr, " base name, do not give the extension\n"); return EXIT_FAILURE; } if (strlen(argv[2]) > 1) { fprintf(stderr, "delimiter must be one character in length\n"); return EXIT_FAILURE; } const char delimiter = argv[2][0]; FILE *csv_f = fopen(argv[1], "r"); if (NULL == csv_f) { perror("could not open csv file"); exit(EXIT_FAILURE); } char sbuffer[4096]; IGNORE_FGETS_RET_VAL(fgets(sbuffer, 4000, csv_f)); /* check first row */ strip_crlf(sbuffer); if (delimiter == sbuffer[strlen(sbuffer) - 1]) { fprintf(stderr, "lines must not end with the delimiter character\n"); fclose(csv_f); return EXIT_FAILURE; } /* count columns and verify consistency*/ /* 1-based */ int n_columns = strnchr(sbuffer, delimiter); if (n_columns > MAX_COLUMNS) { fprintf(stderr, "too many columns, maximum is %i\n", MAX_COLUMNS); fclose(csv_f); return EXIT_FAILURE; } int n_line = 1; while (!feof(csv_f)) { n_line++; IGNORE_FGETS_RET_VAL(fgets(sbuffer, 4000, csv_f)); if (n_columns != strnchr(sbuffer, delimiter)) { fprintf(stderr, "Number of columns on row %i does not match number of " "columns on row 1\n", n_columns); fclose(csv_f); return EXIT_FAILURE; } } /* identify longitude and latitude columns */ fseek(csv_f, 0, SEEK_SET); IGNORE_FGETS_RET_VAL(fgets(sbuffer, 4000, csv_f)); strip_crlf(sbuffer); int n_longitude = -1; /* column with x, 0 based */ int n_latitude = -1; /* column with y, 0 based */ for (int x = 0; x <= n_columns; x++) { if (0 == STRCASECMP("Longitude", delimited_column(sbuffer, delimiter, x))) { n_longitude = x; } else if (0 == STRCASECMP("Latitude", delimited_column(sbuffer, delimiter, x))) { n_latitude = x; } } #ifdef DEBUG printf("debug lat/long = %i/%i\n", n_latitude, n_longitude); #endif if (-1 == n_longitude || -1 == n_latitude) { fprintf(stderr, "The header row must define one each a column named " "longitude and latitude\n"); fclose(csv_f); return EXIT_FAILURE; } /* determine best fit for each column */ printf("Analyzing column types...\n"); #ifdef DEBUG printf("debug: string type = %i\n", FTString); printf("debug: int type = %i\n", FTInteger); printf("debug: double type = %i\n", FTDouble); #endif column columns[MAX_COLUMNS + 1]; for (int x = 0; x <= n_columns; x++) { #ifdef DEBUG printf("debug: examining column %i\n", x); #endif columns[x].eType = FTInteger; columns[x].nWidth = 2; columns[x].nDecimals = 0; fseek(csv_f, 0, SEEK_SET); IGNORE_FGETS_RET_VAL(fgets(sbuffer, 4000, csv_f)); strip_crlf(sbuffer); while (!feof(csv_f)) { #ifdef DEBUG printf("column %i, type = %i, w = %i, d = %i\n", x, columns[x].eType, columns[x].nWidth, columns[x].nDecimals); #endif if (NULL == fgets(sbuffer, 4000, csv_f)) { if (!feof(csv_f)) { fprintf(stderr, "error during fgets()\n"); } continue; } strip_crlf(sbuffer); char szfield[4096]; strcpy(szfield, delimited_column(sbuffer, delimiter, x)); if (more_general_field_type(str_to_fieldtype(szfield), columns[x].eType)) { columns[x].eType = str_to_fieldtype(szfield); columns[x].nWidth = 2; columns[x].nDecimals = 0; fseek(csv_f, 0, SEEK_SET); IGNORE_FGETS_RET_VAL(fgets(sbuffer, 4000, csv_f)); strip_crlf(sbuffer); continue; } if (columns[x].nWidth < str_to_nwidth(szfield, columns[x].eType)) { columns[x].nWidth = str_to_nwidth(szfield, columns[x].eType); } if (FTDouble == columns[x].eType && columns[x].nDecimals < str_to_ndecimals(szfield)) { columns[x].nDecimals = str_to_ndecimals(szfield); } } } printf("Initializing output files...\n"); SHPHandle shp_h = SHPCreate(argv[3], SHPT_POINT); DBFHandle dbf_h = DBFCreate(argv[3]); if (NULL == dbf_h) { fprintf(stderr, "DBFCreate failed\n"); SHPClose(shp_h); fclose(csv_f); exit(EXIT_FAILURE); } fseek(csv_f, 0, SEEK_SET); IGNORE_FGETS_RET_VAL(fgets(sbuffer, 4000, csv_f)); strip_crlf(sbuffer); for (int x = 0; x <= n_columns; x++) { #ifdef DEBUG printf( "debug: final: column %i, type = %i, w = %i, d = %i, name=|%s|\n", x, columns[x].eType, columns[x].nWidth, columns[x].nDecimals, delimited_column(sbuffer, delimiter, x)); #endif if (-1 == DBFAddField(dbf_h, delimited_column(sbuffer, delimiter, x), columns[x].eType, columns[x].nWidth, columns[x].nDecimals)) { fprintf(stderr, "DBFFieldAdd failed column %i\n", x + 1); SHPClose(shp_h); DBFClose(dbf_h); fclose(csv_f); exit(EXIT_FAILURE); } } printf("Writing data...\n"); fseek(csv_f, 0, SEEK_SET); IGNORE_FGETS_RET_VAL(fgets(sbuffer, 4000, csv_f)); /* skip header */ strip_crlf(sbuffer); n_columns = strnchr(sbuffer, delimiter); n_line = 1; while (!feof(csv_f)) { n_line++; IGNORE_FGETS_RET_VAL(fgets(sbuffer, 4000, csv_f)); strip_crlf(sbuffer); /* write to shape file */ double x_pt = atof(delimited_column(sbuffer, delimiter, n_longitude)); double y_pt = atof(delimited_column(sbuffer, delimiter, n_latitude)); #ifdef DEBUG printf("debug: sbuffer=%s", sbuffer); printf("debug: x,y = %f, %f\n", x_pt, y_pt); #endif SHPObject *shp = SHPCreateSimpleObject(SHPT_POINT, 1, &x_pt, &y_pt, NULL); const int shp_i = SHPWriteObject(shp_h, -1, shp); SHPDestroyObject(shp); /* write to dbf */ for (int x = 0; x <= n_columns; x++) { char szfield[4096]; strcpy(szfield, delimited_column(sbuffer, delimiter, x)); int b; switch (columns[x].eType) { case FTInteger: b = DBFWriteIntegerAttribute(dbf_h, shp_i, x, atoi(szfield)); break; case FTDouble: b = DBFWriteDoubleAttribute(dbf_h, shp_i, x, atof(szfield)); break; case FTString: b = DBFWriteStringAttribute(dbf_h, shp_i, x, szfield); break; default: fprintf(stderr, "unexpected column type %i in column %i\n", columns[x].eType, x); } if (!b) { fprintf(stderr, "DBFWrite*Attribute failed\n"); SHPClose(shp_h); DBFClose(dbf_h); fclose(csv_f); exit(EXIT_FAILURE); } } } fclose(csv_f); SHPClose(shp_h); DBFClose(dbf_h); return EXIT_SUCCESS; } shapelib-1.6.1/contrib/shpdata.c0000664000175000017500000000754214655412564013505 00000000000000/****************************************************************************** * Copyright (c) 1999, Carl Anderson * * this code is based in part on the earlier work of Frank Warmerdam * * 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. ****************************************************************************** * * shpdata.c - utility program for testing elements of the libraries */ #include #include #include "shapefil.h" #include "shpgeo.h" int main(int argc, char **argv) { if (argc < 2) { printf("shpdata shp_file \n"); return 1; } DBFHandle old_DBF = DBFOpen(argv[1], "rb"); if (old_DBF == NULL) { printf("Unable to open old DBF file:%s\n", argv[1]); return 1; } SHPHandle old_SHP = SHPOpen(argv[1], "rb"); if (old_SHP == NULL) { printf("Unable to open old shape files:%s\n", argv[1]); DBFClose(old_DBF); return 1; } int nEntities; int nShapeType; SHPGetInfo(old_SHP, &nEntities, &nShapeType, NULL, NULL); int byRing = 1; PT ringCentrd; for (int i = 0; i < nEntities; i++) { SHPObject *psCShape = SHPReadObject(old_SHP, i); if (byRing == 1) { // const int prevStart = psCShape->nVertices; for (int ring = (psCShape->nParts - 1); ring >= 0; ring--) { const int rStart = psCShape->panPartStart[ring]; int numVtx; if (ring == (psCShape->nParts - 1)) { numVtx = psCShape->nVertices - rStart; } else { numVtx = psCShape->panPartStart[ring + 1] - rStart; } printf("(shpdata) Ring(%d) (%d for %d) \n", ring, rStart, numVtx); SHPObject *psO = SHPClone(psCShape, ring, ring + 1); const int ringDir = SHPRingDir_2d(psO, 0); double ringArea = RingArea_2d( psO->nVertices, (double *)psO->padfX, (double *)psO->padfY); RingCentroid_2d(psO->nVertices, (double *)psO->padfX, (double *)psO->padfY, &ringCentrd, &ringArea); printf("(shpdata) Ring %d, %f Area %d dir \n", ring, ringArea, ringDir); SHPDestroyObject(psO); printf("(shpdata) End Ring \n"); } /* (ring) [0,nParts */ } /* by ring */ const double oArea = SHPArea_2d(psCShape); const double oLen = SHPLength_2d(psCShape); const PT oCentrd = SHPCentrd_2d(psCShape); printf("(shpdata) Part (%d) %f Area %f length, C (%f,%f)\n", i, oArea, oLen, oCentrd.x, oCentrd.y); } DBFClose(old_DBF); SHPClose(old_SHP); printf("\n"); return EXIT_SUCCESS; } shapelib-1.6.1/contrib/ShapeFileII.pas0000664000175000017500000002257714526370352014504 00000000000000{ /****************************************************************************** * * Project: Shapelib * Purpose: Delphi Pascal interface to Shapelib. * Author: Kevin Meyer (Kevin@CyberTracker.co.za) * ****************************************************************************** * Copyright (c) 2002, Keven Meyer (Kevin@CyberTracker.co.za) * * SPDX-License-Identifier: MIT OR LGPL-2.0-or-later ****************************************************************************** * */ } unit ShapeFileII; interface //uses { uses clause } // ; { Set compiler to pack on byte boundaries only } {$ALIGN OFF} {$OVERFLOWCHECKS OFF} {$J-} const SHPT_NULL = 0; SHPT_POINT = 1; SHPT_ARC = 3; SHPT_POLYGON = 5; SHPT_MULTIPOINT = 8; SHPT_POINTZ = 11; SHPT_ARCZ = 13; SHPT_POLYGONZ = 15; SHPT_MULTIPOINTZ = 18; SHPT_POINTM = 21; SHPT_ARCM = 23; SHPT_POLYGONM = 25; SHPT_MULTIPOINTM = 28; SHPT_MULTIPATCH = 31; XBASE_FLDHDR_SZ = 32; szAccessBRW = 'rb+'; // *********************** SHP support ************************ type SHPObject = record nSHPType, nShapeId, nParts : LongWord; panPartStart, panPartType : array of LongWord; nVertices : LongWord; padfX, padfY, padfZ, padfM : array of double; dfXMin, dfYMin, dfZMin, dfMMin : double; dfXMax, dfYMax, dfZMax, dfMMax : double; end; SHPObjectHandle = ^SHPObject; SHPBoundsArr = double; SHPInfo = record fpSHP, fpSHX : integer; nShapeType, nFileSize, nRecords, nMaxRecords : LongWord; panRecOffset, panRecSize : array of LongWord; adBoundsMin, adBoundsMax : SHPBoundsArr; bUpdated : LongWord; end; SHPHandle = ^SHPInfo; // *********************** DBF support ************************ DBFInfo = record fp : FILE; nRecords, nRecordLength, nHeaderLength, nFields : LongWord; panFieldOffset, panFieldSize, panFieldDecimals : array of LongWord; pachFieldType : LongWord; pszHeader : PChar; nCurrentRecord, bCurrentRecordModified : LongWord; pszCurrentRecord : PChar; bNoHeader, bUpdated : LongWord; end; DBFHandle = ^DBFInfo; DBFFieldType = (DBFTString, DBFTInteger, DBFTDouble, DBFTInvalid) ; // *********************** SHP func declarations ************************ {$ALIGN ON} function SHPOpen(pszShapeFile, pszAccess : PChar) : SHPHandle;cdecl; procedure SHPGetInfo(hSHP : SHPHandle; var pnEntities, pnShapeType : LongWord; var padfMinBoud, padfMaxBound : SHPBoundsArr);cdecl; procedure SHPClose(hSHP : SHPHandle);cdecl; function SHPReadObject(hSHP : SHPHandle; iShape : LongWord): SHPObjectHandle;cdecl; function SHPCreate(pszShapeFile : PChar; nShapeType : LongWord):SHPHandle;cdecl; function SHPWriteObject(hSHP : SHPHandle; iShape : LongWord; psObject : SHPObjectHandle): LongWord;cdecl; function SHPCreateSimpleObject(nSHPType, nVertices : LongWord; var padfX, padfY, padfZ : double):SHPObjectHandle;cdecl; procedure SHPDestroy(psObject : SHPObjectHandle);cdecl; procedure SHPComputeExtents(psObject : SHPObjectHandle);cdecl; function SHPCreateObject(nSHPType, iShape, nParts : LongWord; var panPartStart, panPartType : LongWord; nVertices : LongWord; var padfX, padfY, padfZ, padfM : SHPBoundsArr): SHPObjectHandle;cdecl; function SHPTypeStr(pnShapeType : LongWord): string; // *********************** DBF func declarations ************************ function DBFOpen(pszDBFFile, pszAccess : PChar): DBFHandle;cdecl; function DBFCreate(pszDBFFile : PChar): DBFHandle ;cdecl; function DBFGetFieldCount(hDBF : DBFHandle) : LongWord ;cdecl; function DBFGetRecordCount(hDBF : DBFHandle) : LongWord;cdecl; function DBFGetFieldIndex(hDBF: DBFHandle; pszFieldName : PChar): LongWord;cdecl; function DBFGetFieldInfo(hDBF : DBFHandle; iField : LongWord; pszFieldName : PChar; var pnWidth, pnDecimals : LongWord): DBFFieldType;cdecl; function DBFAddField(hDBF : DBFHandle; pszFieldName : PChar; eType : DBFFieldType; nWidth, nDecimals : LongWord): LongWord;cdecl; function DBFReadIntegerAttribute(hDBF : DBFHandle;iShape, iField : LongWord ): LongWord;cdecl; function DBFReadDoubleAttribute(hDBF : DBFHandle; iShape, iField : LongWord ):double;cdecl; function DBFReadStringAttribute(hDBF : DBFHandle; iShape, iField : LongWord ) : pchar;cdecl; function DBFIsAttributeNULL(hDBF : DBFHandle; iShape, iField : LongWord ): LongWord;cdecl; function DBFWriteIntegerAttribute(hDBF : DBFHandle;iShape, iField, nFieldValue : LongWord): LongWord;cdecl; function DBFWriteDoubleAttribute(hDBF : DBFHandle;iShape, iField : LongWord; dFieldValue : double): LongWord ;cdecl; function DBFWriteStringAttribute(hDBF : DBFHandle;iShape, iField : LongWord; pszFieldValue : PChar): LongWord ;cdecl; function DBFWriteNULLAttribute(hDBF : DBFHandle; iShape, iField : LongWord ) : LongWord;cdecl; procedure DBFClose(hDBF : DBFHandle);cdecl; function DBFGetNativeFieldType(hDBF : DBFHandle; iField : LongWord) : Char;cdecl; // *********************** SHP implementation ************************ implementation // ***************************************************************************** function SHPCreateSimpleObject(nSHPType, nVertices : LongWord; var padfX, padfY, padfZ : double):SHPObjectHandle;external 'shapelib.dll' name 'SHPCreateSimpleObject'; function SHPOpen(pszShapeFile, pszAccess : PChar) : SHPHandle; external 'shapelib.dll' name 'SHPOpen'; procedure SHPGetInfo(hSHP : SHPHandle; var pnEntities, pnShapeType : LongWord; var padfMinBoud, padfMaxBound : SHPBoundsArr);external 'shapelib.dll' name 'SHPGetInfo'; procedure SHPClose(hSHP : SHPHandle);external 'shapelib.dll' name 'SHPClose'; function SHPReadObject(hSHP : SHPHandle; iShape : LongWord) : SHPObjectHandle;external 'shapelib.dll' name 'SHPReadObject'; function SHPCreate(pszShapeFile : PChar; nShapeType : LongWord):SHPHandle;external 'shapelib.dll' name 'SHPCreate'; function SHPWriteObject(hSHP : SHPHandle; iShape : LongWord; psObject : SHPObjectHandle): LongWord;cdecl;external 'shapelib.dll' name 'SHPWriteObject'; procedure SHPDestroy(psObject : SHPObjectHandle);external 'shapelib.dll' name 'SHPDestroyObject'; procedure SHPComputeExtents(psObject : SHPObjectHandle);external 'shapelib.dll' name 'SHPComputeExtents'; function SHPCreateObject(nSHPType, iShape, nParts : LongWord; var panPartStart, panPartType : LongWord; nVertices : LongWord; var padfX, padfY, padfZ, padfM : SHPBoundsArr): SHPObjectHandle;external 'shapelib.dll' name 'SHPCreateObject'; // ***************************************************************************** function SHPTypeStr(pnShapeType : LongWord): string; begin case pnShapeType of SHPT_NULL : result := 'NULL'; SHPT_POINT : result := 'POINT'; SHPT_ARC : result := 'ARC'; SHPT_POLYGON : result := 'POLYGON'; SHPT_MULTIPOINT : result := 'MULTIPOINT'; SHPT_POINTZ : result := 'POINTZ'; SHPT_ARCZ : result := 'ARCZ'; SHPT_POLYGONZ : result := 'POLYGONZ'; SHPT_MULTIPOINTZ : result := 'MULTIPOINTZ'; SHPT_POINTM : result := 'POINTM'; SHPT_ARCM : result := 'ARCM'; SHPT_POLYGONM : result := 'POLYGONM'; SHPT_MULTIPOINTM : result := 'MULTIPOINTM'; SHPT_MULTIPATCH : result := 'MULTIPATCH'; else result := '--unknown--'; end; end; // ***************************************************************************** // ***************************************************************************** function DBFOpen(pszDBFFile, pszAccess : PChar): DBFHandle;external 'shapelib.dll'; function DBFCreate(pszDBFFile : PChar): DBFHandle ;external 'shapelib.dll'; function DBFGetFieldCount(hDBF : DBFHandle) : LongWord ;external 'shapelib.dll'; function DBFGetRecordCount(hDBF : DBFHandle) : LongWord;external 'shapelib.dll'; function DBFGetFieldIndex(hDBF: DBFHandle; pszFieldName : PChar): LongWord;external 'shapelib.dll'; function DBFGetFieldInfo(hDBF : DBFHandle; iField : LongWord; pszFieldName : PChar; var pnWidth, pnDecimals : LongWord): DBFFieldType;external 'shapelib.dll'; function DBFAddField(hDBF : DBFHandle; pszFieldName : PChar; eType : DBFFieldType; nWidth, nDecimals : LongWord): LongWord;external 'shapelib.dll'; function DBFReadIntegerAttribute(hDBF : DBFHandle;iShape, iField : LongWord ): LongWord;external 'shapelib.dll'; function DBFReadDoubleAttribute(hDBF : DBFHandle; iShape, iField : LongWord ):double;external 'shapelib.dll'; function DBFReadStringAttribute(hDBF : DBFHandle; iShape, iField : LongWord ) : pchar;external 'shapelib.dll'; function DBFIsAttributeNULL(hDBF : DBFHandle; iShape, iField : LongWord ): LongWord;external 'shapelib.dll'; function DBFWriteIntegerAttribute(hDBF : DBFHandle;iShape, iField, nFieldValue : LongWord): LongWord;external 'shapelib.dll'; function DBFWriteDoubleAttribute(hDBF : DBFHandle;iShape, iField : LongWord; dFieldValue : double): LongWord ;external 'shapelib.dll'; function DBFWriteStringAttribute(hDBF : DBFHandle;iShape, iField : LongWord; pszFieldValue : PChar): LongWord ;external 'shapelib.dll'; function DBFWriteNULLAttribute(hDBF : DBFHandle; iShape, iField : LongWord ) : LongWord;external 'shapelib.dll'; procedure DBFClose(hDBF : DBFHandle);external 'shapelib.dll'; function DBFGetNativeFieldType(hDBF : DBFHandle; iField : LongWord) : Char;external 'shapelib.dll'; // ***************************************************************************** end. shapelib-1.6.1/contrib/shpfix.c0000664000175000017500000000560414520144141013337 00000000000000/****************************************************************************** * Copyright (c) 1999, Carl Anderson * * This code is based in part on the earlier work of Frank Warmerdam * * 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. ****************************************************************************** * shpfix * * Utility program to fix nulls and inconsistencies in Shapefiles * as happens from time to time * * Simply load and rewrite each record, parameter fixrex allow user to null * a particularly nasty record if needed * */ #include #include #include #include "shapefil.h" int main(int argc, char **argv) { if (argc <= 3) { printf("shpfix shpfile new_file \n"); return EXIT_FAILURE; } const int fix_rec = atoi(argv[3]) - 1; // Open the passed shapefile. SHPHandle hSHP = SHPOpen(argv[1], "rb+"); if (hSHP == NULL) { printf("Unable to open source: %s\n", argv[1]); return EXIT_FAILURE; } int nEntities; int nShapeType; SHPGetInfo(hSHP, &nEntities, &nShapeType, NULL, NULL); // Open the passed shapefile. SHPHandle cSHP = SHPCreate(argv[2], nShapeType); if (cSHP == NULL) { printf("Unable to create destination: %s\n", argv[2]); SHPClose(hSHP); return EXIT_FAILURE; } int cShapeType; double adBounds[4]; SHPGetInfo(cSHP, NULL, &cShapeType, &(adBounds[0]), &(adBounds[2])); // Skim over the list of shapes, printing all the vertices. for (int i = 0; i < nEntities; i++) { SHPObject *shape = SHPReadObject(hSHP, i); if (i == fix_rec) { shape->nParts = 0; shape->nVertices = 0; } SHPWriteObject(cSHP, -1, shape); SHPDestroyObject(shape); } SHPClose(hSHP); SHPClose(cSHP); return EXIT_SUCCESS; } shapelib-1.6.1/contrib/shpcentrd.c0000664000175000017500000001053414573117332014040 00000000000000/****************************************************************************** * Copyright (c) 1999, Carl Anderson * * this code is based in part on the earlier work of Frank Warmerdam * * 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. ****************************************************************************** * * shpcentrd.c - compute XY centroid for complex shapes * and create a new SHPT_PT file of then * specifically undo compound objects but not complex ones */ /* the centroid is defined as * * Cx = sum (x dArea ) / Total Area * and * Cy = sum (y dArea ) / Total Area */ #include #include #include #include "shapefil.h" #include "shpgeo.h" int main(int argc, char **argv) { if (argc < 3) { printf("shpcentrd shp_file new_shp_file\n"); return 1; } DBFHandle old_DBF = DBFOpen(argv[1], "rb"); if (old_DBF == NULL) { printf("Unable to DBFOpen old files:%s\n", argv[1]); return 1; } SHPHandle old_SHP = SHPOpen(argv[1], "rb"); if (old_SHP == NULL) { printf("Unable to SHPOpen old files:%s\n", argv[1]); DBFClose(old_DBF); return 1; } int nEntities; int nShapeType; SHPGetInfo(old_SHP, &nEntities, &nShapeType, NULL, NULL); DBFHandle new_DBF = DBFCloneEmpty(old_DBF, argv[2]); if (new_DBF == NULL) { printf("Unable to create dbf for new files:%s\n", argv[2]); DBFClose(old_DBF); SHPClose(old_SHP); return 1; } SHPHandle new_SHP = SHPCreate(argv[2], SHPT_POINT); if (new_SHP == NULL) { printf("Unable to create new files:%s\n", argv[2]); DBFClose(old_DBF); SHPClose(old_SHP); DBFClose(new_DBF); return 1; } char *DBFRow = (char *)malloc((old_DBF->nRecordLength) + 15); int byRing = 1; for (int i = 0; i < nEntities; i++) { const SHPObject *psCShape = SHPReadObject(old_SHP, i); if (byRing == 1) { for (int ring = 0; ring < psCShape->nParts; ring++) { SHPObject *psO = SHPClone(psCShape, ring, ring + 1); PT Centrd = SHPCentrd_2d(psO); SHPObject *cent_pt; cent_pt = SHPCreateSimpleObject(SHPT_POINT, 1, (double *)&(Centrd.x), (double *)&(Centrd.y), NULL); SHPWriteObject(new_SHP, -1, cent_pt); memcpy(DBFRow, DBFReadTuple(old_DBF, i), old_DBF->nRecordLength); DBFWriteTuple(new_DBF, new_DBF->nRecords, DBFRow); SHPDestroyObject(cent_pt); SHPDestroyObject(psO); } } else { PT Centrd = SHPCentrd_2d(psCShape); SHPObject *cent_pt = SHPCreateSimpleObject(SHPT_POINT, 1, (double *)&(Centrd.x), (double *)&(Centrd.y), NULL); SHPWriteObject(new_SHP, -1, cent_pt); memcpy(DBFRow, DBFReadTuple(old_DBF, i), old_DBF->nRecordLength); DBFWriteTuple(new_DBF, new_DBF->nRecords, DBFRow); SHPDestroyObject(cent_pt); } } printf("\n"); DBFClose(old_DBF); SHPClose(old_SHP); DBFClose(new_DBF); SHPClose(new_SHP); return EXIT_SUCCESS; } shapelib-1.6.1/contrib/shpdxf.c0000664000175000017500000002340514573117332013343 00000000000000/****************************************************************************** * Copyright (c) 1999, Carl Anderson * * This code is based in part on the earlier work of Frank Warmerdam * * 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. ****************************************************************************** * * derived from a ESRI Avenue Script * and DXF specification from AutoCad 3 (yes 1984) */ #include #include #include #include "shapefil.h" const char FLOAT_PREC[] = "%16.5f\r\n"; static void dxf_hdr(double x1, double y1, double x2, double y2, FILE *df) { // Create HEADER section fprintf(df, " 0\r\n"); fprintf(df, "SECTION\r\n"); fprintf(df, " 2\r\n"); fprintf(df, "HEADER\r\n"); fprintf(df, " 9\r\n"); fprintf(df, "$EXTMAX\r\n"); fprintf(df, " 10\r\n"); fprintf(df, FLOAT_PREC, x2); fprintf(df, " 20\r\n"); fprintf(df, FLOAT_PREC, y2); fprintf(df, " 9\r\n"); fprintf(df, "$EXTMIN\r\n"); fprintf(df, " 10\r\n"); fprintf(df, FLOAT_PREC, x1); fprintf(df, " 20\r\n"); fprintf(df, FLOAT_PREC, y1); fprintf(df, " 9\r\n"); fprintf(df, "$LUPREC\r\n"); fprintf(df, " 70\r\n"); fprintf(df, " 14\r\n"); fprintf(df, " 0\r\n"); fprintf(df, "ENDSEC\r\n"); // Create TABLES section fprintf(df, " 0\r\n"); fprintf(df, "SECTION\r\n"); fprintf(df, " 2\r\n"); fprintf(df, "TABLES\r\n"); // Table 1 - set up line type fprintf(df, " 0\r\n"); fprintf(df, "TABLE\r\n"); fprintf(df, " 2\r\n"); fprintf(df, "LTYPE\r\n"); fprintf(df, " 70\r\n"); fprintf(df, "2\r\n"); // Entry 1 of Table 1 fprintf(df, " 0\r\n"); fprintf(df, "LTYPE\r\n"); fprintf(df, " 2\r\n"); fprintf(df, "CONTINUOUS\r\n"); fprintf(df, " 70\r\n"); fprintf(df, "64\r\n"); fprintf(df, " 3\r\n"); fprintf(df, "Solid line\r\n"); fprintf(df, " 72\r\n"); fprintf(df, "65\r\n"); fprintf(df, " 73\r\n"); fprintf(df, "0\r\n"); fprintf(df, " 40\r\n"); fprintf(df, "0.0\r\n"); fprintf(df, " 0\r\n"); fprintf(df, "ENDTAB\r\n"); // End of TABLES section fprintf(df, " 0\r\n"); fprintf(df, "ENDSEC\r\n"); // Create BLOCKS section fprintf(df, " 0\r\n"); fprintf(df, "SECTION\r\n"); fprintf(df, " 2\r\n"); fprintf(df, "BLOCKS\r\n"); fprintf(df, " 0\r\n"); fprintf(df, "ENDSEC\r\n"); fprintf(df, " 0\r\n"); fprintf(df, "SECTION\r\n"); fprintf(df, " 2\r\n"); fprintf(df, "ENTITIES\r\n"); } static void dxf_ent_preamble(int dxf_type, const char *id, FILE *df) { fprintf(df, " 0\r\n"); switch (dxf_type) { case SHPT_POLYGON: case SHPT_ARC: fprintf(df, "POLYLINE\r\n"); break; default: fprintf(df, "POINT\r\n"); } fprintf(df, " 8\r\n"); fprintf(df, "%s\r\n", id); switch (dxf_type) { case SHPT_ARC: fprintf(df, " 6\r\n"); fprintf(df, "CONTINUOUS\r\n"); fprintf(df, " 66\r\n"); fprintf(df, "1\r\n"); break; case SHPT_POLYGON: fprintf(df, " 6\r\n"); fprintf(df, "CONTINUOUS\r\n"); fprintf(df, " 66\r\n"); fprintf(df, "1\r\n"); fprintf(df, " 70\r\n"); fprintf(df, "1\r\n"); default: break; } } static void dxf_ent(const char *id, double x, double y, double z, int dxf_type, FILE *df) { if ((dxf_type == SHPT_ARC) || (dxf_type == SHPT_POLYGON)) { fprintf(df, " 0\r\n"); fprintf(df, "VERTEX\r\n"); fprintf(df, " 8\r\n"); fprintf(df, "%s\r\n", id); } fprintf(df, " 10\r\n"); fprintf(df, FLOAT_PREC, x); fprintf(df, " 20\r\n"); fprintf(df, FLOAT_PREC, y); fprintf(df, " 30\r\n"); if (z != 0) fprintf(df, FLOAT_PREC, z); else fprintf(df, "0.0\r\n"); } static void dxf_ent_postamble(int dxf_type, FILE *df) { if ((dxf_type == SHPT_ARC) || (dxf_type == SHPT_POLYGON)) fprintf(df, " 0\r\nSEQEND\r\n 8\r\n0\r\n"); } #define MAX_FILESIZE 80 int main(int argc, char **argv) { if (argc < 2) { printf("usage: shpdxf shapefile {idfield}\n"); return -1; } char *shpFileName = argv[1]; const size_t len = strlen(shpFileName); if (len < 5 || len > MAX_FILESIZE - 1) { // e.g. "a.shp" printf("shapefile name must be between 5 and %d characters\n", MAX_FILESIZE - 1); return EXIT_FAILURE; } char dbfFileName[MAX_FILESIZE] = ""; strncpy(dbfFileName, shpFileName, len - 3); strcat(dbfFileName, "dbf"); char dxfFileName[MAX_FILESIZE] = ""; strncpy(dxfFileName, shpFileName, len - 3); strcat(dxfFileName, "dxf"); DBFHandle dbf = DBFOpen(dbfFileName, "rb"); if (dbf == NULL) { printf("Unable to open dbf: %s\n", dbfFileName); return EXIT_FAILURE; } SHPHandle shp = SHPOpen(shpFileName, "rb"); if (shp == NULL) { printf("Unable to open shp: %s\n", shpFileName); DBFClose(dbf); return EXIT_FAILURE; } FILE *dxf = fopen(dxfFileName, "w"); if (dxf == NULL) { printf("Unable to open dxf: %s\n", dxfFileName); DBFClose(dbf); SHPClose(shp); return EXIT_FAILURE; } printf("Starting conversion %s(%s) -> %s\r\n", shpFileName, dbfFileName, dxfFileName); int shp_numrec; int shp_type; double adfBoundsMin[4]; double adfBoundsMax[4]; SHPGetInfo(shp, &shp_numrec, &shp_type, adfBoundsMin, adfBoundsMax); printf("file has %d objects\r\n", shp_numrec); dxf_hdr(adfBoundsMin[0], adfBoundsMin[1], adfBoundsMax[0], adfBoundsMax[1], dxf); // Before proceeding, allow the user to specify the ID field to use or // default to the record number. unsigned int MaxElem = -1; if (argc > 3) MaxElem = atoi(argv[3]); const int nflds = DBFGetFieldCount(dbf); int idfld = -1; DBFFieldType idfld_type = FTInvalid; char fldName[15]; if (argc > 2) { char idfldName[15]; strcpy(idfldName, argv[2]); for (idfld = 0; idfld < nflds; idfld++) { idfld_type = DBFGetFieldInfo(dbf, idfld, fldName, NULL, NULL); if (!strcmp(idfldName, fldName)) break; } if (idfld >= nflds) { printf("Id field %s not found, using default\r\n", idfldName); idfld = -1; } else printf("proceeding with field %s for LayerNames\r\n", fldName); } int zfld = 0; for (; zfld < nflds; zfld++) { const char zfldName[6] = "ELEV"; DBFGetFieldInfo(dbf, zfld, fldName, NULL, NULL); if (!strcmp(zfldName, fldName)) break; } if (zfld >= nflds) zfld = -1; #ifdef DEBUG printf("proceeding with id = %d, elevation = %d\r\n", idfld, zfld); #endif char id[255]; // Proceed to process data. for (int recNum = 0; (recNum < shp_numrec) && (recNum < (int)MaxElem); recNum++) { if (idfld >= 0) switch (idfld_type) { case FTString: sprintf(id, "lvl_%s", DBFReadStringAttribute(dbf, recNum, idfld)); break; default: sprintf(id, "%-20.0lf", DBFReadDoubleAttribute(dbf, recNum, idfld)); } else sprintf(id, "lvl_%-20d", (recNum + 1)); double elev = 0.0; if (zfld < 0) { elev = DBFReadDoubleAttribute(dbf, recNum, zfld); } #ifdef DEBUG printf("\r\nworking on obj %d", recNum); #endif SHPObject *shape = SHPReadObject(shp, recNum); const int nVertices = shape->nVertices; const int *panParts = shape->panPartStart; int part = 0; for (int vrtx = 0; vrtx < nVertices; vrtx++) { #ifdef DEBUG printf("\rworking on part %d, vertex %d", part, vrtx); #endif if (panParts[part] == vrtx) { #ifdef DEBUG printf("object preamble\r\n"); #endif dxf_ent_preamble(shp_type, id, dxf); } dxf_ent(id, shape->padfX[vrtx], shape->padfY[vrtx], elev, shp_type, dxf); if (panParts[part] == (vrtx + 1) || vrtx == (nVertices - 1)) { dxf_ent_postamble(shp_type, dxf); part++; } } SHPDestroyObject(shape); } // close out DXF file fprintf(dxf, "0\r\n"); fprintf(dxf, "ENDSEC\r\n"); fprintf(dxf, "0\r\n"); fprintf(dxf, "EOF\r\n"); DBFClose(dbf); SHPClose(shp); fclose(dxf); return 0; } shapelib-1.6.1/contrib/dbfcat.c0000664000175000017500000001227014625633764013302 00000000000000/* * Copyright (c) 1995 Frank Warmerdam * * This code is in the public domain. * */ #include #include #include #include "shapefil.h" int main(int argc, char **argv) { if (argc < 3) { printf("dbfcat [-v] [-f] from_DBFfile to_DBFfile\n"); exit(1); } int force = 0; int verbose = 0; int shift = 0; if (strcmp("-v", argv[1]) == 0) { shift = 1; verbose = 1; } if (strcmp("-f", argv[1 + shift]) == 0) { shift++; force = 1; } if (strcmp("-v", argv[1 + shift]) == 0) { shift++; verbose = 1; } DBFHandle hDBF = DBFOpen(argv[1 + shift], "rb"); if (hDBF == NULL) { printf("DBFOpen(%s,\"r\") failed for From_DBF.\n", argv[1 + shift]); exit(2); } DBFHandle cDBF = DBFOpen(argv[2 + shift], "rb+"); if (cDBF == NULL) { printf("DBFOpen(%s,\"rb+\") failed for To_DBF.\n", argv[2 + shift]); DBFClose(hDBF); exit(2); } const int hflds = DBFGetFieldCount(hDBF); if (hflds == 0) { printf("There are no fields in this table!\n"); DBFClose(hDBF); DBFClose(cDBF); exit(3); } const int cflds = DBFGetFieldCount(cDBF); int matches = 0; int mismatch = 0; int nWidth; int nDecimals; char fld_m[256]; int cnWidth; int cnDecimals; const char type_names[6][15] = {"string", "integer", "double", "logical", "date", "invalid"}; for (int i = 0; i < hflds; i++) { char szTitle[XBASE_FLDNAME_LEN_READ + 1]; const DBFFieldType hType = DBFGetFieldInfo(hDBF, i, szTitle, &nWidth, &nDecimals); char cname[XBASE_FLDNAME_LEN_READ + 1]; fld_m[i] = -1; for (int j = 0; j < cflds; j++) { const DBFFieldType cType = DBFGetFieldInfo(cDBF, j, cname, &cnWidth, &cnDecimals); if (strcmp(cname, szTitle) == 0) { if (hType != cType) { fprintf(stderr, "Incompatible fields %s(%s) != %s(%s),\n", type_names[hType], szTitle, type_names[cType], cname); mismatch = 1; } fld_m[i] = j; if (verbose) { printf("%s %s(%d,%d) <- %s %s(%d,%d)\n", cname, type_names[cType], cnWidth, cnDecimals, szTitle, type_names[hType], nWidth, nDecimals); } j = cflds; matches = 1; } } } if ((matches == 0) && !force) { fprintf( stderr, "ERROR: No field names match for tables, cannot proceed\n use " "-f to force processing using blank records\n"); DBFClose(hDBF); DBFClose(cDBF); exit(-1); } if (mismatch && !force) { fprintf( stderr, "ERROR: field type mismatch cannot proceed\n use -f to force " "processing using attempted conversions\n"); DBFClose(hDBF); DBFClose(cDBF); exit(-1); } const int nRecords = DBFGetRecordCount(cDBF); for (int iRecord = 0; iRecord < DBFGetRecordCount(hDBF); iRecord++) { if (DBFIsRecordDeleted(hDBF, iRecord)) { continue; } const int ciRecord = DBFGetRecordCount(cDBF); for (int i = 0; i < hflds; i++) { const int ci = fld_m[i]; if (ci != -1) { char cTitle[XBASE_FLDNAME_LEN_READ + 1]; const DBFFieldType cType = DBFGetFieldInfo(cDBF, ci, cTitle, &cnWidth, &cnDecimals); switch (cType) { case FTString: DBFWriteStringAttribute( cDBF, ciRecord, ci, DBFReadStringAttribute(hDBF, iRecord, i)); break; case FTLogical: case FTDate: DBFWriteAttributeDirectly( cDBF, ciRecord, ci, DBFReadStringAttribute(hDBF, iRecord, i)); break; case FTInteger: DBFWriteIntegerAttribute( cDBF, ciRecord, ci, DBFReadIntegerAttribute(hDBF, iRecord, i)); break; case FTDouble: DBFWriteDoubleAttribute( cDBF, ciRecord, ci, DBFReadDoubleAttribute(hDBF, iRecord, i)); break; case FTInvalid: break; } } } /* fields names match */ } if (verbose) { const int ncRecords = DBFGetRecordCount(cDBF) - nRecords; printf(" %d record%s appended\n\n", ncRecords, ncRecords == 1 ? "" : "s"); } DBFClose(hDBF); DBFClose(cDBF); return (0); } shapelib-1.6.1/contrib/shpcat.c0000664000175000017500000000673714520144141013330 00000000000000/****************************************************************************** * Copyright (c) 1999, Carl Anderson * * This code is based in part on the earlier work of Frank Warmerdam * * 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. ****************************************************************************** * * shpcat * * Utility program to concatenate two shapefiles * Must be used in concert with dbfcat * */ #include #include #include #include "shapefil.h" int main(int argc, char **argv) { /* -------------------------------------------------------------------- */ /* Display a usage message. */ /* -------------------------------------------------------------------- */ if (argc != 3) { printf("shpcat from_shpfile to_shpfile\n"); return 1; } /* -------------------------------------------------------------------- */ /* Open the passed shapefile. */ /* -------------------------------------------------------------------- */ SHPHandle hSHP = SHPOpen(argv[1], "rb"); if (hSHP == NULL) { printf("Unable to open:%s\n", argv[1]); return 1; } int nEntities; int nShapeType; SHPGetInfo(hSHP, &nEntities, &nShapeType, NULL, NULL); fprintf(stderr, "Opened From File %s, with %d shapes\n", argv[1], nEntities); /* -------------------------------------------------------------------- */ /* Open the passed shapefile. */ /* -------------------------------------------------------------------- */ SHPHandle cSHP = SHPOpen(argv[2], "rb+"); if (cSHP == NULL) { printf("Unable to open:%s\n", argv[2]); SHPClose(hSHP); return 1; } int nShpInFile; SHPGetInfo(cSHP, &nShpInFile, NULL, NULL, NULL); fprintf(stderr, "Opened to file %s with %d shapes, ready to add %d\n", argv[2], nShpInFile, nEntities); /* -------------------------------------------------------------------- */ /* Skim over the list of shapes, printing all the vertices. */ /* -------------------------------------------------------------------- */ for (int i = 0; i < nEntities; i++) { SHPObject *shape = SHPReadObject(hSHP, i); SHPWriteObject(cSHP, -1, shape); SHPDestroyObject(shape); } SHPClose(hSHP); SHPClose(cSHP); return 0; } shapelib-1.6.1/contrib/Shape_PointInPoly.cpp0000664000175000017500000001432414625633764015765 00000000000000/****************************************************************************** * * Project: Shapelib * Purpose: Commandline program to generate points-in-polygons from a * shapefile as a shapefile. * Author: Marko Podgorsek, d-mon@siol.net * ****************************************************************************** * Copyright (c) 2004, Marko Podgorsek, d-mon@siol.net * * SPDX-License-Identifier: MIT OR LGPL-2.0-or-later ****************************************************************************** * */ #include #include #include #include #define MAXINTERSECTIONPOINTS 255 enum loopDir { kExterior, kInterior, kError }; struct DPoint2d { DPoint2d() { x = y = 0.0; }; DPoint2d(double x, double y) { this->x = x; this->y = y; }; double x, y; }; struct IntersectPoint { IntersectPoint(void) { x = y = 0.0; boundry_nmb = 0; loopdirection = kError; }; double x, y; int boundry_nmb; loopDir loopdirection; }; static loopDir LoopDirection(DPoint2d *vertices, int vertsize) { int i; double sum = 0.0; for (i = 0; i < vertsize - 1; i++) { sum += (vertices[i].x * vertices[i + 1].y) - (vertices[i].y * vertices[i + 1].x); } if (sum > 0) return kInterior; else return kExterior; } static DPoint2d CreatePointInPoly(SHPObject *psShape, int quality) { int i, j, k, end, vert; double part, dx, xmin, xmax, ymin, ymax, x3, x4, y3, y4, len, maxlen = 0; DPoint2d *vertices; loopDir direction; IntersectPoint mp1, mp2, point1, point2, points[MAXINTERSECTIONPOINTS]; xmin = psShape->dfXMin; ymin = psShape->dfYMin; xmax = psShape->dfXMax; ymax = psShape->dfYMax; part = (ymax - ymin) / (quality + 1); dx = xmax - xmin; for (i = 0; i < quality; i++) { const double y = ymin + part * (i + 1); int pointpos = 0; for (j = 0; j < psShape->nParts; j++) { if (j == psShape->nParts - 1) end = psShape->nVertices; else end = psShape->panPartStart[j + 1]; vertices = new DPoint2d[end - psShape->panPartStart[j]]; for (k = psShape->panPartStart[j], vert = 0; k < end; k++) { vertices[vert].x = psShape->padfX[k]; vertices[vert++].y = psShape->padfY[k]; } direction = LoopDirection(vertices, vert); for (k = 0; k < vert - 1; k++) { y3 = vertices[k].y; y4 = vertices[k + 1].y; if ((y3 >= y && y4 < y) || (y3 <= y && y4 > y)) //I check >= only once, because if it's not checked now (y3) it will be in the next iteration (which is y4 now) { point1.boundry_nmb = j; point1.loopdirection = direction; x3 = vertices[k].x; x4 = vertices[k + 1].x; if (y3 == y) { point1.y = y3; point1.x = x3; if (direction == kInterior) //add point 2 times if the direction is interior, so that the final count of points is even { points[pointpos++] = point1; } } else { point1.x = xmin + (((((x4 - x3) * (y - y3)) - ((y4 - y3) * (xmin - x3))) / ((y4 - y3) * dx)) * dx); //striped down calculation of intersection of 2 lines point1.y = y; } points[pointpos++] = point1; } } delete[] vertices; } for (j = 1; j < pointpos; j++) //sort the found intersection points by x value { for (k = j; k > 0; k--) { if (points[k].x < points[k - 1].x) { point1 = points[k]; points[k] = points[k - 1]; points[k - 1] = point1; } else { break; } } } for (j = 0; j < pointpos - 1; j++) { point1 = points[j]; point2 = points[j + 1]; if ((point1.loopdirection == kExterior && //some checkings for valid point point2.loopdirection == kExterior && point1.boundry_nmb == point2.boundry_nmb && j % 2 == 0) || (point1.loopdirection == kExterior && point2.loopdirection == kInterior) || (point1.loopdirection == kInterior && point2.loopdirection == kExterior)) { len = sqrt(pow(point1.x - point2.x, 2) + pow(point1.y - point2.y, 2)); if (len >= maxlen) { maxlen = len; mp1 = point1; mp2 = point2; } } } } return DPoint2d((mp1.x + mp2.x) * 0.5, (mp1.y + mp2.y) * 0.5); } int main(int argc, char *argv[]) { if (argc != 3) { printf("Usage: %s shpfile_path quality\n", argv[0]); return 1; } int i, nEntities, quality; SHPHandle hSHP; DPoint2d pt; quality = atoi(argv[2]); hSHP = SHPOpen(argv[1], "rb"); SHPGetInfo(hSHP, &nEntities, NULL, NULL, NULL); printf("PointInPoly v1.0, by Marko Podgorsek\n----------------\n"); for (i = 0; i < nEntities; i++) { SHPObject *psShape = SHPReadObject(hSHP, i); if (psShape->nSHPType == SHPT_POLYGON) { pt = CreatePointInPoly(psShape, quality); printf("%d: x=%f y=%f\n", i, pt.x, pt.y); } SHPDestroyObject(psShape); } SHPClose(hSHP); return 0; } shapelib-1.6.1/contrib/shpwkb.c0000664000175000017500000000732514655412564013356 00000000000000/****************************************************************************** * Copyright (c) 1999, Carl Anderson * * this code is based in part on the earlier work of Frank Warmerdam * * 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. ****************************************************************************** * * shpwkb.c - test WKB binary Input / Output */ #include #include #include "shapefil.h" #include "shpgeo.h" int main(int argc, char **argv) { if (argc < 3) { printf("shpwkb shp_file wkb_file\n"); return EXIT_FAILURE; } DBFHandle old_DBF = DBFOpen(argv[1], "rb"); if (old_DBF == NULL) { printf("Unable to open old dbf: %s\n", argv[1]); return EXIT_FAILURE; } SHPHandle old_SHP = SHPOpen(argv[1], "rb"); if (old_SHP == NULL) { printf("Unable to open old shp: %s\n", argv[1]); DBFClose(old_DBF); return EXIT_FAILURE; } FILE *wkb_file = fopen(argv[2], "wb"); if (wkb_file == NULL) { printf("Unable to open wkb_file: %s\n", argv[2]); DBFClose(old_DBF); SHPClose(old_SHP); return EXIT_FAILURE; } WKBStreamObj *wkbObj = calloc(3, sizeof(int)); int nEntities; int nShapeType; SHPGetInfo(old_SHP, &nEntities, &nShapeType, NULL, NULL); int byRing = 0; for (int i = 0; i < nEntities; i++) { SHPObject *psCShape = SHPReadObject(old_SHP, i); if (byRing == 1) { // const int prevStart = psCShape->nVertices; for (int ring = (psCShape->nParts - 1); ring >= 0; ring--) { const int rStart = psCShape->panPartStart[ring]; int numVtx; if (ring == psCShape->nParts - 1) { numVtx = psCShape->nVertices - rStart; } else { numVtx = psCShape->panPartStart[ring + 1] - rStart; } printf("(shpdata) Ring(%d) (%d for %d)\n", ring, rStart, numVtx); SHPObject *psO = SHPClone(psCShape, ring, ring + 1); SHPDestroyObject(psO); printf("(shpdata) End Ring\n"); } // (ring) [0,nParts } // by ring printf("gonna build a wkb\n"); // const int res = SHPWriteOGisWKB(wkbObj, psCShape); printf("gonna write a wkb that is %d bytes long\n", wkbObj->StreamPos); fwrite((void *)wkbObj->wStream, 1, wkbObj->StreamPos, wkb_file); SHPDestroyObject(psCShape); } free(wkbObj); SHPClose(old_SHP); DBFClose(old_DBF); fclose(wkb_file); printf("\n"); return EXIT_SUCCESS; } shapelib-1.6.1/contrib/shpsort.c0000664000175000017500000004366614625633764013576 00000000000000/****************************************************************************** * Copyright (c) 2004, Eric G. Miller * * This code is based in part on the earlier work of Frank Warmerdam * * 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. ****************************************************************************** * shpsort * * Rewrite a shapefile sorted by a field or by the geometry. For polygons, * sort by area, for lines sort by length and do nothing for all others. */ #include #include #include #include #include #include "shapefil.h" enum FieldOrderEnum { DESCENDING, ASCENDING }; enum FieldTypeEnum { FIDType = -2, SHPType = -1, StringType = FTString, LogicalType = FTLogical, IntegerType = FTInteger, DoubleType = FTDouble }; struct DataUnion { int null; union { int i; double d; char *s; } u; }; struct DataStruct { int record; struct DataUnion *value; }; /* globals used in sorting, each element could have a pointer to a single data struct, but that's still nShapes pointers more memory. Alternatively, write a custom sort rather than using library qsort. */ int nFields; int *fldIdx; int *fldOrder; int *fldType; int shpType; int nShapes; // TODO(schwehr): Use strdup. static char *dupstr(const char *src) { char *dst = malloc(strlen(src) + 1); if (!dst) { fprintf(stderr, "%s:%d: malloc failed!\n", __FILE__, __LINE__); exit(EXIT_FAILURE); } char *cptr = dst; while ((*cptr++ = *src++)) ; return dst; } static char **split(const char *arg, const char *delim) { char *copy = dupstr(arg); char **result = NULL; int i = 0; for (char *cptr = strtok(copy, delim); cptr; cptr = strtok(NULL, delim)) { char **tmp = realloc(result, sizeof *result * (i + 1)); if (!tmp && result) { while (i > 0) { free(result[--i]); } free(result); free(copy); return NULL; } result = tmp; result[i++] = dupstr(cptr); } free(copy); if (i) { char **tmp = realloc(result, sizeof *result * (i + 1)); if (!tmp) { while (i > 0) { free(result[--i]); } free(result); return NULL; } result = tmp; result[i++] = NULL; } return result; } static void copy_related(const char *inName, const char *outName, const char *old_ext, const char *new_ext) { size_t name_len = strlen(inName); const size_t old_len = strlen(old_ext); const size_t new_len = strlen(new_ext); if (name_len < old_len) return; char *in = malloc(name_len - old_len + new_len + 1); memcpy(in, inName, name_len - old_len); strcpy(&in[(name_len - old_len)], new_ext); FILE *inFile = fopen(in, "rb"); if (!inFile) { free(in); return; } name_len = strlen(outName); char *out = malloc(name_len - old_len + new_len + 1); if (!out) { fprintf(stderr, "%s:%d: couldn't copy related file!\n", __FILE__, __LINE__); fclose(inFile); free(in); free(out); return; } memcpy(out, outName, (name_len - old_len)); strcpy(&out[(name_len - old_len)], new_ext); FILE *outFile = fopen(out, "wb"); int c; while ((c = fgetc(inFile)) != EOF) { fputc(c, outFile); } fclose(inFile); fclose(outFile); free(in); free(out); } #ifdef DEBUG static void PrintDataStruct(const struct DataStruct *data) { for (int i = 0; i < nShapes; i++) { printf("data[%d] {\n", i); printf("\t.record = %d\n", data[i].record); for (int j = 0; j < nFields; j++) { printf("\t.value[%d].null = %d\n", j, data[i].value[j].null); if (!data[i].value[j].null) { switch (fldType[j]) { case FIDType: case IntegerType: case LogicalType: printf("\t.value[%d].u.i = %d\n", j, data[i].value[j].u.i); break; case DoubleType: case SHPType: printf("\t.value[%d].u.d = %f\n", j, data[i].value[j].u.d); break; case StringType: printf("\t.value[%d].u.s = %s\n", j, data[i].value[j].u.s); break; } } } puts("}"); } } #endif static double length2d_polyline(int n, const double *x, const double *y) { double length = 0.0; for (int i = 1; i < n; i++) { length += sqrt((x[i] - x[i - 1]) * (x[i] - x[i - 1]) + (y[i] - y[i - 1]) * (y[i] - y[i - 1])); } return length; } static double shp_length(SHPObject *feat) { double length = 0.0; if (feat->nParts == 0) { length = length2d_polyline(feat->nVertices, feat->padfX, feat->padfY); } else { for (int part = 0; part < feat->nParts; part++) { int n; if (part < feat->nParts - 1) { n = feat->panPartStart[part + 1] - feat->panPartStart[part]; } else { n = feat->nVertices - feat->panPartStart[part]; } length += length2d_polyline(n, &(feat->padfX[feat->panPartStart[part]]), &(feat->padfY[feat->panPartStart[part]])); } } return length; } static double area2d_polygon(int n, const double *x, const double *y) { double area = 0; for (int i = 1; i < n; i++) { area += (x[i - 1] + x[i]) * (y[i] - y[i - 1]); } return area / 2.0; } static double shp_area(SHPObject *feat) { double area = 0.0; if (feat->nParts == 0) { area = area2d_polygon(feat->nVertices, feat->padfX, feat->padfY); } else { for (int part = 0; part < feat->nParts; part++) { int n; if (part < feat->nParts - 1) { n = feat->panPartStart[part + 1] - feat->panPartStart[part]; } else { n = feat->nVertices - feat->panPartStart[part]; } area += area2d_polygon(n, &(feat->padfX[feat->panPartStart[part]]), &(feat->padfY[feat->panPartStart[part]])); } } /* our area function computes in opposite direction */ return -area; } static int compare(const void *A, const void *B) { const struct DataStruct *a = A; const struct DataStruct *b = B; for (int i = 0; i < nFields; i++) { if (a->value[i].null && b->value[i].null) { continue; } if (a->value[i].null && !b->value[i].null) { return (fldOrder[i]) ? 1 : -1; } if (!a->value[i].null && b->value[i].null) { return (fldOrder[i]) ? -1 : 1; } switch (fldType[i]) { case FIDType: case IntegerType: case LogicalType: if (a->value[i].u.i < b->value[i].u.i) { return (fldOrder[i]) ? -1 : 1; } if (a->value[i].u.i > b->value[i].u.i) { return (fldOrder[i]) ? 1 : -1; } break; case DoubleType: case SHPType: if (a->value[i].u.d < b->value[i].u.d) { return (fldOrder[i]) ? -1 : 1; } if (a->value[i].u.d > b->value[i].u.d) { return (fldOrder[i]) ? 1 : -1; } break; case StringType: { const int result = strcmp(a->value[i].u.s, b->value[i].u.s); if (result) { return (fldOrder[i]) ? result : -result; } break; } default: fprintf(stderr, "compare: Program Error! Unhandled field type! " "fldType[%d] = %d\n", i, fldType[i]); break; } } return 0; } static struct DataStruct *build_index(SHPHandle shp, DBFHandle dbf) { struct DataStruct *data = malloc(sizeof *data * nShapes); if (!data) { fputs("malloc failed!\n", stderr); exit(EXIT_FAILURE); } /* populate array */ for (int i = 0; i < nShapes; i++) { data[i].value = malloc(sizeof data[0].value[0] * nFields); if (0 == data[i].value) { fputs("malloc failed!\n", stderr); exit(EXIT_FAILURE); } data[i].record = i; for (int j = 0; j < nFields; j++) { data[i].value[j].null = 0; switch (fldType[j]) { case FIDType: data[i].value[j].u.i = i; break; case SHPType: { SHPObject *feat = SHPReadObject(shp, i); switch (feat->nSHPType) { case SHPT_NULL: fprintf(stderr, "Shape %d is a null feature!\n", i); data[i].value[j].null = 1; break; case SHPT_POINT: case SHPT_POINTZ: case SHPT_POINTM: case SHPT_MULTIPOINT: case SHPT_MULTIPOINTZ: case SHPT_MULTIPOINTM: case SHPT_MULTIPATCH: /* Y-sort bounds */ data[i].value[j].u.d = feat->dfYMax; break; case SHPT_ARC: case SHPT_ARCZ: case SHPT_ARCM: data[i].value[j].u.d = shp_length(feat); break; case SHPT_POLYGON: case SHPT_POLYGONZ: case SHPT_POLYGONM: data[i].value[j].u.d = shp_area(feat); break; default: fputs("Can't sort on Shapefile feature type!\n", stderr); exit(EXIT_FAILURE); } SHPDestroyObject(feat); break; } case FTString: data[i].value[j].null = DBFIsAttributeNULL(dbf, i, fldIdx[j]); if (!data[i].value[j].null) { data[i].value[j].u.s = dupstr(DBFReadStringAttribute(dbf, i, fldIdx[j])); } break; case FTInteger: case FTLogical: data[i].value[j].null = DBFIsAttributeNULL(dbf, i, fldIdx[j]); if (!data[i].value[j].null) { data[i].value[j].u.i = DBFReadIntegerAttribute(dbf, i, fldIdx[j]); } break; case FTDouble: data[i].value[j].null = DBFIsAttributeNULL(dbf, i, fldIdx[j]); if (!data[i].value[j].null) { data[i].value[j].u.d = DBFReadDoubleAttribute(dbf, i, fldIdx[j]); } break; } } } #ifdef DEBUG PrintDataStruct(data); fputs("build_index: sorting array\n", stdout); #endif qsort(data, nShapes, sizeof data[0], compare); #ifdef DEBUG PrintDataStruct(data); fputs("build_index: returning array\n", stdout); #endif return data; } int main(int argc, char *argv[]) { if (argc < 4) { printf("USAGE: shpsort " "[<(ASCENDING|DESCENDING)[;...]>]\n"); exit(EXIT_FAILURE); } SHPHandle inSHP = SHPOpen(argv[1], "rb"); if (!inSHP) { fputs("Couldn't open shapefile for reading!\n", stderr); exit(EXIT_FAILURE); } SHPGetInfo(inSHP, &nShapes, &shpType, NULL, NULL); /* If we can open the inSHP, open its DBF */ DBFHandle inDBF = DBFOpen(argv[1], "rb"); if (!inDBF) { fputs("Couldn't open dbf file for reading!\n", stderr); exit(EXIT_FAILURE); } /* Parse fields and validate existence */ char **fieldNames = split(argv[3], ";"); if (!fieldNames) { fputs("ERROR: parsing field names!\n", stderr); exit(EXIT_FAILURE); } fldIdx = malloc(sizeof *fldIdx * nFields); if (!fldIdx) { fputs("malloc failed!\n", stderr); exit(EXIT_FAILURE); } for (int i = 0; i < nFields; i++) { int len = (int)strlen(fieldNames[i]); while (len > 0) { --len; fieldNames[i][len] = (char)toupper((unsigned char)fieldNames[i][len]); } fldIdx[i] = DBFGetFieldIndex(inDBF, fieldNames[i]); if (fldIdx[i] < 0) { /* try "SHAPE" */ if (strcmp(fieldNames[i], "SHAPE") == 0) { fldIdx[i] = -1; } else if (strcmp(fieldNames[i], "FID") == 0) { fldIdx[i] = -2; } else { fprintf(stderr, "ERROR: field '%s' not found!\n", fieldNames[i]); exit(EXIT_FAILURE); } } } /* set up field type array */ fldType = malloc(sizeof *fldType * nFields); if (!fldType) { fputs("malloc failed!\n", stderr); exit(EXIT_FAILURE); } int width; int decimals; for (int i = 0; i < nFields; i++) { if (fldIdx[i] < 0) { fldType[i] = fldIdx[i]; } else { fldType[i] = DBFGetFieldInfo(inDBF, fldIdx[i], NULL, &width, &decimals); if (fldType[i] == FTInvalid) { fputs("Unrecognized field type in dBASE file!\n", stderr); exit(EXIT_FAILURE); } } } /* set up field order array */ fldOrder = malloc(sizeof *fldOrder * nFields); if (!fldOrder) { fputs("malloc failed!\n", stderr); exit(EXIT_FAILURE); } for (int i = 0; i < nFields; i++) { /* default to ascending order */ fldOrder[i] = ASCENDING; } if (argc > 4) { char **strOrder = split(argv[4], ";"); if (!strOrder) { fputs("ERROR: parsing fields ordering!\n", stderr); exit(EXIT_FAILURE); } for (int i = 0; i < nFields && strOrder[i]; i++) { if (strcmp(strOrder[i], "DESCENDING") == 0) { fldOrder[i] = DESCENDING; } } } /* build the index */ struct DataStruct *index = build_index(inSHP, inDBF); /* Create output shapefile */ SHPHandle outSHP = SHPCreate(argv[2], shpType); if (!outSHP) { fprintf(stderr, "%s:%d: couldn't create output shapefile!\n", __FILE__, __LINE__); exit(EXIT_FAILURE); } /* Create output dbf */ DBFHandle outDBF = DBFCloneEmpty(inDBF, argv[2]); if (!outDBF) { fprintf(stderr, "%s:%d: couldn't create output dBASE file!\n", __FILE__, __LINE__); exit(EXIT_FAILURE); } /* Copy projection file, if any */ copy_related(argv[1], argv[2], ".shp", ".prj"); /* Copy metadata file, if any */ copy_related(argv[1], argv[2], ".shp", ".shp.xml"); /* Write out sorted results */ for (int i = 0; i < nShapes; i++) { SHPObject *feat = SHPReadObject(inSHP, index[i].record); if (SHPWriteObject(outSHP, -1, feat) < 0) { fprintf(stderr, "%s:%d: error writing shapefile!\n", __FILE__, __LINE__); exit(EXIT_FAILURE); } void *tuple = (void *)DBFReadTuple(inDBF, index[i].record); if (DBFWriteTuple(outDBF, i, tuple) < 0) { fprintf(stderr, "%s:%d: error writing dBASE file!\n", __FILE__, __LINE__); exit(EXIT_FAILURE); } } SHPClose(inSHP); SHPClose(outSHP); DBFClose(inDBF); DBFClose(outDBF); return EXIT_SUCCESS; } shapelib-1.6.1/contrib/Makefile.am0000664000175000017500000000355614573117335013747 00000000000000CONTRIB_CFLAGS = -I$(top_srcdir) -DDEBUG -DDEBUG2 # Extra files to distribute in the source tarball EXTRA_DIST = makefile.vc tests/expect.out tests/shpproj.sh doc/Shape_PointInPoly_README.txt doc/shpsort.txt ShapeFileII.pas # Installed executables bin_PROGRAMS = csv2shp dbfcat dbfinfo shpcat shpdxf shpfix shpsort Shape_PointInPoly shpcentrd shpdata shpinfo shpwkb csv2shp_SOURCES = csv2shp.c csv2shp_CPPFLAGS = $(CONTRIB_CFLAGS) csv2shp_LDADD = $(top_builddir)/libshp.la dbfcat_SOURCES = dbfcat.c dbfcat_CPPFLAGS = $(CONTRIB_CFLAGS) dbfcat_LDADD = $(top_builddir)/libshp.la dbfinfo_SOURCES = dbfinfo.c dbfinfo_CPPFLAGS = $(CONTRIB_CFLAGS) dbfinfo_LDADD = $(top_builddir)/libshp.la shpcat_SOURCES = shpcat.c shpcat_CPPFLAGS = $(CONTRIB_CFLAGS) shpcat_LDADD = $(top_builddir)/libshp.la shpdxf_SOURCES = shpdxf.c shpdxf_CPPFLAGS = $(CONTRIB_CFLAGS) shpdxf_LDADD = $(top_builddir)/libshp.la shpfix_SOURCES = shpfix.c shpfix_CPPFLAGS = $(CONTRIB_CFLAGS) shpfix_LDADD = $(top_builddir)/libshp.la shpsort_SOURCES = shpsort.c shpsort_CPPFLAGS = $(CONTRIB_CFLAGS) shpsort_LDADD = $(top_builddir)/libshp.la -lm Shape_PointInPoly_SOURCES = Shape_PointInPoly.cpp Shape_PointInPoly_CPPFLAGS = $(CONTRIB_CFLAGS) Shape_PointInPoly_LDADD = $(top_builddir)/libshp.la shpcentrd_SOURCES = shpcentrd.c shpgeo.c shpgeo.h shpcentrd_CPPFLAGS = $(CONTRIB_CFLAGS) shpcentrd_LDADD = $(top_builddir)/libshp.la -lm shpdata_SOURCES = shpdata.c shpgeo.c shpgeo.h shpdata_CPPFLAGS = $(CONTRIB_CFLAGS) shpdata_LDADD = $(top_builddir)/libshp.la -lm shpinfo_SOURCES = shpinfo.c shpgeo.c shpgeo.h shpinfo_CPPFLAGS = $(CONTRIB_CFLAGS) shpinfo_LDADD = $(top_builddir)/libshp.la -lm shpwkb_SOURCES = shpwkb.c shpgeo.c shpgeo.h shpwkb_CPPFLAGS = $(CONTRIB_CFLAGS) shpwkb_LDADD = $(top_builddir)/libshp.la -lm # Tests TESTS_ENVIRONMENT = top_builddir=$(abs_top_builddir) TESTS = tests/shpproj.sh clean-local: -rm -f test.* shapelib-1.6.1/contrib/shpinfo.c0000664000175000017500000000543414520144141013505 00000000000000/****************************************************************************** * Copyright (c) 1999, Carl Anderson * * This code is based in part on the earlier work of Frank Warmerdam * * 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. ****************************************************************************** * */ #include #include #include #include "shapefil.h" int main(int argc, char **argv) { if (argc != 2) { printf("shpinfo shp_file\n"); return EXIT_FAILURE; } SHPHandle hSHP = SHPOpen(argv[1], "rb"); if (hSHP == NULL) { printf("Unable to open:%s\n", argv[1]); return EXIT_FAILURE; } int nEntities; int nShapeType; double adfBndsMin[4]; double adfBndsMax[4]; SHPGetInfo(hSHP, &nEntities, &nShapeType, adfBndsMin, adfBndsMax); SHPClose(hSHP); // TODO(schwehr): Make a function for all of shapelib. const char *sType = NULL; // [15]= ""; switch (nShapeType) { case SHPT_POINT: sType = "Point"; break; case SHPT_ARC: sType = "Polyline"; break; case SHPT_POLYGON: sType = ""; break; case SHPT_MULTIPOINT: sType = "MultiPoint"; break; default: // TODO(schwehr): Handle all of the SHPT types. sType = "UNKNOWN"; } printf("Info for %s\n", argv[1]); printf("%s(%d), %d Records in file\n", sType, nShapeType, nEntities); // Print out the file bounds. // TODO(schwehr): Do a better job at formatting the results. printf("File Bounds: (%15.10lg,%15.10lg)\n", adfBndsMin[0], adfBndsMin[1]); printf("\t(%15.10lg,%15.10lg)\n", adfBndsMax[0], adfBndsMax[1]); return EXIT_SUCCESS; } shapelib-1.6.1/contrib/Makefile.in0000664000175000017500000021760514656616450013766 00000000000000# Makefile.in generated by automake 1.16.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2018 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = { \ if test -z '$(MAKELEVEL)'; then \ false; \ elif test -n '$(MAKE_HOST)'; then \ true; \ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ true; \ else \ false; \ fi; \ } am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ bin_PROGRAMS = csv2shp$(EXEEXT) dbfcat$(EXEEXT) dbfinfo$(EXEEXT) \ shpcat$(EXEEXT) shpdxf$(EXEEXT) shpfix$(EXEEXT) \ shpsort$(EXEEXT) Shape_PointInPoly$(EXEEXT) shpcentrd$(EXEEXT) \ shpdata$(EXEEXT) shpinfo$(EXEEXT) shpwkb$(EXEEXT) subdir = contrib ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(install_sh) -d CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = am__installdirs = "$(DESTDIR)$(bindir)" PROGRAMS = $(bin_PROGRAMS) am_Shape_PointInPoly_OBJECTS = \ Shape_PointInPoly-Shape_PointInPoly.$(OBJEXT) Shape_PointInPoly_OBJECTS = $(am_Shape_PointInPoly_OBJECTS) Shape_PointInPoly_DEPENDENCIES = $(top_builddir)/libshp.la AM_V_lt = $(am__v_lt_@AM_V@) am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) am__v_lt_0 = --silent am__v_lt_1 = am_csv2shp_OBJECTS = csv2shp-csv2shp.$(OBJEXT) csv2shp_OBJECTS = $(am_csv2shp_OBJECTS) csv2shp_DEPENDENCIES = $(top_builddir)/libshp.la am_dbfcat_OBJECTS = dbfcat-dbfcat.$(OBJEXT) dbfcat_OBJECTS = $(am_dbfcat_OBJECTS) dbfcat_DEPENDENCIES = $(top_builddir)/libshp.la am_dbfinfo_OBJECTS = dbfinfo-dbfinfo.$(OBJEXT) dbfinfo_OBJECTS = $(am_dbfinfo_OBJECTS) dbfinfo_DEPENDENCIES = $(top_builddir)/libshp.la am_shpcat_OBJECTS = shpcat-shpcat.$(OBJEXT) shpcat_OBJECTS = $(am_shpcat_OBJECTS) shpcat_DEPENDENCIES = $(top_builddir)/libshp.la am_shpcentrd_OBJECTS = shpcentrd-shpcentrd.$(OBJEXT) \ shpcentrd-shpgeo.$(OBJEXT) shpcentrd_OBJECTS = $(am_shpcentrd_OBJECTS) shpcentrd_DEPENDENCIES = $(top_builddir)/libshp.la am_shpdata_OBJECTS = shpdata-shpdata.$(OBJEXT) \ shpdata-shpgeo.$(OBJEXT) shpdata_OBJECTS = $(am_shpdata_OBJECTS) shpdata_DEPENDENCIES = $(top_builddir)/libshp.la am_shpdxf_OBJECTS = shpdxf-shpdxf.$(OBJEXT) shpdxf_OBJECTS = $(am_shpdxf_OBJECTS) shpdxf_DEPENDENCIES = $(top_builddir)/libshp.la am_shpfix_OBJECTS = shpfix-shpfix.$(OBJEXT) shpfix_OBJECTS = $(am_shpfix_OBJECTS) shpfix_DEPENDENCIES = $(top_builddir)/libshp.la am_shpinfo_OBJECTS = shpinfo-shpinfo.$(OBJEXT) \ shpinfo-shpgeo.$(OBJEXT) shpinfo_OBJECTS = $(am_shpinfo_OBJECTS) shpinfo_DEPENDENCIES = $(top_builddir)/libshp.la am_shpsort_OBJECTS = shpsort-shpsort.$(OBJEXT) shpsort_OBJECTS = $(am_shpsort_OBJECTS) shpsort_DEPENDENCIES = $(top_builddir)/libshp.la am_shpwkb_OBJECTS = shpwkb-shpwkb.$(OBJEXT) shpwkb-shpgeo.$(OBJEXT) shpwkb_OBJECTS = $(am_shpwkb_OBJECTS) shpwkb_DEPENDENCIES = $(top_builddir)/libshp.la AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = DEFAULT_INCLUDES = -I.@am__isrc@ depcomp = $(SHELL) $(top_srcdir)/depcomp am__maybe_remake_depfiles = depfiles am__depfiles_remade = \ ./$(DEPDIR)/Shape_PointInPoly-Shape_PointInPoly.Po \ ./$(DEPDIR)/csv2shp-csv2shp.Po ./$(DEPDIR)/dbfcat-dbfcat.Po \ ./$(DEPDIR)/dbfinfo-dbfinfo.Po ./$(DEPDIR)/shpcat-shpcat.Po \ ./$(DEPDIR)/shpcentrd-shpcentrd.Po \ ./$(DEPDIR)/shpcentrd-shpgeo.Po ./$(DEPDIR)/shpdata-shpdata.Po \ ./$(DEPDIR)/shpdata-shpgeo.Po ./$(DEPDIR)/shpdxf-shpdxf.Po \ ./$(DEPDIR)/shpfix-shpfix.Po ./$(DEPDIR)/shpinfo-shpgeo.Po \ ./$(DEPDIR)/shpinfo-shpinfo.Po ./$(DEPDIR)/shpsort-shpsort.Po \ ./$(DEPDIR)/shpwkb-shpgeo.Po ./$(DEPDIR)/shpwkb-shpwkb.Po am__mv = mv -f COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ $(AM_CFLAGS) $(CFLAGS) AM_V_CC = $(am__v_CC_@AM_V@) am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) am__v_CC_0 = @echo " CC " $@; am__v_CC_1 = CCLD = $(CC) LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ $(AM_LDFLAGS) $(LDFLAGS) -o $@ AM_V_CCLD = $(am__v_CCLD_@AM_V@) am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) am__v_CCLD_0 = @echo " CCLD " $@; am__v_CCLD_1 = CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ $(AM_CXXFLAGS) $(CXXFLAGS) AM_V_CXX = $(am__v_CXX_@AM_V@) am__v_CXX_ = $(am__v_CXX_@AM_DEFAULT_V@) am__v_CXX_0 = @echo " CXX " $@; am__v_CXX_1 = CXXLD = $(CXX) CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \ $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ AM_V_CXXLD = $(am__v_CXXLD_@AM_V@) am__v_CXXLD_ = $(am__v_CXXLD_@AM_DEFAULT_V@) am__v_CXXLD_0 = @echo " CXXLD " $@; am__v_CXXLD_1 = SOURCES = $(Shape_PointInPoly_SOURCES) $(csv2shp_SOURCES) \ $(dbfcat_SOURCES) $(dbfinfo_SOURCES) $(shpcat_SOURCES) \ $(shpcentrd_SOURCES) $(shpdata_SOURCES) $(shpdxf_SOURCES) \ $(shpfix_SOURCES) $(shpinfo_SOURCES) $(shpsort_SOURCES) \ $(shpwkb_SOURCES) DIST_SOURCES = $(Shape_PointInPoly_SOURCES) $(csv2shp_SOURCES) \ $(dbfcat_SOURCES) $(dbfinfo_SOURCES) $(shpcat_SOURCES) \ $(shpcentrd_SOURCES) $(shpdata_SOURCES) $(shpdxf_SOURCES) \ $(shpfix_SOURCES) $(shpinfo_SOURCES) $(shpsort_SOURCES) \ $(shpwkb_SOURCES) am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) # Read a list of newline-separated strings from the standard input, # and print each of them once, without duplicates. Input order is # *not* preserved. am__uniquify_input = $(AWK) '\ BEGIN { nonempty = 0; } \ { items[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in items) print i; }; } \ ' # Make sure the list of sources is unique. This is necessary because, # e.g., the same source file might be shared among _SOURCES variables # for different programs/libraries. am__define_uniq_tagged_files = \ list='$(am__tagged_files)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags am__tty_colors_dummy = \ mgn= red= grn= lgn= blu= brg= std=; \ am__color_tests=no am__tty_colors = { \ $(am__tty_colors_dummy); \ if test "X$(AM_COLOR_TESTS)" = Xno; then \ am__color_tests=no; \ elif test "X$(AM_COLOR_TESTS)" = Xalways; then \ am__color_tests=yes; \ elif test "X$$TERM" != Xdumb && { test -t 1; } 2>/dev/null; then \ am__color_tests=yes; \ fi; \ if test $$am__color_tests = yes; then \ red=''; \ grn=''; \ lgn=''; \ blu=''; \ mgn=''; \ brg=''; \ std=''; \ fi; \ } am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__uninstall_files_from_dir = { \ test -z "$$files" \ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ $(am__cd) "$$dir" && rm -f $$files; }; \ } am__recheck_rx = ^[ ]*:recheck:[ ]* am__global_test_result_rx = ^[ ]*:global-test-result:[ ]* am__copy_in_global_log_rx = ^[ ]*:copy-in-global-log:[ ]* # A command that, given a newline-separated list of test names on the # standard input, print the name of the tests that are to be re-run # upon "make recheck". am__list_recheck_tests = $(AWK) '{ \ recheck = 1; \ while ((rc = (getline line < ($$0 ".trs"))) != 0) \ { \ if (rc < 0) \ { \ if ((getline line2 < ($$0 ".log")) < 0) \ recheck = 0; \ break; \ } \ else if (line ~ /$(am__recheck_rx)[nN][Oo]/) \ { \ recheck = 0; \ break; \ } \ else if (line ~ /$(am__recheck_rx)[yY][eE][sS]/) \ { \ break; \ } \ }; \ if (recheck) \ print $$0; \ close ($$0 ".trs"); \ close ($$0 ".log"); \ }' # A command that, given a newline-separated list of test names on the # standard input, create the global log from their .trs and .log files. am__create_global_log = $(AWK) ' \ function fatal(msg) \ { \ print "fatal: making $@: " msg | "cat >&2"; \ exit 1; \ } \ function rst_section(header) \ { \ print header; \ len = length(header); \ for (i = 1; i <= len; i = i + 1) \ printf "="; \ printf "\n\n"; \ } \ { \ copy_in_global_log = 1; \ global_test_result = "RUN"; \ while ((rc = (getline line < ($$0 ".trs"))) != 0) \ { \ if (rc < 0) \ fatal("failed to read from " $$0 ".trs"); \ if (line ~ /$(am__global_test_result_rx)/) \ { \ sub("$(am__global_test_result_rx)", "", line); \ sub("[ ]*$$", "", line); \ global_test_result = line; \ } \ else if (line ~ /$(am__copy_in_global_log_rx)[nN][oO]/) \ copy_in_global_log = 0; \ }; \ if (copy_in_global_log) \ { \ rst_section(global_test_result ": " $$0); \ while ((rc = (getline line < ($$0 ".log"))) != 0) \ { \ if (rc < 0) \ fatal("failed to read from " $$0 ".log"); \ print line; \ }; \ printf "\n"; \ }; \ close ($$0 ".trs"); \ close ($$0 ".log"); \ }' # Restructured Text title. am__rst_title = { sed 's/.*/ & /;h;s/./=/g;p;x;s/ *$$//;p;g' && echo; } # Solaris 10 'make', and several other traditional 'make' implementations, # pass "-e" to $(SHELL), and POSIX 2008 even requires this. Work around it # by disabling -e (using the XSI extension "set +e") if it's set. am__sh_e_setup = case $$- in *e*) set +e;; esac # Default flags passed to test drivers. am__common_driver_flags = \ --color-tests "$$am__color_tests" \ --enable-hard-errors "$$am__enable_hard_errors" \ --expect-failure "$$am__expect_failure" # To be inserted before the command running the test. Creates the # directory for the log if needed. Stores in $dir the directory # containing $f, in $tst the test, in $log the log. Executes the # developer- defined test setup AM_TESTS_ENVIRONMENT (if any), and # passes TESTS_ENVIRONMENT. Set up options for the wrapper that # will run the test scripts (or their associated LOG_COMPILER, if # thy have one). am__check_pre = \ $(am__sh_e_setup); \ $(am__vpath_adj_setup) $(am__vpath_adj) \ $(am__tty_colors); \ srcdir=$(srcdir); export srcdir; \ case "$@" in \ */*) am__odir=`echo "./$@" | sed 's|/[^/]*$$||'`;; \ *) am__odir=.;; \ esac; \ test "x$$am__odir" = x"." || test -d "$$am__odir" \ || $(MKDIR_P) "$$am__odir" || exit $$?; \ if test -f "./$$f"; then dir=./; \ elif test -f "$$f"; then dir=; \ else dir="$(srcdir)/"; fi; \ tst=$$dir$$f; log='$@'; \ if test -n '$(DISABLE_HARD_ERRORS)'; then \ am__enable_hard_errors=no; \ else \ am__enable_hard_errors=yes; \ fi; \ case " $(XFAIL_TESTS) " in \ *[\ \ ]$$f[\ \ ]* | *[\ \ ]$$dir$$f[\ \ ]*) \ am__expect_failure=yes;; \ *) \ am__expect_failure=no;; \ esac; \ $(AM_TESTS_ENVIRONMENT) $(TESTS_ENVIRONMENT) # A shell command to get the names of the tests scripts with any registered # extension removed (i.e., equivalently, the names of the test logs, with # the '.log' extension removed). The result is saved in the shell variable # '$bases'. This honors runtime overriding of TESTS and TEST_LOGS. Sadly, # we cannot use something simpler, involving e.g., "$(TEST_LOGS:.log=)", # since that might cause problem with VPATH rewrites for suffix-less tests. # See also 'test-harness-vpath-rewrite.sh' and 'test-trs-basic.sh'. am__set_TESTS_bases = \ bases='$(TEST_LOGS)'; \ bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \ bases=`echo $$bases` RECHECK_LOGS = $(TEST_LOGS) AM_RECURSIVE_TARGETS = check recheck TEST_SUITE_LOG = test-suite.log TEST_EXTENSIONS = @EXEEXT@ .test LOG_DRIVER = $(SHELL) $(top_srcdir)/test-driver LOG_COMPILE = $(LOG_COMPILER) $(AM_LOG_FLAGS) $(LOG_FLAGS) am__set_b = \ case '$@' in \ */*) \ case '$*' in \ */*) b='$*';; \ *) b=`echo '$@' | sed 's/\.log$$//'`; \ esac;; \ *) \ b='$*';; \ esac am__test_logs1 = $(TESTS:=.log) am__test_logs2 = $(am__test_logs1:@EXEEXT@.log=.log) TEST_LOGS = $(am__test_logs2:.test.log=.log) TEST_LOG_DRIVER = $(SHELL) $(top_srcdir)/test-driver TEST_LOG_COMPILE = $(TEST_LOG_COMPILER) $(AM_TEST_LOG_FLAGS) \ $(TEST_LOG_FLAGS) am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp \ $(top_srcdir)/test-driver DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DLLTOOL = @DLLTOOL@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GREP = @GREP@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBM = @LIBM@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHAPELIB_SO_VERSION = @SHAPELIB_SO_VERSION@ SHELL = @SHELL@ STRIP = @STRIP@ VERSION = @VERSION@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ CONTRIB_CFLAGS = -I$(top_srcdir) -DDEBUG -DDEBUG2 # Extra files to distribute in the source tarball EXTRA_DIST = makefile.vc tests/expect.out tests/shpproj.sh doc/Shape_PointInPoly_README.txt doc/shpsort.txt ShapeFileII.pas csv2shp_SOURCES = csv2shp.c csv2shp_CPPFLAGS = $(CONTRIB_CFLAGS) csv2shp_LDADD = $(top_builddir)/libshp.la dbfcat_SOURCES = dbfcat.c dbfcat_CPPFLAGS = $(CONTRIB_CFLAGS) dbfcat_LDADD = $(top_builddir)/libshp.la dbfinfo_SOURCES = dbfinfo.c dbfinfo_CPPFLAGS = $(CONTRIB_CFLAGS) dbfinfo_LDADD = $(top_builddir)/libshp.la shpcat_SOURCES = shpcat.c shpcat_CPPFLAGS = $(CONTRIB_CFLAGS) shpcat_LDADD = $(top_builddir)/libshp.la shpdxf_SOURCES = shpdxf.c shpdxf_CPPFLAGS = $(CONTRIB_CFLAGS) shpdxf_LDADD = $(top_builddir)/libshp.la shpfix_SOURCES = shpfix.c shpfix_CPPFLAGS = $(CONTRIB_CFLAGS) shpfix_LDADD = $(top_builddir)/libshp.la shpsort_SOURCES = shpsort.c shpsort_CPPFLAGS = $(CONTRIB_CFLAGS) shpsort_LDADD = $(top_builddir)/libshp.la -lm Shape_PointInPoly_SOURCES = Shape_PointInPoly.cpp Shape_PointInPoly_CPPFLAGS = $(CONTRIB_CFLAGS) Shape_PointInPoly_LDADD = $(top_builddir)/libshp.la shpcentrd_SOURCES = shpcentrd.c shpgeo.c shpgeo.h shpcentrd_CPPFLAGS = $(CONTRIB_CFLAGS) shpcentrd_LDADD = $(top_builddir)/libshp.la -lm shpdata_SOURCES = shpdata.c shpgeo.c shpgeo.h shpdata_CPPFLAGS = $(CONTRIB_CFLAGS) shpdata_LDADD = $(top_builddir)/libshp.la -lm shpinfo_SOURCES = shpinfo.c shpgeo.c shpgeo.h shpinfo_CPPFLAGS = $(CONTRIB_CFLAGS) shpinfo_LDADD = $(top_builddir)/libshp.la -lm shpwkb_SOURCES = shpwkb.c shpgeo.c shpgeo.h shpwkb_CPPFLAGS = $(CONTRIB_CFLAGS) shpwkb_LDADD = $(top_builddir)/libshp.la -lm # Tests TESTS_ENVIRONMENT = top_builddir=$(abs_top_builddir) TESTS = tests/shpproj.sh all: all-am .SUFFIXES: .SUFFIXES: .c .cpp .lo .log .o .obj .test .test$(EXEEXT) .trs $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign contrib/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --foreign contrib/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): install-binPROGRAMS: $(bin_PROGRAMS) @$(NORMAL_INSTALL) @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \ $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \ fi; \ for p in $$list; do echo "$$p $$p"; done | \ sed 's/$(EXEEXT)$$//' | \ while read p p1; do if test -f $$p \ || test -f $$p1 \ ; then echo "$$p"; echo "$$p"; else :; fi; \ done | \ sed -e 'p;s,.*/,,;n;h' \ -e 's|.*|.|' \ -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \ sed 'N;N;N;s,\n, ,g' | \ $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \ { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \ if ($$2 == $$4) files[d] = files[d] " " $$1; \ else { print "f", $$3 "/" $$4, $$1; } } \ END { for (d in files) print "f", d, files[d] }' | \ while read type dir files; do \ if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ test -z "$$files" || { \ echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \ $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \ } \ ; done uninstall-binPROGRAMS: @$(NORMAL_UNINSTALL) @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ files=`for p in $$list; do echo "$$p"; done | \ sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \ -e 's/$$/$(EXEEXT)/' \ `; \ test -n "$$list" || exit 0; \ echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \ cd "$(DESTDIR)$(bindir)" && rm -f $$files clean-binPROGRAMS: @list='$(bin_PROGRAMS)'; test -n "$$list" || exit 0; \ echo " rm -f" $$list; \ rm -f $$list || exit $$?; \ test -n "$(EXEEXT)" || exit 0; \ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ echo " rm -f" $$list; \ rm -f $$list Shape_PointInPoly$(EXEEXT): $(Shape_PointInPoly_OBJECTS) $(Shape_PointInPoly_DEPENDENCIES) $(EXTRA_Shape_PointInPoly_DEPENDENCIES) @rm -f Shape_PointInPoly$(EXEEXT) $(AM_V_CXXLD)$(CXXLINK) $(Shape_PointInPoly_OBJECTS) $(Shape_PointInPoly_LDADD) $(LIBS) csv2shp$(EXEEXT): $(csv2shp_OBJECTS) $(csv2shp_DEPENDENCIES) $(EXTRA_csv2shp_DEPENDENCIES) @rm -f csv2shp$(EXEEXT) $(AM_V_CCLD)$(LINK) $(csv2shp_OBJECTS) $(csv2shp_LDADD) $(LIBS) dbfcat$(EXEEXT): $(dbfcat_OBJECTS) $(dbfcat_DEPENDENCIES) $(EXTRA_dbfcat_DEPENDENCIES) @rm -f dbfcat$(EXEEXT) $(AM_V_CCLD)$(LINK) $(dbfcat_OBJECTS) $(dbfcat_LDADD) $(LIBS) dbfinfo$(EXEEXT): $(dbfinfo_OBJECTS) $(dbfinfo_DEPENDENCIES) $(EXTRA_dbfinfo_DEPENDENCIES) @rm -f dbfinfo$(EXEEXT) $(AM_V_CCLD)$(LINK) $(dbfinfo_OBJECTS) $(dbfinfo_LDADD) $(LIBS) shpcat$(EXEEXT): $(shpcat_OBJECTS) $(shpcat_DEPENDENCIES) $(EXTRA_shpcat_DEPENDENCIES) @rm -f shpcat$(EXEEXT) $(AM_V_CCLD)$(LINK) $(shpcat_OBJECTS) $(shpcat_LDADD) $(LIBS) shpcentrd$(EXEEXT): $(shpcentrd_OBJECTS) $(shpcentrd_DEPENDENCIES) $(EXTRA_shpcentrd_DEPENDENCIES) @rm -f shpcentrd$(EXEEXT) $(AM_V_CCLD)$(LINK) $(shpcentrd_OBJECTS) $(shpcentrd_LDADD) $(LIBS) shpdata$(EXEEXT): $(shpdata_OBJECTS) $(shpdata_DEPENDENCIES) $(EXTRA_shpdata_DEPENDENCIES) @rm -f shpdata$(EXEEXT) $(AM_V_CCLD)$(LINK) $(shpdata_OBJECTS) $(shpdata_LDADD) $(LIBS) shpdxf$(EXEEXT): $(shpdxf_OBJECTS) $(shpdxf_DEPENDENCIES) $(EXTRA_shpdxf_DEPENDENCIES) @rm -f shpdxf$(EXEEXT) $(AM_V_CCLD)$(LINK) $(shpdxf_OBJECTS) $(shpdxf_LDADD) $(LIBS) shpfix$(EXEEXT): $(shpfix_OBJECTS) $(shpfix_DEPENDENCIES) $(EXTRA_shpfix_DEPENDENCIES) @rm -f shpfix$(EXEEXT) $(AM_V_CCLD)$(LINK) $(shpfix_OBJECTS) $(shpfix_LDADD) $(LIBS) shpinfo$(EXEEXT): $(shpinfo_OBJECTS) $(shpinfo_DEPENDENCIES) $(EXTRA_shpinfo_DEPENDENCIES) @rm -f shpinfo$(EXEEXT) $(AM_V_CCLD)$(LINK) $(shpinfo_OBJECTS) $(shpinfo_LDADD) $(LIBS) shpsort$(EXEEXT): $(shpsort_OBJECTS) $(shpsort_DEPENDENCIES) $(EXTRA_shpsort_DEPENDENCIES) @rm -f shpsort$(EXEEXT) $(AM_V_CCLD)$(LINK) $(shpsort_OBJECTS) $(shpsort_LDADD) $(LIBS) shpwkb$(EXEEXT): $(shpwkb_OBJECTS) $(shpwkb_DEPENDENCIES) $(EXTRA_shpwkb_DEPENDENCIES) @rm -f shpwkb$(EXEEXT) $(AM_V_CCLD)$(LINK) $(shpwkb_OBJECTS) $(shpwkb_LDADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Shape_PointInPoly-Shape_PointInPoly.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/csv2shp-csv2shp.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dbfcat-dbfcat.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dbfinfo-dbfinfo.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/shpcat-shpcat.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/shpcentrd-shpcentrd.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/shpcentrd-shpgeo.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/shpdata-shpdata.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/shpdata-shpgeo.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/shpdxf-shpdxf.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/shpfix-shpfix.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/shpinfo-shpgeo.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/shpinfo-shpinfo.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/shpsort-shpsort.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/shpwkb-shpgeo.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/shpwkb-shpwkb.Po@am__quote@ # am--include-marker $(am__depfiles_remade): @$(MKDIR_P) $(@D) @echo '# dummy' >$@-t && $(am__mv) $@-t $@ am--depfiles: $(am__depfiles_remade) .c.o: @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $< .c.obj: @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $< csv2shp-csv2shp.o: csv2shp.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(csv2shp_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT csv2shp-csv2shp.o -MD -MP -MF $(DEPDIR)/csv2shp-csv2shp.Tpo -c -o csv2shp-csv2shp.o `test -f 'csv2shp.c' || echo '$(srcdir)/'`csv2shp.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/csv2shp-csv2shp.Tpo $(DEPDIR)/csv2shp-csv2shp.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='csv2shp.c' object='csv2shp-csv2shp.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(csv2shp_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o csv2shp-csv2shp.o `test -f 'csv2shp.c' || echo '$(srcdir)/'`csv2shp.c csv2shp-csv2shp.obj: csv2shp.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(csv2shp_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT csv2shp-csv2shp.obj -MD -MP -MF $(DEPDIR)/csv2shp-csv2shp.Tpo -c -o csv2shp-csv2shp.obj `if test -f 'csv2shp.c'; then $(CYGPATH_W) 'csv2shp.c'; else $(CYGPATH_W) '$(srcdir)/csv2shp.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/csv2shp-csv2shp.Tpo $(DEPDIR)/csv2shp-csv2shp.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='csv2shp.c' object='csv2shp-csv2shp.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(csv2shp_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o csv2shp-csv2shp.obj `if test -f 'csv2shp.c'; then $(CYGPATH_W) 'csv2shp.c'; else $(CYGPATH_W) '$(srcdir)/csv2shp.c'; fi` dbfcat-dbfcat.o: dbfcat.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dbfcat_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT dbfcat-dbfcat.o -MD -MP -MF $(DEPDIR)/dbfcat-dbfcat.Tpo -c -o dbfcat-dbfcat.o `test -f 'dbfcat.c' || echo '$(srcdir)/'`dbfcat.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/dbfcat-dbfcat.Tpo $(DEPDIR)/dbfcat-dbfcat.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='dbfcat.c' object='dbfcat-dbfcat.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dbfcat_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o dbfcat-dbfcat.o `test -f 'dbfcat.c' || echo '$(srcdir)/'`dbfcat.c dbfcat-dbfcat.obj: dbfcat.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dbfcat_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT dbfcat-dbfcat.obj -MD -MP -MF $(DEPDIR)/dbfcat-dbfcat.Tpo -c -o dbfcat-dbfcat.obj `if test -f 'dbfcat.c'; then $(CYGPATH_W) 'dbfcat.c'; else $(CYGPATH_W) '$(srcdir)/dbfcat.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/dbfcat-dbfcat.Tpo $(DEPDIR)/dbfcat-dbfcat.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='dbfcat.c' object='dbfcat-dbfcat.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dbfcat_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o dbfcat-dbfcat.obj `if test -f 'dbfcat.c'; then $(CYGPATH_W) 'dbfcat.c'; else $(CYGPATH_W) '$(srcdir)/dbfcat.c'; fi` dbfinfo-dbfinfo.o: dbfinfo.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dbfinfo_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT dbfinfo-dbfinfo.o -MD -MP -MF $(DEPDIR)/dbfinfo-dbfinfo.Tpo -c -o dbfinfo-dbfinfo.o `test -f 'dbfinfo.c' || echo '$(srcdir)/'`dbfinfo.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/dbfinfo-dbfinfo.Tpo $(DEPDIR)/dbfinfo-dbfinfo.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='dbfinfo.c' object='dbfinfo-dbfinfo.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dbfinfo_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o dbfinfo-dbfinfo.o `test -f 'dbfinfo.c' || echo '$(srcdir)/'`dbfinfo.c dbfinfo-dbfinfo.obj: dbfinfo.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dbfinfo_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT dbfinfo-dbfinfo.obj -MD -MP -MF $(DEPDIR)/dbfinfo-dbfinfo.Tpo -c -o dbfinfo-dbfinfo.obj `if test -f 'dbfinfo.c'; then $(CYGPATH_W) 'dbfinfo.c'; else $(CYGPATH_W) '$(srcdir)/dbfinfo.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/dbfinfo-dbfinfo.Tpo $(DEPDIR)/dbfinfo-dbfinfo.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='dbfinfo.c' object='dbfinfo-dbfinfo.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dbfinfo_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o dbfinfo-dbfinfo.obj `if test -f 'dbfinfo.c'; then $(CYGPATH_W) 'dbfinfo.c'; else $(CYGPATH_W) '$(srcdir)/dbfinfo.c'; fi` shpcat-shpcat.o: shpcat.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(shpcat_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT shpcat-shpcat.o -MD -MP -MF $(DEPDIR)/shpcat-shpcat.Tpo -c -o shpcat-shpcat.o `test -f 'shpcat.c' || echo '$(srcdir)/'`shpcat.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/shpcat-shpcat.Tpo $(DEPDIR)/shpcat-shpcat.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='shpcat.c' object='shpcat-shpcat.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(shpcat_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o shpcat-shpcat.o `test -f 'shpcat.c' || echo '$(srcdir)/'`shpcat.c shpcat-shpcat.obj: shpcat.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(shpcat_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT shpcat-shpcat.obj -MD -MP -MF $(DEPDIR)/shpcat-shpcat.Tpo -c -o shpcat-shpcat.obj `if test -f 'shpcat.c'; then $(CYGPATH_W) 'shpcat.c'; else $(CYGPATH_W) '$(srcdir)/shpcat.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/shpcat-shpcat.Tpo $(DEPDIR)/shpcat-shpcat.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='shpcat.c' object='shpcat-shpcat.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(shpcat_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o shpcat-shpcat.obj `if test -f 'shpcat.c'; then $(CYGPATH_W) 'shpcat.c'; else $(CYGPATH_W) '$(srcdir)/shpcat.c'; fi` shpcentrd-shpcentrd.o: shpcentrd.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(shpcentrd_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT shpcentrd-shpcentrd.o -MD -MP -MF $(DEPDIR)/shpcentrd-shpcentrd.Tpo -c -o shpcentrd-shpcentrd.o `test -f 'shpcentrd.c' || echo '$(srcdir)/'`shpcentrd.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/shpcentrd-shpcentrd.Tpo $(DEPDIR)/shpcentrd-shpcentrd.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='shpcentrd.c' object='shpcentrd-shpcentrd.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(shpcentrd_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o shpcentrd-shpcentrd.o `test -f 'shpcentrd.c' || echo '$(srcdir)/'`shpcentrd.c shpcentrd-shpcentrd.obj: shpcentrd.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(shpcentrd_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT shpcentrd-shpcentrd.obj -MD -MP -MF $(DEPDIR)/shpcentrd-shpcentrd.Tpo -c -o shpcentrd-shpcentrd.obj `if test -f 'shpcentrd.c'; then $(CYGPATH_W) 'shpcentrd.c'; else $(CYGPATH_W) '$(srcdir)/shpcentrd.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/shpcentrd-shpcentrd.Tpo $(DEPDIR)/shpcentrd-shpcentrd.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='shpcentrd.c' object='shpcentrd-shpcentrd.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(shpcentrd_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o shpcentrd-shpcentrd.obj `if test -f 'shpcentrd.c'; then $(CYGPATH_W) 'shpcentrd.c'; else $(CYGPATH_W) '$(srcdir)/shpcentrd.c'; fi` shpcentrd-shpgeo.o: shpgeo.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(shpcentrd_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT shpcentrd-shpgeo.o -MD -MP -MF $(DEPDIR)/shpcentrd-shpgeo.Tpo -c -o shpcentrd-shpgeo.o `test -f 'shpgeo.c' || echo '$(srcdir)/'`shpgeo.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/shpcentrd-shpgeo.Tpo $(DEPDIR)/shpcentrd-shpgeo.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='shpgeo.c' object='shpcentrd-shpgeo.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(shpcentrd_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o shpcentrd-shpgeo.o `test -f 'shpgeo.c' || echo '$(srcdir)/'`shpgeo.c shpcentrd-shpgeo.obj: shpgeo.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(shpcentrd_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT shpcentrd-shpgeo.obj -MD -MP -MF $(DEPDIR)/shpcentrd-shpgeo.Tpo -c -o shpcentrd-shpgeo.obj `if test -f 'shpgeo.c'; then $(CYGPATH_W) 'shpgeo.c'; else $(CYGPATH_W) '$(srcdir)/shpgeo.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/shpcentrd-shpgeo.Tpo $(DEPDIR)/shpcentrd-shpgeo.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='shpgeo.c' object='shpcentrd-shpgeo.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(shpcentrd_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o shpcentrd-shpgeo.obj `if test -f 'shpgeo.c'; then $(CYGPATH_W) 'shpgeo.c'; else $(CYGPATH_W) '$(srcdir)/shpgeo.c'; fi` shpdata-shpdata.o: shpdata.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(shpdata_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT shpdata-shpdata.o -MD -MP -MF $(DEPDIR)/shpdata-shpdata.Tpo -c -o shpdata-shpdata.o `test -f 'shpdata.c' || echo '$(srcdir)/'`shpdata.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/shpdata-shpdata.Tpo $(DEPDIR)/shpdata-shpdata.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='shpdata.c' object='shpdata-shpdata.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(shpdata_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o shpdata-shpdata.o `test -f 'shpdata.c' || echo '$(srcdir)/'`shpdata.c shpdata-shpdata.obj: shpdata.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(shpdata_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT shpdata-shpdata.obj -MD -MP -MF $(DEPDIR)/shpdata-shpdata.Tpo -c -o shpdata-shpdata.obj `if test -f 'shpdata.c'; then $(CYGPATH_W) 'shpdata.c'; else $(CYGPATH_W) '$(srcdir)/shpdata.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/shpdata-shpdata.Tpo $(DEPDIR)/shpdata-shpdata.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='shpdata.c' object='shpdata-shpdata.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(shpdata_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o shpdata-shpdata.obj `if test -f 'shpdata.c'; then $(CYGPATH_W) 'shpdata.c'; else $(CYGPATH_W) '$(srcdir)/shpdata.c'; fi` shpdata-shpgeo.o: shpgeo.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(shpdata_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT shpdata-shpgeo.o -MD -MP -MF $(DEPDIR)/shpdata-shpgeo.Tpo -c -o shpdata-shpgeo.o `test -f 'shpgeo.c' || echo '$(srcdir)/'`shpgeo.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/shpdata-shpgeo.Tpo $(DEPDIR)/shpdata-shpgeo.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='shpgeo.c' object='shpdata-shpgeo.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(shpdata_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o shpdata-shpgeo.o `test -f 'shpgeo.c' || echo '$(srcdir)/'`shpgeo.c shpdata-shpgeo.obj: shpgeo.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(shpdata_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT shpdata-shpgeo.obj -MD -MP -MF $(DEPDIR)/shpdata-shpgeo.Tpo -c -o shpdata-shpgeo.obj `if test -f 'shpgeo.c'; then $(CYGPATH_W) 'shpgeo.c'; else $(CYGPATH_W) '$(srcdir)/shpgeo.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/shpdata-shpgeo.Tpo $(DEPDIR)/shpdata-shpgeo.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='shpgeo.c' object='shpdata-shpgeo.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(shpdata_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o shpdata-shpgeo.obj `if test -f 'shpgeo.c'; then $(CYGPATH_W) 'shpgeo.c'; else $(CYGPATH_W) '$(srcdir)/shpgeo.c'; fi` shpdxf-shpdxf.o: shpdxf.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(shpdxf_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT shpdxf-shpdxf.o -MD -MP -MF $(DEPDIR)/shpdxf-shpdxf.Tpo -c -o shpdxf-shpdxf.o `test -f 'shpdxf.c' || echo '$(srcdir)/'`shpdxf.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/shpdxf-shpdxf.Tpo $(DEPDIR)/shpdxf-shpdxf.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='shpdxf.c' object='shpdxf-shpdxf.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(shpdxf_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o shpdxf-shpdxf.o `test -f 'shpdxf.c' || echo '$(srcdir)/'`shpdxf.c shpdxf-shpdxf.obj: shpdxf.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(shpdxf_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT shpdxf-shpdxf.obj -MD -MP -MF $(DEPDIR)/shpdxf-shpdxf.Tpo -c -o shpdxf-shpdxf.obj `if test -f 'shpdxf.c'; then $(CYGPATH_W) 'shpdxf.c'; else $(CYGPATH_W) '$(srcdir)/shpdxf.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/shpdxf-shpdxf.Tpo $(DEPDIR)/shpdxf-shpdxf.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='shpdxf.c' object='shpdxf-shpdxf.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(shpdxf_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o shpdxf-shpdxf.obj `if test -f 'shpdxf.c'; then $(CYGPATH_W) 'shpdxf.c'; else $(CYGPATH_W) '$(srcdir)/shpdxf.c'; fi` shpfix-shpfix.o: shpfix.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(shpfix_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT shpfix-shpfix.o -MD -MP -MF $(DEPDIR)/shpfix-shpfix.Tpo -c -o shpfix-shpfix.o `test -f 'shpfix.c' || echo '$(srcdir)/'`shpfix.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/shpfix-shpfix.Tpo $(DEPDIR)/shpfix-shpfix.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='shpfix.c' object='shpfix-shpfix.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(shpfix_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o shpfix-shpfix.o `test -f 'shpfix.c' || echo '$(srcdir)/'`shpfix.c shpfix-shpfix.obj: shpfix.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(shpfix_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT shpfix-shpfix.obj -MD -MP -MF $(DEPDIR)/shpfix-shpfix.Tpo -c -o shpfix-shpfix.obj `if test -f 'shpfix.c'; then $(CYGPATH_W) 'shpfix.c'; else $(CYGPATH_W) '$(srcdir)/shpfix.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/shpfix-shpfix.Tpo $(DEPDIR)/shpfix-shpfix.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='shpfix.c' object='shpfix-shpfix.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(shpfix_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o shpfix-shpfix.obj `if test -f 'shpfix.c'; then $(CYGPATH_W) 'shpfix.c'; else $(CYGPATH_W) '$(srcdir)/shpfix.c'; fi` shpinfo-shpinfo.o: shpinfo.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(shpinfo_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT shpinfo-shpinfo.o -MD -MP -MF $(DEPDIR)/shpinfo-shpinfo.Tpo -c -o shpinfo-shpinfo.o `test -f 'shpinfo.c' || echo '$(srcdir)/'`shpinfo.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/shpinfo-shpinfo.Tpo $(DEPDIR)/shpinfo-shpinfo.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='shpinfo.c' object='shpinfo-shpinfo.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(shpinfo_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o shpinfo-shpinfo.o `test -f 'shpinfo.c' || echo '$(srcdir)/'`shpinfo.c shpinfo-shpinfo.obj: shpinfo.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(shpinfo_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT shpinfo-shpinfo.obj -MD -MP -MF $(DEPDIR)/shpinfo-shpinfo.Tpo -c -o shpinfo-shpinfo.obj `if test -f 'shpinfo.c'; then $(CYGPATH_W) 'shpinfo.c'; else $(CYGPATH_W) '$(srcdir)/shpinfo.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/shpinfo-shpinfo.Tpo $(DEPDIR)/shpinfo-shpinfo.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='shpinfo.c' object='shpinfo-shpinfo.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(shpinfo_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o shpinfo-shpinfo.obj `if test -f 'shpinfo.c'; then $(CYGPATH_W) 'shpinfo.c'; else $(CYGPATH_W) '$(srcdir)/shpinfo.c'; fi` shpinfo-shpgeo.o: shpgeo.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(shpinfo_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT shpinfo-shpgeo.o -MD -MP -MF $(DEPDIR)/shpinfo-shpgeo.Tpo -c -o shpinfo-shpgeo.o `test -f 'shpgeo.c' || echo '$(srcdir)/'`shpgeo.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/shpinfo-shpgeo.Tpo $(DEPDIR)/shpinfo-shpgeo.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='shpgeo.c' object='shpinfo-shpgeo.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(shpinfo_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o shpinfo-shpgeo.o `test -f 'shpgeo.c' || echo '$(srcdir)/'`shpgeo.c shpinfo-shpgeo.obj: shpgeo.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(shpinfo_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT shpinfo-shpgeo.obj -MD -MP -MF $(DEPDIR)/shpinfo-shpgeo.Tpo -c -o shpinfo-shpgeo.obj `if test -f 'shpgeo.c'; then $(CYGPATH_W) 'shpgeo.c'; else $(CYGPATH_W) '$(srcdir)/shpgeo.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/shpinfo-shpgeo.Tpo $(DEPDIR)/shpinfo-shpgeo.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='shpgeo.c' object='shpinfo-shpgeo.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(shpinfo_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o shpinfo-shpgeo.obj `if test -f 'shpgeo.c'; then $(CYGPATH_W) 'shpgeo.c'; else $(CYGPATH_W) '$(srcdir)/shpgeo.c'; fi` shpsort-shpsort.o: shpsort.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(shpsort_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT shpsort-shpsort.o -MD -MP -MF $(DEPDIR)/shpsort-shpsort.Tpo -c -o shpsort-shpsort.o `test -f 'shpsort.c' || echo '$(srcdir)/'`shpsort.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/shpsort-shpsort.Tpo $(DEPDIR)/shpsort-shpsort.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='shpsort.c' object='shpsort-shpsort.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(shpsort_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o shpsort-shpsort.o `test -f 'shpsort.c' || echo '$(srcdir)/'`shpsort.c shpsort-shpsort.obj: shpsort.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(shpsort_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT shpsort-shpsort.obj -MD -MP -MF $(DEPDIR)/shpsort-shpsort.Tpo -c -o shpsort-shpsort.obj `if test -f 'shpsort.c'; then $(CYGPATH_W) 'shpsort.c'; else $(CYGPATH_W) '$(srcdir)/shpsort.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/shpsort-shpsort.Tpo $(DEPDIR)/shpsort-shpsort.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='shpsort.c' object='shpsort-shpsort.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(shpsort_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o shpsort-shpsort.obj `if test -f 'shpsort.c'; then $(CYGPATH_W) 'shpsort.c'; else $(CYGPATH_W) '$(srcdir)/shpsort.c'; fi` shpwkb-shpwkb.o: shpwkb.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(shpwkb_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT shpwkb-shpwkb.o -MD -MP -MF $(DEPDIR)/shpwkb-shpwkb.Tpo -c -o shpwkb-shpwkb.o `test -f 'shpwkb.c' || echo '$(srcdir)/'`shpwkb.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/shpwkb-shpwkb.Tpo $(DEPDIR)/shpwkb-shpwkb.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='shpwkb.c' object='shpwkb-shpwkb.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(shpwkb_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o shpwkb-shpwkb.o `test -f 'shpwkb.c' || echo '$(srcdir)/'`shpwkb.c shpwkb-shpwkb.obj: shpwkb.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(shpwkb_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT shpwkb-shpwkb.obj -MD -MP -MF $(DEPDIR)/shpwkb-shpwkb.Tpo -c -o shpwkb-shpwkb.obj `if test -f 'shpwkb.c'; then $(CYGPATH_W) 'shpwkb.c'; else $(CYGPATH_W) '$(srcdir)/shpwkb.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/shpwkb-shpwkb.Tpo $(DEPDIR)/shpwkb-shpwkb.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='shpwkb.c' object='shpwkb-shpwkb.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(shpwkb_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o shpwkb-shpwkb.obj `if test -f 'shpwkb.c'; then $(CYGPATH_W) 'shpwkb.c'; else $(CYGPATH_W) '$(srcdir)/shpwkb.c'; fi` shpwkb-shpgeo.o: shpgeo.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(shpwkb_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT shpwkb-shpgeo.o -MD -MP -MF $(DEPDIR)/shpwkb-shpgeo.Tpo -c -o shpwkb-shpgeo.o `test -f 'shpgeo.c' || echo '$(srcdir)/'`shpgeo.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/shpwkb-shpgeo.Tpo $(DEPDIR)/shpwkb-shpgeo.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='shpgeo.c' object='shpwkb-shpgeo.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(shpwkb_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o shpwkb-shpgeo.o `test -f 'shpgeo.c' || echo '$(srcdir)/'`shpgeo.c shpwkb-shpgeo.obj: shpgeo.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(shpwkb_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT shpwkb-shpgeo.obj -MD -MP -MF $(DEPDIR)/shpwkb-shpgeo.Tpo -c -o shpwkb-shpgeo.obj `if test -f 'shpgeo.c'; then $(CYGPATH_W) 'shpgeo.c'; else $(CYGPATH_W) '$(srcdir)/shpgeo.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/shpwkb-shpgeo.Tpo $(DEPDIR)/shpwkb-shpgeo.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='shpgeo.c' object='shpwkb-shpgeo.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(shpwkb_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o shpwkb-shpgeo.obj `if test -f 'shpgeo.c'; then $(CYGPATH_W) 'shpgeo.c'; else $(CYGPATH_W) '$(srcdir)/shpgeo.c'; fi` .cpp.o: @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ $< .cpp.obj: @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` .cpp.lo: @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LTCXXCOMPILE) -c -o $@ $< Shape_PointInPoly-Shape_PointInPoly.o: Shape_PointInPoly.cpp @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(Shape_PointInPoly_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT Shape_PointInPoly-Shape_PointInPoly.o -MD -MP -MF $(DEPDIR)/Shape_PointInPoly-Shape_PointInPoly.Tpo -c -o Shape_PointInPoly-Shape_PointInPoly.o `test -f 'Shape_PointInPoly.cpp' || echo '$(srcdir)/'`Shape_PointInPoly.cpp @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/Shape_PointInPoly-Shape_PointInPoly.Tpo $(DEPDIR)/Shape_PointInPoly-Shape_PointInPoly.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='Shape_PointInPoly.cpp' object='Shape_PointInPoly-Shape_PointInPoly.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(Shape_PointInPoly_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o Shape_PointInPoly-Shape_PointInPoly.o `test -f 'Shape_PointInPoly.cpp' || echo '$(srcdir)/'`Shape_PointInPoly.cpp Shape_PointInPoly-Shape_PointInPoly.obj: Shape_PointInPoly.cpp @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(Shape_PointInPoly_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT Shape_PointInPoly-Shape_PointInPoly.obj -MD -MP -MF $(DEPDIR)/Shape_PointInPoly-Shape_PointInPoly.Tpo -c -o Shape_PointInPoly-Shape_PointInPoly.obj `if test -f 'Shape_PointInPoly.cpp'; then $(CYGPATH_W) 'Shape_PointInPoly.cpp'; else $(CYGPATH_W) '$(srcdir)/Shape_PointInPoly.cpp'; fi` @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/Shape_PointInPoly-Shape_PointInPoly.Tpo $(DEPDIR)/Shape_PointInPoly-Shape_PointInPoly.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='Shape_PointInPoly.cpp' object='Shape_PointInPoly-Shape_PointInPoly.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(Shape_PointInPoly_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o Shape_PointInPoly-Shape_PointInPoly.obj `if test -f 'Shape_PointInPoly.cpp'; then $(CYGPATH_W) 'Shape_PointInPoly.cpp'; else $(CYGPATH_W) '$(srcdir)/Shape_PointInPoly.cpp'; fi` mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs ID: $(am__tagged_files) $(am__define_uniq_tagged_files); mkid -fID $$unique tags: tags-am TAGS: tags tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) set x; \ here=`pwd`; \ $(am__define_uniq_tagged_files); \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: ctags-am CTAGS: ctags ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) $(am__define_uniq_tagged_files); \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" cscopelist: cscopelist-am cscopelist-am: $(am__tagged_files) list='$(am__tagged_files)'; \ case "$(srcdir)" in \ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ *) sdir=$(subdir)/$(srcdir) ;; \ esac; \ for i in $$list; do \ if test -f "$$i"; then \ echo "$(subdir)/$$i"; \ else \ echo "$$sdir/$$i"; \ fi; \ done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags # Recover from deleted '.trs' file; this should ensure that # "rm -f foo.log; make foo.trs" re-run 'foo.test', and re-create # both 'foo.log' and 'foo.trs'. Break the recipe in two subshells # to avoid problems with "make -n". .log.trs: rm -f $< $@ $(MAKE) $(AM_MAKEFLAGS) $< # Leading 'am--fnord' is there to ensure the list of targets does not # expand to empty, as could happen e.g. with make check TESTS=''. am--fnord $(TEST_LOGS) $(TEST_LOGS:.log=.trs): $(am__force_recheck) am--force-recheck: @: $(TEST_SUITE_LOG): $(TEST_LOGS) @$(am__set_TESTS_bases); \ am__f_ok () { test -f "$$1" && test -r "$$1"; }; \ redo_bases=`for i in $$bases; do \ am__f_ok $$i.trs && am__f_ok $$i.log || echo $$i; \ done`; \ if test -n "$$redo_bases"; then \ redo_logs=`for i in $$redo_bases; do echo $$i.log; done`; \ redo_results=`for i in $$redo_bases; do echo $$i.trs; done`; \ if $(am__make_dryrun); then :; else \ rm -f $$redo_logs && rm -f $$redo_results || exit 1; \ fi; \ fi; \ if test -n "$$am__remaking_logs"; then \ echo "fatal: making $(TEST_SUITE_LOG): possible infinite" \ "recursion detected" >&2; \ elif test -n "$$redo_logs"; then \ am__remaking_logs=yes $(MAKE) $(AM_MAKEFLAGS) $$redo_logs; \ fi; \ if $(am__make_dryrun); then :; else \ st=0; \ errmsg="fatal: making $(TEST_SUITE_LOG): failed to create"; \ for i in $$redo_bases; do \ test -f $$i.trs && test -r $$i.trs \ || { echo "$$errmsg $$i.trs" >&2; st=1; }; \ test -f $$i.log && test -r $$i.log \ || { echo "$$errmsg $$i.log" >&2; st=1; }; \ done; \ test $$st -eq 0 || exit 1; \ fi @$(am__sh_e_setup); $(am__tty_colors); $(am__set_TESTS_bases); \ ws='[ ]'; \ results=`for b in $$bases; do echo $$b.trs; done`; \ test -n "$$results" || results=/dev/null; \ all=` grep "^$$ws*:test-result:" $$results | wc -l`; \ pass=` grep "^$$ws*:test-result:$$ws*PASS" $$results | wc -l`; \ fail=` grep "^$$ws*:test-result:$$ws*FAIL" $$results | wc -l`; \ skip=` grep "^$$ws*:test-result:$$ws*SKIP" $$results | wc -l`; \ xfail=`grep "^$$ws*:test-result:$$ws*XFAIL" $$results | wc -l`; \ xpass=`grep "^$$ws*:test-result:$$ws*XPASS" $$results | wc -l`; \ error=`grep "^$$ws*:test-result:$$ws*ERROR" $$results | wc -l`; \ if test `expr $$fail + $$xpass + $$error` -eq 0; then \ success=true; \ else \ success=false; \ fi; \ br='==================='; br=$$br$$br$$br$$br; \ result_count () \ { \ if test x"$$1" = x"--maybe-color"; then \ maybe_colorize=yes; \ elif test x"$$1" = x"--no-color"; then \ maybe_colorize=no; \ else \ echo "$@: invalid 'result_count' usage" >&2; exit 4; \ fi; \ shift; \ desc=$$1 count=$$2; \ if test $$maybe_colorize = yes && test $$count -gt 0; then \ color_start=$$3 color_end=$$std; \ else \ color_start= color_end=; \ fi; \ echo "$${color_start}# $$desc $$count$${color_end}"; \ }; \ create_testsuite_report () \ { \ result_count $$1 "TOTAL:" $$all "$$brg"; \ result_count $$1 "PASS: " $$pass "$$grn"; \ result_count $$1 "SKIP: " $$skip "$$blu"; \ result_count $$1 "XFAIL:" $$xfail "$$lgn"; \ result_count $$1 "FAIL: " $$fail "$$red"; \ result_count $$1 "XPASS:" $$xpass "$$red"; \ result_count $$1 "ERROR:" $$error "$$mgn"; \ }; \ { \ echo "$(PACKAGE_STRING): $(subdir)/$(TEST_SUITE_LOG)" | \ $(am__rst_title); \ create_testsuite_report --no-color; \ echo; \ echo ".. contents:: :depth: 2"; \ echo; \ for b in $$bases; do echo $$b; done \ | $(am__create_global_log); \ } >$(TEST_SUITE_LOG).tmp || exit 1; \ mv $(TEST_SUITE_LOG).tmp $(TEST_SUITE_LOG); \ if $$success; then \ col="$$grn"; \ else \ col="$$red"; \ test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG); \ fi; \ echo "$${col}$$br$${std}"; \ echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}"; \ echo "$${col}$$br$${std}"; \ create_testsuite_report --maybe-color; \ echo "$$col$$br$$std"; \ if $$success; then :; else \ echo "$${col}See $(subdir)/$(TEST_SUITE_LOG)$${std}"; \ if test -n "$(PACKAGE_BUGREPORT)"; then \ echo "$${col}Please report to $(PACKAGE_BUGREPORT)$${std}"; \ fi; \ echo "$$col$$br$$std"; \ fi; \ $$success || exit 1 check-TESTS: @list='$(RECHECK_LOGS)'; test -z "$$list" || rm -f $$list @list='$(RECHECK_LOGS:.log=.trs)'; test -z "$$list" || rm -f $$list @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) @set +e; $(am__set_TESTS_bases); \ log_list=`for i in $$bases; do echo $$i.log; done`; \ trs_list=`for i in $$bases; do echo $$i.trs; done`; \ log_list=`echo $$log_list`; trs_list=`echo $$trs_list`; \ $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) TEST_LOGS="$$log_list"; \ exit $$?; recheck: all @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) @set +e; $(am__set_TESTS_bases); \ bases=`for i in $$bases; do echo $$i; done \ | $(am__list_recheck_tests)` || exit 1; \ log_list=`for i in $$bases; do echo $$i.log; done`; \ log_list=`echo $$log_list`; \ $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) \ am__force_recheck=am--force-recheck \ TEST_LOGS="$$log_list"; \ exit $$? tests/shpproj.sh.log: tests/shpproj.sh @p='tests/shpproj.sh'; \ b='tests/shpproj.sh'; \ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ --log-file $$b.log --trs-file $$b.trs \ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ "$$tst" $(AM_TESTS_FD_REDIRECT) .test.log: @p='$<'; \ $(am__set_b); \ $(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \ --log-file $$b.log --trs-file $$b.trs \ $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \ "$$tst" $(AM_TESTS_FD_REDIRECT) @am__EXEEXT_TRUE@.test$(EXEEXT).log: @am__EXEEXT_TRUE@ @p='$<'; \ @am__EXEEXT_TRUE@ $(am__set_b); \ @am__EXEEXT_TRUE@ $(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \ @am__EXEEXT_TRUE@ --log-file $$b.log --trs-file $$b.trs \ @am__EXEEXT_TRUE@ $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \ @am__EXEEXT_TRUE@ "$$tst" $(AM_TESTS_FD_REDIRECT) distdir: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) distdir-am distdir-am: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am $(MAKE) $(AM_MAKEFLAGS) check-TESTS check: check-am all-am: Makefile $(PROGRAMS) installdirs: for dir in "$(DESTDIR)$(bindir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: -test -z "$(TEST_LOGS)" || rm -f $(TEST_LOGS) -test -z "$(TEST_LOGS:.log=.trs)" || rm -f $(TEST_LOGS:.log=.trs) -test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-binPROGRAMS clean-generic clean-libtool clean-local \ mostlyclean-am distclean: distclean-am -rm -f ./$(DEPDIR)/Shape_PointInPoly-Shape_PointInPoly.Po -rm -f ./$(DEPDIR)/csv2shp-csv2shp.Po -rm -f ./$(DEPDIR)/dbfcat-dbfcat.Po -rm -f ./$(DEPDIR)/dbfinfo-dbfinfo.Po -rm -f ./$(DEPDIR)/shpcat-shpcat.Po -rm -f ./$(DEPDIR)/shpcentrd-shpcentrd.Po -rm -f ./$(DEPDIR)/shpcentrd-shpgeo.Po -rm -f ./$(DEPDIR)/shpdata-shpdata.Po -rm -f ./$(DEPDIR)/shpdata-shpgeo.Po -rm -f ./$(DEPDIR)/shpdxf-shpdxf.Po -rm -f ./$(DEPDIR)/shpfix-shpfix.Po -rm -f ./$(DEPDIR)/shpinfo-shpgeo.Po -rm -f ./$(DEPDIR)/shpinfo-shpinfo.Po -rm -f ./$(DEPDIR)/shpsort-shpsort.Po -rm -f ./$(DEPDIR)/shpwkb-shpgeo.Po -rm -f ./$(DEPDIR)/shpwkb-shpwkb.Po -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-binPROGRAMS install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f ./$(DEPDIR)/Shape_PointInPoly-Shape_PointInPoly.Po -rm -f ./$(DEPDIR)/csv2shp-csv2shp.Po -rm -f ./$(DEPDIR)/dbfcat-dbfcat.Po -rm -f ./$(DEPDIR)/dbfinfo-dbfinfo.Po -rm -f ./$(DEPDIR)/shpcat-shpcat.Po -rm -f ./$(DEPDIR)/shpcentrd-shpcentrd.Po -rm -f ./$(DEPDIR)/shpcentrd-shpgeo.Po -rm -f ./$(DEPDIR)/shpdata-shpdata.Po -rm -f ./$(DEPDIR)/shpdata-shpgeo.Po -rm -f ./$(DEPDIR)/shpdxf-shpdxf.Po -rm -f ./$(DEPDIR)/shpfix-shpfix.Po -rm -f ./$(DEPDIR)/shpinfo-shpgeo.Po -rm -f ./$(DEPDIR)/shpinfo-shpinfo.Po -rm -f ./$(DEPDIR)/shpsort-shpsort.Po -rm -f ./$(DEPDIR)/shpwkb-shpgeo.Po -rm -f ./$(DEPDIR)/shpwkb-shpwkb.Po -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-binPROGRAMS .MAKE: check-am install-am install-strip .PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-TESTS \ check-am clean clean-binPROGRAMS clean-generic clean-libtool \ clean-local cscopelist-am ctags ctags-am distclean \ distclean-compile distclean-generic distclean-libtool \ distclean-tags distdir dvi dvi-am html html-am info info-am \ install install-am install-binPROGRAMS install-data \ install-data-am install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-info \ install-info-am install-man install-pdf install-pdf-am \ install-ps install-ps-am install-strip installcheck \ installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-compile \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ recheck tags tags-am uninstall uninstall-am \ uninstall-binPROGRAMS .PRECIOUS: Makefile clean-local: -rm -f test.* # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: shapelib-1.6.1/contrib/dbfinfo.c0000664000175000017500000000542614600371435013456 00000000000000/* * Copyright (c) 1999 Carl Anderson * * This code is in the public domain. * * This code is based in part on the earlier work of Frank Warmerdam * */ #include #include #include #include "shapefil.h" int main(int argc, char **argv) { /* -------------------------------------------------------------------- */ /* Display a usage message. */ /* -------------------------------------------------------------------- */ if (argc != 2) { printf("dbfinfo xbase_file\n"); exit(1); } /* -------------------------------------------------------------------- */ /* Open the file. */ /* -------------------------------------------------------------------- */ DBFHandle hDBF = DBFOpen(argv[1], "rb"); if (hDBF == NULL) { printf("DBFOpen(%s,\"r\") failed.\n", argv[1]); exit(2); } printf("Info for %s\n", argv[1]); /* -------------------------------------------------------------------- */ /* If there is no data in this file let the user know. */ /* -------------------------------------------------------------------- */ const int iCount = DBFGetFieldCount(hDBF); printf("%d Columns, %d Records in file\n", iCount, DBFGetRecordCount(hDBF)); /* -------------------------------------------------------------------- */ /* Compute offsets to use when printing each of the field */ /* values. We make each field as wide as the field title+1, or */ /* the field value + 1. */ /* -------------------------------------------------------------------- */ char ftype[32]; int nDecimals; int nWidth; for (int i = 0; i < DBFGetFieldCount(hDBF); i++) { char szTitle[XBASE_FLDNAME_LEN_READ + 1]; switch (DBFGetFieldInfo(hDBF, i, szTitle, &nWidth, &nDecimals)) { case FTString: strcpy(ftype, "string"); break; case FTInteger: strcpy(ftype, "integer"); break; case FTDouble: strcpy(ftype, "float"); break; case FTLogical: strcpy(ftype, "logical"); break; case FTDate: strcpy(ftype, "date"); break; case FTInvalid: strcpy(ftype, "invalid/unsupported"); break; default: strcpy(ftype, "unknown"); break; } printf("%15.15s\t%15s (%d,%d)\n", szTitle, ftype, nWidth, nDecimals); } DBFClose(hDBF); return (0); } shapelib-1.6.1/contrib/makefile.vc0000664000175000017500000000146314371676733014025 00000000000000 CFLAGS = /Ox /MD /nologo /I.. /IC:\OSGeo4W\include \ /D_LITTLE_ENDIAN LINKARGS = ..\shapelib_i.lib default: all all: shpcat.exe shpcentrd.exe shpdxf.exe shpinfo.exe shpcat.exe: shpcat.obj shpgeo.obj $(CC) $(CFLAGS) shpcat.obj $(LINKARGS) if exist $@.manifest mt -manifest $@.manifest -outputresource:$@;1 shpcentrd.exe: shpcentrd.obj shpgeo.obj $(CC) $(CFLAGS) shpcentrd.obj shpgeo.obj $(LINKARGS) if exist $@.manifest mt -manifest $@.manifest -outputresource:$@;1 shpdxf.exe: shpdxf.obj shpgeo.obj $(CC) $(CFLAGS) shpdxf.obj $(LINKARGS) if exist $@.manifest mt -manifest $@.manifest -outputresource:$@;1 shpinfo.exe: shpinfo.obj shpgeo.obj $(CC) $(CFLAGS) shpinfo.obj $(LINKARGS) if exist $@.manifest mt -manifest $@.manifest -outputresource:$@;1 clean: -del *.obj -del *.exe -del *.manifest shapelib-1.6.1/contrib/tests/0000775000175000017500000000000014657064715013132 500000000000000shapelib-1.6.1/contrib/tests/expect.out0000664000175000017500000000146214573117335015070 00000000000000Shapefile Type: Point # of Shapes: 5 File Bounds: (-84.15596,34.54927,0,0) to (-83.521622,34.992767,0,0) Shape:0 (Point) nVertices=1, nParts=0 Bounds:(-83.5495,34.992401, 0) to (-83.5495,34.992401, 0) (-83.5495,34.992401, 0) Shape:1 (Point) nVertices=1, nParts=0 Bounds:(-83.521622,34.992767, 0) to (-83.521622,34.992767, 0) (-83.521622,34.992767, 0) Shape:2 (Point) nVertices=1, nParts=0 Bounds:(-84.016815,34.67276, 0) to (-84.016815,34.67276, 0) (-84.016815,34.67276, 0) Shape:3 (Point) nVertices=1, nParts=0 Bounds:(-84.15596,34.648624, 0) to (-84.15596,34.648624, 0) (-84.15596,34.648624, 0) Shape:4 (Point) nVertices=1, nParts=0 Bounds:(-83.619515,34.54927, 0) to (-83.619515,34.54927, 0) (-83.619515,34.54927, 0) shapelib-1.6.1/contrib/tests/shpproj.sh0000775000175000017500000000236014657064606015076 00000000000000#!/bin/sh set -eu readonly SCRIPTDIR=$(dirname "$0") "${SHPCREATE:-$top_builddir/shpcreate}" "test" point "${SHPADD:-$top_builddir/shpadd}" "test" -83.54949956 34.992401 "${SHPADD:-$top_builddir/shpadd}" "test" -83.52162155 34.99276748 "${SHPADD:-$top_builddir/shpadd}" "test" -84.01681518 34.67275985 "${SHPADD:-$top_builddir/shpadd}" "test" -84.15596023 34.64862437 "${SHPADD:-$top_builddir/shpadd}" "test" -83.61951463 34.54927047 "${DBFCREATE:-$top_builddir/dbfcreate}" "test" -s fd 30 "${DBFADD:-$top_builddir/dbfadd}" "test" "1" "${DBFADD:-$top_builddir/dbfadd}" "test" "2" "${DBFADD:-$top_builddir/dbfadd}" "test" "3" "${DBFADD:-$top_builddir/dbfadd}" "test" "4" "${DBFADD:-$top_builddir/dbfadd}" "test" "5" "${SHPDUMP:-$top_builddir/shpdump}" -precision 8 "test" > "test.out" supports_strip_trailing_cr() { diff --help 2>/dev/null | grep -q -- '--strip-trailing-cr' } run_diff() { if supports_strip_trailing_cr; then diff --strip-trailing-cr "$SCRIPTDIR/expect.out" "test.out" else diff "$SCRIPTDIR/expect.out" "test.out" fi } if result=$(run_diff); then echo "******* Test Succeeded *********" exit 0 else echo "******* Test Failed *********" echo "$result" exit 1 fi shapelib-1.6.1/shptest.c0000664000175000017500000001666514657064606012123 00000000000000/****************************************************************************** * * Project: Shapelib * Purpose: Application for generating sample Shapefiles of various types. * Used by the stream2.sh test script. * Author: Frank Warmerdam, warmerdam@pobox.com * ****************************************************************************** * Copyright (c) 1999, Frank Warmerdam * * SPDX-License-Identifier: MIT OR LGPL-2.0-or-later ****************************************************************************** * */ #include #include #include #include "shapefil.h" /************************************************************************/ /* Test_WritePoints() */ /* */ /* Write a small point file. */ /************************************************************************/ static void Test_WritePoints(int nSHPType, const char *pszFilename) { SHPHandle hSHPHandle = SHPCreate(pszFilename, nSHPType); double x = 1.0; double y = 2.0; double z = 3.0; double m = 4.0; SHPObject *psShape = SHPCreateObject(nSHPType, -1, 0, NULL, NULL, 1, &x, &y, &z, &m); SHPWriteObject(hSHPHandle, -1, psShape); SHPDestroyObject(psShape); x = 10.0; y = 20.0; z = 30.0; m = 40.0; psShape = SHPCreateObject(nSHPType, -1, 0, NULL, NULL, 1, &x, &y, &z, &m); SHPWriteObject(hSHPHandle, -1, psShape); SHPDestroyObject(psShape); SHPClose(hSHPHandle); } /************************************************************************/ /* Test_WriteMultiPoints() */ /* */ /* Write a small multipoint file. */ /************************************************************************/ static void Test_WriteMultiPoints(int nSHPType, const char *pszFilename) { double x[4]; double y[4]; double z[4]; double m[4]; SHPHandle hSHPHandle = SHPCreate(pszFilename, nSHPType); for (int iShape = 0; iShape < 3; iShape++) { for (int i = 0; i < 4; i++) { x[i] = iShape * 10 + i + 1.15; y[i] = iShape * 10 + i + 2.25; z[i] = iShape * 10 + i + 3.35; m[i] = iShape * 10 + i + 4.45; } SHPObject *psShape = SHPCreateObject(nSHPType, -1, 0, NULL, NULL, 4, x, y, z, m); SHPWriteObject(hSHPHandle, -1, psShape); SHPDestroyObject(psShape); } SHPClose(hSHPHandle); } /************************************************************************/ /* Test_WriteArcPoly() */ /* */ /* Write a small arc or polygon file. */ /************************************************************************/ static void Test_WriteArcPoly(int nSHPType, const char *pszFilename) { SHPHandle hSHPHandle = SHPCreate(pszFilename, nSHPType); int anPartType[100]; int *panPartType; if (nSHPType == SHPT_MULTIPATCH) panPartType = anPartType; else panPartType = NULL; double x[100]; double y[100]; double z[100]; double m[100]; for (int iShape = 0; iShape < 3; iShape++) { x[0] = 1.0; y[0] = 1.0 + iShape * 3; x[1] = 1.0; y[1] = 2.0 + iShape * 3; x[2] = 2.0; y[2] = 2.0 + iShape * 3; x[3] = 2.0; y[3] = 1.0 + iShape * 3; x[4] = 1.0; y[4] = 1.0 + iShape * 3; for (int i = 0; i < 5; i++) { z[i] = iShape * 10 + i + 3.35; m[i] = iShape * 10 + i + 4.45; } SHPObject *psShape = SHPCreateObject(nSHPType, -1, 0, NULL, NULL, 5, x, y, z, m); SHPWriteObject(hSHPHandle, -1, psShape); SHPDestroyObject(psShape); } /* -------------------------------------------------------------------- */ /* Do a multi part polygon (shape). We close it, and have two */ /* inner rings. */ /* -------------------------------------------------------------------- */ x[0] = 0.0; y[0] = 0.0; x[1] = 0; y[1] = 100; x[2] = 100; y[2] = 100; x[3] = 100; y[3] = 0; x[4] = 0; y[4] = 0; x[5] = 10; y[5] = 20; x[6] = 30; y[6] = 20; x[7] = 30; y[7] = 40; x[8] = 10; y[8] = 40; x[9] = 10; y[9] = 20; x[10] = 60; y[10] = 20; x[11] = 90; y[11] = 20; x[12] = 90; y[12] = 40; x[13] = 60; y[13] = 40; x[14] = 60; y[14] = 20; for (int i = 0; i < 15; i++) { z[i] = i; m[i] = i * 2; } int anPartStart[100]; anPartStart[0] = 0; anPartStart[1] = 5; anPartStart[2] = 10; anPartType[0] = SHPP_RING; anPartType[1] = SHPP_INNERRING; anPartType[2] = SHPP_INNERRING; SHPObject *psShape = SHPCreateObject(nSHPType, -1, 3, anPartStart, panPartType, 15, x, y, z, m); SHPWriteObject(hSHPHandle, -1, psShape); SHPDestroyObject(psShape); SHPClose(hSHPHandle); } /************************************************************************/ /* main() */ /************************************************************************/ int main(int argc, char **argv) { /* -------------------------------------------------------------------- */ /* Display a usage message. */ /* -------------------------------------------------------------------- */ if (argc != 2) { printf("shptest test_number\n"); exit(1); } /* -------------------------------------------------------------------- */ /* Figure out which test to run. */ /* -------------------------------------------------------------------- */ if (atoi(argv[1]) == 0) Test_WritePoints(SHPT_NULL, "test0.shp"); else if (atoi(argv[1]) == 1) Test_WritePoints(SHPT_POINT, "test1.shp"); else if (atoi(argv[1]) == 2) Test_WritePoints(SHPT_POINTZ, "test2.shp"); else if (atoi(argv[1]) == 3) Test_WritePoints(SHPT_POINTM, "test3.shp"); else if (atoi(argv[1]) == 4) Test_WriteMultiPoints(SHPT_MULTIPOINT, "test4.shp"); else if (atoi(argv[1]) == 5) Test_WriteMultiPoints(SHPT_MULTIPOINTZ, "test5.shp"); else if (atoi(argv[1]) == 6) Test_WriteMultiPoints(SHPT_MULTIPOINTM, "test6.shp"); else if (atoi(argv[1]) == 7) Test_WriteArcPoly(SHPT_ARC, "test7.shp"); else if (atoi(argv[1]) == 8) Test_WriteArcPoly(SHPT_ARCZ, "test8.shp"); else if (atoi(argv[1]) == 9) Test_WriteArcPoly(SHPT_ARCM, "test9.shp"); else if (atoi(argv[1]) == 10) Test_WriteArcPoly(SHPT_POLYGON, "test10.shp"); else if (atoi(argv[1]) == 11) Test_WriteArcPoly(SHPT_POLYGONZ, "test11.shp"); else if (atoi(argv[1]) == 12) Test_WriteArcPoly(SHPT_POLYGONM, "test12.shp"); else if (atoi(argv[1]) == 13) Test_WriteArcPoly(SHPT_MULTIPATCH, "test13.shp"); else { printf("Test `%s' not recognised.\n", argv[1]); exit(10); } exit(0); } shapelib-1.6.1/Makefile.in0000664000175000017500000016671214656616450012330 00000000000000# Makefile.in generated by automake 1.16.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2018 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = { \ if test -z '$(MAKELEVEL)'; then \ false; \ elif test -n '$(MAKE_HOST)'; then \ true; \ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ true; \ else \ false; \ fi; \ } am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ bin_PROGRAMS = dbfadd$(EXEEXT) dbfcreate$(EXEEXT) dbfdump$(EXEEXT) \ shpadd$(EXEEXT) shpcreate$(EXEEXT) shpdump$(EXEEXT) \ shprewind$(EXEEXT) shptreedump$(EXEEXT) shputils$(EXEEXT) noinst_PROGRAMS = shptest$(EXEEXT) subdir = . ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) DIST_COMMON = $(srcdir)/Makefile.am $(top_srcdir)/configure \ $(am__configure_deps) $(libshp_la_include_HEADERS) \ $(noinst_HEADERS) $(am__DIST_COMMON) am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ configure.lineno config.status.lineno mkinstalldirs = $(install_sh) -d CONFIG_CLEAN_FILES = shapelib.pc CONFIG_CLEAN_VPATH_FILES = am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(libdir)" \ "$(DESTDIR)$(pkgconfigdir)" \ "$(DESTDIR)$(libshp_la_includedir)" PROGRAMS = $(bin_PROGRAMS) $(noinst_PROGRAMS) am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__uninstall_files_from_dir = { \ test -z "$$files" \ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ $(am__cd) "$$dir" && rm -f $$files; }; \ } LTLIBRARIES = $(lib_LTLIBRARIES) libshp_la_LIBADD = am_libshp_la_OBJECTS = shpopen.lo dbfopen.lo safileio.lo shptree.lo \ sbnsearch.lo libshp_la_OBJECTS = $(am_libshp_la_OBJECTS) AM_V_lt = $(am__v_lt_@AM_V@) am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) am__v_lt_0 = --silent am__v_lt_1 = libshp_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ $(libshp_la_LDFLAGS) $(LDFLAGS) -o $@ am_dbfadd_OBJECTS = dbfadd.$(OBJEXT) dbfadd_OBJECTS = $(am_dbfadd_OBJECTS) dbfadd_DEPENDENCIES = $(top_builddir)/libshp.la am_dbfcreate_OBJECTS = dbfcreate.$(OBJEXT) dbfcreate_OBJECTS = $(am_dbfcreate_OBJECTS) dbfcreate_DEPENDENCIES = $(top_builddir)/libshp.la am_dbfdump_OBJECTS = dbfdump.$(OBJEXT) dbfdump_OBJECTS = $(am_dbfdump_OBJECTS) dbfdump_DEPENDENCIES = $(top_builddir)/libshp.la am_shpadd_OBJECTS = shpadd.$(OBJEXT) shpadd_OBJECTS = $(am_shpadd_OBJECTS) shpadd_DEPENDENCIES = $(top_builddir)/libshp.la am_shpcreate_OBJECTS = shpcreate.$(OBJEXT) shpcreate_OBJECTS = $(am_shpcreate_OBJECTS) shpcreate_DEPENDENCIES = $(top_builddir)/libshp.la am_shpdump_OBJECTS = shpdump.$(OBJEXT) shpdump_OBJECTS = $(am_shpdump_OBJECTS) shpdump_DEPENDENCIES = $(top_builddir)/libshp.la am_shprewind_OBJECTS = shprewind.$(OBJEXT) shprewind_OBJECTS = $(am_shprewind_OBJECTS) shprewind_DEPENDENCIES = $(top_builddir)/libshp.la am_shptest_OBJECTS = shptest.$(OBJEXT) shptest_OBJECTS = $(am_shptest_OBJECTS) shptest_DEPENDENCIES = $(top_builddir)/libshp.la am_shptreedump_OBJECTS = shptreedump.$(OBJEXT) shptreedump_OBJECTS = $(am_shptreedump_OBJECTS) shptreedump_DEPENDENCIES = $(top_builddir)/libshp.la am_shputils_OBJECTS = shputils.$(OBJEXT) shputils_OBJECTS = $(am_shputils_OBJECTS) shputils_DEPENDENCIES = $(top_builddir)/libshp.la AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = DEFAULT_INCLUDES = -I.@am__isrc@ depcomp = $(SHELL) $(top_srcdir)/depcomp am__maybe_remake_depfiles = depfiles am__depfiles_remade = ./$(DEPDIR)/dbfadd.Po ./$(DEPDIR)/dbfcreate.Po \ ./$(DEPDIR)/dbfdump.Po ./$(DEPDIR)/dbfopen.Plo \ ./$(DEPDIR)/safileio.Plo ./$(DEPDIR)/sbnsearch.Plo \ ./$(DEPDIR)/shpadd.Po ./$(DEPDIR)/shpcreate.Po \ ./$(DEPDIR)/shpdump.Po ./$(DEPDIR)/shpopen.Plo \ ./$(DEPDIR)/shprewind.Po ./$(DEPDIR)/shptest.Po \ ./$(DEPDIR)/shptree.Plo ./$(DEPDIR)/shptreedump.Po \ ./$(DEPDIR)/shputils.Po am__mv = mv -f COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ $(AM_CFLAGS) $(CFLAGS) AM_V_CC = $(am__v_CC_@AM_V@) am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) am__v_CC_0 = @echo " CC " $@; am__v_CC_1 = CCLD = $(CC) LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ $(AM_LDFLAGS) $(LDFLAGS) -o $@ AM_V_CCLD = $(am__v_CCLD_@AM_V@) am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) am__v_CCLD_0 = @echo " CCLD " $@; am__v_CCLD_1 = SOURCES = $(libshp_la_SOURCES) $(dbfadd_SOURCES) $(dbfcreate_SOURCES) \ $(dbfdump_SOURCES) $(shpadd_SOURCES) $(shpcreate_SOURCES) \ $(shpdump_SOURCES) $(shprewind_SOURCES) $(shptest_SOURCES) \ $(shptreedump_SOURCES) $(shputils_SOURCES) DIST_SOURCES = $(libshp_la_SOURCES) $(dbfadd_SOURCES) \ $(dbfcreate_SOURCES) $(dbfdump_SOURCES) $(shpadd_SOURCES) \ $(shpcreate_SOURCES) $(shpdump_SOURCES) $(shprewind_SOURCES) \ $(shptest_SOURCES) $(shptreedump_SOURCES) $(shputils_SOURCES) RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ ctags-recursive dvi-recursive html-recursive info-recursive \ install-data-recursive install-dvi-recursive \ install-exec-recursive install-html-recursive \ install-info-recursive install-pdf-recursive \ install-ps-recursive install-recursive installcheck-recursive \ installdirs-recursive pdf-recursive ps-recursive \ tags-recursive uninstall-recursive am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac DATA = $(pkgconfig_DATA) HEADERS = $(libshp_la_include_HEADERS) $(noinst_HEADERS) RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive am__recursive_targets = \ $(RECURSIVE_TARGETS) \ $(RECURSIVE_CLEAN_TARGETS) \ $(am__extra_recursive_targets) AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ cscope check recheck distdir distdir-am dist dist-all \ distcheck am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) # Read a list of newline-separated strings from the standard input, # and print each of them once, without duplicates. Input order is # *not* preserved. am__uniquify_input = $(AWK) '\ BEGIN { nonempty = 0; } \ { items[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in items) print i; }; } \ ' # Make sure the list of sources is unique. This is necessary because, # e.g., the same source file might be shared among _SOURCES variables # for different programs/libraries. am__define_uniq_tagged_files = \ list='$(am__tagged_files)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags CSCOPE = cscope am__tty_colors_dummy = \ mgn= red= grn= lgn= blu= brg= std=; \ am__color_tests=no am__tty_colors = { \ $(am__tty_colors_dummy); \ if test "X$(AM_COLOR_TESTS)" = Xno; then \ am__color_tests=no; \ elif test "X$(AM_COLOR_TESTS)" = Xalways; then \ am__color_tests=yes; \ elif test "X$$TERM" != Xdumb && { test -t 1; } 2>/dev/null; then \ am__color_tests=yes; \ fi; \ if test $$am__color_tests = yes; then \ red=''; \ grn=''; \ lgn=''; \ blu=''; \ mgn=''; \ brg=''; \ std=''; \ fi; \ } am__recheck_rx = ^[ ]*:recheck:[ ]* am__global_test_result_rx = ^[ ]*:global-test-result:[ ]* am__copy_in_global_log_rx = ^[ ]*:copy-in-global-log:[ ]* # A command that, given a newline-separated list of test names on the # standard input, print the name of the tests that are to be re-run # upon "make recheck". am__list_recheck_tests = $(AWK) '{ \ recheck = 1; \ while ((rc = (getline line < ($$0 ".trs"))) != 0) \ { \ if (rc < 0) \ { \ if ((getline line2 < ($$0 ".log")) < 0) \ recheck = 0; \ break; \ } \ else if (line ~ /$(am__recheck_rx)[nN][Oo]/) \ { \ recheck = 0; \ break; \ } \ else if (line ~ /$(am__recheck_rx)[yY][eE][sS]/) \ { \ break; \ } \ }; \ if (recheck) \ print $$0; \ close ($$0 ".trs"); \ close ($$0 ".log"); \ }' # A command that, given a newline-separated list of test names on the # standard input, create the global log from their .trs and .log files. am__create_global_log = $(AWK) ' \ function fatal(msg) \ { \ print "fatal: making $@: " msg | "cat >&2"; \ exit 1; \ } \ function rst_section(header) \ { \ print header; \ len = length(header); \ for (i = 1; i <= len; i = i + 1) \ printf "="; \ printf "\n\n"; \ } \ { \ copy_in_global_log = 1; \ global_test_result = "RUN"; \ while ((rc = (getline line < ($$0 ".trs"))) != 0) \ { \ if (rc < 0) \ fatal("failed to read from " $$0 ".trs"); \ if (line ~ /$(am__global_test_result_rx)/) \ { \ sub("$(am__global_test_result_rx)", "", line); \ sub("[ ]*$$", "", line); \ global_test_result = line; \ } \ else if (line ~ /$(am__copy_in_global_log_rx)[nN][oO]/) \ copy_in_global_log = 0; \ }; \ if (copy_in_global_log) \ { \ rst_section(global_test_result ": " $$0); \ while ((rc = (getline line < ($$0 ".log"))) != 0) \ { \ if (rc < 0) \ fatal("failed to read from " $$0 ".log"); \ print line; \ }; \ printf "\n"; \ }; \ close ($$0 ".trs"); \ close ($$0 ".log"); \ }' # Restructured Text title. am__rst_title = { sed 's/.*/ & /;h;s/./=/g;p;x;s/ *$$//;p;g' && echo; } # Solaris 10 'make', and several other traditional 'make' implementations, # pass "-e" to $(SHELL), and POSIX 2008 even requires this. Work around it # by disabling -e (using the XSI extension "set +e") if it's set. am__sh_e_setup = case $$- in *e*) set +e;; esac # Default flags passed to test drivers. am__common_driver_flags = \ --color-tests "$$am__color_tests" \ --enable-hard-errors "$$am__enable_hard_errors" \ --expect-failure "$$am__expect_failure" # To be inserted before the command running the test. Creates the # directory for the log if needed. Stores in $dir the directory # containing $f, in $tst the test, in $log the log. Executes the # developer- defined test setup AM_TESTS_ENVIRONMENT (if any), and # passes TESTS_ENVIRONMENT. Set up options for the wrapper that # will run the test scripts (or their associated LOG_COMPILER, if # thy have one). am__check_pre = \ $(am__sh_e_setup); \ $(am__vpath_adj_setup) $(am__vpath_adj) \ $(am__tty_colors); \ srcdir=$(srcdir); export srcdir; \ case "$@" in \ */*) am__odir=`echo "./$@" | sed 's|/[^/]*$$||'`;; \ *) am__odir=.;; \ esac; \ test "x$$am__odir" = x"." || test -d "$$am__odir" \ || $(MKDIR_P) "$$am__odir" || exit $$?; \ if test -f "./$$f"; then dir=./; \ elif test -f "$$f"; then dir=; \ else dir="$(srcdir)/"; fi; \ tst=$$dir$$f; log='$@'; \ if test -n '$(DISABLE_HARD_ERRORS)'; then \ am__enable_hard_errors=no; \ else \ am__enable_hard_errors=yes; \ fi; \ case " $(XFAIL_TESTS) " in \ *[\ \ ]$$f[\ \ ]* | *[\ \ ]$$dir$$f[\ \ ]*) \ am__expect_failure=yes;; \ *) \ am__expect_failure=no;; \ esac; \ $(AM_TESTS_ENVIRONMENT) $(TESTS_ENVIRONMENT) # A shell command to get the names of the tests scripts with any registered # extension removed (i.e., equivalently, the names of the test logs, with # the '.log' extension removed). The result is saved in the shell variable # '$bases'. This honors runtime overriding of TESTS and TEST_LOGS. Sadly, # we cannot use something simpler, involving e.g., "$(TEST_LOGS:.log=)", # since that might cause problem with VPATH rewrites for suffix-less tests. # See also 'test-harness-vpath-rewrite.sh' and 'test-trs-basic.sh'. am__set_TESTS_bases = \ bases='$(TEST_LOGS)'; \ bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \ bases=`echo $$bases` RECHECK_LOGS = $(TEST_LOGS) TEST_SUITE_LOG = test-suite.log TEST_EXTENSIONS = @EXEEXT@ .test LOG_DRIVER = $(SHELL) $(top_srcdir)/test-driver LOG_COMPILE = $(LOG_COMPILER) $(AM_LOG_FLAGS) $(LOG_FLAGS) am__set_b = \ case '$@' in \ */*) \ case '$*' in \ */*) b='$*';; \ *) b=`echo '$@' | sed 's/\.log$$//'`; \ esac;; \ *) \ b='$*';; \ esac am__test_logs1 = $(TESTS:=.log) am__test_logs2 = $(am__test_logs1:@EXEEXT@.log=.log) TEST_LOGS = $(am__test_logs2:.test.log=.log) TEST_LOG_DRIVER = $(SHELL) $(top_srcdir)/test-driver TEST_LOG_COMPILE = $(TEST_LOG_COMPILER) $(AM_TEST_LOG_FLAGS) \ $(TEST_LOG_FLAGS) DIST_SUBDIRS = $(SUBDIRS) am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/shapelib.pc.in \ AUTHORS ChangeLog NEWS README ar-lib compile config.guess \ config.sub depcomp install-sh ltmain.sh missing test-driver DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) distdir = $(PACKAGE)-$(VERSION) top_distdir = $(distdir) am__remove_distdir = \ if test -d "$(distdir)"; then \ find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \ && rm -rf "$(distdir)" \ || { sleep 5 && rm -rf "$(distdir)"; }; \ else :; fi am__post_remove_distdir = $(am__remove_distdir) am__relativize = \ dir0=`pwd`; \ sed_first='s,^\([^/]*\)/.*$$,\1,'; \ sed_rest='s,^[^/]*/*,,'; \ sed_last='s,^.*/\([^/]*\)$$,\1,'; \ sed_butlast='s,/*[^/]*$$,,'; \ while test -n "$$dir1"; do \ first=`echo "$$dir1" | sed -e "$$sed_first"`; \ if test "$$first" != "."; then \ if test "$$first" = ".."; then \ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ else \ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ if test "$$first2" = "$$first"; then \ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ else \ dir2="../$$dir2"; \ fi; \ dir0="$$dir0"/"$$first"; \ fi; \ fi; \ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ done; \ reldir="$$dir2" DIST_ARCHIVES = $(distdir).tar.gz $(distdir).zip GZIP_ENV = --best DIST_TARGETS = dist-gzip dist-zip distuninstallcheck_listfiles = find . -type f -print am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \ | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$' distcleancheck_listfiles = find . -type f -print ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DLLTOOL = @DLLTOOL@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GREP = @GREP@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBM = @LIBM@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHAPELIB_SO_VERSION = @SHAPELIB_SO_VERSION@ SHELL = @SHELL@ STRIP = @STRIP@ VERSION = @VERSION@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ SUBDIRS = . contrib ACLOCAL_AMFLAGS = -I m4 AUTOMAKE_OPTIONS = dist-zip @PLATFORM_WIN32_TRUE@no_undefined = -no-undefined # Extra files to distribute in the source tarball EXTRA_DIST = makefile.vc CMakeLists.txt autogen.sh \ shapelib.def \ cmake/CMakeLists.txt \ cmake/contrib.cmake \ cmake/project-config-version.cmake.in \ cmake/project-config.cmake.in \ cmake/shapelib.gta.runsettings.in \ cmake/shapelib.pc.cmake.in \ tests/CMakeLists.txt \ tests/dbf_test.cc \ tests/sbn_test.cc \ tests/shp_test.cc \ tests/test1.sh tests/test2.sh tests/test3.sh \ tests/expect1.out tests/expect2.out tests/expect3.out \ tests/shape_eg_data/3dpoints.dbf \ tests/shape_eg_data/3dpoints.shp \ tests/shape_eg_data/3dpoints.shx \ tests/shape_eg_data/anno.aux \ tests/shape_eg_data/anno.dbf \ tests/shape_eg_data/anno.shp \ tests/shape_eg_data/anno.shx \ tests/shape_eg_data/brklinz.dbf \ tests/shape_eg_data/brklinz.shp \ tests/shape_eg_data/brklinz.shx \ tests/shape_eg_data/mexico/cities.dbf \ tests/shape_eg_data/mexico/cities.sbn \ tests/shape_eg_data/mexico/cities.sbx \ tests/shape_eg_data/mexico/cities.shp \ tests/shape_eg_data/mexico/cities.shx \ tests/shape_eg_data/csah.dbf \ tests/shape_eg_data/csah.shp \ tests/shape_eg_data/csah.shx \ tests/shape_eg_data/mexico/drainage.dbf \ tests/shape_eg_data/mexico/drainage.sbn \ tests/shape_eg_data/mexico/drainage.sbx \ tests/shape_eg_data/mexico/drainage.shp \ tests/shape_eg_data/mexico/drainage.shx \ tests/shape_eg_data/mexico/lakes.dbf \ tests/shape_eg_data/mexico/lakes.sbn \ tests/shape_eg_data/mexico/lakes.sbx \ tests/shape_eg_data/mexico/lakes.shp \ tests/shape_eg_data/mexico/lakes.shx \ tests/shape_eg_data/masspntz.dbf \ tests/shape_eg_data/masspntz.shp \ tests/shape_eg_data/masspntz.shx \ tests/shape_eg_data/mpatch3.dbf \ tests/shape_eg_data/mpatch3.shp \ tests/shape_eg_data/mpatch3.shx \ tests/shape_eg_data/multipatch.dbf \ tests/shape_eg_data/multipatch.shp \ tests/shape_eg_data/multipatch.shx \ tests/shape_eg_data/multipnt.dbf \ tests/shape_eg_data/multipnt.shp \ tests/shape_eg_data/multipnt.shx \ tests/shape_eg_data/pline.dbf \ tests/shape_eg_data/pline.shp \ tests/shape_eg_data/pline.shx \ tests/shape_eg_data/polygon.dbf \ tests/shape_eg_data/polygon.shp \ tests/shape_eg_data/polygon.shx \ tests/shape_eg_data/mexico/rivers.dbf \ tests/shape_eg_data/mexico/rivers.sbn \ tests/shape_eg_data/mexico/rivers.sbx \ tests/shape_eg_data/mexico/rivers.shp \ tests/shape_eg_data/mexico/rivers.shx \ tests/shape_eg_data/mexico/roads.dbf \ tests/shape_eg_data/mexico/roads.sbn \ tests/shape_eg_data/mexico/roads.sbx \ tests/shape_eg_data/mexico/roads.shp \ tests/shape_eg_data/mexico/roads.shx \ tests/shape_eg_data/mexico/roads_rt.dbf \ tests/shape_eg_data/mexico/roads_rt.sbn \ tests/shape_eg_data/mexico/roads_rt.sbx \ tests/shape_eg_data/mexico/roads_rt.shp \ tests/shape_eg_data/mexico/roads_rt.shx \ tests/shape_eg_data/mexico/states.dbf \ tests/shape_eg_data/mexico/states.sbn \ tests/shape_eg_data/mexico/states.sbx \ tests/shape_eg_data/mexico/states.shp \ tests/shape_eg_data/mexico/states.shx \ tests/shape_eg_data/CoHI_GCS12.dbf \ tests/shape_eg_data/CoHI_GCS12.prj \ tests/shape_eg_data/CoHI_GCS12_README.txt \ tests/shape_eg_data/CoHI_GCS12.sbn \ tests/shape_eg_data/CoHI_GCS12.sbx \ tests/shape_eg_data/CoHI_GCS12.shp \ tests/shape_eg_data/CoHI_GCS12.shx \ web/maptools.css \ web/codepage.html \ web/index.html \ web/shapelib-tools.html \ web/shp_api.html \ web/release.html \ web/dbf_api.html \ web/license.html \ web/manifest.html \ LICENSE-LGPL LICENSE-MIT \ README.tree README.CMake # pkg-config file pkgconfigdir = $(libdir)/pkgconfig pkgconfig_DATA = shapelib.pc # Library lib_LTLIBRARIES = libshp.la libshp_la_includedir = $(includedir) libshp_la_include_HEADERS = shapefil.h noinst_HEADERS = shapefil_private.h libshp_la_SOURCES = shpopen.c dbfopen.c safileio.c shptree.c sbnsearch.c libshp_la_LDFLAGS = -version-info $(SHAPELIB_SO_VERSION) $(no_undefined) $(LIBM) dbfadd_SOURCES = dbfadd.c dbfadd_LDADD = $(top_builddir)/libshp.la dbfcreate_SOURCES = dbfcreate.c dbfcreate_LDADD = $(top_builddir)/libshp.la dbfdump_SOURCES = dbfdump.c dbfdump_LDADD = $(top_builddir)/libshp.la shpadd_SOURCES = shpadd.c shpadd_LDADD = $(top_builddir)/libshp.la shpcreate_SOURCES = shpcreate.c shpcreate_LDADD = $(top_builddir)/libshp.la shpdump_SOURCES = shpdump.c shpdump_LDADD = $(top_builddir)/libshp.la shprewind_SOURCES = shprewind.c shprewind_LDADD = $(top_builddir)/libshp.la shptreedump_SOURCES = shptreedump.c shptreedump_LDADD = $(top_builddir)/libshp.la shputils_SOURCES = shputils.c shputils_LDADD = $(top_builddir)/libshp.la shptest_SOURCES = shptest.c shptest_LDADD = $(top_builddir)/libshp.la # Tests TESTS_ENVIRONMENT = top_builddir=$(abs_top_builddir) # tests/test1.sh requires ftp://gdal.velocet.ca/pub/outgoing/shape_eg_data.zip TESTS = tests/test1.sh tests/test2.sh tests/test3.sh all: all-recursive .SUFFIXES: .SUFFIXES: .c .lo .log .o .obj .test .test$(EXEEXT) .trs am--refresh: Makefile @: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ echo ' cd $(srcdir) && $(AUTOMAKE) --foreign'; \ $(am__cd) $(srcdir) && $(AUTOMAKE) --foreign \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --foreign Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ echo ' $(SHELL) ./config.status'; \ $(SHELL) ./config.status;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__maybe_remake_depfiles)'; \ cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__maybe_remake_depfiles);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) $(SHELL) ./config.status --recheck $(top_srcdir)/configure: $(am__configure_deps) $(am__cd) $(srcdir) && $(AUTOCONF) $(ACLOCAL_M4): $(am__aclocal_m4_deps) $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) $(am__aclocal_m4_deps): shapelib.pc: $(top_builddir)/config.status $(srcdir)/shapelib.pc.in cd $(top_builddir) && $(SHELL) ./config.status $@ install-binPROGRAMS: $(bin_PROGRAMS) @$(NORMAL_INSTALL) @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \ $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \ fi; \ for p in $$list; do echo "$$p $$p"; done | \ sed 's/$(EXEEXT)$$//' | \ while read p p1; do if test -f $$p \ || test -f $$p1 \ ; then echo "$$p"; echo "$$p"; else :; fi; \ done | \ sed -e 'p;s,.*/,,;n;h' \ -e 's|.*|.|' \ -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \ sed 'N;N;N;s,\n, ,g' | \ $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \ { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \ if ($$2 == $$4) files[d] = files[d] " " $$1; \ else { print "f", $$3 "/" $$4, $$1; } } \ END { for (d in files) print "f", d, files[d] }' | \ while read type dir files; do \ if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ test -z "$$files" || { \ echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \ $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \ } \ ; done uninstall-binPROGRAMS: @$(NORMAL_UNINSTALL) @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ files=`for p in $$list; do echo "$$p"; done | \ sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \ -e 's/$$/$(EXEEXT)/' \ `; \ test -n "$$list" || exit 0; \ echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \ cd "$(DESTDIR)$(bindir)" && rm -f $$files clean-binPROGRAMS: @list='$(bin_PROGRAMS)'; test -n "$$list" || exit 0; \ echo " rm -f" $$list; \ rm -f $$list || exit $$?; \ test -n "$(EXEEXT)" || exit 0; \ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ echo " rm -f" $$list; \ rm -f $$list clean-noinstPROGRAMS: @list='$(noinst_PROGRAMS)'; test -n "$$list" || exit 0; \ echo " rm -f" $$list; \ rm -f $$list || exit $$?; \ test -n "$(EXEEXT)" || exit 0; \ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ echo " rm -f" $$list; \ rm -f $$list install-libLTLIBRARIES: $(lib_LTLIBRARIES) @$(NORMAL_INSTALL) @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \ list2=; for p in $$list; do \ if test -f $$p; then \ list2="$$list2 $$p"; \ else :; fi; \ done; \ test -z "$$list2" || { \ echo " $(MKDIR_P) '$(DESTDIR)$(libdir)'"; \ $(MKDIR_P) "$(DESTDIR)$(libdir)" || exit 1; \ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \ } uninstall-libLTLIBRARIES: @$(NORMAL_UNINSTALL) @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \ for p in $$list; do \ $(am__strip_dir) \ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$f'"; \ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$f"; \ done clean-libLTLIBRARIES: -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES) @list='$(lib_LTLIBRARIES)'; \ locs=`for p in $$list; do echo $$p; done | \ sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ sort -u`; \ test -z "$$locs" || { \ echo rm -f $${locs}; \ rm -f $${locs}; \ } libshp.la: $(libshp_la_OBJECTS) $(libshp_la_DEPENDENCIES) $(EXTRA_libshp_la_DEPENDENCIES) $(AM_V_CCLD)$(libshp_la_LINK) -rpath $(libdir) $(libshp_la_OBJECTS) $(libshp_la_LIBADD) $(LIBS) dbfadd$(EXEEXT): $(dbfadd_OBJECTS) $(dbfadd_DEPENDENCIES) $(EXTRA_dbfadd_DEPENDENCIES) @rm -f dbfadd$(EXEEXT) $(AM_V_CCLD)$(LINK) $(dbfadd_OBJECTS) $(dbfadd_LDADD) $(LIBS) dbfcreate$(EXEEXT): $(dbfcreate_OBJECTS) $(dbfcreate_DEPENDENCIES) $(EXTRA_dbfcreate_DEPENDENCIES) @rm -f dbfcreate$(EXEEXT) $(AM_V_CCLD)$(LINK) $(dbfcreate_OBJECTS) $(dbfcreate_LDADD) $(LIBS) dbfdump$(EXEEXT): $(dbfdump_OBJECTS) $(dbfdump_DEPENDENCIES) $(EXTRA_dbfdump_DEPENDENCIES) @rm -f dbfdump$(EXEEXT) $(AM_V_CCLD)$(LINK) $(dbfdump_OBJECTS) $(dbfdump_LDADD) $(LIBS) shpadd$(EXEEXT): $(shpadd_OBJECTS) $(shpadd_DEPENDENCIES) $(EXTRA_shpadd_DEPENDENCIES) @rm -f shpadd$(EXEEXT) $(AM_V_CCLD)$(LINK) $(shpadd_OBJECTS) $(shpadd_LDADD) $(LIBS) shpcreate$(EXEEXT): $(shpcreate_OBJECTS) $(shpcreate_DEPENDENCIES) $(EXTRA_shpcreate_DEPENDENCIES) @rm -f shpcreate$(EXEEXT) $(AM_V_CCLD)$(LINK) $(shpcreate_OBJECTS) $(shpcreate_LDADD) $(LIBS) shpdump$(EXEEXT): $(shpdump_OBJECTS) $(shpdump_DEPENDENCIES) $(EXTRA_shpdump_DEPENDENCIES) @rm -f shpdump$(EXEEXT) $(AM_V_CCLD)$(LINK) $(shpdump_OBJECTS) $(shpdump_LDADD) $(LIBS) shprewind$(EXEEXT): $(shprewind_OBJECTS) $(shprewind_DEPENDENCIES) $(EXTRA_shprewind_DEPENDENCIES) @rm -f shprewind$(EXEEXT) $(AM_V_CCLD)$(LINK) $(shprewind_OBJECTS) $(shprewind_LDADD) $(LIBS) shptest$(EXEEXT): $(shptest_OBJECTS) $(shptest_DEPENDENCIES) $(EXTRA_shptest_DEPENDENCIES) @rm -f shptest$(EXEEXT) $(AM_V_CCLD)$(LINK) $(shptest_OBJECTS) $(shptest_LDADD) $(LIBS) shptreedump$(EXEEXT): $(shptreedump_OBJECTS) $(shptreedump_DEPENDENCIES) $(EXTRA_shptreedump_DEPENDENCIES) @rm -f shptreedump$(EXEEXT) $(AM_V_CCLD)$(LINK) $(shptreedump_OBJECTS) $(shptreedump_LDADD) $(LIBS) shputils$(EXEEXT): $(shputils_OBJECTS) $(shputils_DEPENDENCIES) $(EXTRA_shputils_DEPENDENCIES) @rm -f shputils$(EXEEXT) $(AM_V_CCLD)$(LINK) $(shputils_OBJECTS) $(shputils_LDADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dbfadd.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dbfcreate.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dbfdump.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dbfopen.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/safileio.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sbnsearch.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/shpadd.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/shpcreate.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/shpdump.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/shpopen.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/shprewind.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/shptest.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/shptree.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/shptreedump.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/shputils.Po@am__quote@ # am--include-marker $(am__depfiles_remade): @$(MKDIR_P) $(@D) @echo '# dummy' >$@-t && $(am__mv) $@-t $@ am--depfiles: $(am__depfiles_remade) .c.o: @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $< .c.obj: @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $< mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs distclean-libtool: -rm -f libtool config.lt install-pkgconfigDATA: $(pkgconfig_DATA) @$(NORMAL_INSTALL) @list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(pkgconfigdir)'"; \ $(MKDIR_P) "$(DESTDIR)$(pkgconfigdir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pkgconfigdir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(pkgconfigdir)" || exit $$?; \ done uninstall-pkgconfigDATA: @$(NORMAL_UNINSTALL) @list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(pkgconfigdir)'; $(am__uninstall_files_from_dir) install-libshp_la_includeHEADERS: $(libshp_la_include_HEADERS) @$(NORMAL_INSTALL) @list='$(libshp_la_include_HEADERS)'; test -n "$(libshp_la_includedir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(libshp_la_includedir)'"; \ $(MKDIR_P) "$(DESTDIR)$(libshp_la_includedir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(libshp_la_includedir)'"; \ $(INSTALL_HEADER) $$files "$(DESTDIR)$(libshp_la_includedir)" || exit $$?; \ done uninstall-libshp_la_includeHEADERS: @$(NORMAL_UNINSTALL) @list='$(libshp_la_include_HEADERS)'; test -n "$(libshp_la_includedir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(libshp_la_includedir)'; $(am__uninstall_files_from_dir) # This directory's subdirectories are mostly independent; you can cd # into them and run 'make' without going through this Makefile. # To change the values of 'make' variables: instead of editing Makefiles, # (1) if the variable is set in 'config.status', edit 'config.status' # (which will cause the Makefiles to be regenerated when you run 'make'); # (2) otherwise, pass the desired values on the 'make' command line. $(am__recursive_targets): @fail=; \ if $(am__make_keepgoing); then \ failcom='fail=yes'; \ else \ failcom='exit 1'; \ fi; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" ID: $(am__tagged_files) $(am__define_uniq_tagged_files); mkid -fID $$unique tags: tags-recursive TAGS: tags tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) set x; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ $(am__define_uniq_tagged_files); \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: ctags-recursive CTAGS: ctags ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) $(am__define_uniq_tagged_files); \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" cscope: cscope.files test ! -s cscope.files \ || $(CSCOPE) -b -q $(AM_CSCOPEFLAGS) $(CSCOPEFLAGS) -i cscope.files $(CSCOPE_ARGS) clean-cscope: -rm -f cscope.files cscope.files: clean-cscope cscopelist cscopelist: cscopelist-recursive cscopelist-am: $(am__tagged_files) list='$(am__tagged_files)'; \ case "$(srcdir)" in \ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ *) sdir=$(subdir)/$(srcdir) ;; \ esac; \ for i in $$list; do \ if test -f "$$i"; then \ echo "$(subdir)/$$i"; \ else \ echo "$$sdir/$$i"; \ fi; \ done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags -rm -f cscope.out cscope.in.out cscope.po.out cscope.files # Recover from deleted '.trs' file; this should ensure that # "rm -f foo.log; make foo.trs" re-run 'foo.test', and re-create # both 'foo.log' and 'foo.trs'. Break the recipe in two subshells # to avoid problems with "make -n". .log.trs: rm -f $< $@ $(MAKE) $(AM_MAKEFLAGS) $< # Leading 'am--fnord' is there to ensure the list of targets does not # expand to empty, as could happen e.g. with make check TESTS=''. am--fnord $(TEST_LOGS) $(TEST_LOGS:.log=.trs): $(am__force_recheck) am--force-recheck: @: $(TEST_SUITE_LOG): $(TEST_LOGS) @$(am__set_TESTS_bases); \ am__f_ok () { test -f "$$1" && test -r "$$1"; }; \ redo_bases=`for i in $$bases; do \ am__f_ok $$i.trs && am__f_ok $$i.log || echo $$i; \ done`; \ if test -n "$$redo_bases"; then \ redo_logs=`for i in $$redo_bases; do echo $$i.log; done`; \ redo_results=`for i in $$redo_bases; do echo $$i.trs; done`; \ if $(am__make_dryrun); then :; else \ rm -f $$redo_logs && rm -f $$redo_results || exit 1; \ fi; \ fi; \ if test -n "$$am__remaking_logs"; then \ echo "fatal: making $(TEST_SUITE_LOG): possible infinite" \ "recursion detected" >&2; \ elif test -n "$$redo_logs"; then \ am__remaking_logs=yes $(MAKE) $(AM_MAKEFLAGS) $$redo_logs; \ fi; \ if $(am__make_dryrun); then :; else \ st=0; \ errmsg="fatal: making $(TEST_SUITE_LOG): failed to create"; \ for i in $$redo_bases; do \ test -f $$i.trs && test -r $$i.trs \ || { echo "$$errmsg $$i.trs" >&2; st=1; }; \ test -f $$i.log && test -r $$i.log \ || { echo "$$errmsg $$i.log" >&2; st=1; }; \ done; \ test $$st -eq 0 || exit 1; \ fi @$(am__sh_e_setup); $(am__tty_colors); $(am__set_TESTS_bases); \ ws='[ ]'; \ results=`for b in $$bases; do echo $$b.trs; done`; \ test -n "$$results" || results=/dev/null; \ all=` grep "^$$ws*:test-result:" $$results | wc -l`; \ pass=` grep "^$$ws*:test-result:$$ws*PASS" $$results | wc -l`; \ fail=` grep "^$$ws*:test-result:$$ws*FAIL" $$results | wc -l`; \ skip=` grep "^$$ws*:test-result:$$ws*SKIP" $$results | wc -l`; \ xfail=`grep "^$$ws*:test-result:$$ws*XFAIL" $$results | wc -l`; \ xpass=`grep "^$$ws*:test-result:$$ws*XPASS" $$results | wc -l`; \ error=`grep "^$$ws*:test-result:$$ws*ERROR" $$results | wc -l`; \ if test `expr $$fail + $$xpass + $$error` -eq 0; then \ success=true; \ else \ success=false; \ fi; \ br='==================='; br=$$br$$br$$br$$br; \ result_count () \ { \ if test x"$$1" = x"--maybe-color"; then \ maybe_colorize=yes; \ elif test x"$$1" = x"--no-color"; then \ maybe_colorize=no; \ else \ echo "$@: invalid 'result_count' usage" >&2; exit 4; \ fi; \ shift; \ desc=$$1 count=$$2; \ if test $$maybe_colorize = yes && test $$count -gt 0; then \ color_start=$$3 color_end=$$std; \ else \ color_start= color_end=; \ fi; \ echo "$${color_start}# $$desc $$count$${color_end}"; \ }; \ create_testsuite_report () \ { \ result_count $$1 "TOTAL:" $$all "$$brg"; \ result_count $$1 "PASS: " $$pass "$$grn"; \ result_count $$1 "SKIP: " $$skip "$$blu"; \ result_count $$1 "XFAIL:" $$xfail "$$lgn"; \ result_count $$1 "FAIL: " $$fail "$$red"; \ result_count $$1 "XPASS:" $$xpass "$$red"; \ result_count $$1 "ERROR:" $$error "$$mgn"; \ }; \ { \ echo "$(PACKAGE_STRING): $(subdir)/$(TEST_SUITE_LOG)" | \ $(am__rst_title); \ create_testsuite_report --no-color; \ echo; \ echo ".. contents:: :depth: 2"; \ echo; \ for b in $$bases; do echo $$b; done \ | $(am__create_global_log); \ } >$(TEST_SUITE_LOG).tmp || exit 1; \ mv $(TEST_SUITE_LOG).tmp $(TEST_SUITE_LOG); \ if $$success; then \ col="$$grn"; \ else \ col="$$red"; \ test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG); \ fi; \ echo "$${col}$$br$${std}"; \ echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}"; \ echo "$${col}$$br$${std}"; \ create_testsuite_report --maybe-color; \ echo "$$col$$br$$std"; \ if $$success; then :; else \ echo "$${col}See $(subdir)/$(TEST_SUITE_LOG)$${std}"; \ if test -n "$(PACKAGE_BUGREPORT)"; then \ echo "$${col}Please report to $(PACKAGE_BUGREPORT)$${std}"; \ fi; \ echo "$$col$$br$$std"; \ fi; \ $$success || exit 1 check-TESTS: @list='$(RECHECK_LOGS)'; test -z "$$list" || rm -f $$list @list='$(RECHECK_LOGS:.log=.trs)'; test -z "$$list" || rm -f $$list @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) @set +e; $(am__set_TESTS_bases); \ log_list=`for i in $$bases; do echo $$i.log; done`; \ trs_list=`for i in $$bases; do echo $$i.trs; done`; \ log_list=`echo $$log_list`; trs_list=`echo $$trs_list`; \ $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) TEST_LOGS="$$log_list"; \ exit $$?; recheck: all @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) @set +e; $(am__set_TESTS_bases); \ bases=`for i in $$bases; do echo $$i; done \ | $(am__list_recheck_tests)` || exit 1; \ log_list=`for i in $$bases; do echo $$i.log; done`; \ log_list=`echo $$log_list`; \ $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) \ am__force_recheck=am--force-recheck \ TEST_LOGS="$$log_list"; \ exit $$? tests/test1.sh.log: tests/test1.sh @p='tests/test1.sh'; \ b='tests/test1.sh'; \ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ --log-file $$b.log --trs-file $$b.trs \ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ "$$tst" $(AM_TESTS_FD_REDIRECT) tests/test2.sh.log: tests/test2.sh @p='tests/test2.sh'; \ b='tests/test2.sh'; \ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ --log-file $$b.log --trs-file $$b.trs \ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ "$$tst" $(AM_TESTS_FD_REDIRECT) tests/test3.sh.log: tests/test3.sh @p='tests/test3.sh'; \ b='tests/test3.sh'; \ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ --log-file $$b.log --trs-file $$b.trs \ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ "$$tst" $(AM_TESTS_FD_REDIRECT) .test.log: @p='$<'; \ $(am__set_b); \ $(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \ --log-file $$b.log --trs-file $$b.trs \ $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \ "$$tst" $(AM_TESTS_FD_REDIRECT) @am__EXEEXT_TRUE@.test$(EXEEXT).log: @am__EXEEXT_TRUE@ @p='$<'; \ @am__EXEEXT_TRUE@ $(am__set_b); \ @am__EXEEXT_TRUE@ $(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \ @am__EXEEXT_TRUE@ --log-file $$b.log --trs-file $$b.trs \ @am__EXEEXT_TRUE@ $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \ @am__EXEEXT_TRUE@ "$$tst" $(AM_TESTS_FD_REDIRECT) distdir: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) distdir-am distdir-am: $(DISTFILES) $(am__remove_distdir) test -d "$(distdir)" || mkdir "$(distdir)" @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ $(am__make_dryrun) \ || test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ $(am__relativize); \ new_distdir=$$reldir; \ dir1=$$subdir; dir2="$(top_distdir)"; \ $(am__relativize); \ new_top_distdir=$$reldir; \ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ ($(am__cd) $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$new_top_distdir" \ distdir="$$new_distdir" \ am__remove_distdir=: \ am__skip_length_check=: \ am__skip_mode_fix=: \ distdir) \ || exit 1; \ fi; \ done -test -n "$(am__skip_mode_fix)" \ || find "$(distdir)" -type d ! -perm -755 \ -exec chmod u+rwx,go+rx {} \; -o \ ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \ || chmod -R a+r "$(distdir)" dist-gzip: distdir tardir=$(distdir) && $(am__tar) | eval GZIP= gzip $(GZIP_ENV) -c >$(distdir).tar.gz $(am__post_remove_distdir) dist-bzip2: distdir tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2 $(am__post_remove_distdir) dist-lzip: distdir tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz $(am__post_remove_distdir) dist-xz: distdir tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz $(am__post_remove_distdir) dist-tarZ: distdir @echo WARNING: "Support for distribution archives compressed with" \ "legacy program 'compress' is deprecated." >&2 @echo WARNING: "It will be removed altogether in Automake 2.0" >&2 tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z $(am__post_remove_distdir) dist-shar: distdir @echo WARNING: "Support for shar distribution archives is" \ "deprecated." >&2 @echo WARNING: "It will be removed altogether in Automake 2.0" >&2 shar $(distdir) | eval GZIP= gzip $(GZIP_ENV) -c >$(distdir).shar.gz $(am__post_remove_distdir) dist-zip: distdir -rm -f $(distdir).zip zip -rq $(distdir).zip $(distdir) $(am__post_remove_distdir) dist dist-all: $(MAKE) $(AM_MAKEFLAGS) $(DIST_TARGETS) am__post_remove_distdir='@:' $(am__post_remove_distdir) # This target untars the dist file and tries a VPATH configuration. Then # it guarantees that the distribution is self-contained by making another # tarfile. distcheck: dist case '$(DIST_ARCHIVES)' in \ *.tar.gz*) \ eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).tar.gz | $(am__untar) ;;\ *.tar.bz2*) \ bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\ *.tar.lz*) \ lzip -dc $(distdir).tar.lz | $(am__untar) ;;\ *.tar.xz*) \ xz -dc $(distdir).tar.xz | $(am__untar) ;;\ *.tar.Z*) \ uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ *.shar.gz*) \ eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).shar.gz | unshar ;;\ *.zip*) \ unzip $(distdir).zip ;;\ esac chmod -R a-w $(distdir) chmod u+w $(distdir) mkdir $(distdir)/_build $(distdir)/_build/sub $(distdir)/_inst chmod a-w $(distdir) test -d $(distdir)/_build || exit 0; \ dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ && am__cwd=`pwd` \ && $(am__cd) $(distdir)/_build/sub \ && ../../configure \ $(AM_DISTCHECK_CONFIGURE_FLAGS) \ $(DISTCHECK_CONFIGURE_FLAGS) \ --srcdir=../.. --prefix="$$dc_install_base" \ && $(MAKE) $(AM_MAKEFLAGS) \ && $(MAKE) $(AM_MAKEFLAGS) dvi \ && $(MAKE) $(AM_MAKEFLAGS) check \ && $(MAKE) $(AM_MAKEFLAGS) install \ && $(MAKE) $(AM_MAKEFLAGS) installcheck \ && $(MAKE) $(AM_MAKEFLAGS) uninstall \ && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \ distuninstallcheck \ && chmod -R a-w "$$dc_install_base" \ && ({ \ (cd ../.. && umask 077 && mkdir "$$dc_destdir") \ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \ distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \ } || { rm -rf "$$dc_destdir"; exit 1; }) \ && rm -rf "$$dc_destdir" \ && $(MAKE) $(AM_MAKEFLAGS) dist \ && rm -rf $(DIST_ARCHIVES) \ && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \ && cd "$$am__cwd" \ || exit 1 $(am__post_remove_distdir) @(echo "$(distdir) archives ready for distribution: "; \ list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x' distuninstallcheck: @test -n '$(distuninstallcheck_dir)' || { \ echo 'ERROR: trying to run $@ with an empty' \ '$$(distuninstallcheck_dir)' >&2; \ exit 1; \ }; \ $(am__cd) '$(distuninstallcheck_dir)' || { \ echo 'ERROR: cannot chdir into $(distuninstallcheck_dir)' >&2; \ exit 1; \ }; \ test `$(am__distuninstallcheck_listfiles) | wc -l` -eq 0 \ || { echo "ERROR: files left after uninstall:" ; \ if test -n "$(DESTDIR)"; then \ echo " (check DESTDIR support)"; \ fi ; \ $(distuninstallcheck_listfiles) ; \ exit 1; } >&2 distcleancheck: distclean @if test '$(srcdir)' = . ; then \ echo "ERROR: distcleancheck can only run from a VPATH build" ; \ exit 1 ; \ fi @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \ || { echo "ERROR: files left in build directory after distclean:" ; \ $(distcleancheck_listfiles) ; \ exit 1; } >&2 check-am: all-am $(MAKE) $(AM_MAKEFLAGS) check-TESTS check: check-recursive all-am: Makefile $(PROGRAMS) $(LTLIBRARIES) $(DATA) $(HEADERS) install-binPROGRAMS: install-libLTLIBRARIES installdirs: installdirs-recursive installdirs-am: for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(libdir)" "$(DESTDIR)$(pkgconfigdir)" "$(DESTDIR)$(libshp_la_includedir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: -test -z "$(TEST_LOGS)" || rm -f $(TEST_LOGS) -test -z "$(TEST_LOGS:.log=.trs)" || rm -f $(TEST_LOGS:.log=.trs) -test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-recursive clean-am: clean-binPROGRAMS clean-generic clean-libLTLIBRARIES \ clean-libtool clean-local clean-noinstPROGRAMS mostlyclean-am distclean: distclean-recursive -rm -f $(am__CONFIG_DISTCLEAN_FILES) -rm -f ./$(DEPDIR)/dbfadd.Po -rm -f ./$(DEPDIR)/dbfcreate.Po -rm -f ./$(DEPDIR)/dbfdump.Po -rm -f ./$(DEPDIR)/dbfopen.Plo -rm -f ./$(DEPDIR)/safileio.Plo -rm -f ./$(DEPDIR)/sbnsearch.Plo -rm -f ./$(DEPDIR)/shpadd.Po -rm -f ./$(DEPDIR)/shpcreate.Po -rm -f ./$(DEPDIR)/shpdump.Po -rm -f ./$(DEPDIR)/shpopen.Plo -rm -f ./$(DEPDIR)/shprewind.Po -rm -f ./$(DEPDIR)/shptest.Po -rm -f ./$(DEPDIR)/shptree.Plo -rm -f ./$(DEPDIR)/shptreedump.Po -rm -f ./$(DEPDIR)/shputils.Po -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-libtool distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive html-am: info: info-recursive info-am: install-data-am: install-libshp_la_includeHEADERS \ install-pkgconfigDATA install-dvi: install-dvi-recursive install-dvi-am: install-exec-am: install-binPROGRAMS install-libLTLIBRARIES install-html: install-html-recursive install-html-am: install-info: install-info-recursive install-info-am: install-man: install-pdf: install-pdf-recursive install-pdf-am: install-ps: install-ps-recursive install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -f $(am__CONFIG_DISTCLEAN_FILES) -rm -rf $(top_srcdir)/autom4te.cache -rm -f ./$(DEPDIR)/dbfadd.Po -rm -f ./$(DEPDIR)/dbfcreate.Po -rm -f ./$(DEPDIR)/dbfdump.Po -rm -f ./$(DEPDIR)/dbfopen.Plo -rm -f ./$(DEPDIR)/safileio.Plo -rm -f ./$(DEPDIR)/sbnsearch.Plo -rm -f ./$(DEPDIR)/shpadd.Po -rm -f ./$(DEPDIR)/shpcreate.Po -rm -f ./$(DEPDIR)/shpdump.Po -rm -f ./$(DEPDIR)/shpopen.Plo -rm -f ./$(DEPDIR)/shprewind.Po -rm -f ./$(DEPDIR)/shptest.Po -rm -f ./$(DEPDIR)/shptree.Plo -rm -f ./$(DEPDIR)/shptreedump.Po -rm -f ./$(DEPDIR)/shputils.Po -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: uninstall-binPROGRAMS uninstall-libLTLIBRARIES \ uninstall-libshp_la_includeHEADERS uninstall-pkgconfigDATA .MAKE: $(am__recursive_targets) check-am install-am install-strip .PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am \ am--depfiles am--refresh check check-TESTS check-am clean \ clean-binPROGRAMS clean-cscope clean-generic \ clean-libLTLIBRARIES clean-libtool clean-local \ clean-noinstPROGRAMS cscope cscopelist-am ctags ctags-am dist \ dist-all dist-bzip2 dist-gzip dist-lzip dist-shar dist-tarZ \ dist-xz dist-zip distcheck distclean distclean-compile \ distclean-generic distclean-libtool distclean-tags \ distcleancheck distdir distuninstallcheck dvi dvi-am html \ html-am info info-am install install-am install-binPROGRAMS \ install-data install-data-am install-dvi install-dvi-am \ install-exec install-exec-am install-html install-html-am \ install-info install-info-am install-libLTLIBRARIES \ install-libshp_la_includeHEADERS install-man install-pdf \ install-pdf-am install-pkgconfigDATA install-ps install-ps-am \ install-strip installcheck installcheck-am installdirs \ installdirs-am maintainer-clean maintainer-clean-generic \ mostlyclean mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am recheck tags tags-am \ uninstall uninstall-am uninstall-binPROGRAMS \ uninstall-libLTLIBRARIES uninstall-libshp_la_includeHEADERS \ uninstall-pkgconfigDATA .PRECIOUS: Makefile clean-local: -rm -f test*.* s*.out # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: shapelib-1.6.1/shptree.c0000664000175000017500000012405214655153023012057 00000000000000/****************************************************************************** * * Project: Shapelib * Purpose: Implementation of quadtree building and searching functions. * Author: Frank Warmerdam, warmerdam@pobox.com * ****************************************************************************** * Copyright (c) 1999, Frank Warmerdam * Copyright (c) 2012-2024, Even Rouault * * SPDX-License-Identifier: MIT OR LGPL-2.0-or-later ****************************************************************************** * */ #include "shapefil_private.h" #include #include #include #include #include #include #ifdef USE_CPL #include "cpl_error.h" #endif #ifndef TRUE #define TRUE 1 #define FALSE 0 #endif /* -------------------------------------------------------------------- */ /* If the following is 0.5, nodes will be split in half. If it */ /* is 0.6 then each subnode will contain 60% of the parent */ /* node, with 20% representing overlap. This can be help to */ /* prevent small objects on a boundary from shifting too high */ /* up the tree. */ /* -------------------------------------------------------------------- */ #define SHP_SPLIT_RATIO 0.55 /************************************************************************/ /* SHPTreeNodeInit() */ /* */ /* Initialize a tree node. */ /************************************************************************/ static SHPTreeNode *SHPTreeNodeCreate(const double *padfBoundsMin, const double *padfBoundsMax) { SHPTreeNode *psTreeNode; psTreeNode = STATIC_CAST(SHPTreeNode *, malloc(sizeof(SHPTreeNode))); if (SHPLIB_NULLPTR == psTreeNode) return SHPLIB_NULLPTR; psTreeNode->nShapeCount = 0; psTreeNode->panShapeIds = SHPLIB_NULLPTR; psTreeNode->papsShapeObj = SHPLIB_NULLPTR; psTreeNode->nSubNodes = 0; if (padfBoundsMin != SHPLIB_NULLPTR) memcpy(psTreeNode->adfBoundsMin, padfBoundsMin, sizeof(double) * 4); if (padfBoundsMax != SHPLIB_NULLPTR) memcpy(psTreeNode->adfBoundsMax, padfBoundsMax, sizeof(double) * 4); return psTreeNode; } /************************************************************************/ /* SHPCreateTree() */ /************************************************************************/ SHPTree SHPAPI_CALL1(*) SHPCreateTree(SHPHandle hSHP, int nDimension, int nMaxDepth, const double *padfBoundsMin, const double *padfBoundsMax) { SHPTree *psTree; if (padfBoundsMin == SHPLIB_NULLPTR && hSHP == SHPLIB_NULLPTR) return SHPLIB_NULLPTR; /* -------------------------------------------------------------------- */ /* Allocate the tree object */ /* -------------------------------------------------------------------- */ psTree = STATIC_CAST(SHPTree *, malloc(sizeof(SHPTree))); if (SHPLIB_NULLPTR == psTree) { return SHPLIB_NULLPTR; } psTree->hSHP = hSHP; psTree->nMaxDepth = nMaxDepth; psTree->nDimension = nDimension; psTree->nTotalCount = 0; /* -------------------------------------------------------------------- */ /* If no max depth was defined, try to select a reasonable one */ /* that implies approximately 8 shapes per node. */ /* -------------------------------------------------------------------- */ if (psTree->nMaxDepth == 0 && hSHP != SHPLIB_NULLPTR) { int nMaxNodeCount = 1; int nShapeCount; SHPGetInfo(hSHP, &nShapeCount, SHPLIB_NULLPTR, SHPLIB_NULLPTR, SHPLIB_NULLPTR); while (nMaxNodeCount * 4 < nShapeCount) { psTree->nMaxDepth += 1; nMaxNodeCount = nMaxNodeCount * 2; } #ifdef USE_CPL CPLDebug("Shape", "Estimated spatial index tree depth: %d", psTree->nMaxDepth); #endif /* NOTE: Due to problems with memory allocation for deep trees, * automatically estimated depth is limited up to 12 levels. * See Ticket #1594 for detailed discussion. */ if (psTree->nMaxDepth > MAX_DEFAULT_TREE_DEPTH) { psTree->nMaxDepth = MAX_DEFAULT_TREE_DEPTH; #ifdef USE_CPL CPLDebug( "Shape", "Falling back to max number of allowed index tree levels (%d).", MAX_DEFAULT_TREE_DEPTH); #endif } } /* -------------------------------------------------------------------- */ /* Allocate the root node. */ /* -------------------------------------------------------------------- */ psTree->psRoot = SHPTreeNodeCreate(padfBoundsMin, padfBoundsMax); if (SHPLIB_NULLPTR == psTree->psRoot) { free(psTree); return SHPLIB_NULLPTR; } /* -------------------------------------------------------------------- */ /* Assign the bounds to the root node. If none are passed in, */ /* use the bounds of the provided file otherwise the create */ /* function will have already set the bounds. */ /* -------------------------------------------------------------------- */ if (padfBoundsMin == SHPLIB_NULLPTR) { SHPGetInfo(hSHP, SHPLIB_NULLPTR, SHPLIB_NULLPTR, psTree->psRoot->adfBoundsMin, psTree->psRoot->adfBoundsMax); } /* -------------------------------------------------------------------- */ /* If we have a file, insert all its shapes into the tree. */ /* -------------------------------------------------------------------- */ if (hSHP != SHPLIB_NULLPTR) { int iShape, nShapeCount; SHPGetInfo(hSHP, &nShapeCount, SHPLIB_NULLPTR, SHPLIB_NULLPTR, SHPLIB_NULLPTR); for (iShape = 0; iShape < nShapeCount; iShape++) { SHPObject *psShape; psShape = SHPReadObject(hSHP, iShape); if (psShape != SHPLIB_NULLPTR) { SHPTreeAddShapeId(psTree, psShape); SHPDestroyObject(psShape); } } } return psTree; } /************************************************************************/ /* SHPDestroyTreeNode() */ /************************************************************************/ static void SHPDestroyTreeNode(SHPTreeNode *psTreeNode) { int i; assert(SHPLIB_NULLPTR != psTreeNode); for (i = 0; i < psTreeNode->nSubNodes; i++) { if (psTreeNode->apsSubNode[i] != SHPLIB_NULLPTR) SHPDestroyTreeNode(psTreeNode->apsSubNode[i]); } if (psTreeNode->panShapeIds != SHPLIB_NULLPTR) free(psTreeNode->panShapeIds); if (psTreeNode->papsShapeObj != SHPLIB_NULLPTR) { for (i = 0; i < psTreeNode->nShapeCount; i++) { if (psTreeNode->papsShapeObj[i] != SHPLIB_NULLPTR) SHPDestroyObject(psTreeNode->papsShapeObj[i]); } free(psTreeNode->papsShapeObj); } free(psTreeNode); } /************************************************************************/ /* SHPDestroyTree() */ /************************************************************************/ void SHPAPI_CALL SHPDestroyTree(SHPTree *psTree) { SHPDestroyTreeNode(psTree->psRoot); free(psTree); } /************************************************************************/ /* SHPCheckBoundsOverlap() */ /* */ /* Do the given boxes overlap at all? */ /************************************************************************/ int SHPAPI_CALL SHPCheckBoundsOverlap(const double *padfBox1Min, const double *padfBox1Max, const double *padfBox2Min, const double *padfBox2Max, int nDimension) { for (int iDim = 0; iDim < nDimension; iDim++) { if (padfBox2Max[iDim] < padfBox1Min[iDim]) return FALSE; if (padfBox1Max[iDim] < padfBox2Min[iDim]) return FALSE; } return TRUE; } /************************************************************************/ /* SHPCheckObjectContained() */ /* */ /* Does the given shape fit within the indicated extents? */ /************************************************************************/ static bool SHPCheckObjectContained(const SHPObject *psObject, int nDimension, const double *padfBoundsMin, const double *padfBoundsMax) { if (psObject->dfXMin < padfBoundsMin[0] || psObject->dfXMax > padfBoundsMax[0]) return false; if (psObject->dfYMin < padfBoundsMin[1] || psObject->dfYMax > padfBoundsMax[1]) return false; if (nDimension == 2) return true; if (psObject->dfZMin < padfBoundsMin[2] || psObject->dfZMax > padfBoundsMax[2]) return false; if (nDimension == 3) return true; if (psObject->dfMMin < padfBoundsMin[3] || psObject->dfMMax > padfBoundsMax[3]) return false; return true; } /************************************************************************/ /* SHPTreeSplitBounds() */ /* */ /* Split a region into two subregion evenly, cutting along the */ /* longest dimension. */ /************************************************************************/ static void SHPTreeSplitBounds(const double *padfBoundsMinIn, const double *padfBoundsMaxIn, double *padfBoundsMin1, double *padfBoundsMax1, double *padfBoundsMin2, double *padfBoundsMax2) { /* -------------------------------------------------------------------- */ /* The output bounds will be very similar to the input bounds, */ /* so just copy over to start. */ /* -------------------------------------------------------------------- */ memcpy(padfBoundsMin1, padfBoundsMinIn, sizeof(double) * 4); memcpy(padfBoundsMax1, padfBoundsMaxIn, sizeof(double) * 4); memcpy(padfBoundsMin2, padfBoundsMinIn, sizeof(double) * 4); memcpy(padfBoundsMax2, padfBoundsMaxIn, sizeof(double) * 4); /* -------------------------------------------------------------------- */ /* Split in X direction. */ /* -------------------------------------------------------------------- */ if ((padfBoundsMaxIn[0] - padfBoundsMinIn[0]) > (padfBoundsMaxIn[1] - padfBoundsMinIn[1])) { double dfRange = padfBoundsMaxIn[0] - padfBoundsMinIn[0]; padfBoundsMax1[0] = padfBoundsMinIn[0] + dfRange * SHP_SPLIT_RATIO; padfBoundsMin2[0] = padfBoundsMaxIn[0] - dfRange * SHP_SPLIT_RATIO; } /* -------------------------------------------------------------------- */ /* Otherwise split in Y direction. */ /* -------------------------------------------------------------------- */ else { double dfRange = padfBoundsMaxIn[1] - padfBoundsMinIn[1]; padfBoundsMax1[1] = padfBoundsMinIn[1] + dfRange * SHP_SPLIT_RATIO; padfBoundsMin2[1] = padfBoundsMaxIn[1] - dfRange * SHP_SPLIT_RATIO; } } /************************************************************************/ /* SHPTreeNodeAddShapeId() */ /************************************************************************/ static bool SHPTreeNodeAddShapeId(SHPTreeNode *psTreeNode, SHPObject *psObject, int nMaxDepth, int nDimension) { int i; /* -------------------------------------------------------------------- */ /* If there are subnodes, then consider whether this object */ /* will fit in them. */ /* -------------------------------------------------------------------- */ if (nMaxDepth > 1 && psTreeNode->nSubNodes > 0) { for (i = 0; i < psTreeNode->nSubNodes; i++) { if (SHPCheckObjectContained( psObject, nDimension, psTreeNode->apsSubNode[i]->adfBoundsMin, psTreeNode->apsSubNode[i]->adfBoundsMax)) { return SHPTreeNodeAddShapeId(psTreeNode->apsSubNode[i], psObject, nMaxDepth - 1, nDimension); } } } /* -------------------------------------------------------------------- */ /* Otherwise, consider creating four subnodes if could fit into */ /* them, and adding to the appropriate subnode. */ /* -------------------------------------------------------------------- */ #if MAX_SUBNODE == 4 else if (nMaxDepth > 1 && psTreeNode->nSubNodes == 0) { double adfBoundsMinH1[4], adfBoundsMaxH1[4]; double adfBoundsMinH2[4], adfBoundsMaxH2[4]; double adfBoundsMin1[4], adfBoundsMax1[4]; double adfBoundsMin2[4], adfBoundsMax2[4]; double adfBoundsMin3[4], adfBoundsMax3[4]; double adfBoundsMin4[4], adfBoundsMax4[4]; SHPTreeSplitBounds(psTreeNode->adfBoundsMin, psTreeNode->adfBoundsMax, adfBoundsMinH1, adfBoundsMaxH1, adfBoundsMinH2, adfBoundsMaxH2); SHPTreeSplitBounds(adfBoundsMinH1, adfBoundsMaxH1, adfBoundsMin1, adfBoundsMax1, adfBoundsMin2, adfBoundsMax2); SHPTreeSplitBounds(adfBoundsMinH2, adfBoundsMaxH2, adfBoundsMin3, adfBoundsMax3, adfBoundsMin4, adfBoundsMax4); if (SHPCheckObjectContained(psObject, nDimension, adfBoundsMin1, adfBoundsMax1) || SHPCheckObjectContained(psObject, nDimension, adfBoundsMin2, adfBoundsMax2) || SHPCheckObjectContained(psObject, nDimension, adfBoundsMin3, adfBoundsMax3) || SHPCheckObjectContained(psObject, nDimension, adfBoundsMin4, adfBoundsMax4)) { psTreeNode->nSubNodes = 4; psTreeNode->apsSubNode[0] = SHPTreeNodeCreate(adfBoundsMin1, adfBoundsMax1); psTreeNode->apsSubNode[1] = SHPTreeNodeCreate(adfBoundsMin2, adfBoundsMax2); psTreeNode->apsSubNode[2] = SHPTreeNodeCreate(adfBoundsMin3, adfBoundsMax3); psTreeNode->apsSubNode[3] = SHPTreeNodeCreate(adfBoundsMin4, adfBoundsMax4); /* recurse back on this node now that it has subnodes */ return (SHPTreeNodeAddShapeId(psTreeNode, psObject, nMaxDepth, nDimension)); } } #endif /* MAX_SUBNODE == 4 */ /* -------------------------------------------------------------------- */ /* Otherwise, consider creating two subnodes if could fit into */ /* them, and adding to the appropriate subnode. */ /* -------------------------------------------------------------------- */ #if MAX_SUBNODE == 2 else if (nMaxDepth > 1 && psTreeNode->nSubNodes == 0) { double adfBoundsMin1[4], adfBoundsMax1[4]; double adfBoundsMin2[4], adfBoundsMax2[4]; SHPTreeSplitBounds(psTreeNode->adfBoundsMin, psTreeNode->adfBoundsMax, adfBoundsMin1, adfBoundsMax1, adfBoundsMin2, adfBoundsMax2); if (SHPCheckObjectContained(psObject, nDimension, adfBoundsMin1, adfBoundsMax1)) { psTreeNode->nSubNodes = 2; psTreeNode->apsSubNode[0] = SHPTreeNodeCreate(adfBoundsMin1, adfBoundsMax1); psTreeNode->apsSubNode[1] = SHPTreeNodeCreate(adfBoundsMin2, adfBoundsMax2); return (SHPTreeNodeAddShapeId(psTreeNode->apsSubNode[0], psObject, nMaxDepth - 1, nDimension)); } else if (SHPCheckObjectContained(psObject, nDimension, adfBoundsMin2, adfBoundsMax2)) { psTreeNode->nSubNodes = 2; psTreeNode->apsSubNode[0] = SHPTreeNodeCreate(adfBoundsMin1, adfBoundsMax1); psTreeNode->apsSubNode[1] = SHPTreeNodeCreate(adfBoundsMin2, adfBoundsMax2); return (SHPTreeNodeAddShapeId(psTreeNode->apsSubNode[1], psObject, nMaxDepth - 1, nDimension)); } } #endif /* MAX_SUBNODE == 2 */ /* -------------------------------------------------------------------- */ /* If none of that worked, just add it to this nodes list. */ /* -------------------------------------------------------------------- */ psTreeNode->nShapeCount++; psTreeNode->panShapeIds = STATIC_CAST(int *, realloc(psTreeNode->panShapeIds, sizeof(int) * psTreeNode->nShapeCount)); psTreeNode->panShapeIds[psTreeNode->nShapeCount - 1] = psObject->nShapeId; if (psTreeNode->papsShapeObj != SHPLIB_NULLPTR) { psTreeNode->papsShapeObj = STATIC_CAST( SHPObject **, realloc(psTreeNode->papsShapeObj, sizeof(void *) * psTreeNode->nShapeCount)); psTreeNode->papsShapeObj[psTreeNode->nShapeCount - 1] = SHPLIB_NULLPTR; } return true; } /************************************************************************/ /* SHPTreeAddShapeId() */ /* */ /* Add a shape to the tree, but don't keep a pointer to the */ /* object data, just keep the shapeid. */ /************************************************************************/ int SHPAPI_CALL SHPTreeAddShapeId(SHPTree *psTree, SHPObject *psObject) { psTree->nTotalCount++; return (SHPTreeNodeAddShapeId(psTree->psRoot, psObject, psTree->nMaxDepth, psTree->nDimension)); } /************************************************************************/ /* SHPTreeCollectShapesIds() */ /* */ /* Work function implementing SHPTreeFindLikelyShapes() on a */ /* tree node by tree node basis. */ /************************************************************************/ static void SHPTreeCollectShapeIds(const SHPTree *hTree, const SHPTreeNode *psTreeNode, double *padfBoundsMin, double *padfBoundsMax, int *pnShapeCount, int *pnMaxShapes, int **ppanShapeList) { int i; /* -------------------------------------------------------------------- */ /* Does this node overlap the area of interest at all? If not, */ /* return without adding to the list at all. */ /* -------------------------------------------------------------------- */ if (!SHPCheckBoundsOverlap(psTreeNode->adfBoundsMin, psTreeNode->adfBoundsMax, padfBoundsMin, padfBoundsMax, hTree->nDimension)) return; /* -------------------------------------------------------------------- */ /* Grow the list to hold the shapes on this node. */ /* -------------------------------------------------------------------- */ if (*pnShapeCount + psTreeNode->nShapeCount > *pnMaxShapes) { *pnMaxShapes = (*pnShapeCount + psTreeNode->nShapeCount) * 2 + 20; *ppanShapeList = STATIC_CAST( int *, realloc(*ppanShapeList, sizeof(int) * *pnMaxShapes)); } /* -------------------------------------------------------------------- */ /* Add the local nodes shapeids to the list. */ /* -------------------------------------------------------------------- */ for (i = 0; i < psTreeNode->nShapeCount; i++) { (*ppanShapeList)[(*pnShapeCount)++] = psTreeNode->panShapeIds[i]; } /* -------------------------------------------------------------------- */ /* Recurse to subnodes if they exist. */ /* -------------------------------------------------------------------- */ for (i = 0; i < psTreeNode->nSubNodes; i++) { if (psTreeNode->apsSubNode[i] != SHPLIB_NULLPTR) SHPTreeCollectShapeIds(hTree, psTreeNode->apsSubNode[i], padfBoundsMin, padfBoundsMax, pnShapeCount, pnMaxShapes, ppanShapeList); } } /************************************************************************/ /* SHPTreeFindLikelyShapes() */ /* */ /* Find all shapes within tree nodes for which the tree node */ /* bounding box overlaps the search box. The return value is */ /* an array of shapeids terminated by a -1. The shapeids will */ /* be in order, as hopefully this will result in faster (more */ /* sequential) reading from the file. */ /************************************************************************/ /* helper for qsort */ static int SHPTreeCompareInts(const void *a, const void *b) { return *REINTERPRET_CAST(const int *, a) - *REINTERPRET_CAST(const int *, b); } int SHPAPI_CALL1(*) SHPTreeFindLikelyShapes(const SHPTree *hTree, double *padfBoundsMin, double *padfBoundsMax, int *pnShapeCount) { int *panShapeList = SHPLIB_NULLPTR, nMaxShapes = 0; /* -------------------------------------------------------------------- */ /* Perform the search by recursive descent. */ /* -------------------------------------------------------------------- */ *pnShapeCount = 0; SHPTreeCollectShapeIds(hTree, hTree->psRoot, padfBoundsMin, padfBoundsMax, pnShapeCount, &nMaxShapes, &panShapeList); /* -------------------------------------------------------------------- */ /* Sort the id array */ /* -------------------------------------------------------------------- */ if (panShapeList != SHPLIB_NULLPTR) qsort(panShapeList, *pnShapeCount, sizeof(int), SHPTreeCompareInts); return panShapeList; } /************************************************************************/ /* SHPTreeNodeTrim() */ /* */ /* This is the recursive version of SHPTreeTrimExtraNodes() that */ /* walks the tree cleaning it up. */ /************************************************************************/ static int SHPTreeNodeTrim(SHPTreeNode *psTreeNode) { int i; /* -------------------------------------------------------------------- */ /* Trim subtrees, and free subnodes that come back empty. */ /* -------------------------------------------------------------------- */ for (i = 0; i < psTreeNode->nSubNodes; i++) { if (SHPTreeNodeTrim(psTreeNode->apsSubNode[i])) { SHPDestroyTreeNode(psTreeNode->apsSubNode[i]); psTreeNode->apsSubNode[i] = psTreeNode->apsSubNode[psTreeNode->nSubNodes - 1]; psTreeNode->nSubNodes--; i--; /* process the new occupant of this subnode entry */ } } /* -------------------------------------------------------------------- */ /* If the current node has 1 subnode and no shapes, promote that */ /* subnode to the current node position. */ /* -------------------------------------------------------------------- */ if (psTreeNode->nSubNodes == 1 && psTreeNode->nShapeCount == 0) { SHPTreeNode *psSubNode = psTreeNode->apsSubNode[0]; memcpy(psTreeNode->adfBoundsMin, psSubNode->adfBoundsMin, sizeof(psSubNode->adfBoundsMin)); memcpy(psTreeNode->adfBoundsMax, psSubNode->adfBoundsMax, sizeof(psSubNode->adfBoundsMax)); psTreeNode->nShapeCount = psSubNode->nShapeCount; assert(psTreeNode->panShapeIds == SHPLIB_NULLPTR); psTreeNode->panShapeIds = psSubNode->panShapeIds; assert(psTreeNode->papsShapeObj == SHPLIB_NULLPTR); psTreeNode->papsShapeObj = psSubNode->papsShapeObj; psTreeNode->nSubNodes = psSubNode->nSubNodes; for (i = 0; i < psSubNode->nSubNodes; i++) psTreeNode->apsSubNode[i] = psSubNode->apsSubNode[i]; free(psSubNode); } /* -------------------------------------------------------------------- */ /* We should be trimmed if we have no subnodes, and no shapes. */ /* -------------------------------------------------------------------- */ return (psTreeNode->nSubNodes == 0 && psTreeNode->nShapeCount == 0); } /************************************************************************/ /* SHPTreeTrimExtraNodes() */ /* */ /* Trim empty nodes from the tree. Note that we never trim an */ /* empty root node. */ /************************************************************************/ void SHPAPI_CALL SHPTreeTrimExtraNodes(SHPTree *hTree) { SHPTreeNodeTrim(hTree->psRoot); } struct SHPDiskTreeInfo { SAHooks sHooks; SAFile fpQIX; }; /************************************************************************/ /* SHPOpenDiskTree() */ /************************************************************************/ SHPTreeDiskHandle SHPOpenDiskTree(const char *pszQIXFilename, const SAHooks *psHooks) { SHPTreeDiskHandle hDiskTree; hDiskTree = STATIC_CAST(SHPTreeDiskHandle, calloc(1, sizeof(struct SHPDiskTreeInfo))); if (psHooks == SHPLIB_NULLPTR) SASetupDefaultHooks(&(hDiskTree->sHooks)); else memcpy(&(hDiskTree->sHooks), psHooks, sizeof(SAHooks)); hDiskTree->fpQIX = hDiskTree->sHooks.FOpen(pszQIXFilename, "rb", hDiskTree->sHooks.pvUserData); if (hDiskTree->fpQIX == SHPLIB_NULLPTR) { free(hDiskTree); return SHPLIB_NULLPTR; } return hDiskTree; } /***********************************************************************/ /* SHPCloseDiskTree() */ /************************************************************************/ void SHPCloseDiskTree(SHPTreeDiskHandle hDiskTree) { if (hDiskTree == SHPLIB_NULLPTR) return; hDiskTree->sHooks.FClose(hDiskTree->fpQIX); free(hDiskTree); } /************************************************************************/ /* SHPSearchDiskTreeNode() */ /************************************************************************/ static bool SHPSearchDiskTreeNode(const SHPTreeDiskHandle hDiskTree, double *padfBoundsMin, double *padfBoundsMax, int **ppanResultBuffer, int *pnBufferMax, int *pnResultCount, int bNeedSwap, int nRecLevel) { unsigned int i; unsigned int offset; unsigned int numshapes, numsubnodes; double adfNodeBoundsMin[2], adfNodeBoundsMax[2]; int nFReadAcc; /* -------------------------------------------------------------------- */ /* Read and unswap first part of node info. */ /* -------------------------------------------------------------------- */ nFReadAcc = STATIC_CAST( int, hDiskTree->sHooks.FRead(&offset, 4, 1, hDiskTree->fpQIX)); if (bNeedSwap) SHP_SWAP32(&offset); nFReadAcc += STATIC_CAST(int, hDiskTree->sHooks.FRead(adfNodeBoundsMin, sizeof(double), 2, hDiskTree->fpQIX)); nFReadAcc += STATIC_CAST(int, hDiskTree->sHooks.FRead(adfNodeBoundsMax, sizeof(double), 2, hDiskTree->fpQIX)); if (bNeedSwap) { SHP_SWAPDOUBLE(adfNodeBoundsMin + 0); SHP_SWAPDOUBLE(adfNodeBoundsMin + 1); SHP_SWAPDOUBLE(adfNodeBoundsMax + 0); SHP_SWAPDOUBLE(adfNodeBoundsMax + 1); } nFReadAcc += STATIC_CAST( int, hDiskTree->sHooks.FRead(&numshapes, 4, 1, hDiskTree->fpQIX)); if (bNeedSwap) SHP_SWAP32(&numshapes); /* Check that we could read all previous values */ if (nFReadAcc != 1 + 2 + 2 + 1) { hDiskTree->sHooks.Error("I/O error"); return false; } /* Sanity checks to avoid int overflows in later computation */ if (offset > INT_MAX - sizeof(int)) { hDiskTree->sHooks.Error("Invalid value for offset"); return false; } if (numshapes > (INT_MAX - offset - sizeof(int)) / sizeof(int) || numshapes > INT_MAX / sizeof(int) - *pnResultCount) { hDiskTree->sHooks.Error("Invalid value for numshapes"); return false; } /* -------------------------------------------------------------------- */ /* If we don't overlap this node at all, we can just fseek() */ /* pass this node info and all subnodes. */ /* -------------------------------------------------------------------- */ if (!SHPCheckBoundsOverlap(adfNodeBoundsMin, adfNodeBoundsMax, padfBoundsMin, padfBoundsMax, 2)) { offset += numshapes * sizeof(int) + sizeof(int); hDiskTree->sHooks.FSeek(hDiskTree->fpQIX, offset, SEEK_CUR); return true; } /* -------------------------------------------------------------------- */ /* Add all the shapeids at this node to our list. */ /* -------------------------------------------------------------------- */ if (numshapes > 0) { if (*pnResultCount + numshapes > STATIC_CAST(unsigned int, *pnBufferMax)) { int *pNewBuffer; *pnBufferMax = (*pnResultCount + numshapes + 100) * 5 / 4; if (STATIC_CAST(size_t, *pnBufferMax) > INT_MAX / sizeof(int)) *pnBufferMax = *pnResultCount + numshapes; pNewBuffer = STATIC_CAST( int *, realloc(*ppanResultBuffer, *pnBufferMax * sizeof(int))); if (pNewBuffer == SHPLIB_NULLPTR) { hDiskTree->sHooks.Error("Out of memory error"); return false; } *ppanResultBuffer = pNewBuffer; } if (hDiskTree->sHooks.FRead(*ppanResultBuffer + *pnResultCount, sizeof(int), numshapes, hDiskTree->fpQIX) != numshapes) { hDiskTree->sHooks.Error("I/O error"); return false; } if (bNeedSwap) { for (i = 0; i < numshapes; i++) SHP_SWAP32(*ppanResultBuffer + *pnResultCount + i); } *pnResultCount += numshapes; } /* -------------------------------------------------------------------- */ /* Process the subnodes. */ /* -------------------------------------------------------------------- */ if (hDiskTree->sHooks.FRead(&numsubnodes, 4, 1, hDiskTree->fpQIX) != 1) { hDiskTree->sHooks.Error("I/O error"); return false; } if (bNeedSwap) SHP_SWAP32(&numsubnodes); if (numsubnodes > 0 && nRecLevel == 32) { hDiskTree->sHooks.Error("Shape tree is too deep"); return false; } for (i = 0; i < numsubnodes; i++) { if (!SHPSearchDiskTreeNode(hDiskTree, padfBoundsMin, padfBoundsMax, ppanResultBuffer, pnBufferMax, pnResultCount, bNeedSwap, nRecLevel + 1)) return false; } return true; } /************************************************************************/ /* SHPTreeReadLibc() */ /************************************************************************/ static SAOffset SHPTreeReadLibc(void *p, SAOffset size, SAOffset nmemb, SAFile file) { return STATIC_CAST(SAOffset, fread(p, STATIC_CAST(size_t, size), STATIC_CAST(size_t, nmemb), REINTERPRET_CAST(FILE *, file))); } /************************************************************************/ /* SHPTreeSeekLibc() */ /************************************************************************/ static SAOffset SHPTreeSeekLibc(SAFile file, SAOffset offset, int whence) { return STATIC_CAST(SAOffset, fseek(REINTERPRET_CAST(FILE *, file), STATIC_CAST(long, offset), whence)); } /************************************************************************/ /* SHPSearchDiskTree() */ /************************************************************************/ int SHPAPI_CALL1(*) SHPSearchDiskTree(FILE *fp, double *padfBoundsMin, double *padfBoundsMax, int *pnShapeCount) { struct SHPDiskTreeInfo sDiskTree; memset(&sDiskTree.sHooks, 0, sizeof(sDiskTree.sHooks)); /* We do not use SASetupDefaultHooks() because the FILE* */ /* is a libc FILE* */ sDiskTree.sHooks.FSeek = SHPTreeSeekLibc; sDiskTree.sHooks.FRead = SHPTreeReadLibc; sDiskTree.fpQIX = REINTERPRET_CAST(SAFile, fp); return SHPSearchDiskTreeEx(&sDiskTree, padfBoundsMin, padfBoundsMax, pnShapeCount); } /***********************************************************************/ /* SHPSearchDiskTreeEx() */ /************************************************************************/ int SHPAPI_CALL1(*) SHPSearchDiskTreeEx(const SHPTreeDiskHandle hDiskTree, double *padfBoundsMin, double *padfBoundsMax, int *pnShapeCount) { int nBufferMax = 0; unsigned char abyBuf[16]; int *panResultBuffer = SHPLIB_NULLPTR; *pnShapeCount = 0; /* -------------------------------------------------------------------- */ /* Read the header. */ /* -------------------------------------------------------------------- */ hDiskTree->sHooks.FSeek(hDiskTree->fpQIX, 0, SEEK_SET); hDiskTree->sHooks.FRead(abyBuf, 16, 1, hDiskTree->fpQIX); if (memcmp(abyBuf, "SQT", 3) != 0) return SHPLIB_NULLPTR; #if defined(SHP_BIG_ENDIAN) bool bNeedSwap = abyBuf[3] != 2; #else bool bNeedSwap = abyBuf[3] != 1; #endif /* -------------------------------------------------------------------- */ /* Search through root node and its descendants. */ /* -------------------------------------------------------------------- */ if (!SHPSearchDiskTreeNode(hDiskTree, padfBoundsMin, padfBoundsMax, &panResultBuffer, &nBufferMax, pnShapeCount, bNeedSwap, 0)) { if (panResultBuffer != SHPLIB_NULLPTR) free(panResultBuffer); *pnShapeCount = 0; return SHPLIB_NULLPTR; } /* -------------------------------------------------------------------- */ /* Sort the id array */ /* -------------------------------------------------------------------- */ /* To distinguish between empty intersection from error case */ if (panResultBuffer == SHPLIB_NULLPTR) panResultBuffer = STATIC_CAST(int *, calloc(1, sizeof(int))); else qsort(panResultBuffer, *pnShapeCount, sizeof(int), SHPTreeCompareInts); return panResultBuffer; } /************************************************************************/ /* SHPGetSubNodeOffset() */ /* */ /* Determine how big all the subnodes of this node (and their */ /* children) will be. This will allow disk based searchers to */ /* seek past them all efficiently. */ /************************************************************************/ static int SHPGetSubNodeOffset(SHPTreeNode *node) { int i; int offset = 0; for (i = 0; i < node->nSubNodes; i++) { if (node->apsSubNode[i]) { offset += 4 * sizeof(double) + (node->apsSubNode[i]->nShapeCount + 3) * sizeof(int); offset += SHPGetSubNodeOffset(node->apsSubNode[i]); } } return (offset); } /************************************************************************/ /* SHPWriteTreeNode() */ /************************************************************************/ static void SHPWriteTreeNode(SAFile fp, SHPTreeNode *node, const SAHooks *psHooks) { int i, j; int offset; unsigned char *pabyRec; assert(SHPLIB_NULLPTR != node); offset = SHPGetSubNodeOffset(node); pabyRec = STATIC_CAST(unsigned char *, malloc(sizeof(double) * 4 + (3 * sizeof(int)) + (node->nShapeCount * sizeof(int)))); if (SHPLIB_NULLPTR == pabyRec) { #ifdef USE_CPL CPLError(CE_Fatal, CPLE_OutOfMemory, "Memory allocation failure"); #endif assert(0); return; } memcpy(pabyRec, &offset, 4); /* minx, miny, maxx, maxy */ memcpy(pabyRec + 4, node->adfBoundsMin + 0, sizeof(double)); memcpy(pabyRec + 12, node->adfBoundsMin + 1, sizeof(double)); memcpy(pabyRec + 20, node->adfBoundsMax + 0, sizeof(double)); memcpy(pabyRec + 28, node->adfBoundsMax + 1, sizeof(double)); memcpy(pabyRec + 36, &node->nShapeCount, 4); j = node->nShapeCount * sizeof(int); if (j) memcpy(pabyRec + 40, node->panShapeIds, j); memcpy(pabyRec + j + 40, &node->nSubNodes, 4); psHooks->FWrite(pabyRec, 44 + j, 1, fp); free(pabyRec); for (i = 0; i < node->nSubNodes; i++) { if (node->apsSubNode[i]) SHPWriteTreeNode(fp, node->apsSubNode[i], psHooks); } } /************************************************************************/ /* SHPWriteTree() */ /************************************************************************/ int SHPAPI_CALL SHPWriteTree(SHPTree *tree, const char *filename) { SAHooks sHooks; SASetupDefaultHooks(&sHooks); return SHPWriteTreeLL(tree, filename, &sHooks); } /************************************************************************/ /* SHPWriteTreeLL() */ /************************************************************************/ int SHPWriteTreeLL(SHPTree *tree, const char *filename, const SAHooks *psHooks) { const char signature[4] = "SQT"; char abyBuf[32]; SAFile fp; SAHooks sHooks; if (psHooks == SHPLIB_NULLPTR) { SASetupDefaultHooks(&sHooks); psHooks = &sHooks; } /* -------------------------------------------------------------------- */ /* Open the output file. */ /* -------------------------------------------------------------------- */ fp = psHooks->FOpen(filename, "wb", psHooks->pvUserData); if (fp == SHPLIB_NULLPTR) { return FALSE; } /* -------------------------------------------------------------------- */ /* Write the header. */ /* -------------------------------------------------------------------- */ memcpy(abyBuf + 0, signature, 3); #if defined(SHP_BIG_ENDIAN) abyBuf[3] = 2; /* New MSB */ #else abyBuf[3] = 1; /* New LSB */ #endif abyBuf[4] = 1; /* version */ abyBuf[5] = 0; /* next 3 reserved */ abyBuf[6] = 0; abyBuf[7] = 0; psHooks->FWrite(abyBuf, 8, 1, fp); psHooks->FWrite(&(tree->nTotalCount), 4, 1, fp); /* write maxdepth */ psHooks->FWrite(&(tree->nMaxDepth), 4, 1, fp); /* -------------------------------------------------------------------- */ /* Write all the nodes "in order". */ /* -------------------------------------------------------------------- */ SHPWriteTreeNode(fp, tree->psRoot, psHooks); psHooks->FClose(fp); return TRUE; } shapelib-1.6.1/makefile.vc0000664000175000017500000000553514371676733012371 00000000000000 #CFLAGS = /DSHPAPI_CALL=__stdcall # 4100: 'identifier' : unreferenced formal parameter CFLAGS = /nologo /Ox /MD /W4 /wd4100 /D_CRT_SECURE_NO_DEPRECATE /DSHAPELIB_DLLEXPORT IMPORT_LIB = shapelib_i.lib STATIC_LIB = shapelib.lib DLLNAME = shapelib.dll LINK_LIB = $(IMPORT_LIB) OBJ = shpopen.obj dbfopen.obj shptree.obj safileio.obj sbnsearch.obj all: $(STATIC_LIB) $(DLLNAME) \ shpcreate.exe shpadd.exe shpdump.exe shprewind.exe dbfcreate.exe \ dbfadd.exe dbfdump.exe shptest.exe shptreedump.exe shpopen.obj: shpopen.c shapefil.h $(CC) $(CFLAGS) -c shpopen.c shptree.obj: shptree.c shapefil.h $(CC) $(CFLAGS) -c shptree.c dbfopen.obj: dbfopen.c shapefil.h $(CC) $(CFLAGS) -c dbfopen.c safileio.obj: safileio.c shapefil.h $(CC) $(CFLAGS) -c safileio.c sbnsearch.obj: sbnsearch.c shapefil.h $(CC) $(CFLAGS) -c sbnsearch.c shpcreate.exe: shpcreate.c $(LINK_LIB) $(CC) $(CFLAGS) shpcreate.c $(LINK_LIB) $(LINKOPT) if exist $@.manifest mt -manifest $@.manifest -outputresource:$@;1 shpadd.exe: shpadd.c $(LINK_LIB) $(CC) $(CFLAGS) shpadd.c $(LINK_LIB) $(LINKOPT) if exist $@.manifest mt -manifest $@.manifest -outputresource:$@;1 shpdump.exe: shpdump.c $(LINK_LIB) $(CC) $(CFLAGS) shpdump.c $(LINK_LIB) $(LINKOPT) if exist $@.manifest mt -manifest $@.manifest -outputresource:$@;1 shprewind.exe: shprewind.c $(LINK_LIB) $(CC) $(CFLAGS) shprewind.c $(LINK_LIB) $(LINKOPT) if exist $@.manifest mt -manifest $@.manifest -outputresource:$@;1 dbfcreate.exe: dbfcreate.c $(LINK_LIB) $(CC) $(CFLAGS) dbfcreate.c $(LINK_LIB) $(LINKOPT) if exist $@.manifest mt -manifest $@.manifest -outputresource:$@;1 dbfadd.exe: dbfadd.c $(LINK_LIB) $(CC) $(CFLAGS) dbfadd.c $(LINK_LIB) $(LINKOPT) if exist $@.manifest mt -manifest $@.manifest -outputresource:$@;1 dbfdump.exe: dbfdump.c $(LINK_LIB) $(CC) $(CFLAGS) dbfdump.c $(LINK_LIB) $(LINKOPT) if exist $@.manifest mt -manifest $@.manifest -outputresource:$@;1 shptest.exe: shptest.c $(LINK_LIB) $(CC) $(CFLAGS) shptest.c $(LINK_LIB) $(LINKOPT) if exist $@.manifest mt -manifest $@.manifest -outputresource:$@;1 shputils.exe: shputils.c $(LINK_LIB) $(CC) $(CFLAGS) shputils.c $(LINK_LIB) $(LINKOPT) if exist $@.manifest mt -manifest $@.manifest -outputresource:$@;1 shptreedump.exe: shptreedump.c $(LINK_LIB) $(CC) $(CFLAGS) shptreedump.c $(LINK_LIB) $(LINKOPT) if exist $@.manifest mt -manifest $@.manifest -outputresource:$@;1 shpdiff.exe: shpdiff.c $(LINK_LIB) $(CC) $(CFLAGS) shpdiff.c $(LINK_LIB) $(LINKOPT) if exist $@.manifest mt -manifest $@.manifest -outputresource:$@;1 clean: -del *.obj -del *.exe -del *.lib -del *.dll -del *.manifest $(STATIC_LIB): $(OBJ) lib /nologo /out:$(STATIC_LIB) $(OBJ) $(IMPORT_LIB): $(DLLNAME) $(DLLNAME): $(OBJ) link /nologo /dll /out:$(DLLNAME) /implib:$(IMPORT_LIB) $(OBJ) if exist $(DLLNAME).manifest mt /nologo -manifest $(DLLNAME).manifest -outputresource:$(DLLNAME);2 shapelib-1.6.1/tests/0000775000175000017500000000000014657064715011472 500000000000000shapelib-1.6.1/tests/expect3.out0000664000175000017500000000161614573117335013514 00000000000000Shapefile Type: Polygon # of Shapes: 3 File Bounds: (0,0,0,0) to (180,170,0,0) Shape:0 (Polygon) nVertices=9, nParts=2 Bounds:(0,0, 0) to (100,100, 0) (0,0, 0) Ring (100,0, 0) (100,100, 0) (0,100, 0) (0,0, 0) + (20,20, 0) Ring (20,30, 0) (30,30, 0) (20,20, 0) Shape:1 (Polygon) nVertices=4, nParts=1 Bounds:(150,150, 0) to (180,170, 0) (150,150, 0) Ring (160,150, 0) (180,170, 0) (150,150, 0) Shape:2 (Polygon) nVertices=4, nParts=1 Bounds:(150,150, 0) to (180,170, 0) (150,150, 0) Ring (160,150, 0) (180,170, 0) (150,150, 0) Descriptio TestInt TestDouble Square with triangle missing 1 2.50000 Smaller triangle 100 1000.25000 (NULL) (NULL) (NULL) shapelib-1.6.1/tests/CMakeLists.txt0000664000175000017500000000265614656616310014154 00000000000000# CMake configuration for SHP C++ unit tests project(${CMAKE_PROJECT_NAME}Tests CXX) # Set up GoogleTest include(FetchContent) FetchContent_Declare( googletest GIT_REPOSITORY https://github.com/google/googletest.git GIT_TAG v1.15.2 ) # For Windows: Prevent overriding the parent project's compiler/linker settings set(gtest_force_shared_crt ON CACHE BOOL "" FORCE) # Disable building GMock set(BUILD_GMOCK OFF CACHE BOOL "" FORCE) # Do not install GTest set(INSTALL_GTEST OFF CACHE BOOL "" FORCE) FetchContent_MakeAvailable(googletest) foreach(executable dbf_test sbn_test shp_test) add_executable(${executable} ${PROJECT_SOURCE_DIR}/${executable}.cc) target_link_libraries(${executable} PRIVATE ${PACKAGE} gtest) add_test( NAME ${executable} COMMAND ${executable} WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}" ) target_compile_features(${executable} PUBLIC cxx_std_17) set_target_properties(${executable} PROPERTIES FOLDER "tests" CXX_EXTENSIONS OFF) if (BUILD_SHARED_LIBS AND ${CMAKE_VERSION} VERSION_GREATER_EQUAL "3.21" AND (WIN32 OR CYGWIN)) add_custom_command( TARGET ${executable} POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy_if_different $ $ COMMAND_EXPAND_LISTS ) endif() endforeach() configure_file( ${CMAKE_SOURCE_DIR}/cmake/shapelib.gta.runsettings.in ${CMAKE_BINARY_DIR}/shapelib.gta.runsettings @ONLY ) shapelib-1.6.1/tests/expect2.out0000664000175000017500000003176214573117335013520 00000000000000----------------------------------------------------------------------- Test 2/0 ----------------------------------------------------------------------- Shapefile Type: NullShape # of Shapes: 2 File Bounds: (0,0,0,0) to (10,20,0,0) Shape:0 (NullShape) nVertices=0, nParts=0 Bounds:(0,0, 0) to (0,0, 0) Shape:1 (NullShape) nVertices=0, nParts=0 Bounds:(0,0, 0) to (0,0, 0) ----------------------------------------------------------------------- Test 2/1 ----------------------------------------------------------------------- Shapefile Type: Point # of Shapes: 2 File Bounds: (1,2,0,0) to (10,20,0,0) Shape:0 (Point) nVertices=1, nParts=0 Bounds:(1,2, 0) to (1,2, 0) (1,2, 0) Shape:1 (Point) nVertices=1, nParts=0 Bounds:(10,20, 0) to (10,20, 0) (10,20, 0) ----------------------------------------------------------------------- Test 2/2 ----------------------------------------------------------------------- Shapefile Type: PointZ # of Shapes: 2 File Bounds: (1,2,3,4) to (10,20,30,40) Shape:0 (PointZ) nVertices=1, nParts=0 Bounds:(1,2, 3, 4) to (1,2, 3, 4) (1,2, 3, 4) Shape:1 (PointZ) nVertices=1, nParts=0 Bounds:(10,20, 30, 40) to (10,20, 30, 40) (10,20, 30, 40) ----------------------------------------------------------------------- Test 2/3 ----------------------------------------------------------------------- Shapefile Type: PointM # of Shapes: 2 File Bounds: (1,2,0,4) to (10,20,0,40) Shape:0 (PointM) nVertices=1, nParts=0 Bounds:(1,2, 0, 4) to (1,2, 0, 4) (1,2, 0, 4) Shape:1 (PointM) nVertices=1, nParts=0 Bounds:(10,20, 0, 40) to (10,20, 0, 40) (10,20, 0, 40) ----------------------------------------------------------------------- Test 2/4 ----------------------------------------------------------------------- Shapefile Type: MultiPoint # of Shapes: 3 File Bounds: (1.15,2.25,0,0) to (24.15,25.25,0,0) Shape:0 (MultiPoint) nVertices=4, nParts=0 Bounds:(1.15,2.25, 0) to (4.15,5.25, 0) (1.15,2.25, 0) (2.15,3.25, 0) (3.15,4.25, 0) (4.15,5.25, 0) Shape:1 (MultiPoint) nVertices=4, nParts=0 Bounds:(11.15,12.25, 0) to (14.15,15.25, 0) (11.15,12.25, 0) (12.15,13.25, 0) (13.15,14.25, 0) (14.15,15.25, 0) Shape:2 (MultiPoint) nVertices=4, nParts=0 Bounds:(21.15,22.25, 0) to (24.15,25.25, 0) (21.15,22.25, 0) (22.15,23.25, 0) (23.15,24.25, 0) (24.15,25.25, 0) ----------------------------------------------------------------------- Test 2/5 ----------------------------------------------------------------------- Shapefile Type: MultiPointZ # of Shapes: 3 File Bounds: (1.15,2.25,3.35,4.45) to (24.15,25.25,26.35,27.45) Shape:0 (MultiPointZ) nVertices=4, nParts=0 Bounds:(1.15,2.25, 3.35, 4.45) to (4.15,5.25, 6.35, 7.45) (1.15,2.25, 3.35, 4.45) (2.15,3.25, 4.35, 5.45) (3.15,4.25, 5.35, 6.45) (4.15,5.25, 6.35, 7.45) Shape:1 (MultiPointZ) nVertices=4, nParts=0 Bounds:(11.15,12.25, 13.35, 14.45) to (14.15,15.25, 16.35, 17.45) (11.15,12.25, 13.35, 14.45) (12.15,13.25, 14.35, 15.45) (13.15,14.25, 15.35, 16.45) (14.15,15.25, 16.35, 17.45) Shape:2 (MultiPointZ) nVertices=4, nParts=0 Bounds:(21.15,22.25, 23.35, 24.45) to (24.15,25.25, 26.35, 27.45) (21.15,22.25, 23.35, 24.45) (22.15,23.25, 24.35, 25.45) (23.15,24.25, 25.35, 26.45) (24.15,25.25, 26.35, 27.45) ----------------------------------------------------------------------- Test 2/6 ----------------------------------------------------------------------- Shapefile Type: MultiPointM # of Shapes: 3 File Bounds: (1.15,2.25,0,4.45) to (24.15,25.25,0,27.45) Shape:0 (MultiPointM) nVertices=4, nParts=0 Bounds:(1.15,2.25, 0, 4.45) to (4.15,5.25, 0, 7.45) (1.15,2.25, 0, 4.45) (2.15,3.25, 0, 5.45) (3.15,4.25, 0, 6.45) (4.15,5.25, 0, 7.45) Shape:1 (MultiPointM) nVertices=4, nParts=0 Bounds:(11.15,12.25, 0, 14.45) to (14.15,15.25, 0, 17.45) (11.15,12.25, 0, 14.45) (12.15,13.25, 0, 15.45) (13.15,14.25, 0, 16.45) (14.15,15.25, 0, 17.45) Shape:2 (MultiPointM) nVertices=4, nParts=0 Bounds:(21.15,22.25, 0, 24.45) to (24.15,25.25, 0, 27.45) (21.15,22.25, 0, 24.45) (22.15,23.25, 0, 25.45) (23.15,24.25, 0, 26.45) (24.15,25.25, 0, 27.45) ----------------------------------------------------------------------- Test 2/7 ----------------------------------------------------------------------- Shapefile Type: Arc # of Shapes: 4 File Bounds: (0,0,0,0) to (100,100,0,0) Shape:0 (Arc) nVertices=5, nParts=1 Bounds:(1,1, 0) to (2,2, 0) (1,1, 0) Ring (1,2, 0) (2,2, 0) (2,1, 0) (1,1, 0) Shape:1 (Arc) nVertices=5, nParts=1 Bounds:(1,4, 0) to (2,5, 0) (1,4, 0) Ring (1,5, 0) (2,5, 0) (2,4, 0) (1,4, 0) Shape:2 (Arc) nVertices=5, nParts=1 Bounds:(1,7, 0) to (2,8, 0) (1,7, 0) Ring (1,8, 0) (2,8, 0) (2,7, 0) (1,7, 0) Shape:3 (Arc) nVertices=15, nParts=3 Bounds:(0,0, 0) to (100,100, 0) (0,0, 0) Ring (0,100, 0) (100,100, 0) (100,0, 0) (0,0, 0) + (10,20, 0) Ring (30,20, 0) (30,40, 0) (10,40, 0) (10,20, 0) + (60,20, 0) Ring (90,20, 0) (90,40, 0) (60,40, 0) (60,20, 0) ----------------------------------------------------------------------- Test 2/8 ----------------------------------------------------------------------- Shapefile Type: ArcZ # of Shapes: 4 File Bounds: (0,0,0,0) to (100,100,27.35,28.45) Shape:0 (ArcZ) nVertices=5, nParts=1 Bounds:(1,1, 3.35, 4.45) to (2,2, 7.35, 8.45) (1,1, 3.35, 4.45) Ring (1,2, 4.35, 5.45) (2,2, 5.35, 6.45) (2,1, 6.35, 7.45) (1,1, 7.35, 8.45) Shape:1 (ArcZ) nVertices=5, nParts=1 Bounds:(1,4, 13.35, 14.45) to (2,5, 17.35, 18.45) (1,4, 13.35, 14.45) Ring (1,5, 14.35, 15.45) (2,5, 15.35, 16.45) (2,4, 16.35, 17.45) (1,4, 17.35, 18.45) Shape:2 (ArcZ) nVertices=5, nParts=1 Bounds:(1,7, 23.35, 24.45) to (2,8, 27.35, 28.45) (1,7, 23.35, 24.45) Ring (1,8, 24.35, 25.45) (2,8, 25.35, 26.45) (2,7, 26.35, 27.45) (1,7, 27.35, 28.45) Shape:3 (ArcZ) nVertices=15, nParts=3 Bounds:(0,0, 0, 0) to (100,100, 14, 28) (0,0, 0, 0) Ring (0,100, 1, 2) (100,100, 2, 4) (100,0, 3, 6) (0,0, 4, 8) + (10,20, 5, 10) Ring (30,20, 6, 12) (30,40, 7, 14) (10,40, 8, 16) (10,20, 9, 18) + (60,20, 10, 20) Ring (90,20, 11, 22) (90,40, 12, 24) (60,40, 13, 26) (60,20, 14, 28) ----------------------------------------------------------------------- Test 2/9 ----------------------------------------------------------------------- Shapefile Type: ArcM # of Shapes: 4 File Bounds: (0,0,0,0) to (100,100,0,28.45) Shape:0 (ArcM) nVertices=5, nParts=1 Bounds:(1,1, 0, 4.45) to (2,2, 0, 8.45) (1,1, 0, 4.45) Ring (1,2, 0, 5.45) (2,2, 0, 6.45) (2,1, 0, 7.45) (1,1, 0, 8.45) Shape:1 (ArcM) nVertices=5, nParts=1 Bounds:(1,4, 0, 14.45) to (2,5, 0, 18.45) (1,4, 0, 14.45) Ring (1,5, 0, 15.45) (2,5, 0, 16.45) (2,4, 0, 17.45) (1,4, 0, 18.45) Shape:2 (ArcM) nVertices=5, nParts=1 Bounds:(1,7, 0, 24.45) to (2,8, 0, 28.45) (1,7, 0, 24.45) Ring (1,8, 0, 25.45) (2,8, 0, 26.45) (2,7, 0, 27.45) (1,7, 0, 28.45) Shape:3 (ArcM) nVertices=15, nParts=3 Bounds:(0,0, 0, 0) to (100,100, 0, 28) (0,0, 0, 0) Ring (0,100, 0, 2) (100,100, 0, 4) (100,0, 0, 6) (0,0, 0, 8) + (10,20, 0, 10) Ring (30,20, 0, 12) (30,40, 0, 14) (10,40, 0, 16) (10,20, 0, 18) + (60,20, 0, 20) Ring (90,20, 0, 22) (90,40, 0, 24) (60,40, 0, 26) (60,20, 0, 28) ----------------------------------------------------------------------- Test 2/10 ----------------------------------------------------------------------- Shapefile Type: Polygon # of Shapes: 4 File Bounds: (0,0,0,0) to (100,100,0,0) Shape:0 (Polygon) nVertices=5, nParts=1 Bounds:(1,1, 0) to (2,2, 0) (1,1, 0) Ring (1,2, 0) (2,2, 0) (2,1, 0) (1,1, 0) Shape:1 (Polygon) nVertices=5, nParts=1 Bounds:(1,4, 0) to (2,5, 0) (1,4, 0) Ring (1,5, 0) (2,5, 0) (2,4, 0) (1,4, 0) Shape:2 (Polygon) nVertices=5, nParts=1 Bounds:(1,7, 0) to (2,8, 0) (1,7, 0) Ring (1,8, 0) (2,8, 0) (2,7, 0) (1,7, 0) Shape:3 (Polygon) nVertices=15, nParts=3 Bounds:(0,0, 0) to (100,100, 0) (0,0, 0) Ring (0,100, 0) (100,100, 0) (100,0, 0) (0,0, 0) + (10,20, 0) Ring (30,20, 0) (30,40, 0) (10,40, 0) (10,20, 0) + (60,20, 0) Ring (90,20, 0) (90,40, 0) (60,40, 0) (60,20, 0) ----------------------------------------------------------------------- Test 2/11 ----------------------------------------------------------------------- Shapefile Type: PolygonZ # of Shapes: 4 File Bounds: (0,0,0,0) to (100,100,27.35,28.45) Shape:0 (PolygonZ) nVertices=5, nParts=1 Bounds:(1,1, 3.35, 4.45) to (2,2, 7.35, 8.45) (1,1, 3.35, 4.45) Ring (1,2, 4.35, 5.45) (2,2, 5.35, 6.45) (2,1, 6.35, 7.45) (1,1, 7.35, 8.45) Shape:1 (PolygonZ) nVertices=5, nParts=1 Bounds:(1,4, 13.35, 14.45) to (2,5, 17.35, 18.45) (1,4, 13.35, 14.45) Ring (1,5, 14.35, 15.45) (2,5, 15.35, 16.45) (2,4, 16.35, 17.45) (1,4, 17.35, 18.45) Shape:2 (PolygonZ) nVertices=5, nParts=1 Bounds:(1,7, 23.35, 24.45) to (2,8, 27.35, 28.45) (1,7, 23.35, 24.45) Ring (1,8, 24.35, 25.45) (2,8, 25.35, 26.45) (2,7, 26.35, 27.45) (1,7, 27.35, 28.45) Shape:3 (PolygonZ) nVertices=15, nParts=3 Bounds:(0,0, 0, 0) to (100,100, 14, 28) (0,0, 0, 0) Ring (0,100, 1, 2) (100,100, 2, 4) (100,0, 3, 6) (0,0, 4, 8) + (10,20, 5, 10) Ring (30,20, 6, 12) (30,40, 7, 14) (10,40, 8, 16) (10,20, 9, 18) + (60,20, 10, 20) Ring (90,20, 11, 22) (90,40, 12, 24) (60,40, 13, 26) (60,20, 14, 28) ----------------------------------------------------------------------- Test 2/12 ----------------------------------------------------------------------- Shapefile Type: PolygonM # of Shapes: 4 File Bounds: (0,0,0,0) to (100,100,0,28.45) Shape:0 (PolygonM) nVertices=5, nParts=1 Bounds:(1,1, 0, 4.45) to (2,2, 0, 8.45) (1,1, 0, 4.45) Ring (1,2, 0, 5.45) (2,2, 0, 6.45) (2,1, 0, 7.45) (1,1, 0, 8.45) Shape:1 (PolygonM) nVertices=5, nParts=1 Bounds:(1,4, 0, 14.45) to (2,5, 0, 18.45) (1,4, 0, 14.45) Ring (1,5, 0, 15.45) (2,5, 0, 16.45) (2,4, 0, 17.45) (1,4, 0, 18.45) Shape:2 (PolygonM) nVertices=5, nParts=1 Bounds:(1,7, 0, 24.45) to (2,8, 0, 28.45) (1,7, 0, 24.45) Ring (1,8, 0, 25.45) (2,8, 0, 26.45) (2,7, 0, 27.45) (1,7, 0, 28.45) Shape:3 (PolygonM) nVertices=15, nParts=3 Bounds:(0,0, 0, 0) to (100,100, 0, 28) (0,0, 0, 0) Ring (0,100, 0, 2) (100,100, 0, 4) (100,0, 0, 6) (0,0, 0, 8) + (10,20, 0, 10) Ring (30,20, 0, 12) (30,40, 0, 14) (10,40, 0, 16) (10,20, 0, 18) + (60,20, 0, 20) Ring (90,20, 0, 22) (90,40, 0, 24) (60,40, 0, 26) (60,20, 0, 28) ----------------------------------------------------------------------- Test 2/13 ----------------------------------------------------------------------- Shapefile Type: MultiPatch # of Shapes: 4 File Bounds: (0,0,0,0) to (100,100,27.35,28.45) Shape:0 (MultiPatch) nVertices=5, nParts=1 Bounds:(1,1, 3.35) to (2,2, 7.35) (1,1, 3.35) Ring (1,2, 4.35) (2,2, 5.35) (2,1, 6.35) (1,1, 7.35) Shape:1 (MultiPatch) nVertices=5, nParts=1 Bounds:(1,4, 13.35) to (2,5, 17.35) (1,4, 13.35) Ring (1,5, 14.35) (2,5, 15.35) (2,4, 16.35) (1,4, 17.35) Shape:2 (MultiPatch) nVertices=5, nParts=1 Bounds:(1,7, 23.35) to (2,8, 27.35) (1,7, 23.35) Ring (1,8, 24.35) (2,8, 25.35) (2,7, 26.35) (1,7, 27.35) Shape:3 (MultiPatch) nVertices=15, nParts=3 Bounds:(0,0, 0) to (100,100, 14) (0,0, 0) Ring (0,100, 1) (100,100, 2) (100,0, 3) (0,0, 4) + (10,20, 5) InnerRing (30,20, 6) (30,40, 7) (10,40, 8) (10,20, 9) + (60,20, 10) InnerRing (90,20, 11) (90,40, 12) (60,40, 13) (60,20, 14) shapelib-1.6.1/tests/test3.sh0000775000175000017500000000222214657064606013010 00000000000000#!/bin/sh # # Use example programs to create a very simple dataset that # should display in ARCView II. # set -eu readonly SCRIPTDIR=$(dirname "$0") readonly EXPECT="${1:-$SCRIPTDIR/expect3.out}" { "${SHPCREATE:-./shpcreate}" test polygon "${DBFCREATE:-./dbfcreate}" test.dbf -s Description 30 -n TestInt 6 0 -n TestDouble 16 5 "${SHPADD:-./shpadd}" test 0 0 100 0 100 100 0 100 0 0 + 20 20 20 30 30 30 20 20 "${DBFADD:-./dbfadd}" test.dbf "Square with triangle missing" 1.4 2.5 "${SHPADD:-./shpadd}" test 150 150 160 150 180 170 150 150 "${DBFADD:-./dbfadd}" test.dbf "Smaller triangle" 100 1000.25 "${SHPADD:-./shpadd}" test 150 150 160 150 180 170 150 150 "${DBFADD:-./dbfadd}" test.dbf "" "" "" "${SHPDUMP:-./shpdump}" test.shp "${DBFDUMP:-./dbfdump}" test.dbf } > s3.out supports_strip_trailing_cr() { diff --help 2>/dev/null | grep -q -- '--strip-trailing-cr' } run_diff() { if supports_strip_trailing_cr; then diff --strip-trailing-cr "$EXPECT" "s3.out" else diff "$EXPECT" "s3.out" fi } if result=$(run_diff); then echo "******* Stream 3 Succeeded *********" exit 0 else echo "******* Stream 3 Failed *********" echo "$result" exit 1 fi shapelib-1.6.1/tests/shp_test.cc0000664000175000017500000000437414643726746013566 00000000000000#include #include #include #include #include #include #include "shapefil.h" namespace fs = std::filesystem; namespace { static const auto kTestData = fs::path{"shape_eg_data"}; TEST(SHPOpenTest, OpenDoesNotExist_rb) { const auto handle = SHPOpen("/does/not/exist.shp", "rb"); ASSERT_EQ(nullptr, handle); } TEST(SHPOpenTest, OpenDoesNotExist_rb_plus) { const auto handle = SHPOpen("/does/not/exist2.shp", "rb+"); ASSERT_EQ(nullptr, handle); } TEST(SHPOpenTest, OpenUnexpectedFormat) { const auto filename = kTestData / "README.md"; const auto handle = SHPOpen(filename.string().c_str(), "rb"); ASSERT_EQ(nullptr, handle); } TEST(SHPOpenTest, OpenExisting) { const auto filename = kTestData / "anno.shp"; const auto handle = SHPOpen(filename.string().c_str(), "rb"); ASSERT_NE(nullptr, handle); SHPClose(handle); } TEST(SHPOpenTest, OpenExistingSHX) { const auto filename = kTestData / "anno.shx"; const auto handle = SHPOpen(filename.string().c_str(), "rb"); ASSERT_NE(nullptr, handle); SHPClose(handle); } TEST(SHPOpenTest, OpenExistingWithRestoreSHX) { const auto filename = kTestData / "anno.shx"; fs::remove(filename); const auto sHooks = std::make_unique(); SASetupDefaultHooks(sHooks.get()); auto handle = SHPOpenLLEx(filename.string().c_str(), "rb", sHooks.get(), false); ASSERT_EQ(nullptr, handle); handle = SHPOpenLLEx(filename.string().c_str(), "rb", sHooks.get(), true); ASSERT_NE(nullptr, handle); SHPClose(handle); EXPECT_TRUE(fs::exists(filename)); } TEST(SHPCreateTest, CreateDoesNotExist) { const auto handle = SHPCreate("/does/not/exist", 42); EXPECT_EQ(nullptr, handle); } TEST(SHPCreateTest, CreateAndClose) { const auto filename = kTestData / "empty.shp"; const auto handle = SHPCreate(filename.string().c_str(), 1234); SHPClose(handle); for (const auto &_filename : {filename, kTestData / "empty.shx"}) { const auto size = fs::file_size(_filename); EXPECT_EQ(100, size); fs::remove(_filename); } } } // namespace int main(int argc, char **argv) { ::testing::InitGoogleTest(&argc, argv); return RUN_ALL_TESTS(); } shapelib-1.6.1/tests/expect1.out0000664000175000017500000015070614573117335013517 00000000000000------------------------------------------------------------------------- Test 1: dump anno.shp ------------------------------------------------------------------------- Shapefile Type: Polygon # of Shapes: 201 File Bounds: (471276.28125,4751595.5,0,0) to (492683.536178589,4765390.41258159,0,0) Shape:0 (Polygon) nVertices=5, nParts=1 Bounds:(486019.129526088,4764549.5, 0) to (486356.183408453,4765212.74353282, 0) (486089.53125,4764549.5, 0) Ring (486019.129526088,4764579.12801761, 0) (486285.781684541,4765212.74353282, 0) (486356.183408453,4765183.11551521, 0) (486089.53125,4764549.5, 0) Shape:1 (Polygon) nVertices=5, nParts=1 Bounds:(484948.275379082,4763866.5, 0) to (485333.012285093,4764070.37556161, 0) (484974.71875,4763866.5, 0) Ring (484948.275379082,4763938.15870702, 0) (485306.568914175,4764070.37556161, 0) (485333.012285093,4763998.71685459, 0) (484974.71875,4763866.5, 0) Shape:2 (Polygon) nVertices=5, nParts=1 Bounds:(485577.021014671,4764106.5, 0) to (485818.355013877,4764259.30529395, 0) (485604.15625,4764106.5, 0) Ring (485577.021014671,4764177.89958796, 0) (485791.219778548,4764259.30529395, 0) (485818.355013877,4764187.90570599, 0) (485604.15625,4764106.5, 0) Shape:3 (Polygon) nVertices=5, nParts=1 Bounds:(484861.499856912,4762570.51334615, 0) to (485092.0625,4763026.85631982, 0) (485092.0625,4762597, 0) Ring (485020.41978003,4762570.51334615, 0) (484861.499856912,4763000.36966597, 0) (484933.142576882,4763026.85631982, 0) (485092.0625,4762597, 0) Shape:4 (Polygon) nVertices=5, nParts=1 Bounds:(484452.623790727,4763792.61358018, 0) to (484628.03125,4764105.94712004, 0) (484628.03125,4763818.5, 0) Ring (484556.16946999,4763792.61358018, 0) (484452.623790727,4764080.06070022, 0) (484524.485570736,4764105.94712004, 0) (484628.03125,4763818.5, 0) Shape:5 (Polygon) nVertices=5, nParts=1 Bounds:(484355.352307164,4764139.43528715, 0) to (484505.34375,4764380.89191282, 0) (484505.34375,4764165.5, 0) Ring (484433.546445727,4764139.43528715, 0) (484355.352307164,4764354.82719996, 0) (484427.149611437,4764380.89191282, 0) (484505.34375,4764165.5, 0) Shape:6 (Polygon) nVertices=9, nParts=1 Bounds:(484548.866401084,4763118.53096087, 0) to (484772.0625,4763742.25772229, 0) (484772.0625,4763152, 0) Ring (484703.403592518,4763118.53096087, 0) (484605.763230804,4763318.83191767, 0) (484548.866401084,4763471.14947223, 0) (484603.088051098,4763742.25772229, 0) (484677.986842791,4763727.27796396, 0) (484628.03125,4763477.5, 0) (484676.03125,4763349, 0) (484772.0625,4763152, 0) Shape:7 (Polygon) nVertices=5, nParts=1 Bounds:(484671.738991661,4763562.5, 0) to (484911.415125081,4763682.33806671, 0) (484686.71875,4763562.5, 0) Ring (484671.738991661,4763637.39879169, 0) (484896.435366742,4763682.33806671, 0) (484911.415125081,4763607.43927502, 0) (484686.71875,4763562.5, 0) Shape:8 (Polygon) nVertices=5, nParts=1 Bounds:(484930.171804625,4763125.5, 0) to (485596.341537714,4763453.26948479, 0) (484958.71875,4763125.5, 0) Ring (484930.171804625,4763196.34697641, 0) (485567.794592339,4763453.26948479, 0) (485596.341537714,4763382.42250838, 0) (484958.71875,4763125.5, 0) Shape:9 (Polygon) nVertices=5, nParts=1 Bounds:(485102.757495073,4763082.5, 0) to (485344.153995416,4763234.02884659, 0) (485129.40625,4763082.5, 0) Ring (485102.757495073,4763154.08258181, 0) (485317.505240489,4763234.02884659, 0) (485344.153995416,4763162.44626478, 0) (485129.40625,4763082.5, 0) Shape:10 (Polygon) nVertices=5, nParts=1 Bounds:(485368.786394222,4762538.5, 0) to (485824.016125969,4762774.02911399, 0) (485396.15625,4762538.5, 0) Ring (485368.786394222,4762609.80997933, 0) (485796.646270191,4762774.02911399, 0) (485824.016125969,4762702.71913467, 0) (485396.15625,4762538.5, 0) Shape:11 (Polygon) nVertices=5, nParts=1 Bounds:(487002.483900892,4763184, 0) to (487243.96024663,4763333.36837953, 0) (487028.3125,4763184, 0) Ring (487002.483900892,4763255.88258221, 0) (487218.131647522,4763333.36837953, 0) (487243.96024663,4763261.48579732, 0) (487028.3125,4763184, 0) Shape:12 (Polygon) nVertices=5, nParts=1 Bounds:(486733.537144613,4762455.41284243, 0) to (487076.3125,4763275.4828437, 0) (487076.3125,4762480, 0) Ring (487003.995877845,4762455.41284243, 0) (486733.537144613,4763250.89568613, 0) (486805.853766768,4763275.4828437, 0) (487076.3125,4762480, 0) Shape:13 (Polygon) nVertices=5, nParts=1 Bounds:(486440.735318563,4762331.0285149, 0) to (486772.28125,4763075.31080452, 0) (486772.28125,4762357, 0) Ring (486700.450169548,4762331.0285149, 0) (486440.735318563,4763049.33931942, 0) (486512.566399014,4763075.31080452, 0) (486772.28125,4762357, 0) Shape:14 (Polygon) nVertices=5, nParts=1 Bounds:(486383.881873761,4762986.53024239, 0) to (486521.59375,4763227.9078102, 0) (486521.59375,4763008, 0) Ring (486448.291146601,4762986.53024239, 0) (486383.881873761,4763206.43805258, 0) (486457.18447716,4763227.9078102, 0) (486521.59375,4763008, 0) Shape:15 (Polygon) nVertices=9, nParts=1 Bounds:(486360.416053039,4762774.30991957, 0) to (486800.882010234,4763656.20814147, 0) (486489.59375,4763600, 0) Ring (486541.312866292,4763656.20814147, 0) (486762.056519499,4763453.09403071, 0) (486800.882010234,4763266.65884894, 0) (486420.882916339,4762774.30991957, 0) (486360.416053039,4762820.97875928, 0) (486718.9375,4763285.5, 0) (486692.28125,4763413.5, 0) (486489.59375,4763600, 0) Shape:16 (Polygon) nVertices=5, nParts=1 Bounds:(486682.872244167,4762181, 0) to (487292.496159935,4762415.4629729, 0) (486702.96875,4762181, 0) Ring (486682.872244167,4762254.69092624, 0) (487272.399654102,4762415.4629729, 0) (487292.496159935,4762341.77204666, 0) (486702.96875,4762181, 0) Shape:17 (Polygon) nVertices=5, nParts=1 Bounds:(487480.713174766,4762283.32041063, 0) to (487732.40625,4762812.55164729, 0) (487732.40625,4762309, 0) Ring (487660.470300388,4762283.32041063, 0) (487480.713174766,4762786.87205791, 0) (487552.649124378,4762812.55164729, 0) (487732.40625,4762309, 0) Shape:18 (Polygon) nVertices=5, nParts=1 Bounds:(487069.756603548,4763685.70922948, 0) to (487220.34375,4763927.14450465, 0) (487220.34375,4763712, 0) Ring (487148.628915116,4763685.70922948, 0) (487069.756603548,4763900.85373413, 0) (487141.471438432,4763927.14450465, 0) (487220.34375,4763712, 0) Shape:19 (Polygon) nVertices=9, nParts=1 Bounds:(487854.71875,4758279, 0) to (488518.084513461,4758475.00313544, 0) (487854.71875,4758404, 0) Ring (487882.875044414,4758475.00313544, 0) (488183.362239097,4758355.84493392, 0) (488341.272726333,4758360.83994574, 0) (488515.419883674,4758366.91886277, 0) (488518.084513461,4758290.58327536, 0) (488343.8125,4758284.5, 0) (488169.9375,4758279, 0) (487854.71875,4758404, 0) Shape:20 (Polygon) nVertices=5, nParts=1 Bounds:(486300.557314823,4758366, 0) to (486613.244508877,4758546.26155543, 0) (486327.78125,4758366, 0) Ring (486300.557314823,4758437.36581472, 0) (486586.0205737,4758546.26155543, 0) (486613.244508877,4758474.89574071, 0) (486327.78125,4758366, 0) Shape:21 (Polygon) nVertices=5, nParts=1 Bounds:(486709.618088707,4758518, 0) to (486949.999220564,4758681.14547407, 0) (486740.75,4758518, 0) Ring (486709.618088707,4758587.74974019, 0) (486918.86730927,4758681.14547407, 0) (486949.999220564,4758611.39573388, 0) (486740.75,4758518, 0) Shape:22 (Polygon) nVertices=5, nParts=1 Bounds:(487325.398146116,4757807.03413294, 0) to (487555.84375,4758263.40240911, 0) (487555.84375,4757833.5, 0) Ring (487484.193348481,4757807.03413294, 0) (487325.398146116,4758236.93654205, 0) (487397.048547634,4758263.40240911, 0) (487555.84375,4757833.5, 0) Shape:23 (Polygon) nVertices=5, nParts=1 Bounds:(487255.255955622,4758215.57334913, 0) to (487387.40625,4758456.61102531, 0) (487387.40625,4758235, 0) Ring (487313.535908231,4758215.57334913, 0) (487255.255955622,4758437.18437444, 0) (487329.126297391,4758456.61102531, 0) (487387.40625,4758235, 0) Shape:24 (Polygon) nVertices=5, nParts=1 Bounds:(487248.713963615,4758360.5, 0) to (487559.686647128,4758550.76111982, 0) (487278.71875,4758360.5, 0) Ring (487248.713963615,4758430.74197428, 0) (487529.681860742,4758550.76111982, 0) (487559.686647128,4758480.51914554, 0) (487278.71875,4758360.5, 0) Shape:25 (Polygon) nVertices=5, nParts=1 Bounds:(487573.993669832,4758496.5, 0) to (487815.501933589,4758644.60296837, 0) (487599.34375,4758496.5, 0) Ring (487573.993669832,4758568.55272786, 0) (487790.151853421,4758644.60296837, 0) (487815.501933589,4758572.55024051, 0) (487599.34375,4758496.5, 0) ------------------------------------------------------------------------- Test 2: dump brklinz.shp ------------------------------------------------------------------------- Shapefile Type: ArcZ # of Shapes: 122 File Bounds: (6294338.26,1978444.01,0,0) to (6296321.86,1979694.45,0,0) Shape:0 (ArcZ) nVertices=92, nParts=1 Bounds:(6294700.21,1978579.39, 818.640015) to (6295395.93,1979050.33, 917.859985) (6295372.75,1978755.83, 823.059998) Ring (6295366.17,1978739.19, 826.580017) (6295360.4,1978718.54, 829.200012) (6295352.62,1978697, 832.219971) (6295345.96,1978677.04, 834.640015) (6295339.69,1978656.81, 838.51001) (6295335.04,1978637.6, 840.940002) (6295331.08,1978621.45, 844.47998) (6295324.35,1978607.94, 847.039978) (6295313.37,1978598.45, 850.380005) (6295296.78,1978594.95, 853.27002) (6295273.8,1978594.99, 858.059998) (6295251.75,1978595.38, 861.530029) (6295232.34,1978598.4, 864.219971) (6295206.74,1978606.39, 866.380005) (6295180.61,1978616.97, 868.150024) (6295156.35,1978630.54, 870.650024) (6295132.27,1978645.21, 872.02002) (6295111.07,1978659.74, 875.169983) (6295090.03,1978674.92, 878.840027) (6295071.06,1978689.34, 882.059998) (6295051.9,1978705.08, 886.97998) (6295036.46,1978719.26, 889.659973) (6295023.62,1978732.91, 893.530029) (6295010.45,1978750.38, 895.23999) (6294999.91,1978767.85, 897.469971) (6294989.81,1978783.86, 900.289978) (6294975.04,1978795.57, 902.450012) (6294956.3,1978806.83, 906.320007) (6294937.26,1978814.62, 909.210022) (6294919.24,1978821.96, 912.880005) (6294897.04,1978832.21, 915.039978) (6294878.07,1978844.07, 916.48999) (6294865.01,1978855.82, 917.340027) (6294859.56,1978870.15, 916.809998) (6294861.52,1978882.92, 916.619995) (6294874.64,1978906.22, 917.859985) (6294886.98,1978926.88, 917.599976) (6294889.63,1978953.27, 917.539978) (6294888.52,1978978.28, 916.880005) (6294880.35,1978998.39, 915.960022) (6294866.54,1979018.92, 915.570007) (6294843.27,1979039.14, 915.570007) (6294812.25,1979049.04, 915.960022) (6294777.64,1979050.33, 916.75) (6294752.06,1979040.52, 916.679993) (6294730.99,1979028.85, 916.619995) (6294716.69,1979008.42, 916.619995) (6294706.05,1978987.49, 916.950012) (6294700.21,1978965.39, 916.950012) (6294700.52,1978937.67, 917.01001) (6294712.06,1978911.34, 916.950012) (6294724.82,1978893.56, 916.619995) (6294741.63,1978878.01, 916.359985) (6294759.36,1978865.09, 916.359985) (6294777.65,1978855.37, 916.219971) (6294807.57,1978846.97, 916.359985) (6294837.64,1978836.59, 916.549988) (6294858.65,1978831.39, 916.289978) (6294878.86,1978825.84, 915.369995) (6294897.63,1978817.86, 913.669983) (6294914.55,1978809.52, 910.780029) (6294932.38,1978798.58, 907.169983) (6294947.36,1978788.37, 904.419983) (6294960.5,1978778.12, 901.859985) (6294974.78,1978761.9, 898.780029) (6294988.51,1978747.61, 895.700012) (6295005.23,1978730.22, 892.809998) (6295023.56,1978713.47, 889.340027) (6295043.31,1978696.32, 885.070007) (6295061.83,1978680.81, 881.469971) (6295080.97,1978664.55, 877.789978) (6295104.57,1978648.19, 874.580017) (6295126.31,1978633.89, 872.090027) (6295149.84,1978618.72, 869.599976) (6295173.84,1978605.03, 867.369995) (6295198.11,1978594.15, 866.119995) (6295222.83,1978586.99, 865.200012) (6295243.03,1978583.81, 863.5) (6295268.11,1978581.29, 860.349976) (6295291.53,1978579.39, 856.47998) (6295313.2,1978582.04, 852.419983) (6295329.17,1978591.41, 848.809998) (6295339.78,1978603.88, 845.070007) (6295345.64,1978621.11, 842.119995) (6295351.07,1978642.97, 838.320007) (6295357.25,1978666.56, 834.77002) (6295367.29,1978691, 831.890015) (6295376.03,1978718.47, 828.090027) (6295383.93,1978744.86, 824.349976) (6295389.99,1978768.72, 821.330017) (6295395.93,1978790.09, 818.640015) Shape:1 (ArcZ) nVertices=9, nParts=1 Bounds:(6295218.47,1978444.01, 864.549988) to (6295330.76,1978581.88, 882.450012) (6295330.76,1978444.01, 882.450012) Ring (6295306.05,1978461.19, 880.940002) (6295280.21,1978482.71, 878.52002) (6295258.18,1978504.05, 875.890015) (6295239.91,1978524.67, 871.890015) (6295225.65,1978546.54, 869.530029) (6295218.47,1978565.55, 866.969971) (6295223.96,1978575.51, 865.27002) (6295230.58,1978581.88, 864.549988) Shape:2 (ArcZ) nVertices=10, nParts=1 Bounds:(6295199.22,1978444.01, 866.320007) to (6295309.04,1978588.8, 882.080017) (6295200.07,1978588.8, 866.320007) Ring (6295199.22,1978571.84, 867.23999) (6295200.77,1978555.74, 868.880005) (6295207.89,1978538.04, 869.859985) (6295223.02,1978520.53, 870.840027) (6295239.45,1978502.44, 874.059998) (6295258.05,1978483.44, 876.47998) (6295268.99,1978473.76, 879.169983) (6295285.71,1978461.56, 880.549988) (6295309.04,1978444.01, 882.080017) Shape:3 (ArcZ) nVertices=5, nParts=1 Bounds:(6294340.89,1979449.28, 1031.780029) to (6294394.08,1979522.03, 1039.780029) (6294394.08,1979449.28, 1039.780029) Ring (6294378.8,1979469.23, 1038.72998) (6294364.98,1979486.74, 1037.280029) (6294350.8,1979504.98, 1035.119995) (6294340.89,1979522.03, 1031.780029) Shape:4 (ArcZ) nVertices=6, nParts=1 Bounds:(6294344.38,1979583.45, 1008.039978) to (6294354.67,1979678.07, 1023.450012) (6294344.38,1979583.45, 1023.450012) Ring (6294348.05,1979601.58, 1019.179993) (6294349.57,1979621.2, 1016.5) (6294351.99,1979637.89, 1012.950012) (6294353.09,1979657.14, 1011.51001) (6294354.67,1979678.07, 1008.039978) Shape:5 (ArcZ) nVertices=3, nParts=1 Bounds:(6294338.26,1979628.6, 1008.630005) to (6294341.08,1979674.1, 1015.710022) (6294341.08,1979674.1, 1008.630005) Ring (6294339.46,1979649.88, 1011.710022) (6294338.26,1979628.6, 1015.710022) Shape:6 (ArcZ) nVertices=3, nParts=1 Bounds:(6294350.16,1979437.98, 1038.599976) to (6294379.98,1979476.72, 1040.099976) (6294350.16,1979476.72, 1038.599976) Ring (6294368.1,1979454.86, 1040.099976) (6294379.98,1979437.98, 1039.319946) Shape:7 (ArcZ) nVertices=39, nParts=1 Bounds:(6295371.53,1978758.16, 754.109985) to (6295534.56,1979677.75, 823.299988) (6295534.56,1979677.75, 779.950012) Ring (6295534.38,1979648.15, 778.570007) (6295534.48,1979605.99, 775.159973) (6295533.97,1979577.58, 772.210022) (6295532.31,1979547.26, 768.409973) (6295532.97,1979521.29, 763.820007) (6295532.39,1979496.89, 759.099976) (6295532.94,1979474.01, 755.48999) (6295533.68,1979452.18, 754.109985) (6295533.85,1979434.64, 754.109985) (6295532.17,1979409.18, 755.75) (6295531.58,1979384.45, 758.700012) (6295531.59,1979356.09, 760.280029) (6295530.19,1979325.69, 761.130005) (6295530.02,1979291.09, 761.659973) (6295529.21,1979259.42, 762.700012) (6295526.25,1979221.61, 762.77002) (6295524.26,1979187.5, 763.75) (6295522.64,1979155.35, 764.609985) (6295521.54,1979123.23, 765.330017) (6295518.46,1979096, 765.919983) (6295511.67,1979081.11, 767.159973) (6295500.7,1979064.06, 768.409973) (6295489.33,1979049.6, 770.109985) (6295475.5,1979033.1, 773.070007) (6295462.53,1979018.19, 775.159973) (6295447.76,1979001.4, 779.48999) (6295433.38,1978984.53, 782.900024) (6295419.04,1978965.82, 785.919983) (6295409.02,1978946.82, 790.580017) (6295399.86,1978923.91, 795.099976) (6295391.01,1978894.41, 800.940002) (6295387.44,1978875.55, 805.530029) (6295382.03,1978849.03, 809.789978) (6295382.19,1978828.93, 813.330017) (6295383.57,1978809.29, 817.400024) (6295380.88,1978789.86, 819.690002) (6295375.63,1978771.81, 822.580017) (6295371.53,1978758.16, 823.299988) Shape:8 (ArcZ) nVertices=35, nParts=1 Bounds:(6295396.48,1978794.78, 753.97998) to (6295549.01,1979670.06, 818.580017) (6295396.62,1978794.78, 818.580017) Ring (6295397.33,1978816.67, 815.76001) (6295396.48,1978836.15, 812.219971) (6295397.67,1978857.11, 807.950012) (6295401.18,1978874.72, 804.609985) (6295406.26,1978897.32, 799.950012) (6295413.58,1978919.93, 794.77002) (6295421.33,1978938.19, 790.309998) (6295431.45,1978956.59, 786.51001) (6295444.95,1978974.36, 782.380005) (6295461.42,1978993.62, 777.659973) (6295479.76,1979013.51, 773.26001) (6295494.63,1979032.33, 771.099976) (6295510.99,1979052.12, 767.690002) (6295524.17,1979071.09, 766.840027) (6295532.18,1979091.89, 765.330017) (6295536.53,1979120.83, 764.799988) (6295537.48,1979150.2, 764.080017) (6295539.47,1979189.49, 763.429993) (6295541.67,1979230.49, 762.640015) (6295541.76,1979271.33, 761.789978) (6295543.65,1979306.3, 761.460022) (6295544.47,1979335.54, 760.469971) (6295544.96,1979363.49, 759.22998) (6295545.62,1979392.02, 757.130005) (6295546.34,1979419.43, 754.900024) (6295547.12,1979439.94, 753.97998) (6295546.51,1979459.15, 754.380005) (6295545.46,1979482.71, 757.659973) (6295545.53,1979507.33, 761.130005) (6295545.61,1979532.47, 765.590027) (6295546.49,1979565.52, 770.440002) (6295547.96,1979597.1, 775.030029) (6295548.99,1979628.04, 777.26001) (6295549.01,1979670.06, 780.150024) Shape:9 (ArcZ) nVertices=45, nParts=1 Bounds:(6295694.04,1978444.01, 696.950012) to (6296208.79,1979687.08, 787.429993) (6295698.4,1979687.08, 787.429993) Ring (6295694.04,1979670.95, 786.309998) (6295696.41,1979650.28, 785.130005) (6295700.08,1979634.53, 784.799988) (6295704.08,1979620.01, 784.150024) (6295708.42,1979601.93, 782.440002) (6295711.23,1979584.79, 781.98999) (6295712.06,1979564.78, 780.799988) (6295710.55,1979537.48, 779.690002) (6295711.29,1979508.02, 777.590027) (6295710.01,1979477.42, 776.080017) (6295709.3,1979442.53, 773.590027) (6295709.16,1979413.64, 772.210022) (6295707.09,1979372.57, 769.460022) (6295708.14,1979336.21, 767.48999) (6295709.71,1979297.13, 764.669983) (6295710.96,1979272.31, 763.289978) (6295714.64,1979241.2, 761.200012) (6295719.05,1979211.56, 759.820007) (6295724.28,1979179.84, 758.309998) (6295729.46,1979152.46, 756.73999) (6295735.77,1979126.53, 754.440002) (6295744.97,1979095.4, 752.869995) (6295755.82,1979063.14, 750.309998) (6295767.59,1979028.33, 747.619995) (6295782.24,1978993.45, 744.210022) (6295801.58,1978952.42, 741.26001) (6295825.73,1978905.37, 736.869995) (6295842.33,1978877.81, 734.700012) (6295859.11,1978851.15, 731.549988) (6295875.62,1978827.01, 729.52002) (6295899.08,1978794.83, 727.419983) (6295923.64,1978763.72, 724.340027) (6295949.34,1978734.18, 721.390015) (6295975.02,1978704.32, 718.570007) (6296000.32,1978677.44, 716.01001) (6296026.94,1978648.12, 713.450012) (6296053.5,1978617.5, 709.780029) (6296078.62,1978589.63, 706.900024) (6296098.88,1978566.88, 704.469971) (6296126.05,1978537.93, 702.369995) (6296150.67,1978507.99, 700.140015) (6296179.28,1978476.28, 698.700012) (6296208.03,1978444.88, 696.98999) (6296208.79,1978444.01, 696.950012) Shape:10 (ArcZ) nVertices=10, nParts=1 Bounds:(6296270.06,1979014.97, 712.539978) to (6296315.99,1979152.31, 725.130005) (6296306.11,1979152.31, 725.130005) Ring (6296288.27,1979139.69, 723.419983) (6296276.63,1979122.41, 721.97998) (6296270.06,1979101.47, 719.950012) (6296270.39,1979084.58, 719.359985) (6296275.11,1979068.97, 717.26001) (6296284.28,1979052.82, 716.409973) (6296294.68,1979040.41, 715.48999) (6296305.72,1979027.37, 713.590027) (6296315.99,1979014.97, 712.539978) Shape:11 (ArcZ) nVertices=18, nParts=1 Bounds:(6296044.93,1978451.12, 690.109985) to (6296312.92,1978679.19, 713.719971) (6296312.92,1978493.56, 690.109985) Ring (6296301.16,1978479.05, 690.900024) (6296287.84,1978464.95, 692.400024) (6296276.43,1978454.89, 693.580017) (6296262.58,1978451.12, 694.440002) (6296249.65,1978452.5, 694.900024) (6296237.11,1978461.67, 696.080017) (6296223.6,1978477.65, 697.780029) (6296209.32,1978493.93, 698.700012) (6296193.64,1978511.14, 699.159973) (6296176.98,1978529.71, 700.599976) (6296157.7,1978550.97, 701.97998) (6296136.72,1978574.95, 703.48999) (6296121.4,1978591.55, 705.390015) (6296102.29,1978613.59, 707.359985) (6296084.44,1978634.58, 709.130005) (6296065.89,1978654.76, 711.289978) (6296044.93,1978679.19, 713.719971) Shape:12 (ArcZ) nVertices=71, nParts=1 Bounds:(6295741.07,1978679.19, 713.719971) to (6296321.86,1979680.37, 813.789978) (6296044.93,1978679.19, 713.719971) Ring (6296025.66,1978700.78, 716.599976) (6296006.48,1978721.51, 718.369995) (6295987.07,1978742.72, 721) (6295970.41,1978761.42, 722.440002) (6295953.49,1978780.07, 724.280029) (6295932.47,1978805.82, 726.440002) (6295913.49,1978830.55, 728.669983) (6295896.49,1978855.31, 731.159973) (6295881.22,1978878.07, 733.390015) (6295867.71,1978899.18, 734.700012) (6295853.95,1978923.31, 737) (6295839.81,1978950.03, 739.559998) (6295825.27,1978979.39, 742.109985) (6295809.1,1979015.6, 745.460022) (6295796.94,1979045.17, 748.02002) (6295785.77,1979078.9, 750.969971) (6295777.08,1979104.55, 752.539978) (6295768.95,1979133.46, 754.840027) (6295762.17,1979163.09, 756.869995) (6295755.64,1979194.93, 758.900024) (6295750.61,1979225.39, 760.47998) (6295746.3,1979259.75, 762.640015) (6295743.32,1979291.75, 764.539978) (6295741.65,1979321.06, 766.640015) (6295741.07,1979353.79, 768.539978) (6295741.17,1979384.45, 770.710022) (6295742.01,1979419.21, 772.47998) (6295743.01,1979454.74, 774.440002) (6295743.91,1979493.31, 776.940002) (6295744.99,1979530.29, 778.969971) (6295745.9,1979569.12, 781.460022) (6295745.94,1979603.91, 783.299988) (6295747.6,1979636.66, 785.849976) (6295751.85,1979653.26, 787.48999) (6295760.49,1979665.82, 788.869995) (6295773.51,1979673.83, 790.179993) (6295788.46,1979676.1, 791.950012) (6295823.99,1979674.96, 793.460022) (6295871.62,1979674.07, 796.940002) (6295918.98,1979673.12, 798.969971) (6295971.2,1979672.13, 802.25) (6296019.37,1979671.6, 803.950012) (6296054.35,1979670.03, 805.919983) (6296074.58,1979662.25, 806.580017) (6296085.66,1979647.7, 806.969971) (6296089.37,1979635.3, 807.690002) (6296086.38,1979620.16, 808.609985) (6296080.06,1979601.69, 810.320007) (6296074.44,1979583.99, 811.169983) (6296070.25,1979568.77, 812.219971) (6296072.47,1979552.83, 812.940002) (6296083.22,1979536.79, 813.460022) (6296102.65,1979531.41, 813.789978) (6296121.29,1979536.45, 813.72998) (6296133.19,1979548.52, 813.200012) (6296138.01,1979563.38, 812.609985) (6296135.46,1979580.58, 811.369995) (6296129.95,1979598.85, 810.179993) (6296124.49,1979618.17, 809.460022) (6296122.1,1979635.88, 808.349976) (6296126.82,1979651.41, 807.359985) (6296136.39,1979661.36, 806.51001) (6296149.63,1979666.08, 806.049988) (6296163.38,1979667.88, 805.72998) (6296186.08,1979667.46, 805.140015) (6296215.19,1979666.58, 805) (6296247.69,1979667.83, 803.5) (6296273.58,1979670.85, 802.320007) (6296295.41,1979674.09, 800.679993) (6296321.86,1979680.37, 799.22998) Shape:13 (ArcZ) nVertices=6, nParts=1 Bounds:(6295372.65,1979608.7, 773.190002) to (6295470.33,1979679.55, 780.150024) (6295372.65,1979679.55, 780.150024) Ring (6295387.14,1979664.77, 777.849976) (6295406.65,1979645.4, 776.210022) (6295422.76,1979631.58, 775.289978) (6295442.8,1979612.19, 773.650024) (6295470.33,1979608.7, 773.190002) Shape:14 (ArcZ) nVertices=7, nParts=1 Bounds:(6295415.71,1979491.54, 772.080017) to (6295453.55,1979590.19, 773.849976) (6295453.55,1979590.11, 772.090027) Ring (6295453.11,1979590.19, 772.080017) (6295439.43,1979579.26, 772.73999) (6295430.87,1979552.77, 772.929993) (6295420.94,1979527.86, 773.190002) (6295415.71,1979510.07, 773.789978) (6295421.08,1979491.54, 773.849976) Shape:15 (ArcZ) nVertices=9, nParts=1 Bounds:(6295351.24,1979521.41, 773) to (6295430.33,1979692.52, 782.109985) (6295395.27,1979521.41, 774.51001) Ring (6295415.88,1979549.79, 773.849976) (6295426.03,1979579.22, 773) (6295430.33,1979604.61, 773.059998) (6295418.61,1979622.14, 774.309998) (6295398.97,1979639.02, 776.340027) (6295382.22,1979655.69, 778.309998) (6295365.04,1979674.42, 780.150024) (6295351.24,1979692.52, 782.109985) Shape:16 (ArcZ) nVertices=28, nParts=1 Bounds:(6294520.27,1979256.99, 932.359985) to (6294743.29,1979675.03, 1016.690002) (6294531.94,1979675.03, 932.359985) Ring (6294523.87,1979650.55, 933.539978) (6294520.27,1979620.92, 936.75) (6294525.03,1979592.84, 940.289978) (6294533.88,1979567.77, 942.97998) (6294546.04,1979543.32, 949.280029) (6294564.14,1979524.75, 951.640015) (6294585.59,1979515.13, 956.359985) (6294611.81,1979503.89, 959.380005) (6294635.13,1979494.9, 966.200012) (6294662.59,1979487.47, 969.409973) (6294687.54,1979482.07, 971.77002) (6294710.18,1979470.16, 976.75) (6294732.15,1979450.14, 978.530029) (6294743.29,1979431.46, 981.940002) (6294738.7,1979402.93, 984.690002) (6294731.29,1979380.98, 986.789978) (6294717.67,1979358.29, 988.299988) (6294706.34,1979342.05, 991.380005) (6294697.14,1979315.92, 996.76001) (6294696.36,1979292.58, 1000.169983) (6294691.93,1979275.01, 1002.400024) (6294681.97,1979259.95, 1004.76001) (6294665.15,1979256.99, 1006.530029) (6294638.58,1979258.93, 1010.330017) (6294617.35,1979259.73, 1012.76001) (6294592,1979262.26, 1015.320007) (6294572.55,1979262, 1016.690002) Shape:17 (ArcZ) nVertices=43, nParts=1 Bounds:(6294466.1,1979253.61, 930.97998) to (6294720.52,1979678.41, 1018.460022) (6294572.55,1979262, 1016.690002) Ring (6294549.64,1979260.72, 1017.47998) (6294522.44,1979260.52, 1017.47998) (6294472.06,1979253.61, 1016.630005) (6294469.53,1979302.33, 1017.150024) (6294466.1,1979341.24, 1016.630005) (6294469.48,1979374.29, 1016.5) (6294506.64,1979382.01, 1016.960022) (6294538.32,1979377.39, 1016.890015) (6294581.4,1979377.51, 1017.73999) (6294603.05,1979366.77, 1017.73999) (6294597.82,1979338.47, 1018) (6294587.06,1979307.49, 1018.460022) (6294579.28,1979283.46, 1017.869995) (6294593.32,1979278.02, 1016.359985) (6294613.16,1979275.64, 1013.150024) (6294634.39,1979274.63, 1009.539978) (6294650.59,1979272.96, 1006.400024) (6294666.97,1979274.83, 1003.77002) (6294675.71,1979289.29, 1001.809998) (6294681.31,1979309.23, 998.130005) (6294686.19,1979327.9, 995.640015) (6294692.28,1979346.96, 991.640015) (6294699.73,1979367.2, 989.080017) (6294709.53,1979384.31, 985.73999) (6294716.16,1979401.37, 983.25) (6294720.52,1979414.81, 980.099976) (6294718.98,1979441.48, 978) ------------------------------------------------------------------------- Test 3: dump polygon.shp ------------------------------------------------------------------------- Shapefile Type: Polygon # of Shapes: 474 File Bounds: (471127.1875,4751545,0,0) to (489292.3125,4765610.5,0,0) Shape:0 (Polygon) nVertices=20, nParts=1 Bounds:(479647,4764856.5, 0) to (480389.6875,4765610.5, 0) (479819.84375,4765180.5, 0) Ring (479690.1875,4765259.5, 0) (479647,4765369.5, 0) (479730.375,4765400.5, 0) (480039.03125,4765539.5, 0) (480035.34375,4765558.5, 0) (480159.78125,4765610.5, 0) (480202.28125,4765482, 0) (480365,4765015.5, 0) (480389.6875,4764950, 0) (480133.96875,4764856.5, 0) (480080.28125,4764979.5, 0) (480082.96875,4765049.5, 0) (480088.8125,4765139.5, 0) (480059.90625,4765239.5, 0) (480019.71875,4765319.5, 0) (479980.21875,4765409.5, 0) (479909.875,4765370, 0) (479859.875,4765270, 0) (479819.84375,4765180.5, 0) Shape:1 (Polygon) nVertices=20, nParts=1 Bounds:(479014.9375,4764879, 0) to (480039.03125,4765558.5, 0) (480035.34375,4765558.5, 0) Ring (480039.03125,4765539.5, 0) (479730.375,4765400.5, 0) (479647,4765369.5, 0) (479690.1875,4765259.5, 0) (479819.84375,4765180.5, 0) (479779.84375,4765109.5, 0) (479681.78125,4764940, 0) (479468,4764942.5, 0) (479411.4375,4764940.5, 0) (479353,4764939.5, 0) (479208.65625,4764882.5, 0) (479196.8125,4764879, 0) (479123.28125,4765015, 0) (479046.53125,4765117, 0) (479029.71875,4765110.5, 0) (479014.9375,4765147.5, 0) (479149.9375,4765200.5, 0) (479639.625,4765399.5, 0) (480035.34375,4765558.5, 0) Shape:2 (Polygon) nVertices=54, nParts=1 Bounds:(480882.6875,4763472.5, 0) to (484519.96875,4765410, 0) (481575,4764999.5, 0) Ring (481542.3125,4765097.5, 0) (481443.6875,4765387.5, 0) (481499.65625,4765410, 0) (481631,4765031, 0) (481693.3125,4764853, 0) (481759.28125,4764889.5, 0) (481860.03125,4764920, 0) (482002.96875,4764910, 0) (482180.09375,4764909.5, 0) (482359.8125,4764960, 0) (482510.5,4765065, 0) (482619.90625,4765080.5, 0) (482809.5,4765090, 0) (483189.8125,4765084.5, 0) (483330.3125,4765105.5, 0) (483591.09375,4765260, 0) (483700.5,4765280, 0) (483799.9375,4765270, 0) (484039.84375,4765280.5, 0) (484115.6875,4765300, 0) (484120.625,4765280, 0) (484131.125,4765260, 0) (484167.84375,4765271, 0) (484277.875,4765015.5, 0) (484455.0625,4764500, 0) (484519.96875,4764345, 0) (484482.03125,4764332, 0) (483904.71875,4764113.5, 0) (483334.84375,4763905, 0) (482941.03125,4763760.5, 0) (482590.71875,4763624.5, 0) (482185.65625,4763472.5, 0) (482009.84375,4763980.5, 0) (481960.4375,4764099.5, 0) (481767.5,4764014.5, 0) (480955.5,4763700, 0) (480882.6875,4763670, 0) (481039.9375,4763889.5, 0) (481130.3125,4763979.5, 0) (481143.4375,4764010.5, 0) (481199.84375,4764180, 0) (481141.625,4764480.5, 0) (481140.46875,4764510.5, 0) (481159.9375,4764580, 0) (481185.5,4764607, 0) (481199.21875,4764623.5, 0) (481209.8125,4764633.5, 0) (481235.3125,4764650, 0) (481635.96875,4764795.5, 0) (481645.3125,4764797.5, 0) (481629.84375,4764829.5, 0) (481602.125,4764915.5, 0) (481575,4764999.5, 0) Shape:3 (Polygon) nVertices=29, nParts=1 Bounds:(479117.8125,4764505, 0) to (480088.8125,4765409.5, 0) (479819.84375,4765180.5, 0) Ring (479859.875,4765270, 0) (479909.875,4765370, 0) (479980.21875,4765409.5, 0) (480019.71875,4765319.5, 0) (480059.90625,4765239.5, 0) (480088.8125,4765139.5, 0) (480082.96875,4765049.5, 0) (480000.28125,4765043, 0) (479934.96875,4765020, 0) (479895.125,4765000, 0) (479734.375,4764865, 0) (479680.28125,4764852, 0) (479644.78125,4764827.5, 0) (479637.875,4764803, 0) (479617.21875,4764760, 0) (479587.28125,4764718, 0) (479548.03125,4764693.5, 0) (479504.90625,4764609.5, 0) (479239.8125,4764505, 0) (479117.8125,4764847, 0) (479196.8125,4764879, 0) (479208.65625,4764882.5, 0) (479353,4764939.5, 0) (479411.4375,4764940.5, 0) (479468,4764942.5, 0) (479681.78125,4764940, 0) (479779.84375,4765109.5, 0) (479819.84375,4765180.5, 0) Shape:4 (Polygon) nVertices=22, nParts=1 Bounds:(480537.15625,4764738, 0) to (481575,4765387.5, 0) (480537.15625,4765014, 0) Ring (481090.28125,4765242, 0) (481443.6875,4765387.5, 0) (481542.3125,4765097.5, 0) (481575,4764999.5, 0) (481538.90625,4764982.5, 0) (481509.65625,4764967, 0) (481457.375,4764937, 0) (481465.90625,4764872.5, 0) (481291.09375,4764810, 0) (481281.3125,4764876.5, 0) (481136.84375,4764994.5, 0) (481088.1875,4764936, 0) (480984.25,4764875, 0) (480930.71875,4764852, 0) (480922.03125,4764850.5, 0) (480824.96875,4764820, 0) (480761.46875,4764778, 0) (480701.0625,4764738, 0) (480605,4764835, 0) (480567.96875,4764918, 0) (480537.15625,4765014, 0) Shape:5 (Polygon) nVertices=60, nParts=1 Bounds:(484482.03125,4760649.5, 0) to (488408.28125,4765179, 0) (484482.03125,4764332, 0) Ring (484519.96875,4764345, 0) (484817.9375,4764465.5, 0) (485615.40625,4764770, 0) (486269.6875,4765010, 0) (486320.0625,4765024, 0) (486340.59375,4765040, 0) (486369.84375,4765050, 0) (486719.96875,4765170, 0) (486738.625,4765179, 0) (486987.78125,4764497.5, 0) (487019.875,4764384.5, 0) (487077.375,4764226.5, 0) (487120.03125,4764100, 0) (487160.25,4763998, 0) (487186.8125,4763922.5, 0) (487408.25,4763315.5, 0) (487608.0625,4762780, 0) (487659.40625,4762650, 0) (487719.40625,4762480, 0) (487741.0625,4762419.5, 0) (487747.875,4762395.5, 0) (487880.875,4762032, 0) (487899.4375,4761975.5, 0) (488082,4761480, 0) (488408.28125,4760649.5, 0) (488050.375,4760824.5, 0) (487690.90625,4760802, 0) (487640.0625,4760879.5, 0) (487594.9375,4761023, 0) (487341.375,4761776.5, 0) (487037.125,4761672.5, 0) (487005.375,4761662.5, 0) (486788.21875,4761579.5, 0) (486822.25,4761492, 0) (486838.3125,4761437.5, 0) (486841.3125,4761381, 0) (486850.5625,4761340, 0) (486810.75,4761335.5, 0) (486775.4375,4761400, 0) (486710.09375,4761368, 0) (486606.1875,4761330, 0) (486548.65625,4761488, 0) (486380.65625,4761428.5, 0) (486152.90625,4761348, 0) (485900.25,4761250.5, 0) (485666.875,4761156.5, 0) (485585.875,4761374.5, 0) (485564.875,4761444.5, 0) (485496.21875,4761614.5, 0) (485438.6875,4761760.5, 0) (485264.96875,4762222.5, 0) (485192.6875,4762439, 0) (485175.40625,4762493.5, 0) (484947.34375,4763100.5, 0) (484888,4763260.5, 0) (484785.46875,4763560.5, 0) (484760.21875,4763659.5, 0) (484696.96875,4763734, 0) (484482.03125,4764332, 0) Shape:6 (Polygon) nVertices=26, nParts=1 Bounds:(478315.53125,4764174, 0) to (479305.875,4765147.5, 0) (479014.9375,4765147.5, 0) Ring (479029.71875,4765110.5, 0) (479117.8125,4764847, 0) (479239.8125,4764505, 0) (479305.875,4764361, 0) (479256.03125,4764314.5, 0) (479220.90625,4764212.5, 0) (479114.5,4764174, 0) (479018.28125,4764418.5, 0) (478896.9375,4764371, 0) (478748.8125,4764308.5, 0) (478503.03125,4764218, 0) (478461.75,4764337.5, 0) (478443.9375,4764400.5, 0) (478447.8125,4764454, 0) (478448.6875,4764531.5, 0) (478502.1875,4764541.5, 0) (478683,4764730.5, 0) (478621.03125,4764788.5, 0) (478597.34375,4764766.5, 0) (478532.5,4764695.5, 0) (478460.125,4764615, 0) (478408.0625,4764654, 0) (478315.53125,4764876, 0) (478889.25,4765100, 0) (479014.9375,4765147.5, 0) Shape:7 (Polygon) nVertices=6, nParts=1 Bounds:(479029.71875,4764847, 0) to (479196.8125,4765117, 0) (479029.71875,4765110.5, 0) Ring (479046.53125,4765117, 0) (479123.28125,4765015, 0) (479196.8125,4764879, 0) (479117.8125,4764847, 0) (479029.71875,4765110.5, 0) Shape:8 (Polygon) nVertices=20, nParts=1 Bounds:(479504.90625,4764609.5, 0) to (480133.96875,4765049.5, 0) (480082.96875,4765049.5, 0) Ring (480080.28125,4764979.5, 0) (480133.96875,4764856.5, 0) (479968.46875,4764788, 0) (479750.6875,4764702, 0) (479735.90625,4764752, 0) (479640.09375,4764721, 0) (479658.59375,4764670, 0) (479504.90625,4764609.5, 0) (479548.03125,4764693.5, 0) (479587.28125,4764718, 0) (479617.21875,4764760, 0) (479637.875,4764803, 0) (479644.78125,4764827.5, 0) (479680.28125,4764852, 0) (479734.375,4764865, 0) (479895.125,4765000, 0) (479934.96875,4765020, 0) (480000.28125,4765043, 0) (480082.96875,4765049.5, 0) Shape:9 (Polygon) nVertices=31, nParts=1 Bounds:(479968.46875,4764183, 0) to (480731.65625,4765014, 0) (480389.6875,4764950, 0) Ring (480537.15625,4765014, 0) (480567.96875,4764918, 0) (480605,4764835, 0) (480701.0625,4764738, 0) (480710.25,4764690.5, 0) (480588.59375,4764740.5, 0) (480540.71875,4764741, 0) (480515.125,4764695, 0) (480731.65625,4764561.5, 0) (480692.1875,4764453.5, 0) (480677.84375,4764439, 0) (480655.34375,4764397.5, 0) (480584.375,4764353, 0) (480500.40625,4764326.5, 0) (480358.53125,4764277, 0) (480192.3125,4764183, 0) (480157.125,4764266.5, 0) (480234.3125,4764304, 0) (480289.125,4764348.5, 0) (480316,4764395, 0) (480343.5625,4764477, 0) (480343.71875,4764532.5, 0) (480258.03125,4764767, 0) (480177.15625,4764742, 0) (480093.75,4764703, 0) (480011,4764674.5, 0) (479985.0625,4764732, 0) (479968.46875,4764788, 0) (480133.96875,4764856.5, 0) (480389.6875,4764950, 0) Shape:10 (Polygon) nVertices=61, nParts=1 Bounds:(479492.6875,4762880.5, 0) to (481645.3125,4764999.5, 0) (480701.0625,4764738, 0) Ring (480761.46875,4764778, 0) (480824.96875,4764820, 0) (480922.03125,4764850.5, 0) (480930.71875,4764852, 0) (480984.25,4764875, 0) (481088.1875,4764936, 0) (481136.84375,4764994.5, 0) (481281.3125,4764876.5, 0) (481291.09375,4764810, 0) (481465.90625,4764872.5, 0) (481457.375,4764937, 0) (481509.65625,4764967, 0) (481538.90625,4764982.5, 0) (481575,4764999.5, 0) (481602.125,4764915.5, 0) (481629.84375,4764829.5, 0) (481645.3125,4764797.5, 0) (481635.96875,4764795.5, 0) (481235.3125,4764650, 0) (481209.8125,4764633.5, 0) (481199.21875,4764623.5, 0) (481185.5,4764607, 0) (481159.9375,4764580, 0) (481140.46875,4764510.5, 0) (481141.625,4764480.5, 0) (481199.84375,4764180, 0) (481143.4375,4764010.5, 0) (481130.3125,4763979.5, 0) (481039.9375,4763889.5, 0) (480882.6875,4763670, 0) (480826.0625,4763650.5, 0) (480745.1875,4763628.5, 0) (480654.4375,4763627.5, 0) (480599.8125,4763660, 0) (480281.9375,4763576.5, 0) (480221.5,4763533.5, 0) (480199.6875,4763509, 0) (480195.09375,4763430, 0) (480273.6875,4763305.5, 0) (480309.6875,4763063.5, 0) (480201.84375,4762962.5, 0) (479855.3125,4762880.5, 0) (479848.53125,4762897, 0) (479728.875,4763217.5, 0) (479492.6875,4763850, 0) (479550.0625,4763919.5, 0) (480120.21875,4764188.5, 0) (480192.3125,4764183, 0) (480358.53125,4764277, 0) (480500.40625,4764326.5, 0) (480584.375,4764353, 0) (480655.34375,4764397.5, 0) (480677.84375,4764439, 0) (480692.1875,4764453.5, 0) (480731.65625,4764561.5, 0) (480515.125,4764695, 0) (480540.71875,4764741, 0) (480588.59375,4764740.5, 0) (480710.25,4764690.5, 0) (480701.0625,4764738, 0) Shape:11 (Polygon) nVertices=21, nParts=1 Bounds:(476732.90625,4763624.5, 0) to (478408.0625,4764876, 0) (478315.53125,4764876, 0) Ring (478408.0625,4764654, 0) (478325.25,4764606.5, 0) (478220.09375,4764574.5, 0) (478140.34375,4764511, 0) (478065.0625,4764487.5, 0) (478080.9375,4764401.5, 0) (478110.5,4764308.5, 0) (478149.96875,4764212.5, 0) (478180.21875,4764150, 0) (478192.5,4764099.5, 0) (477893.125,4763984.5, 0) (477417.03125,4763800.5, 0) (477005.59375,4763640, 0) (476958.3125,4763624.5, 0) (476947.25,4763664.5, 0) (476732.90625,4764243, 0) (477322.375,4764502, 0) (477599.90625,4764600, 0) (477949.65625,4764745, 0) (478315.53125,4764876, 0) Shape:12 (Polygon) nVertices=22, nParts=1 Bounds:(478065.0625,4764099.5, 0) to (478683,4764788.5, 0) (478408.0625,4764654, 0) Ring (478460.125,4764615, 0) (478532.5,4764695.5, 0) (478597.34375,4764766.5, 0) (478621.03125,4764788.5, 0) (478683,4764730.5, 0) (478502.1875,4764541.5, 0) (478448.6875,4764531.5, 0) (478447.8125,4764454, 0) (478443.9375,4764400.5, 0) (478461.75,4764337.5, 0) (478503.03125,4764218, 0) (478192.5,4764099.5, 0) (478180.21875,4764150, 0) (478149.96875,4764212.5, 0) (478110.5,4764308.5, 0) (478080.9375,4764401.5, 0) (478065.0625,4764487.5, 0) (478140.34375,4764511, 0) (478220.09375,4764574.5, 0) (478325.25,4764606.5, 0) (478408.0625,4764654, 0) Shape:13 (Polygon) nVertices=27, nParts=1 Bounds:(479239.8125,4763850, 0) to (480343.71875,4764788, 0) (479750.6875,4764702, 0) Ring (479968.46875,4764788, 0) (479985.0625,4764732, 0) (480011,4764674.5, 0) (480093.75,4764703, 0) (480177.15625,4764742, 0) (480258.03125,4764767, 0) (480343.71875,4764532.5, 0) (480343.5625,4764477, 0) (480316,4764395, 0) (480289.125,4764348.5, 0) (480234.3125,4764304, 0) (480157.125,4764266.5, 0) (480192.3125,4764183, 0) (480120.21875,4764188.5, 0) (479550.0625,4763919.5, 0) (479492.6875,4763850, 0) (479487.75,4763864.5, 0) (479442.75,4763990, 0) (479436,4764023, 0) (479398.9375,4764100, 0) (479349.625,4764230, 0) (479305.875,4764361, 0) (479239.8125,4764505, 0) (479504.90625,4764609.5, 0) (479658.59375,4764670, 0) (479750.6875,4764702, 0) Shape:14 (Polygon) nVertices=5, nParts=1 Bounds:(479640.09375,4764670, 0) to (479750.6875,4764752, 0) (479750.6875,4764702, 0) Ring (479658.59375,4764670, 0) (479640.09375,4764721, 0) (479735.90625,4764752, 0) (479750.6875,4764702, 0) Shape:15 (Polygon) nVertices=28, nParts=1 Bounds:(478503.03125,4763357.5, 0) to (479349.625,4764418.5, 0) (479305.875,4764361, 0) Ring (479349.625,4764230, 0) (479218.15625,4764126, 0) (479128.34375,4764030.5, 0) (479103.40625,4764000, 0) (479099.59375,4763977.5, 0) (479080.8125,4763930, 0) (478999.8125,4763864.5, 0) ------------------------------------------------------------------------- Test 4: dump pline.dbf - uses new F field type ------------------------------------------------------------------------- Field 0: Type=N/Double, Title=`FNODE_', Width=11, Decimals=0 Field 1: Type=N/Double, Title=`TNODE_', Width=11, Decimals=0 Field 2: Type=N/Double, Title=`LPOLY_', Width=11, Decimals=0 Field 3: Type=N/Double, Title=`RPOLY_', Width=11, Decimals=0 Field 4: Type=F/Double, Title=`LENGTH', Width=13, Decimals=3 Field 5: Type=N/Double, Title=`PLINE_', Width=11, Decimals=0 Field 6: Type=N/Double, Title=`PLINE_ID', Width=11, Decimals=0 Field 7: Type=N/Double, Title=`UID', Width=11, Decimals=0 Field 8: Type=N/Double, Title=`GISO_TYPE_', Width=11, Decimals=0 Field 9: Type=N/Integer, Title=`SYMBOL', Width=6, Decimals=0 Field 10: Type=N/Double, Title=`LOCK__ID', Width=11, Decimals=0 Field 11: Type=N/Integer, Title=`PHASE__ID', Width=6, Decimals=0 Field 12: Type=N/Double, Title=`OBJECT__ID', Width=11, Decimals=0 Field 13: Type=C/String, Title=`TYPE', Width=50, Decimals=0 Field 14: Type=N/Integer, Title=`SYM_NBR', Width=6, Decimals=0 Field 15: Type=C/String, Title=`PHASE', Width=4, Decimals=0 Field 16: Type=C/String, Title=`CKT_NM', Width=30, Decimals=0 Field 17: Type=C/String, Title=`VOLTAGE', Width=30, Decimals=0 Field 18: Type=C/String, Title=`CMPN', Width=30, Decimals=0 Record: 0 FNODE_: 351 TNODE_: 352 LPOLY_: 0 RPOLY_: 0 LENGTH: 139.451 PLINE_: 1 PLINE_ID: 8588 UID: 544484 GISO_TYPE_: 13 SYMBOL: 101 LOCK__ID: 0 PHASE__ID: 0 OBJECT__ID: 131978 TYPE: Overhead Primary SYM_NBR: 101 PHASE: ABC CKT_NM: MED36 VOLTAGE: (NULL) CMPN: (NULL) Record: 1 FNODE_: 352 TNODE_: 362 LPOLY_: 0 RPOLY_: 0 LENGTH: 158.033 PLINE_: 2 PLINE_ID: 8695 UID: 544591 ------------------------------------------------------------------------- Test 5: NULL Shapes. ------------------------------------------------------------------------- Shapefile Type: Arc # of Shapes: 124 File Bounds: (257104.88,5176098.60598591,0,0) to (335497.5,5226768.1,0,0) Shape:0 (Arc) nVertices=21, nParts=1 Bounds:(317138.45,5176398.91581796, 0) to (317325.59,5186063.78, 0) (317255.906326921,5176398.91581796, 0) Ring (317188.01,5176506.46, 0) (317176.92,5176524.51, 0) (317165.34,5176546.85, 0) (317157.95,5176566.02, 0) (317150.02,5176587.65, 0) (317140.13,5176623.38, 0) (317138.7,5176637.22, 0) (317138.45,5176652.79, 0) (317194.71,5177654.35, 0) (317208.9,5178001.15, 0) (317257.24,5178791.4, 0) (317233.33,5179171.73, 0) (317178.86,5179593.91, 0) (317177.43,5180161.33, 0) (317179.91,5181231.06, 0) (317191.12,5182009, 0) (317217.15,5182812.16, 0) (317251.76,5184426.35, 0) (317285.55,5185242.72, 0) (317325.59,5186063.78, 0) Shape:1 (Arc) nVertices=14, nParts=1 Bounds:(327417.339981271,5176119.95957318, 0) to (327575.15,5179522.55, 0) (327417.339981271,5176119.95957318, 0) Ring (327472.25,5177756.61, 0) (327475.67,5178507.28, 0) (327487.42,5179001.91, 0) (327488.76,5179080.09, 0) (327485.31,5179309.31, 0) (327487.01,5179328.21, 0) (327491.8,5179348.86, 0) (327499.8,5179374.94, 0) (327512.98,5179413.1, 0) (327527.29,5179446.96, 0) (327538.87,5179469.89, 0) (327552.26,5179491.55, 0) (327575.15,5179522.55, 0) Shape:2 (Arc) nVertices=40, nParts=1 Bounds:(326935.88,5180924.98, 0) to (327723.19,5198803.66, 0) (327370.95,5180924.98, 0) Ring (327410.07,5181060.54, 0) (327512.85,5181435.45, 0) (327518.64,5181464.01, 0) (327523.7,5181488.92, 0) (327524.5,5181514.57, 0) (327468.01,5182633.64, 0) (327500.04,5183199.84, 0) (327499.6,5183224.92, 0) (327484.7,5183355.01, 0) (327483.69,5183400.9, 0) (327483.84,5183464.48, 0) (327486.01,5183494.98, 0) (327571.28,5184207.82, 0) (327617.21,5184599.43, 0) (327620.42,5184623.78, 0) (327625.53,5184650.53, 0) (327698.43,5184927.07, 0) (327702.1,5184946.52, 0) (327717.94,5185394.82, 0) (327723.19,5185719.32, 0) (327719.46,5185737.17, 0) (327712.09,5185755.74, 0) (327699.84,5185775.08, 0) (327683.83,5185791.48, 0) (327665.38,5185807.95, 0) (327641.97,5185822.74, 0) (327622.28,5185829.07, 0) (327604.95,5185832.94, 0) (326937.5,5185829.31, 0) (326935.88,5187515.51, 0) (326983.05,5189115.23, 0) (326998.86,5189920.82, 0) (327060.24,5190715.87, 0) (327123.23,5192332.22, 0) (327179.92,5193766.29, 0) (327185.49,5193921.94, 0) (327204.12,5195553.58, 0) (327218.27,5197179.25, 0) (327251.33,5198803.66, 0) Shape:3 (NullShape) nVertices=0, nParts=0 Bounds:(0,0, 0) to (0,0, 0) Shape:4 (NullShape) nVertices=0, nParts=0 Bounds:(0,0, 0) to (0,0, 0) Shape:5 (NullShape) nVertices=0, nParts=0 Bounds:(0,0, 0) to (0,0, 0) Shape:6 (Arc) nVertices=2, nParts=1 Bounds:(327123.23,5192296.6, 0) to (328480.85,5192332.22, 0) (327123.23,5192332.22, 0) Ring (328480.85,5192296.6, 0) Shape:7 (Arc) nVertices=5, nParts=1 Bounds:(329222.06,5217943.49, 0) to (335290.68,5218084.78, 0) (329222.06,5218084.78, 0) Ring (330442.52,5218057.65, 0) (332059.96,5218033.81, 0) (333685.82,5218004.86, 0) (335290.68,5217943.49, 0) Shape:8 (Arc) nVertices=65, nParts=1 Bounds:(280048.1,5177687.6425329, 0) to (280439.41,5182567.12, 0) (280316.840076296,5177687.6425329, 0) Ring (280325.31,5177968.83, 0) (280324.63,5178037.94, 0) (280324.15,5178059.35, 0) (280320.13,5178084.56, 0) (280299.86,5178170.25, 0) (280288.71,5178218.94, 0) (280274.28,5178283.64, 0) (280268,5178330.87, 0) (280267.91,5178346.76, 0) (280270.51,5178364.58, 0) (280274.82,5178382.36, 0) (280278.44,5178397.21, 0) (280351.4,5178743.8, 0) (280369.86,5178800.63, 0) (280378.67,5178826.01, 0) (280400.35,5178869.89, 0) (280414.87,5178901.18, 0) (280427.03,5178934.99, 0) (280436.25,5178971.97, 0) (280439.41,5178992.65, 0) (280439.17,5179001.63, 0) (280437.01,5179011.69, 0) (280434.93,5179016.97, 0) (280431.87,5179022.26, 0) (280413.61,5179041.85, 0) (280410.04,5179046.78, 0) (280406.64,5179052.48, 0) shapelib-1.6.1/tests/test1.sh0000775000175000017500000000341314657064606013011 00000000000000#!/bin/sh set -eu readonly SCRIPTDIR=$(dirname "$0") readonly EXPECT="${1:-$SCRIPTDIR/expect1.out}" readonly EG_DATA="${2:-$SCRIPTDIR/shape_eg_data}" { echo ------------------------------------------------------------------------- echo Test 1: dump anno.shp echo ------------------------------------------------------------------------- "${SHPDUMP:-./shpdump}" "$EG_DATA/anno.shp" | head -250 echo ------------------------------------------------------------------------- echo Test 2: dump brklinz.shp echo ------------------------------------------------------------------------- "${SHPDUMP:-./shpdump}" "$EG_DATA/brklinz.shp" | head -500 echo ------------------------------------------------------------------------- echo Test 3: dump polygon.shp echo ------------------------------------------------------------------------- "${SHPDUMP:-./shpdump}" "$EG_DATA/polygon.shp" | head -500 echo ------------------------------------------------------------------------- echo Test 4: dump pline.dbf - uses new F field type echo ------------------------------------------------------------------------- "${DBFDUMP:-./dbfdump}" -m -h "$EG_DATA/pline.dbf" | head -50 echo ------------------------------------------------------------------------- echo Test 5: NULL Shapes. echo ------------------------------------------------------------------------- "${SHPDUMP:-./shpdump}" "$EG_DATA/csah.dbf" | head -150 } > s1.out supports_strip_trailing_cr() { diff --help 2>/dev/null | grep -q -- '--strip-trailing-cr' } run_diff() { if supports_strip_trailing_cr; then diff --strip-trailing-cr "$EXPECT" "s1.out" else diff "$EXPECT" "s1.out" fi } if result=$(run_diff); then echo "******* Stream 1 Succeeded *********" exit 0 else echo "******* Stream 1 Failed *********" echo "$result" exit 1 fi shapelib-1.6.1/tests/shape_eg_data/0000775000175000017500000000000014657064715014236 500000000000000shapelib-1.6.1/tests/shape_eg_data/CoHI_GCS12.sbn0000664000175000017500000000027414600371435016272 00000000000000' ÿÿþp^ÀdÈßÿÿñ@2êßŽŽ ÀcYænÉâ7@6;±th— e³×Çÿiz˲Ñ8ÿshapelib-1.6.1/tests/shape_eg_data/multipnt.shx0000664000175000017500000000015414573117335016550 00000000000000' 6èÞƒA€¥!RAÞƒA€¥!RA2shapelib-1.6.1/tests/shape_eg_data/multipatch.shp0000664000175000017500000000175014573117335017041 00000000000000' ôè$@ @$@ÿÿÿÿÿÿïÿÿÿÿÿÿÿïÿ¾$@ @!@@$@$@ @ @$@$@$@ @$@ @ @ @$@$@@@@@ð?@@ð?ð?@"@"@@@$@$@@@@@@@@@@@@@@@@@@@@@@@@shapelib-1.6.1/tests/shape_eg_data/pline.shx0000664000175000017500000000730414573117335016007 00000000000000' bè€ïÇ3A ;Û A«à3A@ô A2(^(Š(¶(â((:(f(’(¾(ê((B(n¸* Î(ú0.(Z(†(²(Þ( ¸Æ` *€ ®`  6(b(Ž(º(æH2@v(¢(Î(ú0.(Z(†(²(Þ( (6è"0V(‚0¶Jè6`šp(:(f(’@Ö((.(Z8–¨B0vxòxn@²P(2`!–@!Úh#F¸& '¦('Ò('þ((*¨(Ö8)()>*Z(*†(*²(*Þ(+ (+6(+b(+ޏ,J0,~0,²(,Þ(- ˆ-–(-Â(-î(.(.F(.r(.ž(.Ê(.ö(/"(/N(/z(/¦(/Ò(/þ(0*(0V(0‚(0®(0Ú(1(12(1^(1Š(1¶(1â(2(2:(2f02š02Î(2ú(3&(3R(3~(3ª(3Ö(4(4.(4Z(4†@4Ê85(52(5^(5Š(5¶(5â(6(6:(6f06š(6Æ(6ò(7(7J07~€8Ø8Þ°:’È;^ÂXA BB8B~8Bº(BæÐDºXEEªðFž0FÒ0G0G:XG–@GÚ(H(H2(H^8Hš(HÆ(Hò(I(IJ(Iv(I¢(IÎ(Iú(J&(JR(J~(Jª(JÖ(K0K60Kj(K–(KÂ(Kî@L2(L^@L¢HLîÐMÂhO.(OZPO®(OÚ(PPPZ0PŽ(Pº(Pæ(QØQîPSBTN(Tz(T¦HTòˆU~°W2`X–èY‚0Y¶(Yâ0\(\B^F(^r(^ž(^Ê(^ö(_"(_N(_z(_¦(_Ò8`(`:(`f(`’(`¾(`ê0a(aJ(av(a¢(aÎ(aú(b&(bR(b~(bª(bÖ(c@cF(cr0c¦8câ(d(d:(df(d’(d¾(dê(e(eB(en(eš(eÆ(eò(f(fJ(fv(f¢(fÎ(fú(g&(gR(g~(gª(gÖ(h(h.(hZ€hÞ(i (i60ij0iž8iÚ(j(j2(j^(jŠ`jî(k(kF@kŠ(k¶8kò(l(lJ(lv(l¢(lÎ8m (m6(mb(mŽ(mº(mæ(n0nF0nz(n¦(nÒ(nþ(o*(oV(o‚(o®(oÚ@p(pJ(pv(p¢(pÎ(pú0q.(qZ(q†(q²(qÞ(r (r6(rb(rŽ(rº(ræ(s(s>(sj(s–0sÊHu0vJÐw@xbàzF¸{€|†8|¨~n@~²`Pj@®8êÈ€¶Hèîðƒâ(„(„:p„®(„Ú(…(…2(…^8…š8…Ö8†0†F@†Š(†¶(†â(‡(‡:€‡¾(‡ê(ˆ(ˆB@ˆ†(ˆ²8ˆîx‰jH‰¶HŠ@ŠF(Šr(Šž(ŠÊ(Šö(‹"(‹N(‹z(‹¦(‹Ò(‹þ(Œ*(ŒV(Œ‚(Œ®@Œòˆ~8ºŽN@Ž’(޾(Žê(˜²Àvhâ(‘(‘:°‘îH’:(’f°“Ø“öà”Ú(•(•2(•^(•Š(•¶@•ú(–&(–R(–~(–ª(–Ö(—(—.(—Z(—†(—²(—Þ(˜ (˜6(˜b(˜Ž@˜Ò(˜þ(™*(™VP™ª@™î0š"(šN@š’@šÖ°›ŠH›ÖHœ"°žÖÈ ¢¸¢^(¢Š(¢¶(¢â(£(£:(£f(shapelib-1.6.1/tests/shape_eg_data/anno.dbf0000664000175000017500000021550114573117335015564 00000000000000_ÉagNAME_N NAME_IDN XN YN OFFSETXN OFFSETYN HEIGHTN SYMBOLN LEVELN TEXTCþ 1 0 486089.531 4764549.500 0.000 0.000 76.382 25 1Wager Rd. 2 0 484974.719 4763866.500 0.000 0.000 76.382 25 1Huron 3 0 485604.156 4764106.500 0.000 0.000 76.382 25 1St. 4 0 485092.062 4762597.000 0.000 0.000 76.382 25 1Clarke 5 0 484628.031 4763818.500 0.000 0.000 76.382 25 1Side 6 0 484505.344 4764165.500 0.000 0.000 76.382 25 1Rd. 7 0 484772.062 4763152.000 0.000 0.000 76.382 25 1Stronach 8 0 484686.719 4763562.500 0.000 0.000 76.382 25 1Cr. 9 0 484958.719 4763125.500 0.000 0.000 76.382 25 1Cheapside 10 0 485129.406 4763082.500 0.000 0.000 76.382 25 1St. 11 0 485396.156 4762538.500 0.000 0.000 76.382 25 1Oxford 12 0 487028.312 4763184.000 0.000 0.000 76.382 25 1St. 13 0 487076.312 4762480.000 0.000 0.000 76.382 25 1Airport Rd. 14 0 486772.281 4762357.000 0.000 0.000 76.382 25 1Industrial 15 0 486521.594 4763008.000 0.000 0.000 76.382 25 1Rd. 16 0 486489.594 4763600.000 0.000 0.000 76.382 25 1Jetstream Rd. 17 0 486702.969 4762181.000 0.000 0.000 76.382 25 1Page St. 18 0 487732.406 4762309.000 0.000 0.000 76.382 25 1Crumlin 19 0 487220.344 4763712.000 0.000 0.000 76.382 25 1Rd. 20 0 487854.719 4758404.000 0.000 0.000 76.382 25 1River Rd. 21 0 486327.781 4758366.000 0.000 0.000 76.382 25 1Gore 22 0 486740.750 4758518.000 0.000 0.000 76.382 25 1Rd. 23 0 487555.844 4757833.500 0.000 0.000 76.382 25 1Philip 24 0 487387.406 4758235.000 0.000 0.000 76.382 25 1St. 25 0 487278.719 4758360.500 0.000 0.000 76.382 25 1John 26 0 487599.344 4758496.500 0.000 0.000 76.382 25 1St. 27 0 486697.281 4758311.500 0.000 0.000 76.382 25 1Rd. 28 0 487034.219 4757360.500 0.000 0.000 76.382 25 1Clarke Side 29 0 485268.156 4757817.000 0.000 0.000 76.382 25 1Hamilton 30 0 486191.938 4757524.000 0.000 0.000 76.382 25 1Road 31 0 486860.344 4758013.000 0.000 0.000 76.382 25 1Pension 32 0 487001.594 4757969.500 0.000 0.000 76.382 25 1Lane 33 0 484920.406 4756730.500 0.000 0.000 76.382 25 1Meadowlily Rd. 34 0 484969.281 4756583.500 0.000 0.000 76.382 25 1Commissioners Rd. 35 0 486311.469 4755236.000 0.000 0.000 76.382 25 1Jackson Rd. 36 0 485974.594 4757768.000 0.000 0.000 76.382 25 1Braesyde 37 0 486028.906 4758045.500 0.000 0.000 76.382 25 1Ave. 38 0 486246.281 4758338.500 0.000 0.000 76.382 25 1Firestone 39 0 486240.812 4758616.000 0.000 0.000 76.382 25 1Blvd. 40 0 484703.031 4758714.000 0.000 0.000 76.382 25 1Tweedsmuir 41 0 485398.594 4758762.500 0.000 0.000 76.382 25 1Ave. 42 0 484762.812 4758431.000 0.000 0.000 76.382 25 1Manitoulin 43 0 485311.625 4758431.000 0.000 0.000 76.382 25 1Dr. 44 0 486746.156 4757718.500 0.000 0.000 76.382 25 1Classic Dr. 45 0 484351.344 4755071.500 0.000 0.000 77.532 25 1Pondview Rd. 46 0 484723.156 4755594.500 0.000 0.000 77.532 25 1Highbury Ave. 47 0 484484.938 4752968.500 0.000 0.000 77.532 25 1Enterprise 48 0 485042.656 4753323.000 0.000 0.000 77.532 25 1Dr. 49 0 483445.062 4752527.000 0.000 0.000 77.532 25 1Wilton Grove Rd. 50 0 483625.156 4751894.000 0.000 0.000 77.532 25 1Green Valley Rd. 51 0 483474.094 4751876.500 0.000 0.000 77.532 25 1Sise Rd. 52 0 488294.562 4759805.500 0.000 0.000 77.532 25 1Airport Rd. 53 0 486553.125 4759954.000 0.000 0.000 77.532 25 1Crystal St. 54 0 486416.094 4761461.000 0.000 0.000 77.532 25 1Dundas St. 55 0 485885.125 4760496.500 0.000 0.000 77.532 25 1Clarke Side Rd. 56 0 488854.125 4759446.000 0.000 0.000 77.532 25 1Crumlin Side Rd. 57 0 483078.531 4752524.000 0.000 0.000 77.532 25 1MacDonald Cartier Freeway 58 0 480601.188 4752191.500 0.000 0.000 77.532 25 1Exeter Rd. 59 0 481673.562 4753883.000 0.000 0.000 77.532 25 1Wellington Rd. 60 0 480738.812 4753315.500 0.000 0.000 77.532 25 1Bradley Ave. 61 0 481610.469 4754353.500 0.000 0.000 77.532 25 1Southdale Rd. 62 0 484357.344 4753545.000 0.000 0.000 77.532 25 1Pond Mills Rd. 63 0 477069.500 4753863.000 0.000 0.000 77.532 25 1Southdale Rd. 64 0 476421.562 4754425.000 0.000 0.000 77.532 25 1Wonderland Rd. 65 0 478927.281 4754511.000 0.000 0.000 77.532 25 1Wharncliffe Rd. S 66 0 476960.562 4754821.000 0.000 0.000 77.532 25 1Viscount Rd. 67 0 480664.719 4754213.000 0.000 0.000 77.532 25 1Ernest Ave. 68 0 473895.750 4754543.500 0.000 0.000 77.532 25 1North St. 69 0 473196.094 4753827.000 0.000 0.000 77.532 25 1Boler Rd. 70 0 471276.281 4756811.500 0.000 0.000 77.532 25 1Commissioners Rd. W 71 0 471779.062 4755333.000 0.000 0.000 77.532 25 1Base Line Rd. 72 0 474472.438 4755806.000 0.000 0.000 77.532 25 1Springbank Dr. 73 0 471952.625 4757206.500 0.000 0.000 77.532 25 1Oxford St. W 74 0 473796.094 4756464.500 0.000 0.000 77.532 25 1Riverside Dr. 75 0 474113.312 4757134.500 0.000 0.000 77.532 25 1Hyde Park Rd. 76 0 475127.875 4758480.000 0.000 0.000 77.532 25 1Oxford St. W 77 0 475563.500 4760259.500 0.000 0.000 77.532 25 1Wonderland Rd. 78 0 474980.625 4759928.000 0.000 0.000 77.532 25 1Sarnia Rd. 79 0 474066.406 4761008.000 0.000 0.000 77.532 25 1Gainsborough Rd. 80 0 474188.531 4762552.500 0.000 0.000 77.532 25 1Fanshawe Park Rd. 81 0 477131.969 4763714.000 0.000 0.000 77.532 25 1Fanshawe 82 0 477922.906 4764011.500 0.000 0.000 77.532 25 1Park 83 0 478331.625 4764165.000 0.000 0.000 77.532 25 1Rd. 84 0 477116.031 4763241.500 0.000 0.000 77.532 25 1Richmond St. 85 0 477354.875 4761967.500 0.000 0.000 77.532 25 1Western Rd. 86 0 477906.969 4762503.500 0.000 0.000 77.532 25 1Windermere Rd. 87 0 479648.094 4763353.000 0.000 0.000 77.532 25 1Adelaide St. 88 0 480230.625 4764919.000 0.000 0.000 77.532 25 1Fanshawe 89 0 480895.875 4765167.500 0.000 0.000 77.532 25 1Park Rd. 90 0 482370.906 4762859.500 0.000 0.000 77.532 25 1Highbury Ave. 91 0 481040.469 4763756.000 0.000 0.000 77.532 25 1Kilally Rd. 92 0 482879.969 4763016.000 0.000 0.000 77.532 25 1Huron St. 93 0 477041.375 4759223.500 0.000 0.000 77.532 25 1Oxford St. W 94 0 479392.281 4760160.000 0.000 0.000 77.532 25 1Oxford St. 95 0 477456.219 4760436.500 0.000 0.000 77.532 25 1Western Rd. 96 0 478543.688 4758494.500 0.000 0.000 77.532 25 1Western Rd. 97 0 478902.000 4761386.000 0.000 0.000 77.532 25 1Richmond St. 98 0 479103.125 4761537.000 0.000 0.000 77.532 25 1Huron St. 99 0 476463.094 4760506.000 0.000 0.000 77.532 25 1Sarnia Rd. 100 0 479782.031 4758890.500 0.000 0.000 77.532 25 1Dundas St. 101 0 479951.719 4758664.000 0.000 0.000 77.532 25 1York St. 102 0 480724.906 4760412.000 0.000 0.000 77.532 25 1Adelaide St. 103 0 479769.438 4761090.500 0.000 0.000 77.532 25 1Cheapside St. 104 0 480046.000 4759751.500 0.000 0.000 77.532 25 1Central Ave. 105 0 480888.312 4759242.500 0.000 0.000 77.532 25 1William St. 106 0 483066.500 4761625.500 0.000 0.000 77.532 25 1Oxford St. 107 0 483324.219 4760330.500 0.000 0.000 77.532 25 1Highbury Ave. 108 0 482148.875 4759796.500 0.000 0.000 77.532 25 1Dundas St. 109 0 482651.719 4759601.500 0.000 0.000 77.532 25 1Florence St. 110 0 483255.094 4758671.000 0.000 0.000 77.532 25 1Trafalgar St. 111 0 481878.625 4760456.500 0.000 0.000 77.532 25 1Quebec St. 112 0 482500.844 4758935.500 0.000 0.000 77.532 25 1Egerton St. 113 0 476572.656 4756943.500 0.000 0.000 77.532 25 1Springbank Dr. 114 0 479362.000 4758125.500 0.000 0.000 77.532 25 1Horton St. 115 0 478646.938 4756772.000 0.000 0.000 77.532 25 1Wharncliffe Rd. S 116 0 476661.344 4755631.500 0.000 0.000 77.532 25 1Commissioners Rd. W 117 0 479379.719 4755891.500 0.000 0.000 77.532 25 1Commissioners Rd. 118 0 479391.562 4757540.500 0.000 0.000 77.532 25 1Wortley Rd. 119 0 479822.938 4757191.500 0.000 0.000 77.532 25 1Ridout St. S 120 0 478847.875 4756116.500 0.000 0.000 77.532 25 1Base Line Rd. 121 0 475987.594 4757073.500 0.000 0.000 77.532 25 1Wonderland Rd. 122 0 478972.000 4756630.500 0.000 0.000 77.532 25 1Emery St. 123 0 476401.281 4758072.000 0.000 0.000 77.532 25 1Riverside Dr. 124 0 482018.281 4756045.000 0.000 0.000 77.532 25 1Commissioners Rd. 125 0 484220.031 4758021.000 0.000 0.000 77.532 25 1Highbury Ave. 126 0 483228.969 4757439.500 0.000 0.000 77.532 25 1Pond Mills Rd. 127 0 481947.094 4757160.500 0.000 0.000 77.532 25 1Thompson Rd. 128 0 481282.375 4755368.000 0.000 0.000 77.532 25 1Wellington Rd. 129 0 480380.312 4757819.000 0.000 0.000 77.532 25 1Wellington St. 130 0 480813.562 4756365.000 0.000 0.000 77.532 25 1Base Line Rd. 131 0 481881.812 4756881.500 0.000 0.000 77.532 25 1Adelaide St. 132 0 488371.469 4753088.000 0.000 0.000 226.532 25 2One way street 133 0 488379.438 4752354.000 0.000 0.000 226.532 25 2Vehicle (available) 134 0 488371.469 4751612.500 0.000 0.000 226.532 25 2Vehicle (on call) 135 0 488372.094 4754550.500 0.000 0.000 222.665 25 2Street (50 km/hr) 136 0 488372.094 4753839.500 0.000 0.000 222.665 25 2Street (65 km/hr) 137 0 474447.312 4758274.500 0.000 0.000 239.643 25 2Oxford 138 0 484763.688 4763818.500 0.000 0.000 235.671 25 2Huron St. 139 0 486891.094 4758618.000 0.000 0.000 248.820 25 2Gore Rd. 140 0 483706.188 4756393.000 0.000 0.000 234.520 25 2Commissioners Rd. 141 0 476967.688 4753532.000 0.000 0.000 234.520 25 2Southdale Rd. 142 0 474416.594 4755875.000 0.000 0.000 234.520 25 2Springbank Dr. 143 0 482765.469 4762143.000 0.000 0.000 234.520 25 2Highbury Ave. 144 0 482900.812 4752388.500 0.000 0.000 234.520 25 2Hwy 401 145 0 475449.656 4758653.000 0.000 0.000 234.520 25 2St W 146 0 483219.625 4755986.500 0.000 0.000 222.000 22 4* 147 0 473566.344 4762386.500 0.000 0.000 235.671 25 2Fanshawe 148 0 474989.906 4762930.500 0.000 0.000 235.671 25 2Park 149 0 475842.719 4763220.000 0.000 0.000 235.671 25 2Rd. 150 0 479669.281 4763525.000 0.000 0.000 234.520 25 2Adelaide St. 151 0 487855.625 4762318.500 0.000 0.000 234.520 25 2Crumlin Rd. 152 0 474256.562 4751813.500 0.000 0.000 412.000 25 2LONDON, PROPER 153 0 483165.062 4755891.000 0.000 0.000 444.000 22 5* 154 0 487653.125 4751595.500 0.000 0.000 444.000 22 5* 155 0 487323.594 4752398.500 0.000 0.000 444.000 23 5* 156 0 477843.594 4758654.000 0.000 0.000 222.000 22 4* 157 0 477802.188 4758551.000 0.000 0.000 444.000 22 5* 158 0 478008.594 4755676.000 0.000 0.000 222.000 23 4* 159 0 477989.406 4755562.500 0.000 0.000 444.000 23 5* 160 0 484407.031 4758813.500 0.000 0.000 222.000 23 4* 161 0 484355.781 4758690.500 0.000 0.000 444.000 23 5* 162 0 479300.844 4758558.500 0.000 0.000 444.000 23 5* 163 0 479355.562 4758651.000 0.000 0.000 222.000 23 4* 164 0 481775.531 4760933.000 0.000 0.000 444.000 23 5* 165 0 481823.969 4761030.500 0.000 0.000 222.000 23 4* 166 0 480897.125 4758501.000 0.000 0.000 666.000 22 7. 167 0 481127.094 4758586.000 0.000 0.000 666.000 22 7. 168 0 481081.094 4758706.500 0.000 0.000 666.000 22 7. 169 0 481013.844 4758544.000 0.000 0.000 666.000 22 7. 170 0 480858.188 4758635.500 0.000 0.000 666.000 22 7. 171 0 480971.438 4758681.500 0.000 0.000 666.000 22 7. 172 0 480921.875 4758522.500 0.000 0.000 555.000 22 6. 173 0 481081.094 4758717.000 0.000 0.000 555.000 22 6. 174 0 480865.281 4758653.000 0.000 0.000 555.000 22 6. 175 0 480967.875 4758678.500 0.000 0.000 555.000 22 6. 176 0 481028.031 4758550.500 0.000 0.000 555.000 22 6. 177 0 481130.594 4758590.000 0.000 0.000 555.000 22 6. 178 0 480810.438 4758781.000 0.000 0.000 777.000 22 7. 179 0 481040.000 4758850.500 0.000 0.000 777.000 22 7. 180 0 480941.625 4758788.500 0.000 0.000 777.000 22 7. 181 0 480795.844 4758901.500 0.000 0.000 777.000 22 7. 182 0 480974.438 4758996.000 0.000 0.000 777.000 22 7. 183 0 480723.000 4759032.500 0.000 0.000 777.000 22 7. 184 0 480916.125 4759112.500 0.000 0.000 777.000 22 7. 185 0 480690.188 4759178.000 0.000 0.000 777.000 22 7. 186 0 480890.594 4759273.000 0.000 0.000 777.000 22 7. 187 0 480646.438 4759324.000 0.000 0.000 777.000 22 7. 188 0 480839.594 4759393.000 0.000 0.000 777.000 22 7. 189 0 480744.812 4759400.500 0.000 0.000 777.000 22 7. 190 0 480795.844 4759561.000 0.000 0.000 777.000 22 7. 191 0 480671.969 4759520.500 0.000 0.000 777.000 22 7. 192 0 480573.562 4759466.000 0.000 0.000 777.000 22 7. 193 0 480737.531 4759725.000 0.000 0.000 777.000 22 7. 194 0 480617.312 4759685.000 0.000 0.000 777.000 22 7. 195 0 480508.000 4759615.500 0.000 0.000 777.000 22 7. 196 0 481174.844 4758493.500 0.000 0.000 777.000 22 7. 197 0 481240.438 4758340.000 0.000 0.000 777.000 22 7. 198 0 481273.188 4758220.000 0.000 0.000 777.000 22 7. 199 0 481313.281 4758089.000 0.000 0.000 777.000 22 7. 200 0 480693.812 4759859.500 0.000 0.000 777.000 22 7. 201 0 480639.156 4759965.000 0.000 0.000 777.000 22 7. shapelib-1.6.1/tests/shape_eg_data/csah.shp0000664000175000017500000024132414573117335015610 00000000000000' ¡jè¤p= ‡bAyȦȾSA&zAfffDðSAÀÍÌÌÌI[Aòœº¿SAÃõ(\6^A…ëñƒÈSA* ]Aòœº¿SA¤p= \A×£p.¿SAáz®ã[A ×£ 3¿SAÃõ(\µ[Afff¶8¿SAÍÌÌÌ—[A®G=¿SAHázx[Aš™™éB¿SAR¸…P[A…ëQØK¿SAÍÌÌÌJ[AázNO¿SAÍÌÌÌI[A)\2S¿SAq= ×*\Afff–MÀSAš™™™c\Aš™™I¤ÀSA\Âõ$]Aš™™ÙiÁSA…ëQÅ\AìQ¸îÈÁSA ×£pë[A¤p=z2ÂSA…ëQ¸å[AR¸UÀÂSA= ×£ï[A= ×ÃËÃSA®Gáz\A@ŽÄSAš™™™„\A¤p= WÅSA¤p= ]Afff–êÆSA3333–]Aáz®¶ÇSAÃõ(\6^A…ëñƒÈSAˆß $\åûA¤¥iý;SAš™™™\þA333£ ÂSAß $\åûA¤¥iý;SAÁüAq= 'gÀSAáz®ÎüA…ëÑ"ÁSAáz®ýüA¤p=zžÁSA¤p= ýA\²ÁSA×£p=õüA= ×SëÁSA¤p= üüA×£p ðÁSA3333ýAq= 7õÁSA3333/ýAÃõ(¼ûÁSA¸…ëcýAfffFÂSAÂõ(ýA×£p½ ÂSA®GázËýAÂõxÂSA¤p= þA333ãÂSAš™™™\þA333£ ÂSAXR¸…_ôAìQ¸>ÃSA)\¬A¤p=êôÔSA(ÍÌÌÌ+ûAìQ¸>ÃSA{®GÈûA)\"¡ÃSAffffcýAÍÌÌÜþÃSAö(\zýA ×£ÄSAÍÌÌÌŽýA®Gá: ÄSA’ýAHáz¤ÄSA¤p= °üAÂõh*ÅSAÂõ(0ýA\Âõ·ÅSAffff.ýA®Gá:¾ÅSAÍÌÌÌòüA ×£ÀÞÅSA)\ÂîüAš™™9êÅSAÃõ(\ïüAìQ¸úÅSA¤p= øüAìQ¸¾ÆSAìQ¸MþAHázô³ÆSAq= ×ÿA¸…ÛÇSAáz®ÿA…ëñÇSAìQ¸&ÿA…ë¡"ÇSA…ëQ¸IAHázÄgÇSAffffXA®G¡lÇSA)\—AHáz´ÜÇSA)\¬AHázÔ-ÈSAq= ×A®GáJ2ÈSAÃõ(\€Aö(\ï6ÈSAÃõ(\OAR¸Å;ÈSA…ëQAìQ¸Þ?ÈSAR¸…ÅÿAÍÌÌüCÈSA®GágÿAö(\¯GÈSAìQ¸ÿAHázDIÈSAÍÌÌÌÓþAÃõ(¢ÁSA®Gáz¿A ×££ÁSA ×£pvAfffv¨ÁSAÂõ(hA…뱩ÁSAö(\ZAìQ¸«ÁSAÍÌÌÌPAfff­ÁSA)\ÂKA{®G¯ÁSA{®G—Aš™™y«ÂSA…ëQ”Aázn³ÂSA…ëQŽA×£pý»ÂSAffffxAÃõ(<ÃÂSAffffYAÃõ(ÉÂSA{®G,Aö(\ïÏÂSA…ëQ¸òA333SÖÂSAÃõ(\pA)\rãÂSA ×£p%AÂõHìÂSA ×£p½A®G1÷ÂSAÂõ(}AÐþÂSARAÃõ(ÜÃSA®Gá+A3333 ÃSAš™™™A…ëQèÃSAHázÿAÃõ(\ÃSA®GáõA…ëQÃSAÃõ(\õA…ëQH%ÃSA= ×£Afff&ƒÃSA®GáUAR¸EÀÃSA3333UAq= 7ÈÃSA…ëQ¸LA)\BÏÃSAìQ¸?A®GáÚÕÃSAáz®%AfffÝÃSAÃõ(\AHázTäÃSAR¸…êAÃõ(¼éÃSA= ×£ÆAHázÄïÃSA¸…ëAÂõÈõÃSAÍÌÌÌ-A×£pmMÄSA3333 A×£píSÄSA\ÂõëA\ÂU[ÄSA)\ÂÕA)\òcÄSAìQ¸ÆA®Gá*kÄSAffffÀA{®÷vÄSA¸…ëÖA…ëQùÄSA¸…ë"A{®ÇÅSA ˜HázürA¸…»ðêSA…ëQ}öAö(\/¬ëSAHázürAö(\/¬ëSAö(\t¥A\Â¥žëSA3333ã×Aö(\‘ëSAÂõ(AÃõ(,‚ëSAHáz€ A×£p ~ëSAš™™™#A= ×ÓrëSA{®GP7AfffFjëSAÍÌÌÌ‹PAq= 'bëSAÃõ(\‘pAR¸µIëSA3333ʼnA®GA<ëSAR¸…µŸAq= ÷-ëSA…ëQñ¢Aš™™ +ëSA ×£p¼AfffÖëSAR¸…;ÕAìQ¸Ž ëSAÍÌÌÌyîA®GøêSA…ëQ}öA¸…»ðêSA ðR¸…ÙA333³ƒÇSA ×£pPAÍÌÌ|ÉSA ×£pPA333³ƒÇSA{®GáA…ëQH˜ÇSA…ëQÂAPžÇSAìQ¸ˆA¤p=:¨ÇSAffffkA)\ò­ÇSA…ëQ¸VAà´ÇSA= ×£FAHázÄ¿ÇSA…ëQAÍÌÌ &ÈSAš™™™ A×£pÍ*ÈSAáz®øA ×£€0ÈSAHázßA ×£p7ÈSA®GázÂAP=ÈSA…ëQ¸™A×£p]CÈSAffff2A333ÓOÈSA ×£p Afff¦TÈSAñAö(\ZÈSAÃõ(\àA)\r_ÈSAR¸…ÙA ×£ÐdÈSA ×£pA®GÑÉÈSAö(\A333³ÙÈSA3333A\ÂeâÈSAÍÌÌÌA{®êÈSA®Gá)AázïÈSA7AR¸%õÈSA®GázGAÂõèüÈSAÍÌÌÌfA333óÉSA{®G–AÍÌÌ|ÉSA 0ìQ¸½…AÚ4‘ÇžÀSAÛéÃJ¸A¸…ÇÀSAìQ¸½…A¸…ÇÀSA×£p=̘A\ÂUµÀSAÛéÃJ¸AÚ4‘ÇžÀSA 8Üšó…/¸AsÖgõ}ÀSAÓƒ¸càAÚ4‘ÇžÀSAÜšó…/¸AÚ4‘ÇžÀSA®Gá]ËAÍÌ̼ŽÀSA ØAfff¦ƒÀSAÓƒ¸càAsÖgõ}ÀSA(¤p= ‡bA§µƒ…ÝSAðÖÄ…ÓwA¸…KŒÝSA¤p= ‡bA¸…KŒÝSAðÖÄ…ÓwA§µƒ…ÝSAˆaÏsf¢ÏA ×£ÀmÔSA®GázvèAý¨`øÙSAN3333ËÒA ×£ÀmÔSAÂõ(FÓA= ×ã–ÕSA®GázOÓA×£pœÕSAš™™™^ÓA)\²¡ÕSA\ÂõqÓA…ë±¥ÕSA¤p= ³ÕAÍÌÌ ÙÕSAÃõ(\óÕAq= ·ÞÕSA®GázÖA= ×3ãÕSAGÖAPèÕSAáz®dÖA¤p=JíÕSA…ëQxÖAHázÔñÕSA= ×£‡ÖA333s÷ÕSAìQ¸”ÖAPüÕSAÃõ(\ºÖAÖSA¤p= ØÖA®GáŠÖSA¤p= ýÖA ×£€ ÖSA…ëQ)×A¸…KÖSAHázU×AÃõ(,ÖSAÃõ(\µ×A333ÖSA×£p=ÚA333³8ÖSA{®G^ÚA{®—;ÖSAR¸…œÚA®Gq=ÖSA×£p=ýÚAÍÌ̬?ÖSA’ÜAÍÌÌ\EÖSAÂõ(ÝAìQ¸®GÖSA3333¯ÝA¸…ëKÖSA{®GQÞA…ëQ8QÖSAìQ¸½ÞAö(\ßUÖSAffff)ßA¤p=J[ÖSAR¸…ßA333s`ÖSAHázÌßAq= fÖSAìQ¸àA ×£pkÖSAR¸…JàA)\âqÖSA¤p= pàA)\ÂwÖSA¸…ë‹àAq= ÷}ÖSA¤p= «àA𙙉…ÖSAÂõ(ÆàAÃõ(ÌŽÖSAÍÌÌÌÚàA¤p=š™ÖSA3333æàA×£pí©ÖSA¤p= ÷àA¸…K²ÖSA…ëQ áA333Ó¸ÖSA3333+áA ×£ÁÖSAš™™™OáA= ×SÉÖSAÃõ(\uáAš™™©ÏÖSA ×£p¯áA= ×S×ÖSA×£p=îáA×£p­ÞÖSAÃõ(\?æAš™™yO×SAÂõ(›æAHáz”Z×SA¸…ë$çA…ëQˆm×SA3333ÓçA¤p=ú‘×SAffffèAÍÌÌœ×SAHáz1èAHázT¥×SA3333ZèAR¸ű×SA®GázvèAfffvÊ×SA…ëQ¸pèA ×£`Í×SAš™™™aèA= ×Ñ×SAÍÌÌÌAèAHáz”Õ×SAìQ¸èA)\òÙ×SAq= ×äçAR¸¥Þ×SA= ×£ çA\ÂÕã×SAHázcçA333£ç×SA…ëQçAö(\Ïë×SA¸…ë±æAázï×SA= ×£@æA¸…[ò×SAìQ¸ÖåA= דô×SA= ×£tåAq= gõ×SA{®G3ÖAìQ¸Žü×SAq= ×ÜÖAáz>ÉØSA…ëQ¸ÆÖAfffFÍØSAffff´ÖA¸…›ÏØSA×£p=’ÖA= ×CÔØSA= ×££ÓAš™™¹ÙSA×£p=\ÓA¤p=ú%ÙSAÃõ(\!ÐA ×£À¨ÙSAHázüÏA °ÙSAö(\àÏA®Gáz¸ÙSAÍÌÌÌÎÏAö(\OÀÙSAaÏsf¢ÏAý¨`øÙSAhBPxp ½A‰¥úã¿SA\Âõ<ÕA\Âu¤ÀSA*BPxp ½A‰¥úã¿SA¸…ë*½A ×£pé¿SA{®GF½A®Gáúð¿SA3333‹½A= ×û¿SAq= ×Ó½Aö(\¯ÀSAq= ×7¾A®Gáê ÀSAHázo¿A{®§'ÀSA®Gáz…ÀA)\B:ÀSAìQ¸ÉÆA ×£ –ÀSAö(\ÇAq= ÷™ÀSA®Gáz`ÇA)\ÀSAR¸…§ÇAš™™yŸÀSA®GáíÇAHázT¡ÀSAHáz6ÈA®G‘¢ÀSA)\ÂŒÈAq= —£ÀSAš™™™ÖÈAáz¤ÀSA¤p= /ÉA\Âu¤ÀSA…ëQŽÉA ×£`¤ÀSA= ×£²ÏA…ëŸÀSA×£p=ÐAÍÌÌŒžÀSA3333OÐAö(\/ÀSAffff¢ÐA¸…ÛšÀSAÑA…ëa—ÀSAÃõ(\cÑAáz~“ÀSA¤p= ¹ÑA¸…ÛŽÀSA{®GÒApŠÀSAR¸…~ÒAÍÌÌl‚ÀSAÍÌÌÌÓA…ë±xÀSA…ëQ<ÓAHázDsÀSAìQ¸cÓAfff6nÀSAÂõ(‰ÓAR¸ehÀSA®Gá¯ÓAHázä`ÀSAHázÄÓA…ëaZÀSAR¸…ÕÓAHáz”SÀSA)\ÂàÓA ×£ IÀSA®GáîÓAö(\?ÀSA= ×£ÔA¤p=J8ÀSA= ×£4ÔA333#2ÀSA¤p= eÔA= ×ã,ÀSA= ×£‘ÔA®Gáº(ÀSA…ëQÁÔA¸…+%ÀSA\Âõ<ÕA= ×ÀSAház®©áA\ÂEÁSA\ÂõT1A‚€«¥ÙSA 8<Üe.A‚€«¥ÙSA¤p= .AfffÖŸÙSAHázà-AìQ¸.˜ÙSA ×£p·-Aq= ‘ÙSA{®G’-AHázd‡ÙSAÍÌÌÌ-AHáz4{ÙSAr-A®GQÙSA…ëQa-A ×£ 7ÙSA= ×£;-AR¸5ÙSAR¸…Ø,A333£ÕØSAffffÊ,A®GáJÉØSA¸…ëæ,A®GášeØSA\Âõõ,A ×£ÀaØSA-A¤p=z^ØSAq= צ-A)\rUØSA…ëQ¸ß-AffföQØSA\Âõ.AÂõNØSA…ëQ¸:.A®GÑIØSA…ëQj.AfffÖBØSA{®G'/AHázäØSA×£p=L/A…ëQhØSAáz®Ô/A…ëî×SAÍÌÌÌö/AR¸Uà×SAáz®,0A×£p}Î×SAö(\K0APÈ×SAR¸…¹0AÂõxº×SA= ×£*1A®×SAÃõ(\C1Aš™™ù©×SAffffR1Aö(\¦×SA\ÂõT1AfffÖ¡×SAš™™™K1A ×£0ž×SA ×£p51A ×£€™×SAö(\U0AìQ¸Î|×SAìQ¸0AÐs×SA3333¬+AR¸U×SAŠ+Aš™™ù ×SA)\Âf+Aš™™É×SA{®GR+A…ëQ¸ÿÖSA{®GA+AÃõ( ÷ÖSA= ×£+APÅÖSA…ëQ¸Ô*A†ÖSAffffÐ*A ×£ ~ÖSA)\Â8+AR¸•0ÖSA¤p= K+A ×£ÖSA\ÂõJ+A®GázÖSAÍÌÌÌC+AìQ¸^ýÕSAHáz5+A…ëÑøÕSAáz®+A= ×SòÕSAÃõ(\ô*A\ÂõíÕSAHázÐ*Aö(\_êÕSA×£p=•*A333ÃåÕSA= ×£F*AHázäàÕSA¸…ë€)A)\ÙÕSAáz®(AÍÌÌlÊÕSA®Gá¤'AÃõ(|ÅÕSAffff3'A…ëQx¿ÕSA×£p=Ø&A= ׺ÕSAö(\&Aš™™É³ÕSA<&AR¸…­ÕSA®Gázð%A…ëQH¥ÕSA®Gáž%A®GáêšÕSAìQ¸d%A{®’ÕSAö(\0%A)\ÒˆÕSA{®G %A)\’ÕSAR¸…ï$A¸…ëxÕSAö(\ã$A®GáŠpÕSA ×£p«$AìQ¸ÞˆÔSA ×£p²$AЃÔSAÍÌÌÌÎ$AÃõ(|}ÔSA®Gáð$AÍÌ̬xÔSAš™™™6%AÍÌÌÌqÔSAHáz…&A ×£°YÔSAš™™™½&A…ëQ˜UÔSA®Gáé&Afff†QÔSAÍÌÌÌ'AÃõ(ìKÔSAÃõ(\7'Aq= ÷FÔSA ×£pJ'A333“AÔSAO'A\Â…<ÔSAÍÌÌÌ@'Afff0ÔSAìQ¸-'Afffæ&ÔSA…ëQ¸‚&AÍÌ̼îÓSAo&A®Gá êÓSA®GáS&Afff6åÓSA×£p=$&Aö(\¿ÞÓSAÂõ(»#AÍÌÌ\—ÓSAö(\”#AìQ¸î“ÓSA×£p=U#AÂõÓSAHáz`!A{®W{ÓSA®Gá‰A×£pýdÓSAq= ×'A ×£P`ÓSAÂõ(ÙA®GáJ[ÓSA)\˜AÂõxUÓSAÃõ(\nA¸…›OÓSAÍÌÌÌgAáz.IÓSAÒAR¸ÕÎÒSAš™™™ÅAö(\ÊÒSAffff¬Aö(\_ÄÒSA×£p=‡A®Gá¿ÒSA ×£pXA¤p=*ºÒSA{®G A)\¶ÒSA ×£pÞAq= ²ÒSAš™™™†A…ëQ®ÒSAq= ×A{®§ªÒSA\ÂõµAáz¾¨ÒSAáz®BA ×£`¨ÒSAŸA333s¬ÒSAÃõ(\WA\ÂU«ÒSAö(\A¸…ªÒSAq= ×ÎA{®÷§ÒSA¸…ëlAÂõ˜£ÒSA…ëQ¸øA ×£ ÒSA= ×£®A¸…{—ÒSAHáz…AHáz$“ÒSA\Âõ_Aq= ŽÒSAffffëA gÒSA\ÂõåAHáz´]ÒSA¸…ëþA…ëAHÒSAö(\A¸…K:ÒSA…ëQ¸ÚAÍÌÌ\òÑSA¸…ëàAq= ÇëÑSA…ëQÝAq= 7åÑSA®GáÍA®GqßÑSA)\ÂA®G|ÑSA\ÂõlAÐuÑSAYAš™™©pÑSA×£p=NA¸…kjÑSA¸…ë<AfffFXÑSA…ëQ&A ×£0ÑSAÍÌÌÌ*AÃõ(üÑSA®Gáz>A¸…;ÑSAq= ×ZA{®çÑSA ×£pŒAö(\¯ÿÐSAHáz+A{®ÇæÐSAìQ¸FAHázáÐSAÂõ(cAìQ¸NÚÐSA…ëQzA\ÂeÒÐSA…ëQ¸Aö(\ËÐSA\ÂõAìQ¸žÅÐSAÍÌÌÌuA×£p­¿ÐSA®GádAÃõ( ºÐSA3333MAázεÐSA…ëQ+A)\‚°ÐSAö(\úA{®ÇªÐSAÂõ(½AÂõØ£ÐSA¸…ë‘A)\¢ŸÐSAÃõ(\ZA= ×#›ÐSAffffýAìQ¸Þ”ÐSAq= ×à AÍÌÌœSÐSA…ëQ¸qA333“$ÐSA)\ÂØA)\âÐSAffffMA333SÅÏSA…ëQ¸Aáz޾ÏSA3333ÒAà¸ÏSA)\­AHáz„²ÏSAHáz¤A…ëQø®ÏSAš™™™ŽAfffÖ†ÏSA…ëQXAÃõ( %ÏSAÍÌÌÌ3AfffÖÏSA{®GëAR¸U·ÎSAáz®AHázÔîÍSA…ëQ`A{®W'ÍSAÃõ(\ÓÿA ×£\ÌSAHázUÿAÍÌÌܬËSA{®G\ÿAázn¦ËSA…ëQ¸ÖÿAjËSA{®GØÿAÂõ(bËSA…ëQ¸ÍÿA{®§YËSAffffÀÿAö(\ÏPËSAáz®¬ÿAR¸EJËSA®Gá“ÿAq= GCËSAOÿAö(\ï5ËSAö(\ÿA…ëA*ËSA\ÂõâþA333c"ËSA…ëQDþA×£p} ËSA{®G9þAÃõ(LËSAö(\4þAfff¦ËSAq= ×"þAö(\ÏÕÊSA)\ÂÚýA¤p=jpÊSA…ëQÂýAq= —fÊSA= ×£¡ýA®Gá*\ÊSA¤p= |ýA®GáªSÊSA\ÂõOýA333ÓKÊSA)\ÂýAÃõ(ìCÊSA{®GêüAázn=ÊSAR¸…HùA\ÂÅÆÉSAÍÌÌÌìøA®Gq½ÉSA ×£p£øA= ×#·ÉSAö(\RøA¸…‹°ÉSAÂõ( øAÍÌÌœ«ÉSA®Gáz¹÷AÍÌÌŒ¦ÉSAáz®_÷AHázô¡ÉSAÃõ(\ ÷AìQ¸ÎÉSAÂõ(«öAfffÆ™ÉSA= ×£óA{®GuÉSAš™™™§òA¤p=*oÉSA®GáGòA¸…ûgÉSA¤p= òAq= GbÉSAš™™™´ñA{®'ZÉSA\Âõ~ñAìQ¸nTÉSA= ×£PñA¸…‹NÉSA…ëQ¸)ñA333óHÉSA{®GøðA333cAÉSA3333ØðAö(\:ÉSA{®GºðAq= ÷2ÉSA ×£pðA{®ÉSAìQ¸fðA\ÂÅÉSA{®GZïA®GuÈSA ×£pAïAÃõ(\nÈSA)\ÂïA= ×gÈSAÍÌÌÌéîAÃõ(ì\ÈSAffff°îA{®×SÈSA)\ÂrîAÃõ(LLÈSA®Gá7îA¤p=ªEÈSA×£p=øíAÂõX?ÈSA¾íAìQ¸>:ÈSAš™™™íA…ëQè5ÈSA®Gá=íA\•1ÈSA…ëQ¸ãìA)\,ÈSA)\ÂfìAáz>%ÈSAHázþëA ÈSAfffføåA×£pýÚÇSAö(\^åAR¸ÒÇSAš™™™ïäAÃõ(ŒÉÇSAÃõ(\œäA¸…ÃÇSAÍÌÌÌJäA×£p­ºÇSA¸…ë äAö(\¿³ÇSAìQ¸ÈãAš™™™«ÇSAR¸…ŒãA333#£ÇSA…ëQ¸_ãA= ×óšÇSA®Gá/ãAffff‘ÇSAÂõ(ãAö(\ŠÇSAþâAfff¦‚ÇSA¤p= éâA×£p yÇSA{®GÊâAÂõø\ÇSA®Gáz³âA…ëQèéÆSA…ëQZâA¤p=ÆSA®GáØáAÍÌÌ\‰ÄSAáz®©áA ÓÃSA®GázÆáAHáz´ÌÃSAHázßáA)\ÇÃSA…ëQ¸ÿáA)\"ÃÃSA®Gá.âAq= ǾÃSAR¸…\åA¸…ë‚ÃSA×£p=aæA= ×ónÃSA…ëQ²æA…ë1hÃSA¸…ë çA\Â¥`ÃSA{®GAçA ×£[ÃSA×£p=hçAš™™)VÃSA…ëQçAìQ¸nOÃSAq= צçAÃõ(\IÃSAµçAš™™DÃSA)\¿çAö(\ï=ÃSA\ÂõÆçAfff¶6ÃSAÃõ(\ çAHázÂSAö(\‘çAfff†€ÂSA¸…ëoçA= ×sCÂSAÍÌÌÌqçAHázTÂSA¸…ëšçAáznÂÁSA3333§çAq= W»ÁSA{®G·çAÍÌÌœµÁSA…ëQ¸ÐçA{®­ÁSA…ëQ¸ èAš™™ —ÁSAö(\QèA®GÁSA×£p=rèA@‡ÁSAš™™™¸æAö(\_iÁSA¸…ë ìA\ÂEÁSA8®Gáz÷A)\¢¬ÃSAÂõ(”A¸…»oÈSAáz®Õ’A)\¢¬ÃSA¸…뜓ApCÅSAÂõ(”A®GÙÆSA®Gáz÷A¸…»oÈSA˜{®G=÷AÉ*>xôâSA×£p=A¸…›ÜçSA0ðû¤Ã‹øAÉ*>xôâSAÂõ(øAìQ¸ŽüâSA)\Âà÷A{®÷ÿâSA…ëQ´÷A`ãSA= ×£¢÷Ap ãSA®Gá÷Aq= wãSA…ëQ¸¦÷A¤p=Ú"ãSA\Âõ¯÷A{®(ãSAš™™™»÷AÍÌÌ -ãSA®Gáç÷Aq= w4ãSA®GáøAÂõ8:ãSA…ëQ¸øAfff&@ãSA¸…ëøA333SGãSA\Âõ÷AfffV™ãSA×£p=w÷A¤p=ª¤ãSA ×£p>÷Aš™™é¶ãSA{®G=÷AÍÌÌlºãSA3333H÷Afffv½ãSA×£p=“÷AÍÌÌÌÈãSAffffÔ÷AÂõØÓãSAR¸…øAÂõØÝãSA= ×£$øA{®§æãSA{®G(øAàðãSAÂõ(føAq= W¦äSA{®GùA¤p=z<æSA\ÂõlùA¸…ë5çSAR¸…^ùAáz^:çSA…ëQ>ùAázŽHçSAš™™™ùAÂõWçSA3333¿øA`cçSA¤p= ¡øA ×£kçSA)\‘øA…ëQhuçSAHázœøAìQ¸Ž‚çSAffffÖøAš™™™çSA×£p=DùA333ÓŸçSA)\¾ùAfff®çSAq= ×)úA€·çSA{®GÄúAš™™¹ÁçSA…ëQ¸ûA= דÌçSAÂõ(RüA×£p­ÓçSA\ÂõSýAÃõ(,ÚçSAÍÌÌÌ;þA ×£0ÜçSA{®GKÿA¸…›ÜçSAÂõ(¢A{®‡ÚçSAHáz*AázîÍçSAÂõ(ZA¸…ËËçSAš™™™ÝA®Gá*ÉçSA×£p=A…ë1ÉçSAP…ëQ A{®·ÆSAffff¶äA¤p=Š~ÒSA'…ëQ A{®·ÆSA3333¡A333“ÊÆSA®Gáz¡Aáz¾”ÇSA ×£pÉ¡AÀ)ÉSA…ëQ¸ð¡A{®WòÉSAÃõ(\Õ£Aö(\ŠÊSAR¸…ï£A¤p=ŠŽÊSAÂõ(¤A…ëQh’ÊSA¤p= …¤Afff†˜ÊSAq= ×¥A®GqžÊSA®Gáz˜¥A333s£ÊSAáz®Y¦A`¨ÊSA×£p=§A\¬ÊSA¸…ë¹§AÂõè®ÊSA×£p=|¨A¸…;±ÊSA…ëQ ©AÍÌÌü²ÊSAìQ¸¡©Aq= ´ÊSA…ëQ¸jªAö(\Ÿ´ÊSAš™™™½ÏAfff¦¦ÊSA ×£p©ÐAÃõ(<§ÊSA{®GÑA×£p ©ÊSA ×£p‹ÒA ×£P¬ÊSA\Âõ†ÓAìQ¸¾°ÊSA`8v ÔAò˜Æ³ÊSAffffBÔA ×£µÊSAö(\àÔA×£pm¹ÊSAÃõ(\‹ÕA)\¿ÊSA®GáðÕAHáz”ÅÊSAffffLÖA)\BËÊSA®GázŠÖA ×£ÑÊSAÍÌÌ̶ÖA¤p=ØÊSA)\ÂÁ×AÍÌÌümËSAÃõ(\ÙA{®Ç6ÌSAìQ¸KÜAðÇÍSAR¸…ÓÜAq= G ÎSA¤p= {ßAìQ¸ÎZÏSAffffâA{®GëÐSA…ëQJäAìQ¸Î@ÒSAffff¶äA¤p=Š~ÒSA 8¤p= µAEæQ¼¿¿SAL[;2£ïAš™™ÉUÂSADL[;2£ïAEæQ¼¿¿SA= ×£yïAš™™™Æ¿SA®Gá(ïAfff&׿SAáz®üîAázÎâ¿SAÃõ(\;îAš™™™ÀSAffff(îA= ×S#ÀSAìQ¸îAÍÌÌ ,ÀSA®GáîA…ëQÈ5ÀSA{®GJîA¤p=úuÀSAHázRîA)\¢„ÀSA ×£pNîAázžŠÀSA3333BîAR¸µ‘ÀSA¸…ë3îA¤p=Š˜ÀSA\ÂõîA)\B ÀSAš™™™õíA®G᪨ÀSAìQ¸ÓíA¤p=НÀSA®Gáz¡íAP¸ÀSA{®GníAö(\¿ÀSA{®G$íAáznÈÀSAš™™™.ëA{®§þÀSA¸…ëïêA= ×CÁSA×£p=JêAÂõ¸ÁSA£éA…ëQ¨ÁSAéAfffö%ÁSAffffàçA®G7ÁSAHázoçA…ëQÈ=ÁSA{®GÌæA®GñEÁSAHáz.æA{®ÇMÁSAffffåAÂõ(UÁSAffffÊäAìQ¸N]ÁSAÍÌÌÌäAÃõ(eÁSA{®G1ãAHáz4mÁSA{®G9âAfff¶uÁSAáz®¦áA{®—zÁSA…ëQØàA¤p=Ê€ÁSA×£p=¥ßA×£píˆÁSA×£p=÷ÞAìQ¸NÁSA×£p=óÚA¸…kŸÁSA®Gáz,ØA¸…¬ÁSAÃõ(\¸ÖA333Ó²ÁSAš™™™âÕA¤p=š¶ÁSAÃõ(\*ÕA®G‘ºÁSAq= ×WÓA= דÄÁSAö(\mÒA ×£ÐÉÁSA…ëQ¸@ÑA®GáÚÐÁSA{®GõÏA{®ÙÁSAR¸…bÎA×£pMãÁSAfffföÌAÃõ( íÁSA…ëQ¸TÌA…ëQˆñÁSAìQ¸—ËA®GáZ÷ÁSA…ëQ¸MÊA…ë‘ÂSAáz®KÉA ףРÂSA)\ÂRÆAö(\#ÂSA…ëQ¸vÅA®Gáº*ÂSA\Âõ ÅA¸…ë-ÂSA¤p= •ÄAÂõ(1ÂSAÂõ(ÄA®GÑ3ÂSAQÃA…ë7ÂSAR¸…ÂA\Â%:ÂSAÂõ(­ÁA®Gáš<ÂSA ×£pŸ¸A333ãTÂSA= ×£ ¸Aš™™ÉUÂSA…ëQ¸¦·A…ëQ˜UÂSA ×£pA·A®G¡TÂSA®Gáâ¶AfffSÂSA¸…ë…¶Afff¦PÂSA= ×£¶A{®MÂSA¤p= µA\Â>ÂSA!ˆ*Žk…M8A0–]_ÂSAö(\¨AffffÿÏSAÎ*Žk…M8A0–]_ÂSA…ëQ¸ø8Aq= yÂSAÂõ(9A{®w}ÂSA¸…ë=9A𙙉ÂSA= ×£w9Aš™™¹…ÂSAR¸…¸9A…ëq‰ÂSA= ×£:Aö(\ÂSA…ëQj:A…ëQxÂSA ×£pª:A®G±ÂSA®Gáé:A3333‘ÂSA\Âõ×MA ×£P„ÂSA3333ÐWA= ×~ÂSAš™™™#XA®Gq~ÂSA)\ÂqXA)\RÂSAÂõ(ÊXAìQ¸Þ€ÂSAÍÌÌÌ"YAq= ƒÂSA ×£pyYA®GA†ÂSAö(\ÁYAЉÂSAìQ¸ZA333#ŽÂSA¤p= DZAR¸“ÂSA= ×£€ZA\ÂU˜ÂSA¸…ëµZAš™™™ÂSAÍÌÌÌáZA= ×££ÂSAq= ×þZAö(\?©ÂSA…ëQ[A333S¯ÂSA?[A¸…KûÂSA= ×£E[Afff¶ÿÂSA3333Q[AfffFÃSA{®Gi[AÃõ(¼ ÃSAffff‹[A®GáÊÃSA®Gá¹[Aš™™IÃSAö(\é[Afff–ÃSAáz®(\A®G!ÃSAìQ¸¬^AHázDCÃSAÃõ(\`Aö(\OTÃSAÍÌÌÌA`A…ëQXÃSA×£p=ƒ`A ]ÃSA= ×£Ì`A333ãcÃSAq= × aA¤p=ªjÃSAÍÌÌÌ:aAö(\OqÃSA)cA\ÂuÅÃSAR¸…McA333ƒËÃSAR¸…qcA®G1ÐÃSA3333ŸcAHáz´ÔÃSAÍÌÌÌùcAìQ¸¾ÛÃSAš™™™ÝfA= ×3 ÄSA= ×£gA®Ga ÄSAHáz`gAÂõxÄSA…ëQ¸«gA\ÂÅÄSA®GáãgAš™™ÄSAffff hA333s%ÄSA¸…ë*hAq= G,ÄSA…ëQ®ÆSAš™™™¹vA{®w»ÆSA{®G$wAÃõ(¼ÂÆSAìQ¸pwA ×£PÇÆSA¤p= ÚwAR¸5ÍÆSAXxA¤p=úÓÆSA×£p=yA ×£0ÝÆSAš™™™‚yAö(\ßáÆSAö(\ØyA®Gá çÆSA¤p= /zA®G!íÆSAq= סzA…ëQèõÆSA3333|A…ëQÈÇSA3333?AÀkÇSAö(\–AHáz„sÇSAq= ×üA\µ{ÇSAÍÌÌÌ1AHázÔ“ÇSAÍÌÌ̃A ×£°šÇSA×£p=‚Aö(\¿¨ÇSAR¸…”‚Afff¦³ÇSAÍÌĮ̀…A)\ÂïÇSA×£p=I†A€ûÇSAHázQŠA…ëQxEÈSAÃõ(\SA¸…[„ÈSA…ëQ¸ôA…ëQx‘ÈSA®GáXŽA šÈSA]ðvx–ŽAŒþëðŸÈSAö(\žŽAHáz´ ÈSA\ÂõÒŽA= ×§ÈSAÂõ(A¤p=Ê­ÈSAÃõ(\5A\ÂUµÈSA)\ÂÚA×£pÍÒÈSA)\ÂCA®GÁèÈSAR¸……A×£põÈSA×£p=«AR¸õûÈSA ×£pËAfffÉSAö(\ïA€ÉSAìQ¸)‘Aš™™I ÉSAÂõ(“‘A= ×ÃÉSA…ëQ¸+”Aq= GRÉSA;–A= ×ÉSAÃõ(\ˆ–A ×£0ˆÉSAš™™™Æ–A)\¢ŽÉSA®Gá —A…ëQH–ÉSA¸…ëF—AR¸õÉSA= ×£“—A€¨ÉSA…ëQ¸w˜AÍÌÌ,ÍÉSA¤p= ¶˜AR¸5ØÉSAÃõ(\Ô˜Aš™™iÞÉSA ×£pð˜AÂõ¨äÉSAš™™™ ™A{®gìÉSA{®G ™A)\âôÉSA3333+™ApûÉSA\Âõ/™AR¸%ÊSA×£p=/™A¸…Ë ÊSA×£p=%™A…ëaÊSAìQ¸™A®GáúÊSA{®Gþ˜A×£p­%ÊSAš™™™Ý˜A ×£p-ÊSA…ëQ³˜A®GÑ5ÊSA…ëQ¸–A…ëQØšÊSAffffÓ•A\ÂÅ¢ÊSAR¸…­•A\•©ÊSA\ÂõŽ•A®Ga°ÊSA3333h•Aš™™ºÊSA= ×£J•A®GáºÂÊSA\Âõ4•A…ëAÌÊSAš™™™*•AÃõ(<ÔÊSAš™™™+•A ×£€ÚÊSA®GáD•ApéÊSA\Âõ]•A¤p=zóÊSA= ×£z•Aš™™¹üÊSA{®Gœ•A®GAËSAÃõ(\ЕA¸…; ËSAffff–Aq= çËSAš™™™:–A= ×sËSA×£p=†–A…ë%ËSAÂõ(Ê–A ×£Ð,ËSAš™™™$™A ×£0cËSA…ëQ A¸…[ºËSA)\Â6A®GኾËSAR¸…ZAö(\ÃËSA= ×£uA\ÂåÇËSAR¸…ŒAq= ÷ÍËSA®Gáz™AÀÓËSAÃõ(\ÚAìQ¸ž–ÌSAö(\æA{®›ÌSAffffÿA×£p- ÌSA®Gáz žAÍÌÌü¦ÌSAHázNžA®Gá:®ÌSAö(\…žA)\µÌSAR¸…·žA333¼ÌSAìQ¸äžAÃõ(|ÁÌSA®GáŸAš™™©ÅÌSAxŸAR¸UÌÌSA)\£A®GáŠÍSA)\Â[£A\ÂÕÍSAö(\–£A333s ÍSA¤p= Ê£AHázÍSAR¸…ö£AfffVÍSA= ×£ ¤A ×£ÀÍSA×£p=H¤Aö(\¯ÍSA…ëQ¸]¤A×£pí&ÍSA×£p=%¥A®G!´ÍSAáz®E¥AÍÌÌœËÍSAáz®\¥A¸…KßÍSAö(\¦AfffVãÎSA¤p= »¦AÂõ¸–ÏSA®Gá̦Aö(\œÏSA3333¨A¤p=zÓÏSA…ëQ¸<¨AffffÜÏSA¤p= U¨A®GåÏSA…ëQs¨AR¸µïÏSAö(\¨AffffÿÏSA" ffffЊAö(\_ØSA ×£pAÿAš™™¹éØSAffffЊAš™™¹éØSA®Gáz°»A¤p=ÊÚØSAÍÌÌÌúíAáz®ÄØSAáz®ÿA®GáÚ¼ØSA…ëQ A333ó¯ØSA®Gá“AìQ¸.¦ØSAÍÌÌÌ7)A…ëq›ØSAáz®qBAö(\_‡ØSA¤p= [A¤p=JrØSA¤p= (tAR¸ÅaØSA¤p= ^Aq= —TØSA\Âõ"”AÃõ(ìPØSAHázR¦A)\‚LØSA¸…ë ¿Aš™™)?ØSA…ëQØAš™™0ØSAÂõ([ñAR¸Õ#ØSA ×£pAÿAö(\_ØSA#P\Âõ¡A𙙉ÐSAR¸…ý³AÍÌÌ,€ÞSA'q= ×-¥A𙙉ÐSA[€~ :¥Ax¥ Ù*ÐSA[1ÛwM¥A¢]TÐSA= ×£Z¥Aš™™¹qÐSAš™™™Ë¥A×£p­âÐSAö(\r£A\•äÐSA¸…ë<£A…ëåÐSA¸…ë £A®GáºåÐSA{®GÒ¢A¸…ëæÐSAÃõ(\¢AèÐSA×£p=Z¢A{®'ëÐSAÍÌÌÌ¢A{®WîÐSA ×£pô¡Aáz~ñÐSAÂõ(Ô¡AHázõÐSAö(\¹¡Aö(\/úÐSA\Âõ£¡AìQ¸nÿÐSA3333‘¡ApÑSA\Âõ¡A…ëQÈ ÑSA\Âõº¡A…ëa?ÑSAìQ¸9¢A…ëÓÑSAìQ¸g¢A¤p=ÚÒSA3333!£Affff»ÒSAÂõ(^£Afffv”ÓSA= ×£V¤AÃõ(Ì&ÕSA3333c¥A ×£ºÖSAHázR¦A)\‚LØSA= ×£8§A®GázáÙSA…ëQ»§A¤p=jnÛSA®Gá§A×£pM~ÛSA¤p= ЧAq= ‡ƒÛSA3333è§Aö(\ÿ‰ÛSA¤p= 1¨A)\–ÛSA®GቲAq= çÝSAHáz˲A…ëaÝSAÂõ(ø²AÍÌÌü)ÝSA{®G³A333c3ÝSA¤p= ;³AázÎ<ÝSAáz®S³A\ÂÕHÝSAR¸…ý³AÍÌÌ,€ÞSA$²ðÖÄ…ÓwA˜=¸ AÝSA÷ÕF±LA§µƒ…ÝSA ðÖÄ…ÓwA§µƒ…ÝSA…ëQ‘AìQ¸~}ÝSAÂõ(•A¤p=:|ÝSA)\§ÁA…ëQmÝSA¤p= ©ÇAfffVkÝSAö(\ÜóAHázD]ÝSAš™™™5úAffff[ÝSAÃõ(\sA{®'XÝSAq= × A×£pMNÝSAÃõ(\ýAR¸µMÝSA÷ÕF±LAiÌÑ|MÝSAq= × A×£pMNÝSA6A{®§MÝSAš™™™oA0LÝSA ×£p™AÍÌ̬JÝSA…ëQÅA333ÃHÝSAš™™™áAš™™)GÝSAq= ×úA{®§DÝSA=ÆpvA˜=¸ AÝSA%Hffffƒ AìQ¸>|ÎSA ×£pçtAfff&šÎSA ×£pçtAìQ¸>|ÎSA{®GÅ[A®GኇÎSA…ëQ¸ÍBA333ƒŽÎSAáz®©)A…ë”ÎSAq= ׇA= ×ã˜ÎSAffffƒ Afff&šÎSA&8áz®oAð\èSAÍÌÌÌùAÍÌÌl‚èSAáz®oAÍÌÌl‚èSA×£p=T¡AR¸UzèSAö(\ªÓAš™™ÙlèSAÍÌÌÌùAð\èSA'XÃõ(\æXAfff¦zéSAVøÅ£ƒwAü;H=ïSAHVøÅ£ƒwAü;H=ïSAÂõ(FwA333³3ïSAffff¶vAq= ç+ïSA¤p= štA®G! ïSAö(\csA®GÁ÷îSA{®G sAÂõØíîSA®Gá‰pA¤p=úîSAÃõ(\hoA®Gá`îSA{®GwnA®G¡;îSA×£p=ÜlA{®w¹íSA\ÂõæjA𙙉òìSA3333:jAÍÌÌÜ®ìSAffffiAq= —šìSA\Âõ iAR¸µ”ìSAÂõ(ÉhAHázÄìSA)\ÂQhAÃõ( ìSA ×£pÍgA\Â5ˆìSAÃõ(\YgA…ëaˆìSA= ×£ØbA¤p=úŠìSA®GáŽbA…ëQø‰ìSA®GáIbAìQ¸¾ˆìSA®GáðaAR¸¥†ìSA3333¦aA{®çƒìSA¸…ëdaA…ëQˆ€ìSAáz®%aAR¸e|ìSA)\Âí`A×£p=xìSAö(\¼`A ×£sìSAq= ס`AÂõÈnìSA…ëQ†`A®Gá iìSA¤p= œ^A…ëQÌëSA®Gá‰^A…ë‘ÅëSAq= ×z^A®GA¼ëSAffff…^AHáz¤³ëSAffff_Aq= w‰ëSA= ×£_AìQ¸.ƒëSA¤p= _AHázÄ|ëSA…ëQü^A= ×CtëSA\Âõ›^Aq= —[ëSAö(\W^A®GájIëSA×£p=2^Aáz?ëSAq= × ^Aáz~6ëSA¸…ëæ]AÂõ¸-ëSAÃõ(\¾]A¸…{&ëSAHázŒ]A333CëSAìQ¸K]AÃõ(ìëSA\Âõ]AfffæëSAö(\—\A…ëÑëSA= ×£ [A\ÂõôêSA{®GþZAázŽéêSAÍÌÌÌwZA)\àêSA…ëQ&ZA\ÂÕÙêSAHázðYA×£pMÔêSAìQ¸ÈYA®G!ÎêSA…ëQ§YA)\¢ÇêSAq= ×™YA¸…ËÀêSA= ×£³YAà‘êSA®Gá½YA\ÂU…êSA{®GÌYAq= ×{êSA ×£páYAš™™iqêSA®GáDZAfffÖPêSAq= ×lZAö(\ÿDêSA¤p= [A®GášêSA)\Â[A…ëQØêSAÍÌÌÌ#[A\ÂêSAR¸…)[A…ëQˆêSAš™™™[A×£píÿéSAHáz[A®Gáº÷éSAš™™™÷YAš™™ù¢éSA®GázÕYA®Gá šéSAš™™™¬YA®G1’éSAö(\wYAáz^ŠéSAÃõ(\æXAfff¦zéSA(0= ×£É+AfffVíÅSA. ºwyAHázd³ÇSAc= ×£É+AHázd³ÇSA3333|-A…ëq«ÇSA¸…ëv/A…ë¥ÇSA®Gá0A333ã¢ÇSAìQ¸†0A×£p ¡ÇSA¸…ëC3A×£p½’ÇSA…ëQŽ3A333³ÇSA= ×£ß3A{®ŽÇSA'4AR¸‹ÇSA×£p=i4Aq= ׇÇSAq= ׯ4A)\ÒƒÇSA®Gáú4AìQ¸.ÇSAáz®85A ×£|ÇSA®Gá¯5AÃõ(xÇSA= ×£a8A)\òbÇSAìQ¸O9A×£p-\ÇSAR¸…†9AHázôZÇSAìQ¸¼9A{®§ZÇSAR¸…Ñ:A0\ÇSA…ëQ4;Aš™™™]ÇSA¸…ë<A®Gá*bÇSA¤p= )>AHázDmÇSA×£p=n>A×£pMnÇSA®Gáz¤>A®GáênÇSA¤p= ä>A\ÂånÇSA)\Â?A…ë!nÇSA= ×£P?A333ÃlÇSA…ëQ¸v?A…ëQHkÇSA= ×£¯?Aáz®hÇSA®GáÙ?A×£pfÇSAÂõ(ÿ?A¤p=jcÇSA¸…ë@A{®‡_ÇSAR¸…%@A= ×3[ÇSAR¸…@AHázVÇSAö(\Þ?AHázÔEÇSAffffÖ?AÍÌÌAÇSA)\ÂÓ?A¸…K=ÇSA= ×£Ý?Aq= ç9ÇSAffff`@A\ÂE&ÇSAš™™™~@A ×£` ÇSAö(\š@A¸…ËÇSAffffµAAq= —«ÆSAR¸…áAA…ë¡ÆSA\ÂõBAÂõè•ÆSAR¸…|BA…ëQ†ÆSAáz®²BA\ÂuÆSA)\ÂÙBA\ÂÕ{ÆSA®GázCA¸…+xÆSAš™™™œEA…ëáTÆSA®GázÚEA¸…kRÆSA®GázFAö(\?PÆSA…ëQ¸ÂJA…ëÑ4ÆSA ×£p#KAáz.3ÆSAq= ×xKA…ëñ2ÆSA3333êVA®GáJ9ÆSAÂõ(.WAìQ¸~8ÆSA ×£p‚WAR¸•6ÆSAš™™™ÝWAš™™ 4ÆSA®Gáz'XAÃõ(<1ÆSA)\ŸXAš™™É*ÆSAö(\ýZA®GAÆSA¤p= {[A ×£@ÆSAš™™™\A®GázúÅSA)\½\AÍÌÌlõÅSA)\Â?]A…ëQxòÅSA×£p=Â]Aö(\ðÅSA{®Gb^A{®'îÅSA{®GÁ^Afff–íÅSA…ëQÄ_AfffVíÅSAR¸…¥`A333£íÅSA= ×£iaA333SîÅSAÂõ(ýaA333sïÅSA ×£p‘bAHáz¤ñÅSAö(\RcAq= õÅSA…ëQ“jAÃõ(| ÆSA…ëQ¸CkAp$ÆSA\ÂõâkAö(\o(ÆSAìQ¸…lA¤p= -ÆSAHáz-mA ×£3ÆSAÂõ(=oAš™™ HÆSAq= ×.pAR¸RÆSA)\ÂèpA…ëQ8YÆSA¤p= ÉqA¤p=ÚbÆSAÂõ(wrA)\¢jÆSA{®GƒsA333ƒwÆSAö(\KtA)\ÒÆSA…ëQuAáz¾ŒÆSA¸…ëvAR¸õ›ÆSA{®GÎvA…ë!¨ÆSA= ×£DwAáz®°ÆSAìQ¸ÃwAfffFºÆSA×£p=xAq= ‡ÁÆSAÍÌÌÌaxAÈÆSAö(\žxA ÎÆSA¸…ëÓxAìQ¸ÕÆSAÂõ(ýxAÃõ(¬ÛÆSA ×£pyAö(\ßáÆSAHáz>yA ×£`ïÆSA. ºwyA“’®øÇSA)ظ…ë ìA)\B¹ÀSA®GázúAáz.PÁSA¸…ë ìA\ÂEÁSAffff¾îA= ×ðÀSAffffÛîA¸…[íÀSAR¸…ìîAázþêÀSAö(\%ïA…ëQhÖÀSA…ëQ¸QñA{®W½ÀSAñA®Gá»ÀSA×£p=ÆñA×£pºÀSA= ×£.òA…ëa¹ÀSA= ×£—òA)\B¹ÀSA×£p=ëòAö(\¯¹ÀSAHáz.óAÃõ(|ºÀSAÍÌÌÌ€óA®Gq¼ÀSA®Gá¿óAHázT¾ÀSA®GáôA= ×£ÁÀSA)\ÂK÷AázÞäÀSAš™™™DùA\ÂUÁSA…ëQ¸~ùAÂõˆÁSA®Gáz§ùA€ ÁSAffffËùAÍÌÌ|ÁSA…ëQ¸àùAš™™¹ÁSA…ëQúùAffföÁSAáz® úA333SÁSA®GázúAáz.PÁSA*0¤p= ,A333sÂÂSAÍÌÌ̺‰AƒÍ^#œÍSA£¤p= ,A333sÂÂSA= ×£Þ,A¤p=Ê[ÃSA®Gáz-A333QÄSAffff˜-AR¸e ÅSA¤p= ­-A®GázÅSA\ÂõÁ-AffföÅSAÍÌÌÌà-AÃõ(¼ÅSA\Âõ .A®GáÊÅSAš™™™H.A×£p½ÅSAö(\;2Aš™™é_ÅSA¤p= u2Aö(\/cÅSAHáz³2A{®‡eÅSAÂõ(#4AHázToÅSA)\ÂÏ4Aáz.sÅSAÍÌÌÌ/5A333uÅSAÍÌÌ̃5A)\RwÅSA= ×£Õ5Aö(\?zÅSAq= ×6Aš™™Y}ÅSAÂõ(i6A…ë‘‚ÅSA…ëQ¸<:AìQ¸×ÅSA¤p= c:AfffFÛÅSA\Âõƒ:A®GÑßÅSAö(\Ž:A{®ãÅSAìQ¸›:AÃõ(çÅSAš™™™¥:A¸…{íÅSAq= ×0;A333ã\ÆSAffff6;AÍÌ̬dÆSAffffH;A×£p mÆSA= ×£Y;A)\rsÆSA)\Âw;A€{ÆSA®Gá™;A…ëQhÆSA…ëQ¸Ï;A×£p½‡ÆSA¸…ë<A…ëQ¨ŽÆSAR¸…<Aö(\ß–ÆSA ×£pÕ<AHáz”šÆSAáz®'=A333“žÆSA®Gáz~=AÃõ(Ì¡ÆSA ×£p×=A ×£@¤ÆSA®Gáz7>A\¦ÆSAffff¨>A{®G§ÆSA\Âõ3?A…ëQø§ÆSA®GáÍ?Aà§ÆSA\Âõ}AA×£p=¥ÆSAö(\îAAR¸¥ÆSA…ëQ¸OBA×£p¥ÆSA\Âõ¶BA®G!§ÆSA{®GCAìQ¸î¨ÆSAáz®YCA ×£°ªÆSA¤p= PIA3333ÜÆSAö(\iAÀ¹ÈSA ×£pwiA= ׃¿ÈSAš™™™±iAö(\OÄÈSAö(\ëiAR¸¥ÈÈSAö(\;jAÂõÍÈSAq= ×ÐjA®GáºÓÈSA{®GélA ×£PéÈSAwmAš™™YïÈSAR¸…émAš™™©ôÈSAHázPnAHáztúÈSA®Gá¬nA¤p=jÉSA= ×£oA®GáJÉSA®GáqoA)\"ÉSA¤p= rA ×£ðLÉSAÃõ(\sA ×£°eÉSA…ëQâsA{®ÇvÉSA3333¢tA\Âå…ÉSA¤p= øxA333SÛÉSAffffºyAq= —êÉSA…ëQ¸GA\ÂÅfÊSAìQ¸ŽA333³kÊSAÃõ(\æA)\qÊSAö(\B€AìQ¸žuÊSA¸…ë¶€AR¸¥zÊSA\ÂõA@}ÊSAö(\mAÍÌÌ<ÊSA…ëQèA{®·€ÊSAìQ¸T‚AÍÌÌœÊSAR¸…³‚A¤p=êÊSA×£p=…A= ׳ÊSA{®Gy…A¤p=ŠÊSAÔ…A)\ÒÊSAìQ¸1†A333ÊSA®GázކA333s‚ÊSAáz®é†A®Gq„ÊSA)\ÂL‡A¸…ˇÊSA= ×£·‡A¸…[ŒÊSAˆA®GáZÊSAffffPˆA×£pm•ÊSAìQ¸’ˆA…ëÑšÊSAö(\ˆA…ëQÈŸÊSA¸…ëðˆA¤p=ª¥ÊSAìQ¸‰AR¸E«ÊSA¤p= '‰AÂõh²ÊSAq= ×<‰AHázÔ½ÊSAÍÌÌ̺‰A= ×caËSAìQ¸¹‰Aö(\/iËSA×£p=°‰A¸…KqËSAö(\ ‰A= ×£zËSAìQ¸’‰AHázËSA)\Âw‰A×£pMˆËSAìQ¸X‰Aq= wŽËSAìQ¸1‰A333£”ËSA= ×£ùˆAfff6œËSA®GᆈAš™™)¨ËSA)\Â/ˆA…ëQ°ËSAìQ¸ð‡A)\²µËSA…ëQ¸š‡A¸…Ë»ËSA\Âõ ‡A¤p= ÅËSAìQ¸˜…AfffVÛËSAR¸…@…AÃõ( âËSAü„AÂõ¨çËSAffff°„AHázäíËSAÂõ(o„AÃõ(|õËSA ×£p0„A ×£`ýËSAÃõ(\„A{®ÌSA…ëQãƒA\µ ÌSAffffƃA®G¡ÌSA= ×£µƒA®GaÌSA…ëQ¸§ƒA¤p= !ÌSAR¸…œƒAfffv)ÌSA¸…ë–ƒA×£p3ÌSAáz®ùƒA×£p=ÖÌSAo¦H f„AƒÍ^#œÍSA+@áz®A= ×Ãt¿SAš™™™!‘AìQ¸Þ^ÃSAáz®A= ×Ãt¿SA×£p=ûA®GÑÁSAÂõ(±AÍÌÌì—ÂSA)\ÂõAš™™é&ÃSAš™™™!‘AìQ¸Þ^ÃSA, (Q‹A®GášSÜSA¤p= fAR¸ÅbîSA‚¤p= fA®GášSÜSA…ëQ¸õAš™™™VÜSAq= ×f÷AÃõ(LbÜSA…ëQ¸÷A×£p­bÜSAö(\²öAfffVcÜSA¸…ë]öA¤p=êdÜSA×£p=öA¤p=êfÜSA×£p=½õAÂõjÜSA…ëQ¸nõAR¸•mÜSAÍÌÌÌ'õA)\’qÜSA…ëQØôA)\’wÜSA\ÂõXôAfffVƒÜSAÃõ(\ôA…ëQ8ˆÜSAHázÖóA{®GÜSA…ëQ¸ŒóAfffF‘ÜSA¤p= 9óA ×£`”ÜSAÍÌÌÌÒðA®G‘§ÜSA…ëQ]ðAÍÌÌ\«ÜSA3333ðA×£p=¯ÜSAÍÌÌÌ´ïAfff¶³ÜSA{®GuïAfffÖ·ÜSA)\Â8ïAö(\ß¼ÜSAáz®ÇíAq= WåÜSA3333‰íAR¸%ëÜSA= ×£SíA×£pïÜSA{®G¼ìA= ×øÜSAffffçéA{®GÝSAš™™™2éAHáz&ÝSA…ëQ¢æAR¸•HÝSAÃõ(\ræA®GáZKÝSA¸…ëHæAÃõ(œNÝSAš™™™&æA¤p=ªRÝSA{®GÐâA×£p­ßÝSA¸…ë›âA ×£`æÝSA¤p= [âAR¸¥ìÝSA…ëQâAÂõóÝSAö(\™áAR¸UùÝSA ×£p:áAÃõ(LþÝSAffffäàAHázÞSA…ëQ¸zàA…ëQÈÞSA3333ýßA)\" ÞSA= ×£kßA)\² ÞSA¸…ëêÞAö(\OÞSA×£p=\ÞAÍÌÌLÞSA¸…ëŠÛA¸…ÞSAìQ¸IÛAìQ¸.ÞSAáz®ÛAš™™¹ÞSAÂõ(6ÚA×£p!ÞSA{®GjÙAš™™))ÞSA¤p= ÖA…ë1AÞSAR¸…uÓAö(\¿_ÞSA®GáçÒAÂõ(eÞSAš™™™BÒA®GqlÞSAq= ×¼ÑAq= 7sÞSA= ×£>ÑAfff–zÞSA¸…ëßÐA= ×sÞSAffffÐA…ëQ؉ÞSAáz®ÐAÍÌÌ,•ÞSA¤p= µÏAq= ·›ÞSA3333$ÏA ×£@¥ÞSA×£p=¾ÌAfffÊÞSA®Gá%ÌAfffÓÞSA ×£pÜËAHázTØÞSAq= לËA\ÂÅÝÞSA= ×£VËA{®çäÞSAHáz-ËAázžêÞSA\Âõ ËAö(\ŸðÞSAš™™™þÊA333#öÞSA×£p=òÊAfff¦ûÞSAq= ×öÊAÃõ(üßSA= ×£ËAö(\_ßSA3333×ÍAÃõ(l¹ßSA ×£pêÍA¸…»¾ßSA3333ùÍA{®÷ÄßSAR¸…ÎAfffÖÉßSA3333ÎAÂõÐßSAR¸…øÍA\Â%ÕßSA{®GâÍAìQ¸^ÚßSAÃõ(\ÉÍA×£pýÞßSAö(\¦ÍA®GQãßSA)\ÂwÍAö(\èßSA3333?ÍA®GñìßSA®GáÍAfff&ñßSA®Gáz ÌAìQ¸.øßSAö(\×ÄA¤p=úràSAHázÄAázŽ€àSA ×£p­ÃAìQ¸‰àSAáz®–¼AázáSAR¸…A¼A)\r"áSAö(\¼A3333&áSA®Gá­»A)\+áSAÃõ(\P»A)\â.áSA…ëQ¸òºA= ×c2áSAÍÌÌÌ›ºA)\‚4áSA\ÂõKºA)\6áSAö(\ô¹AÂõè6áSAR¸…š¹A¸…[7áSA¤p= (¹A ×£°7áSA{®G¤¸A ×£p7áSA®Gáú¶AÂõ˜4áSAáz®ú³AHázT.áSA{®G±³Aáz®-áSAÍÌÌÌb³AR¸•,áSA\Âõý²A= ×s*áSAš™™™ô²A\ÂU1áSA\Âõç²A×£p=6áSAö(\ϲA= ×<áSA= ×£´²AHázÄAáSA®GሲA…ëQHáSAìQ¸Q²AìQ¸¾NáSA×£p=²AàSáSA¸…ëDZAÂõYáSA®Gázv±AÃõ(¬\áSA= ×£Ú¯A)\iáSAJ¯AázmáSA¸…ëͬAö(\Ÿ…áSAq= ×d¬A¤p=úŠáSAq= ׫A)\¡áSA¤p= àªAìQ¸þ¥áSAáz® ªAÃõ( ¬áSA)\ªA\Âå¼áSA3333ì©AìQ¸®ÃáSA¤p= $©AÃõ(ÌæáSA…ëQ¸ ©A ×£ðìáSA®Gázÿ¨A)\ÂòáSAìQ¸ú¨A€÷áSA= ×£„©A{®g[âSA®Gá©Aš™™™`âSA)\Âw©Aq= §eâSA\Âõ©AìQ¸Î{âSAÃõ(\ݨAáz^âSAáz®§¨A ×£@‡âSAHázS¨AHázâSAÍÌĮ̀A= דâSA ×£pÞ§A¤p=ê•âSA×£p=r¥Aö(\«âSAÍÌÌÌ"¥A ×£®âSA¤p= ǤA®G1°âSA)\Âô A ×£°ÀâSA…ëQ¸€ Aš™™)ÃâSAö(\ПAö(\ÇâSAáz®öœA ×£PÝâSA3333ø›Aq= çâSAffffÁ›A¤p=*êâSAìQ¸‹›Afff†îâSA= ×£\›A{®ôâSAÃõ(\›AìQ¸ÎýâSA…ëQΚA333£ãSA®Gáz²šA×£pýãSAÂõ( šAö(\ß!ãSAìQ¸˜šAR¸õ+ãSAáz®«šA{®×IãSA ×£pºšA= ×PãSA)\ÂÒšAfffÖUãSA…ëQœAq= GƒãSA…ëQ)œAq= GˆãSAÂõ(8œA®GÑŽãSA ×£p;œAö(\¿–ãSAìQ¸-œA{®W¯ãSA= ×£/œA…ëqµãSAÂõ(9œA\ÂźãSAš™™™JœAÍÌÌœÁãSA®GáÜAö(\ÏÝãSAö(\ÚœAìQ¸ŽåãSA®GáæœAÃõ(ÌëãSA)\ÂéœAÐòãSA…ëQàœA®GáŠùãSA¤p= ËœAázäSA®GázœAÃõ(,+äSA¸…ëœAÍÌÌL1äSA×£p=ü›A{®·7äSA…ëQœAìQ¸>äSA= ×£ œA¸…[DäSAö(\¿œA)\²säSAáz®çœA\ÂU|äSA= ×£AìQ¸Ž…äSA{®GgžAìQ¸¾³äSA ×£pŽžA{®ºäSA3333´žA)\âÂäSAáz®ðžA…ëQˆÙäSAìQ¸ŸA…ëqáäSAö(\ ŸAö(\éäSAìQ¸ ŸAPïäSAš™™™ŸA…ëQ˜óäSAffffÖžA)\‚þäSA3333nžA{®çåSA{®GOžAÍÌ̼åSA ×£p7žA)\ò åSA.žA×£p­'åSA¸…ëöAÃõ( •åSA3333êAR¸¥™åSAq= ×ÐA…ë1åSA{®G´œA ×£ ¼åSA¸…ëXœAq= ÇÅåSA®Gáz œA)\ÍåSA)\±›AÃõ(<ÔåSAš™™™D›AHáz”ÛåSAìQ¸öšAö(\oàåSAš™™™–šA®GQååSA¤p= šA…ëáêåSA8™A)\bòåSA\ÂõܘA{®WöåSAÃõ(\¦˜A ×£ðùåSA…ëQ˜AìQ¸.ýåSA\Âõv˜AÃõ(,æSAö(\T˜A\ÂEæSAÂõ(P˜AHázt!æSA…ëQ„˜A= ×SMæSA¤p= Š˜A®GAUæSA®GázŠ˜AfffF\æSA…ëQ¸ƒ˜AÍÌÌœcæSAö(\u˜A{®§jæSA= ×£_˜AHáz¤pæSA= ×£?˜A…ëáuæSAÃõ(\ ˜AÃõ(œ{æSA¤p= P—A\ÂŒæSA{®G—A®Gáê’æSA¸…ëÓ–Aáz~˜æSA)\ž–AÂõ˜ŸæSA¸…ëp–A ×£°¦æSAìQ¸ΕAq= ÇÅæSA°•A= ףɿSAHáz†•ApÎæSA¤p= ^•A¸…ÛÑæSA)\Â)•AR¸%ÕæSAÍÌÌÌÓ”AázŽÙæSAffffA”A{®GßæSAÂõ(È’AÂõØìæSAš™™™c’A{®GñæSAìQ¸·Aáz® çSA= ×£/A333#çSA)\¡AHázäçSA…ëQdA…ëQ¸"çSAìQ¸8A333Ó'çSA¤p= A\Â5-çSA\ÂõÿŽA= ׃3çSA®GázìŽAö(\9çSAffffàŽAfffÆ?çSAffffÙŽA€FçSA¤p= ÞŽA\ÂÕKçSA¤p= êŽAPQçSA¤p= ýŽA333VçSA¤p= Aö(\O[çSA¤p= ]AázdçSA…ëQ†A333£içSA3333£A®G¡nçSA®Gá³A= ×£sçSA…ëQ»A)\âyçSAR¸…¹Aáz^çSA{®G„AfffšçSA®GázpAìQ¸>ŸçSAHázUAázÞ£çSA= ×£èŽA{®×²çSAš™™™ÔŽA= ×s·çSA×£p=ÊŽAR¸å»çSA×£p=ÓŽA ×£ÀçSAö(\ëŽA333ÃÅçSAR¸…¿A¤p= ãçSA×£p=×A×£pmççSA®GáçAÂõHìçSAáz®øA¤p=šñçSA{®GüA¸…KúçSA¸…ëæA333ƒèSA×£p=×AR¸åèSAÍÌÌ̽A®GáJèSAÜ‹A¤p=ÚièSAR¸…ª‹AÍÌÌ nèSA…ëQ¸‡‹A®GarèSA×£p=q‹AìQ¸þvèSA®Gá_‹A\Â5|èSA×£p=X‹Aš™™ièSAQ‹Aq= ‡‡èSA3333W‹AÍÌ̬èSAffff™‹A= ×3µèSA®Gáz¤‹A{®W¾èSA…ëQ©‹A¤p= ÐèSA×£p=ï‹A…ëQx éSA ×£pù‹Aš™™yéSA¸…ëŒA333SéSAÃõ(\+ŒAö(\?éSAffff[ŒA…ëqéSA®GᔌA×£pÝ éSA¸…ëÜŒAÃõ($éSA¸…ë+A×£pm&éSAR¸…A ×£ (éSAffffæAq= W)éSAìQ¸Š“A¤p=ê/éSA¤p= —Aö(\_1éSAö(\–—A®Gáj0éSAHáz ˜A¤p=*/éSA×£p=„˜A¸…K-éSAR¸…9™A€)éSA…ëQ@šA{®7"éSAÂõ(šA{®· éSAÍÌÌÌîšAq= §éSA…ëQÑA…ëñéSAq= ×MžAÃõ(\éSAÍÌÌ̪žA®G! éSA…ëQ¸ôžAö(\ÿ!éSA5ŸAö(\/$éSAÃõ(\nŸAÍÌÌL'éSA3333¨ŸA)\¢+éSA)\ÂþŸA ×£€4éSA…ëQ2 A¤p=J;éSA®GázO A®Gá AéSAÍÌÌÌX Aš™™éEéSAR¸…P ApIéSAR¸…< A3333NéSAš™™™ A¸…KSéSA®GáKŸA333ÃgéSA×£p=ŸA…ë1oéSAáz®ÄžAìQ¸îvéSAÂõ(’žA×£p}~éSA…ëQ¸HAÂõ(¹éSA ×£p2A¸…;¾éSAáz®%AR¸ÕÂéSA= ×£%A…ë¡ÈéSAáz®@A®GáÕéSAffffGAR¸…ÙéSAffffDA¤p=ÞéSAÂõ(5A×£pâéSAÍÌÌÌAö(\?èéSAìQ¸â›A®GáÊêSAö(\—›Afff&êSA®Gá[šA®G;êSAÂõ(šAÍÌÌüAêSAR¸…·™A`JêSAáz®z™A333“PêSAq= ×W™A ×£ÀTêSA¸…ë7™AR¸%ZêSA ×£p ™AR¸…cêSAÍÌÌÌ^˜Aö(\?•êSAY˜A¸…ë˜êSAáz®Z˜Aš™™ êSA ×£pɘA…ëQ8½êSAÍÌÌÌšA ×£0ëSA ×£p#šAÀ ëSAÍÌÌÌ"šA×£p-ëSA ×£pšAázîëSAffff’™A ×£TëSAHázŒ™A…ëQh\ëSA®Gáz‰™A¸…ÛgëSA×£p=™AðoëSAÍÌÌÌŸ™AHáz¤tëSAö(\Á™A ×£ yëSA…ëQ¸ñ™A®G!~ëSAR¸…+šAP‚ëSA)\Â}šA¸…›†ëSAÍÌÌÌÑšA`‰ëSA ŸA®G1¦ëSA{®GlŸA…ëQ©ëSAö(\ÖŸAq= —¬ëSA¸…ë¡AÃõ(Œ¹ëSA3333A¡AázμëSAö(\x¡AázþÀëSAáz®¨¡A{®WÅëSAÂõ(Ï¡A333ÊëSAìQ¸à¡A…ë¡ÏëSA)\Âõ¡Aö(\ÚëSA\Âõœ¢A×£p CìSAö(\ˆ¢A)\MìSAq= ×[¢Aš™™)WìSA{®Gÿ¡A ×£ðiìSA®GázÜ¡A…ëQˆtìSA×£p=¸¡A333£ìSAÃõ(\¼¡A®GÑìSA¢Aö(\O©ìSA¸…ëy¢A\Âu¹ìSAò¢AffffÆìSAR¸…£AR¸µ×ìSA®Gá7¤A…ëÑììSAö(\š¤A¸…+ûìSA®Gáz¥A®GáZ íSAìQ¸h¥AR¸%íSA¸…뮥A×£p ,íSA\ÂõJ¦AáznIíSAffff¨AÍÌÌ,—íSA×£p=1©Aö(\¯ÆíSA®GáªAHázTîíSAR¸…†ªA¤p= îSA¤p= ¹ªA®GAîSA®GáùªA{®‡2îSA= ×£&«A)\‚@îSA`«A×£pmIîSA{®G¢«A®G1PîSAR¸…¬AR¸ÅbîSA-ŒMøP©A¸…»oÈSA®Gáz÷A-“- ËSA>®Gáz÷A¸…»oÈSAffffyƒAš™™9vÈSA…ëQ wA®GAxÈSA{®GŒtAÃõ(ÌyÈSAÃõ(\6^A…ëñƒÈSAáz®EA¸… ÈSA\ÂõN0A×£p˜ÈSAR¸…›/A¤p=Š™ÈSAffffÓSAö(\ÓAš™™éEÓSAffffDÓAìQ¸þNÓSAÂõ(ZÓAq= —VÓSAÃõ(\sÓAÃõ(Ü_ÓSAÃõ(\žÓA= ×CrÓSAìQ¸»ÓAq= w…ÓSA…ëQ¸ßÓAp•ÓSAHáz@ÔAš™™)·ÓSAš™™™XÔAq= WÃÓSA®GálÔAÂõ˜ÐÓSA×£p=‹ÔA\Â…êÓSA®Gá¥ÔAfff6úÓSA®Gáz½ÔAÍÌÌÜÔSAáz®ÑÔA×£pý ÔSA×£p=êÔA®G1ÔSA= ×£ ÕA\ÂuÔSA×£p=6ÕA ×£`&ÔSAffffxÕAR¸u2ÔSAÂõ(‡ÙAìQ¸®ÂÔSAö(\)ÚA×£pÝ×ÔSAìQ¸»ÚA…ë‘éÔSA¤p= ÎÛAš™™IÕSAÂõ(jÞAázîHÕSA{®GäÞA= ×CTÕSAÃõ(\KàA®GQrÕSA\ÂõúàAHázä€ÕSAìQ¸kâA)\²ÕSA¸…ëŽäA®G±ÇÕSAÂõ(áäAÍÌÌìÍÕSAq= ×åA3333ÔÕSA®Gáz=æA…ëQèïÕSA¸…ëËèAð,ÖSAš™™™éAÃõ(Ü4ÖSA= ×£QéA…ëQè;ÖSA×£p=wéAš™™yAÖSA…ëQ¸óéA\Âu]ÖSA= ×£êAÃõ(¼‚ÖSAÍÌÌÌšêA®GA‡ÖSAÍÌÌÌÌêAš™™ÖSAëA)\Ò“ÖSA3333^ëA ›ÖSAáz®fïAq= WñÖSAš™™™ÅïA…ëÁøÖSA®Gá(ðAö(\?ÿÖSA)\ÂðAR¸E×SA3333ñA¤p= ×SAffff¬óA\Âu'×SA…ëQ ôAázn,×SAáz®lôAš™™)2×SAìQ¸ÃôA×£p7×SA= ×£õAÍÌÌü=×SAÂõ(XõA®GaC×SAHáz™õAÂõèI×SA ×£pÎõA\ÂEQ×SA¸…ëüõA®GájY×SA…ëQ¸&öA®Gáa×SA{®G;öA×£pk×SAö(\AöAìQ¸þu×SA)\‰öA333ÓØSA= ×£–öA{®+ØSA…ëQ¸£öA¤p=Š4ØSA®Gáz±öAR¸5?ØSAìQ¸ËöAÍÌÌèSA)\ÂwOAq= GDèSA¤p= ·OA ×£KèSA…ëQôOA®Gá:SèSA…ëQ¸,PAq= g[èSA®GáPPAfffvaèSA3333aPA®GázfèSAš™™™gPA×£p kèSA ×£p_PA333óoèSA ×£pôOAHázô•èSAÍÌÌ̪OA®G¡¹èSA= ×£˜OAfffƽèSAìQ¸zOA®GázÁèSAHázROAìQ¸ÎÅèSAÍÌÌÌOAq= 'ÊèSA= ×£äNA ×£€ÎèSAìQ¸NAÀÛèSA¸…ëCLA®GQöèSAÃõ(\LA333ÓúèSAÃõ(\ÛKA®GÿèSAö(\ºKA¸…+éSA×£p=šKA\µéSAffffˆKA\ÂÅ éSA)\Â{KA\ÂåéSAáz®kKAÂõøéSAÍÌÌÌûJA= ׃éSAÍÌÌÌÕJA\ÂÅ"éSA¸…ëÀJA®G&éSA®Gáz¸JAÍÌÌü)éSA ×£p·JA333C.éSA…ëQÀJAÃõ(ü2éSA= ×£ËJAHáz´7éSA3333ÙJAìQ¸Î;éSAq= ×ðJA®GÑ@éSA)\ÂKAš™™©EéSA…ëQ=KA= ×£JéSAáz®MA333óréSAfffffMAR¸{éSA ×£p‚MA\µ~éSA{®GœMA®GáƒéSA3333¯MA= דˆéSA= ×£µMA×£pMéSAR¸…²MAfff¦’éSAáz® MAfff¶—éSA®GázŒMAR¸éSA{®G MA333µéSA ×£p¥LAš™™yÄéSA¤p= ƒLAÍÌÌ<ËéSAö(\cLAìQ¸^ÓéSAILAfff¦ÛéSAHázÿKAÍÌ̼êSA¸…ëýKA\µ êSAR¸…LAHázäêSAHáz@LAfff† êSA{®GÄLA…ë1?êSAq= ×ÔLA¤p=úDêSA{®GÞLA ×£`KêSA¸…ëéLAfff&gêSAÍÌÌÌéLAÍÌÌ,nêSAÂõ(âLAÂõ˜têSAáz®¸LAö(\’êSA¸…ëžLAÃõ(,¤êSA×£p=ƒLAÍÌÌl°êSA®Gáz-LA= ×CÔêSAR¸…%LA\ÂÅÙêSA3333"LA)\‚ÞêSAffff&LAš™™ÙãêSAáz®,LAffföçêSA\ÂõMAìQ¸^¢ëSA= ×£ïLAÃõ(¼«ëSA×£p=¾LA…ëQ¶ëSA…ëQ¸LA®GếëSAR¸…ËLAR¸µÆëSA ×£pMAÍÌÌüÌëSA®GáLA\Â-ìSA¤p= LAš™™™3ìSA®GáòKAš™™É;ìSA)\ÂÅKA{®7EìSA®Gáz¬KAàRìSA®Gá¿KA= ×£aìSAq= ×ÑKA333sjìSA\ÂõóKAÂõØqìSA…ëQ¸ LA{®—zìSAáz®8LAq= gìSA…ëQOLA\Âå‰ìSA×£p=~LA×£p-’ìSAq= ×µLA333“œìSAÀLAHáz¤¤ìSA)\ºLAÂõX¯ìSA3333—LAìQ¸î¿ìSA\ÂõvLA\ÂeÊìSA= ×£^LA333ÃÕìSAffffELA ×£ÀßìSAq= ×WLA= ×SéìSA{®G¾LAáz^ôìSA®Gá´ÊSA{®G¶ŒA¤p=*¸ÊSAìQ¸*ŒA×£pÍ»ÊSAÃõ(\§‹A{®§¾ÊSA®Gáz<‰A0ÉÊSA¸…ëê‡AR¸•ÎÊSA¤p= ‡AR¸…ÒÊSA…ëQ†A ×ÊSAffff\…A333SÛÊSAÍÌÌÌ„AázþâÊSA\ÂõƒA)\¢éÊSA®Gáí{AR¸åËSAÂõ({Aö(\ËSAìQ¸—zAR¸•"ËSAåyA\•(ËSA)\ŠxA…ëQ5ËSAìuAÃõ(\PËSA×£p=¨mA ×£€£ËSA ×£pOmAö(\O§ËSAš™™™ïlAR¸å«ËSAš™™™ò`Aq= ·aÌSA3333Ÿ`A= ×ãfÌSAìQ¸S`AfffækÌSAq= ×`AÃõ( qÌSAÝ_Afff¶uÌSA)\°_A¤p=úzÌSAìQ¸Œ_Aázþ€ÌSAÃõ(\x_Aö(\_†ÌSAÃõ(\u_A…ë±ÌSAö(\£_A{®§ÍSAÍÌÌ̘_A¤p=ÍSAÂõ(Ž_AðÍSA= ×£|_A®GáÚ ÍSA®GáZ_AÂõÈÍSAìQ¸<_Aq= GÍSAq= × _AìQ¸>ÍSAÂõ(Ò^A®Gáê ÍSA¤p= ^AìQ¸Î%ÍSA®GáG^AÃõ(<)ÍSAffffñ]AÃõ(¼,ÍSA…ëQ“]A)\¢/ÍSAÍÌÌÌ4]A{®w1ÍSAq= ×ß\AÍÌ̬2ÍSA×£p=r\Afffv3ÍSA¤p= +[AÍÌÌ,5ÍSA)\ÂZSAð4ÍSAffffOGA333“4ÍSA3333V,A¸…K_ÍSA0H= ×£HÃA…ë1y¿SA= ×£iÅAfffÖÄSA= ×£HÃA…ë1y¿SAÃõ(\sÄA¸…»7ÀSAŸÄA…ëQXÁSAffffÅAà—ÂSA×£p=6ÅA®G᪠ÃSA= ×£iÅAfffÖÄSA18ÍÌÌÌ ÒA)\r!ÄSA31A®G±ÒSAdÍÌÌÌ ÒA)\r!ÄSA…ëQÔÒA{®³ÅSAq= ×mÓA`ÆSAÑÓA`NÇSAáz®VÔAÂõ¾ÈSA®Gáz|ÔAÂõŠÉSA)\¤ÔA\ÂE-ÊSA±ÔA\Â53ÊSAq= ×ÈÔA®GÁ7ÊSA3333òÔAq= W=ÊSA×£p= ÕAázNBÊSA= ×£HÕAš™™™EÊSAÂõ(‚ÕAázÞHÊSAÃõ(\ÔÕAR¸µLÊSA ×£pÖA€OÊSA3333uÖA®GáÊQÊSA®GázáÖA®GÁSÊSAR¸…(×A@TÊSA)\Â{×Aš™™¹TÊSA…ëQ¸ ÛA®GáQÊSAÃõ(\žÞAR¸ENÊSAR¸…úÞAš™™¹NÊSAÃõ(\QßAš™™ÉOÊSA\Âõ”ßA…ëQQÊSA®GázÕßAö(\¯RÊSA àAázÎTÊSAR¸…SàA¸…XÊSAö(\“àAfff¶[ÊSAffffÒàA®Gá `ÊSA®GááAÂõdÊSAÃõ(\5áAÃõ( iÊSAìQ¸RáA\•mÊSAìQ¸báA¸…ëpÊSAáz®jáA\ÂõsÊSAffff‹áAHázdçÊSAÃõ(\“áA×£pÝîÊSAR¸…©áAìQ¸>õÊSAÂõ(ÄáA= ׳úÊSA)\ÂàáAìQ¸îþÊSA= ×£âAËSA= ×£4âAR¸åËSAÂõ(sâA\Âu ËSAffff¶âAö(\ ËSA)\ÂãAÍÌÌ|ËSA= ×£^ãAš™™ÉËSA3333·ãA333SËSAÃõ(\äA°ËSA…ëQ¸qäA…ëQxËSA ×£pÎäA®Gá*ËSAq= ×!úAÍÌ̼ËSA ×£p`A= ×ãýÊSA×£p=ˆA0úÊSAfffföAfffÆúÊSAq= ×NA…ëüÊSAÍÌÌ̸A{®GþÊSA…ëQ¸ûAázžËSA= ×£RAR¸%ËSAìQ¸–A®GáÚËSAŒMøP©A-“- ËSA\Âõ÷AÍÌÌËSA\Âõ,AázNËSA®Gáz]A¸…kËSA3333„A×£pËSA)\¡A)\#ËSAR¸…²A×£p=(ËSAffff¹A×£p-ËSAÂõ(¾A)\Â2ËSAffff§AìQ¸>ÃËSAš™™™™A)\'ÌSA\Âõ–AHázñÌSAffffœA{®WøÌSA«Aö(\þÌSAq= ×ÀA×£p½ÍSAö(\àAR¸¥ ÍSAö(\ Aö(\¯ÍSA…ëQ5 AìQ¸¾ÍSA\Âõl A= ×cÍSAÂõ(© A= ×CÍSAö(\ç Afff†ÍSAq= × !AìQ¸."ÍSAÂõ(p!AR¸õ$ÍSAR¸…Æ!AÃõ('ÍSAÂõ($"AÂõ)ÍSA¸…ëƒ"A®GQ*ÍSAffffô)AìQ¸N@ÍSA3333c*A¸…kBÍSA ×£p¾*A ×£DÍSA3333 +Aš™™ GÍSA®GáA+AR¸eIÍSA)\‚+Afff¦LÍSA{®GÁ+A…ëQˆPÍSAÃõ(\,Aš™™IUÍSA…ëQ¸(,A¸…‹XÍSA\ÂõE,Aö(\¿[ÍSAö(\P,A333ƒ]ÍSA3333V,A¸…K_ÍSA{®G}-A×£pÍíÎSA\Âõv.Aq= —jÐSA3333.AÍÌÌŒ{ÐSA31A®G±ÒSA2ÍÌÌÌÖFA= ×£úÑSAq= ×èRAaz¨ÚSA€ú^…ùQAaz¨ÚSAffffRA¤p=:žÚSAìQ¸5RA…ëQè•ÚSA)\ÂÈRAkÚSAffffÜRA®GcÚSAq= ×èRAR¸e[ÚSA®GázèRAìQ¸®RÚSA)\ÂßRAìQ¸NHÚSA×£p=ÏRA0=ÚSA\Âõ¹RA¸…;2ÚSAö(\RA¤p=º$ÚSA ×£piRA\ÂEÚSAq= ×ÖSAƒNA ×£ õÕSAffffŒNAHázäìÕSAÂõ(‹NA{®ÇæÕSAìQ¸ƒNA¤p=šáÕSA= ×£nNAìQ¸þÛÕSAš™™™ÐMAìQ¸¹ÕSA…ëQûLA×£p­ÕSAš™™™ÛLAq= §‡ÕSAffffËLAázÕSAö(\ELAHáz4-ÕSA{®GILAÃõ(<'ÕSAìQ¸\LAázþ!ÕSA×£p={LAàÕSAö(\¯MAÃõ(üøÔSAÍÌÌÌÎMAR¸ôÔSA…ëQæMA\ÂuîÔSA ×£pöMAHázÄèÔSAÂõ(úMAÃõ(ÌâÔSA= ×£çMAš™™ ¸ÔSA®GázÕMA\ÂE²ÔSA¤p= ·MA…ëa¬ÔSA¤p= MAq= —§ÔSAR¸…^MA¸…k£ÔSA)\¨KA= ×Ó‚ÔSAÍÌÌÌ"KAq= ‡wÔSA3333ßJAö(\ÏpÔSAÂõ(JA333ãVÔSAR¸…0GA333C ÔSAffffGA…ëQhÔSA3333êFA×£pþÓSAš™™™ÝFA…ëQhùÓSAÍÌÌÌÖFAÍÌÌ<òÓSA¤p= ÞFA{®÷éÓSA¤p= íFA ×£pâÓSA ×£p9GA×£p-ËÓSAö(\mGA¤p=ZÀÓSAR¸… GAÃõ(¬·ÓSA)\ÂåGAìQ¸Î¬ÓSAìQ¸úIAfffcÓSAÃõ(\JAfff6]ÓSAR¸…JAR¸%XÓSA¸…ëJA¤p=SÓSA)\ JAfffVMÓSAR¸…øIA0HÓSAö(\×IAfff&BÓSAáz®{IA®G±3ÓSA3333bIA…ëñ-ÓSA…ëQUIAq= Ç(ÓSAHázRIAö(\o#ÓSAÂõ(VIA333ÓSA{®GcIAÂõxÓSA33339JAÀØÒSAÂõ(LJAö(\¯ÏÒSA[JA®GáÃÒSA¸…ë\JA®Gá¶ÒSAÍÌÌÌUJA¤p=¯ÒSA\Âõ?JA®Gá:£ÒSA¸…ëïIA= ×Ó{ÒSA\ÂõÝIAHázdrÒSA ×£pÙIAš™™éjÒSAffff÷IA= ×£úÑSA3à)\ÂënAÐôº®°ÃSAæòËBEA= ×S ÆSA9æòËBEAÐôº®°ÃSA= ×£qAÍÌÌüµÃSAq= ×üAìQ¸ž¶ÃSA3333ªA®GáZ·ÃSA ×£pÝAìQ¸Ž¹ÃSAffff(A\Â5¼ÃSAáz® AfffêÃSA{®G²AHáz4ìÃSAq= ×VAìQ¸>ïÃSA¸…ëýA\•òÃSA…ëQžA\Âu÷ÃSAFA= ×SüÃSA3333 A°ÄSA¸…ëÖA)\2ÄSAffffœAHázd ÄSA ×£pbA\ÂõÄSA®GáFAq= GÄSA®Gá2A®G1ÄSA3333/A333# ÄSAEAázN[ÄSAHázEAq= 7qÄSA¤p= 1Aš™™zÄSA®GáAš™™9‚ÄSA¤p= ÿA®Gq‰ÄSAR¸…ÚA)\ÂÄSA®Gá©AìQ¸>–ÄSA…ëQ¸jAìQ¸ÄSA®Gá6A)\‚¡ÄSAHázðûAìQ¸ŽÕÄSAìQ¸‰ûA)\òÙÄSAq= ×ûAÂõ¸ßÄSAÌúA)\²äÄSAffffúA)\âñÄSAffff²ùAfffùÄSAÂõ(6ùA{®WÅSA×£p=¢øA333sÅSAÂõ(È÷AÂõˆÅSAÂõ(8÷A…ëQ¸ÅSAÍÌḬ̀öA= ×Ó ÅSA…ëQrõAÂõ(.ÅSA{®G'ïAR¸mÅSAÃõ(\ÍæAq= w¼ÅSAÂõ(låAHázäÈÅSA= ×£†äA…ëñÏÅSA×£p=*ãA\ÂuÙÅSA)\ÂáA ×£€ãÅSAÍÌḬ̀àA)\âèÅSA ×£p×ßA333óìÅSAáz®ýÞAÃõ(ìïÅSA®GázFÞA×£pÝñÅSAffff^ÝAàóÅSA×£p=(ÜAö(\ÿõÅSAÍÌÌÌ€ÚA®G±÷ÅSA)\Â1ÒA®GQùÅSAÍÌÌÌž²A…ëaúÅSA…ëQ A{®·ÆSA)\ÂënA= ×S ÆSA4@®Gáz÷A= ×SIÈSAfôA¸…»oÈSA®Gáz÷A¸…»oÈSA{®G ©AÂõbÈSA®Gá,ÂAR¸õUÈSA¸…ëMÛA¸…«IÈSAfôA= ×SIÈSA5$ÍÌÌÌÓþAÆ~ÓÅSAZÕYáGpAffffJÈSA!ZÕYáGpAÆ~ÓÅSAö(\=pA€ÓÅSA= ×£”UA…ëÁïÅSA¸…ëmJA)\¢÷ÅSA\Âõ)CAáz¾÷ÅSA¸…ëBA ùÅSA{®GBA= ×sûÅSA)\‡AA®GÑþÅSA…ëQ¸ö@A®GáÆSA)\Âm@A…ëQˆ ÆSAö(\@Aáz^ÆSAš™™™½?A…ëQ¸ÆSA×£p=|?A= ד$ÆSAÃõ(\g?A333s/ÆSA×£p=’?A¸…;ÂÆSA¤p= w?A ×£°ÈSA\Âõh?A®GáºÈSA ×£p)?AÀ%ÈSAö(\Ê>A…ëQ/ÈSA¤p= Z>A{®§6ÈSA3333ë=Aáz®;ÈSAffffa=AR¸•@ÈSA®GáÏ<A\ÂEDÈSA¸…ëS<A…ëQhFÈSA3333‰;A®GázFÈSA3333‰&AffffJÈSAffffj AfffvIÈSA= ×£ A ×£ IÈSA¾AffffJÈSA¾AffffJÈSA)\¬AHázÔ-ÈSAÍÌÌÌÓþAÃõ(Affff;SAq= ×`?A®GáªÂSA…ëQ¸ü>Affff;SAq= ×`?AR¸mÀSAö(\?A®GáªÂSA8¨…ëQ¸9AE¸|–þÀSA¤p= $?AÂõØbÒSA²·Wjß9AE¸|–þÀSAš™™™:AìQ¸^cÁSAHáz|:A333ãFÂSA¸…ëu:AÃõ(ÌIÂSAö(\c:Aš™™¹LÂSA3:A)\2PÂSA ×£p:A)\ÒRÂSA®Gázj9A{®XÂSA*Žk…M8A0–]_ÂSA®Gá‰5AÃõ(|pÂSA…ëQ¸<5AÍÌ̼rÂSA)\Â5AR¸EuÂSAHázÅ4A®G‘xÂSAö(\š4A×£pý{ÂSA3333z4A{®w€ÂSA×£p=a4AÍÌÌ<…ÂSAÂõ(M4A¸…ëŠÂSA¤p= R4A°•ÂSAš™™™œ4A\Â7ÃSA…4A)\ò;ÃSA…ëQu4AÃõ(|?ÃSAÂõ(c4AìQ¸ÞBÃSA¤p= >4AÂõ¨GÃSA{®G4A®GáŠMÃSA…ëQ¸Ê3Aq= 7RÃSAÍÌÌÌ€3A)\rVÃSAffff/3AÃõ(-Aq= ·=ÉSA)\Â\-AìQ¸NCÉSA®Gáz¶/AfffžÉSA{®GÙ/AÃõ(¬£ÉSA®Gáù/A…ëQ¸©ÉSA…ëQr2AÂõ˜4ÊSAHáz“2A333ó:ÊSAHáz»2A)\"AÊSA)\Âê2A¤p=êGÊSA'3A{®GOÊSA\Âõ3Aáz.YÊSAž¼Væ4Aß|qeÊSA{®GB;AfffÆËSAÂõ(p=A333c/ËSAìQ¸¡=A\Â4ËSA{®GÕ=A{®:ËSAR¸…ú=A¸…›?ËSA)\ >AR¸GËSA×£p==>A= ×sNËSAR¸…R>AHáz4VËSA¤p= $?AìQ¸þÌSAq= ×!?A¸… "ÌSA…ëQ?AÃõ('ÌSAš™™™?A= ×3,ÌSA¤p= á>AR¸2ÌSA)\¼>AÃõ(\7ÌSAR5A¸… ,ÍSA3333#5Aq= ÷/ÍSA×£p=è4A ×£4ÍSAÂõ(£4A333“7ÍSAÅ.Aš™™™wÍSA\Âõl.A…ëQ8|ÍSA4.A×£pÍSA= ×£û-A= ×óƒÍSA)\Â,A¤p=*³ÍSA3333Ü(A×£p}ÎSAR¸…"AÍÌÌl¶ÎSAR¸…W"A ×£0¾ÎSA\Âõ"A…ëQ¸ÆÎSA×£p=þ!A ×£ ÎÎSA®Gáæ!A ×£ÀÔÎSAÂõ(Ò!AÃõ(ÜÜÎSA ×£pÉ!A¸… åÎSAáz®"A ×£p>ÏSA®GáÇ"A ÐSA…ëQ¸…#A\•ÐÐSAø€i °$Aáò  ÒSAÿ$AÂõØbÒSA9X3333šAfffVÉÏSAö(\À°A ×£ÀoÐSA{®G`°AfffVÉÏSAö(\À°A)\ÂÚÏSA?©AÐSA[€~ :¥Ax¥ Ù*ÐSA= ×£ì A®GáJHÐSAö(\›A ×£ÀoÐSAáz®çšAfffnÐSA3333šAR¸edÐSA:PHázCA®GÁðÜSAS½B3hA''›ëHÞSAHázCA€òÜSA ×£p¶A®GÁðÜSA)\ÂÝA ñÜSAÃõ(\Aš™™¹òÜSAffffA)\"õÜSA`ÿáFAvÖèv(ÝSAS½B3hA''›ëHÞSA;ÍÌÌÌœnAHázÔüÆSA¸…ë·}Aö(\¯9ÉSA/¸…ë·}A\ÂÕÇSAÃõ(\C}A333ýÆSAÂõ(-}AHázÔüÆSAHáz }A333ýÆSA®Gá¦zA)\ ÇSAìQ¸ÓyAfffÇSA¤p= „yA)\rÇSA. ºwyA“’®øÇSA¸…ëJyAìQ¸¾ÇSA×£p=yAázþÇSAffffÄxA{®×ÇSA…ëQ¸‰xAáz^ÇSAffffTxAR¸¥"ÇSA¤p= xA{®'(ÇSAö(\çwAfff/ÇSA®GáÓwA®Gq2ÇSA…ëQ¸–wA{®·GÇSAÂõ(mwAq= çUÇSAq= ×VwAÍÌÌÜ\ÇSA= ×£:wA¸…+bÇSA= ×£ wA)\ÂgÇSAö(\èuAHázd„ÇSAÃõ(\ÈsA¤p=:´ÇSA®GápsA×£p¼ÇSAR¸…rAR¸eÕÇSAHáz&rA¸…«ÞÇSAÃõ(\ËqA333éÇSAq= ×tqAfffFòÇSAö(\ŽoAÍÌÌŒ$ÈSAš™™™]oA®G‘+ÈSA3333?oA…ëQ(1ÈSAÂõ(oA°9ÈSA= ×£ìnAÍÌ̼CÈSA ×£pÎnAfff&MÈSA®GáµnAázžWÈSAR¸…©nA…ëQˆ^ÈSAš™™™nA×£pÍwÈSAÍÌÌÌœnAR¸Å}ÈSA¤p= µnA…ëQØ™ÈSA®Gá½nA0ªÈSA¤p= »nAfffÆ%ÉSAÍÌÌÌ¿nA ×£ )ÉSA®GáÍnAq= ×+ÉSA\ÂõênAÂõø.ÉSAffffoAHáz„2ÉSA®Gáz`oAÃõ(L6ÉSAÍÌÌ̲oAö(\¯9ÉSA<ÀÍÌÌ̲oA¤p=ÆSA…ëQZâA×£p­DÉSAu…ëQZâA¤p=ÆSA…ëQ¸ÜÔAÂõ*ÆSAHáz†ÌA)\r/ÆSA×£p='ÌAÂõ(0ÆSA×£p=ÍËA333ƒ1ÆSA®GázsËAö(\/3ÆSA®Gá÷ÊAHázÔ5ÆSA¤p= zÊA ×£ð8ÆSA¸…ëÜÉA…ëQ=ÆSA)\Â[ÄAìQ¸ŽjÆSA)\ÂÄA\•mÆSAÍÌÌÌÞÃA×£pÍoÆSAö(\ˆÃAÂõ8tÆSAÂõ(5ÃAázŽyÆSAR¸…5ÁAHázœÆSA\Âõ¸ÀAR¸U¢ÆSAš™™™é¼A¸…ëÞÆSA{®Gy¼A{®7åÆSA\Âõ»AHázÄíÆSAffffºAq= üÆSAR¸…K´Aš™™9LÇSA¤p= ñA\ÂålÇSAÃõ(\…±A®GáªoÇSA…ëQ¸?±A¤p=ŠqÇSAÃõ(\ô°AR¸5rÇSA—ªAfffÖtÇSAÍÌÌÌTªAö(\tÇSA0¦AÍÌÌŒ\ÇSA¸…ëF¤A\ÂõQÇSA…ëQ^£A)\NÇSA×£p= £Afff¦LÇSAffff½¡A®G±AÇSA®Gáw¡A= ×3@ÇSA)\´ Aö(\_=ÇSA  Aš™™y:ÇSAáz®ÎAìQ¸.1ÇSA¸…ëA®Gáz0ÇSA{®G;A\Â50ÇSAáz®AìQ¸^0ÇSA¤p= ðšA×£pÝ6ÇSAR¸…¸šAö(\ï7ÇSA‹šAÂõH9ÇSAR¸…TšA®Gá;ÇSA)\ÂP˜A ×£0\ÇSA®Gáz —A)\RtÇSA®GáÙ–A\Â…wÇSAq= × –AÂõøyÇSAHázj–AÍÌÌ|ÇSA×£p=)–A…ëÑ}ÇSA3333Þ•A®Gñ~ÇSA= ×£‹•A{®ÇÇSAš™™™ •Aš™™ùÇSAÍÌÌ̹”A)\‚€ÇSAÃõ(\n”A\ÂÇSAHáz(”A®GáúÇSA ×£pâ“A¤p=ÚƒÇSAìQ¸¢“A)\R†ÇSAR¸…`“A®GázŠÇSAÍÌÌÌî’A®GáZ“ÇSA…ëQ¸v’A ×£ ÇSA3333ΑAÂõ(¬ÇSA3333L‘A)\Ò¹ÇSA®Gá‘AR¸U¿ÇSA)\ÂÈAÂõXÅÇSAffffVAìQ¸NÍÇSA…ëQÜA×£p­ÔÇSA ×£pŽAÃõ(ÜìÇSA{®GëA…ë1ðÇSA3333ÛŒAÂõ8ÈSAö(\Þ‹Aq= ‡*ÈSAš™™™—‹A®Gáš1ÈSAq= ×!‹A{®·;ÈSAáz®·ŠA ×£àDÈSAÍÌÌÌRŠA333£NÈSA= ×£à‰AÃõ(lZÈSAŠˆA{®§„ÈSAìQ¸_ˆA…ëщÈSAÃõ(\ˆAáz>”ÈSAáz®ö‡A…ëQ™ÈSAìQ¸À‡AìQ¸ŸÈSA3333}‡Afffæ¤ÈSA¸…ë;‡A= ׃©ÈSA= ×£ç†A…ëñ®ÈSAáz®†Aq= G´ÈSAÍÌÌÌ †AHázT¹ÈSA¸…ëÊ…A{®§»ÈSAq= ×v…Aà½ÈSAÍÌÌÌ…Aáz~ÀÈSA¤p= „Aáz.ÂÈSA®Gáz݃A\•ÃÈSA…ëQUƒAÂõ¸ÄÈSA¤p= º‚Afff†ÆÈSAìQ¸åAÍÌÌÜÉÈSA= ×£ƒ~AÍÌÌüÛÈSA…ëQ¸~A{®GÞÈSA§|Aš™™iãÈSAÍÌÌÌ|A æÈSA{®G{A¤p=:ëÈSA\ÂõrzAÃõ(\ïÈSA{®GµyA{®wôÈSAš™™™xA¸…{üÈSA®GáÒwA= ×3þÈSA ×£p‹wAÉSAffff*wA333³ÉSAö(\ÖuA ×£ ÉSA)\ÂIuA\ÂÅ#ÉSAÂõ(ssAfff;ÉSA= ×£>sAš™™é<ÉSAsAìQ¸N>ÉSAffffnrAìQ¸î?ÉSA¤p= rA)\"AÉSA¸…ë:qA…ëqDÉSA\Âõ qAfff¦DÉSAìQ¸qA×£p­DÉSA…ëQñpAö(\_DÉSA= ×£ÝpAö(\ïCÉSAÍÌÌ̲oAö(\¯9ÉSA= ×£pÑSAÍÌ̼ËSAÍÌÌÌ1AHáztÀÍSAo ×£pÑSAHáztÀÍSAö(\ TAö(\ºÍSA…ëQ¸ITAìQ¸.¶ÍSA¤p= –TA…ëQȱÍSA…ëQÍTA×£p¯ÍSA…ëQöTA= ×C®ÍSAìQ¸.UAÂõh­ÍSA)\ UA…ëQجÍSAìQ¸CVAffff¬ÍSA®GázÚdA…뱨ÍSAìQ¸…qAÃõ(\¡ÍSA…ëQ¸~A…ëQÈÍSAo¦H f„AƒÍ^#œÍSAš™™™àŠAÂõxšÍSAáz®±‹A333CšÍSA3333=ŒAÃõ(ìšÍSAR¸…÷ŒA®GášœÍSA…ëQ¸~A×£p­žÍSA¸…ë™’A{®—·ÍSA= ×£ï’Aq= 7¸ÍSAš™™™1“A333C¸ÍSAö(\Í“A\Âe·ÍSA\Âõh”A…ëQ(µÍSA\Âõ.šA= ×S˜ÍSAHáz©šAÍÌÌ—ÍSAáz®+›Aö(\?–ÍSAÍÌÌÌ™›Aáz¾•ÍSAÍÌÌÌÞ£A®G±’ÍSAffff®°AHáz4ŒÍSA\Âõ³ÈA®G¡€ÍSA3333ùØAö(\ŸpÍSA\ÂõIÙA¸…ÛoÍSA…ëQžÙA ×£€nÍSAÃõ(\ÚAkÍSAÂõ(SÚAÍÌÌÜhÍSA×£p=ÜA¤p= SÍSA= ×£¹ÞA\ÂÅ4ÍSAö(\ßA ×£1ÍSAìQ¸ˆßA ×£P/ÍSAR¸…àA®Gñ-ÍSAš™™™†àA×£pM-ÍSA{®G áA…ëQÈ,ÍSA{®G]áA\Â¥,ÍSAìQ¸ÅáA…ëñ,ÍSA¸…ë+âA= ×#-ÍSA{®GâAš™™Ù,ÍSAÍÌÌÌØâA®GáÊ+ÍSAš™™™ŒãAHáz„)ÍSA{®GäA{®g(ÍSAáz®‚äA\Âå'ÍSAq= ×üäA…ë(ÍSA…ëQråAR¸•(ÍSA¤p= ×åA)\ò)ÍSA= ×£>æA ×£`,ÍSAÂõ(©æAfff0ÍSA×£p=çA¸…Û3ÍSA…ëQkçA ×£à8ÍSAš™™™ºçAq= §;ÍSA¸…ëéêAÃõ(,RÍSAìQ¸eëAÂõ¸TÍSAÍÌÌÌØëA= ×ÓVÍSA…ëQOìAö(\ÿYÍSAHáz¦ìA®G]ÍSAìQ¸íA ×£`ÍSA¤p= XíA ×£ bÍSAÍÌÌ̲íAÍÌÌ cÍSA)\ îA{®GcÍSA ×£pÙùAìQ¸îbÍSA¸…ëýA×£p½QÍSA= ×£.ýA{®×OÍSA×£p=FýA®GÑMÍSA×£p=]ýAHázDJÍSA¤p= 5þAš™™©"ÍSA×£p=sþAÍÌÌŒÍSAHáz¹þA0ÍSA= ×£ ÿAfff–ÍSA¤p= mÿAÂõXýÌSA{®GÔÿAÂõóÌSA{®GmA= ×óäÌSAìQ¸pA)\ÍÌSAÍÌÌÌ™A…ëqÇÌSAffff²A{®çÁÌSA3333ÏAáz®ºÌSAÂõ(ìAš™™é³ÌSA{®GA¸… ®ÌSA= ×£XAfffv¤ÌSA= ×£YAÃõ(üÌSAR¸…µA…ëQÈsÌSA A ×£peÌSA×£p="A{®'`ÌSA¸…ë.A®Gá:ZÌSAÍÌÌÌ1AfffVUÌSAffff A ×£Ð6ÌSA= ×£A…ëñ1ÌSAÍÌÌÌA)\²-ÌSA¸…ëÝA…ë¡)ÌSAÂõ(«A¤p=ú$ÌSA3333PA®Gñ ÌSAìQ¸Aš™™Ù ÌSAáz®¬Aö(\?ÌSA\ÂõëÿAö(\ýËSA¤p= ‡þAHáz„öËSAR¸…éüA…ëQÈîËSAÍÌÌÌ‹üA= ×£ìËSA= ×£<üAÃõ(,êËSA®Gáz úA¤p=ªÚËSA…ëQ¸dúA)\×ËSAR¸…9úAHázÓËSA®Gáz$úA)\bÏËSA×£p=úA…ëQØÈËSAq= ×!úAÍÌ̼ËSA>µcÞÜÞ-AHáz”ˆÈSA ×£pµA)\;ÉSA_µcÞÜÞ-AKµ LèÈSAÃõ(\¬4A@ãÈSA…ëQ¸5A®GÁãÈSA ×£pC6A¸…kåÈSA ×£pð6AR¸5èÈSAffff›7A ×£ ìÈSA{®GS8A\ÂeñÈSAffffë8A¸…»öÈSAR¸…w9AázŽüÈSAò=Aö(\¿,ÉSA)\ÂW>Affff0ÉSA{®GÈ>A ×£ð3ÉSA®Gáz!?A¸… 6ÉSA‡?Aq= G8ÉSA3333Ø?A×£p9ÉSA¤p= 1@AR¸…:ÉSA= ×£•@A)\;ÉSA®Gázñ@AÂõø:ÉSA{®GQAA®Gáš9ÉSA¸…ë¥AAìQ¸¾7ÉSAHázîAA= ×s5ÉSA¤p= 8BAìQ¸î1ÉSAq= ×BA®GáÚ,ÉSA ×£pðBAÃõ(ì%ÉSAö(\=CAö(\/ÉSAÍÌÌÌšCAHáz”ÉSA)\ÂúCAÍÌÌlÉSA ×£pADA)\b ÉSAÂõ(DAq= ·ÉSA…ëQ_FAçÈSAq= ×ÇFAìQ¸.áÈSA×£p=GAìQ¸ÎÝÈSAö(\GA= ×óÚÈSAR¸…ëGA= ×ÙÈSAÍÌÌÌVHAHázdØÈSAÖHAfffFØÈSA¤p= 'IAìQ¸ÞØÈSAq= ׆IA\•ÙÈSA…ëQ¸äIAÂõ8ÛÈSA×£p=tJA…ëQHÞÈSAÂõ(KLA\Â…éÈSA®GázéLAHáz´ìÈSA{®GXMAîÈSAHáz¸MAq= ·îÈSAÃõ(\#NA®GáºîÈSAq= שNAfffæíÈSAÍÌÌÌ'OAìQ¸~ëÈSA…ëQˆOAö(\ÿèÈSA¤p= PA×£p]åÈSAáz®`PAÐáÈSAö(\ÇPA{®wÝÈSA)\Â*QAìQ¸ÞØÈSAö(\‰QA…ëQ¸ÕÈSA{®GRA®Gá:ÒÈSA×£p=ºRA\ÂõÎÈSA{®G,SA®G1ÍÈSA…ëQ¼SAR¸•ÌÈSA®GázJTAÃõ( ÍÈSA¸…ëóTA{®7ÎÈSA¤p= oUA= ×£ÏÈSA®GázqVA= ×ÓÒÈSA…ëQ¸;WAÍÌÌŒÕÈSAáz®öWA333s×ÈSA®Gáz{XA)\²ØÈSAö(\ÝXA¤p=ÙÈSA…ëQ¸RYAÍÌÌŒØÈSA®Gáz±YA{®G×ÈSAìQ¸ZA®Gá:ÕÈSAÍÌÌ̃ZAázŽÒÈSAÂõ(ˆ\AR¸ÅÈSA×£p=#]AìQ¸NÂÈSA®Gáz•]A…ëQØÀÈSAö(\L^A ×£¿ÈSA®Gázû^A¸…˽ÈSA= ×£«_A®GẽÈSAö(\–`AÂõؽÈSA…ëQþaA®G¾ÈSAÃõ(\CcA…ëQ½ÈSAáz®ëcA¤p=Z¼ÈSAÍÌÌÌeA×£pͺÈSA®GáÂeA®GqºÈSA®GázahAÍÌÌܺÈSAÃõ(\‚iA= ×»ÈSA…ëQ¸ålA)\â¸ÈSA®Gáz7‚AR¸µ©ÈSAq= ׉ŠA ×£P¢ÈSA]ðvx–ŽAŒþëðŸÈSA\Âõ¢ŽAš™™éŸÈSA)\Âk”AÍÌÌÌŸÈSA®Gázi—A…ëŸÈSAö(\/˜A¸…ËžÈSAffff&™AÃõ(žÈSA…ëQ¸šA333#ÈSA¸…ë=¢A¤p=:“ÈSA ×£pµAHáz”ˆÈSA? `8v ÔAß|qeÊSAž¼Væ4Aò˜Æ³ÊSAž¼Væ4Aß|qeÊSAÂõ(i3A®GÑjÊSA33333A\ÂEmÊSAq= ×»2A333pÊSA= ×£/2AfffFsÊSAáz®Š1A®GáêuÊSA×£p=Ù0A…ëxÊSA…ëQ¸ÚA{®7„ÊSA\ÂõGA{®g“ÊSA{®GíAÃõ(,›ÊSAq= × ãA…ëQHžÊSA…ëQZÖAÍÌÌ,¤ÊSAÂõ(òÕA)\¥ÊSAìQ¸‰ÕAq= צÊSAáz® ÕAHázªÊSA…ëQ¸†ÔA×£p=®ÊSA`8v ÔAò˜Æ³ÊSA@Z]ÈÅ´Aê}TüÈSA2ê2K)A0…QÉSA2ê2K)Aê}TüÈSA…ëQ¸Ò(AÂõøÿÈSAq= ב(Aáz®ÉSAÂõ(=(A¸…ûÉSAffffÔ'A333“ÉSA ×£p A¸…;ÉSA3333)A)\ÉSA\ÂõqAìQ¸žÉSA{®G–AÍÌÌ|ÉSAR¸…qA…ë¡ÉSA…ëQ¸] A¸…ëÉSAÃõ(\ AÍÌÌ\ÉSAÍÌÌÌ× A ×£ ÉSAHáz AfffFÉSAš™™™6 Aq= 7ÉSAffff%Aázî=ÉSAR¸…ÃAÃõ(lBÉSAR¸…RAö(\/FÉSA= ×£èAÂõxIÉSAáz®Aš™™)KÉSA)\ÂCA\ÂELÉSAÃõ(\éAìQ¸žLÉSA…ëQŒA= ׃LÉSAÍÌÌÌ3Aš™™ÉKÉSAffffóA\ÂeJÉSA…ëQ¸×þA¸… ÉSAq= מþA…ëñÉSA{®GfþAHáztÉSA¤p= ñæAÂõè,ÉSA3333êÍAÂõ(HÉSAZ]ÈÅ´A0…QÉSAAˆÍÌÌÌùAìQ¸N_ÒSA ×£p5!AfffDðSANR¸…ýAìQ¸N_ÒSA{®GL AR¸åDÓSA¸–| AškÿeÓSA ×£p5!A333ÃäÓSA ×£pA)\‚ñÓSA\Âõ$A= ׃óÓSAÍÌÌÌqA= ×óõÓSA\ÂõêA= ×ãøÓSA…ëQ’AìQ¸ŽûÓSA×£p=8A®GÁÿÓSA\ÂõÁAHáz´ÔSAÃõ(\dA×£p ÔSA®GáA{®7ÔSA ×£pÞ A ×£ÔSAÂõ(¤ A{® ÔSA)\ AHázd'ÔSA®Gáze A…ëQØ0ÔSAN A¤p=Ê;ÔSAq= ×A Afff6HÔSA= ×£ú AHázt‰ÕSAÍÌÌÌA…ëQø×SA…ëQ A333ó¯ØSA3333úAÂõX?ÚSA®GáõAš™™ùÖÛSA ×£pƒA{®' ÜSA…ëQèA\ÂÅ/ÝSA®GázAÃõ(Ì>ÝSA=ÆpvA˜=¸ AÝSA…ëQ*AìQ¸^FÝSA÷ÕF±LAiÌÑ|MÝSAš™™™TA OÝSA ×£pAš™™ùTÝSAáz®½Aö(\ŸZÝSA®GáA…ëQhaÝSAáz®8AÍÌÌrÝSA®Gáz”AR¸%xÝSAR¸…×A®G¡}ÝSAÂõ(A= ×ãƒÝSA®Gáz>A{®—‰ÝSAö(\WA¸…kŽÝSA…ëQ¸iAö(\ß“ÝSA¸…ëwAfff¶šÝSAš™™™ÉA…ëQèÞSAÂõ(A\ÂeÝÞSAáz®›A®Gá¾ßSA¤p= Aö(\_oàSA ×£pÌA¤p=ZâSAR¸…Afff¶–ãSAš™™™QAìQ¸î'åSA7AÂõ8»æSA= ×£A®GÁ,èSAÂõ(A¤p=j2èSAÍÌÌÌA®GA6èSAÂõ(îA333ã:èSA\ÂõÆA)\²?èSA¤p= ¤A{®GCèSAö(\yA®GájFèSA¤p= QA)\¢HèSAáz®AÃõ(lJèSA ×£pµA LèSAffffPAfffÖMèSAffff| A{®§XèSAÍÌÌÌùAð\èSA\ÂõçA¤p=ÚîéSAÂõ(AÃõ(,‚ëSAÍÌÌÌ÷AàíSA¸…ëAÂõè_íSAq= ×ÄA\ÂŰîSAÍÌÌÌ¥A{®·¹îSA ×£pæAÍÌÌŒ×îSAffffQA\Â5çîSA ×£pUA ×£ýîSA®Gá¡A®GአïSA3333Aö(\ïïSAÂõ(²AHázä-ïSA…ëQ¸A¤p=ºAïSA…ëQ¸6A333ƒOïSAìQ¸æAfffDðSABx ×£pãwAÃõ(,ÑÍSAR¸…ÓÜAq= G ÎSA ×£pãwA)\²ëÍSA…ëQ¸¾©AÍÌÌ|ÙÍSAÍÌḬ̀ÁAÃõ(,ÑÍSAÍÌÌÌjÂA…ëQ¸ÑÍSAR¸…'ÃAö(\ÿÒÍSA3333ÑÃAHáz4ÕÍSATËA\•òÍSA)\ÂÌAš™™)÷ÍSAö(\LÍA= ׃ùÍSAÃõ(\ëÍA…ëQøúÍSAáz®uÎA…ëQØûÍSAR¸…ÓÜAq= G ÎSACpìQ¸fA= ×cBÓSA ×£pP"Afff&pÓSA {®GL AR¸åDÓSA3333Ò!A= ×cBÓSA3333æ!A333ƒBÓSAš™™™ù!Aq= çBÓSA×£p= "A®GáºCÓSAáz®"A®GÑDÓSAáz®"Aš™™ùEÓSA¤p= !"AÃõ(ÔSA\ÂõÍ3AÃõ(Ü…ÔSA}4Aš™™™—ÔSAÃõ(\5AÃõ(ü¤ÔSA{®G‘5AHázä®ÔSA¸…ëó5AR¸%´ÔSAìQ¸[6AÍÌÌì¸ÔSAÍÌÌÌÍ6AÃõ(œ¼ÔSAÍÌÌÌ07Aq= §¾ÔSAš™™™³7AHázÄÀÔSAÍÌÌÌi8A)\¢ÂÔSAö(\29AázîÃÔSAš™™™Ö9A\•ÄÔSA\Âõ¾<A®GÁÇÔSAR¸…2=A×£pýÈÔSA×£p==A ËÔSAq= ×>Aáz~ÏÔSAffffm>A×£pÔÔSAš™™™Ü>A)\òÙÔSA®Gá+?A×£pßÔSA ×£py?A¸…;æÔSAHáz¬?A= ×ÓìÔSAR¸…ß?AHáz¤ôÔSAìQ¸ô?A{®úÔSA3333@AHázdÿÔSAÃõ(\@AÃõ( ÕSAÍÌÌÌ\@A= ×#`ÕSA…ëQ¸AA{®·)ÖSAHáz}AAìQ¸ŽóÖSAáz®qBAö(\_‡ØSA®Gáz€CA…ëQèÚSA3333ƒDAáz±ÛSA®GáüDAš™™©yÜSA= ×£(EA)\‚ÂÜSA{®G=EAHázäÎÜSA\EAš™™éÛÜSA¸…ëƒEA ×£ æÜSA3333ßEA…ë¡òÜSA ×£p=FA¤p=züÜSA®Gá(GAš™™ÉÝSA ×£pàGAq= W(ÝSAš™™™jHAq= ·9ÝSAìQ¸·HA®GáZFÝSA…ëQ¸ÜHA×£pmOÝSAìQ¸ûHA¸…«XÝSA¤p= IAš™™ÙbÝSA¤p= ´IA\ÂÕ¿ÞSAL8ÍÌÌÌ—6AÊq=ïSAûçZ*~wA\ÂÅhïSAÍÌÌÌ—6A\ÂÅhïSAHázÈ>Aq= W^ïSAÍÌÌÌôWAÃõ(lOïSAûçZ*~wAÊq=ïSAM8óöX®ëùA\ÂÅhïSAÍÌÌÌ—6AF¥O§ïSAóöX®ëùAF¥O§ïSA®GázÄ A…ëQ¨•ïSAÍÌÌ̱%A×£p={ïSAÍÌÌÌ—6A\ÂÅhïSANOPQR(ìQ¸‘kAµ¾ ëNÁSAt`»p¥Aö(\OTÁSAt`»p¥Aµ¾ ëNÁSAìQ¸‘kAö(\OTÁSAS0Àð£)gA¸…ÇÀSAìQ¸½…A4î©ÜÀSAÀð£)gA4î©ÜÀSAÍÌÌÌŸAq= ÇÊÀSAìQ¸½…A¸…ÇÀSAT(aw\T A);zޝÀSAaw\T A);zޝÀSAaw\T A);zޝÀSAaw\T A);zޝÀSAUV0t`»p¥Aæ™ DÁSA Âí·â¯Aµ¾ ëNÁSAt`»p¥Aµ¾ ëNÁSA ×£p¡A{®MÁSA Âí·â¯Aæ™ DÁSAWX(…ëQ¸ü>Aƒ¼rʾSAÝaÚÌÌHAffff;SAÝaÚÌÌHAƒ¼rʾSA…ëQ¸ü>Affff;SAYZ[(* ]AŠæƒµ¿SAâ¿ÖÖ]Aòœº¿SA* ]Aòœº¿SAâ¿ÖÖ]AŠæƒµ¿SA\(ÝaÚÌÌHAyȦȾSAàtöÖÅNAƒ¼rʾSAÝaÚÌÌHAƒ¼rʾSAàtöÖÅNAyȦȾSA]^_0×£p=̘A\ÂUµÀSA|½#A«™A„$ihJÂSA×£p=̘A\ÂUµÀSA)\ª™A333ÃIÂSA|½#A«™A„$ihJÂSA``|½#A«™A„$ihJÂSAìQ¸ØEAö(\¿òËSAé|½#A«™A„$ihJÂSAš™™™ šAfffvÉÂSAìQ¸+šAÍÌÌŒÒÂSAffffIšAázÙÂSAáz®mšA¤p=ÝÂSA\Âõ›šAq= —áÂSAq= ×ÓšAÀåÂSAö(\›A®GáúèÂSAÂõ(j›A¤p=:íÂSA ×£p\œAà÷ÂSA®GẜA®G1ûÂSAÂõ( A…ëQxýÂSAHáz^A…ëQHÿÂSA®GáÞ¡A ×£@ÃSA= ×£K¢A×£píÃSAö(\¸¢AÂõèÃSA ×£p£AÍÌÌìÃSA\Âõr£AR¸e ÃSA\Âõ1¦AìQ¸Þ<ÃSAq= ×p¦A{®g@ÃSA¤p= ¦¦AÍÌÌDÃSA§AHázäLÃSAÂõ(V§AìQ¸ÞRÃSA3333§AfffZÃSA ×£pE©AÃõ(l¡ÃSAÂõ(‰©A{®‡©ÃSAš™™™Ð©A×£p}¯ÃSA3333ªAfffÖ´ÃSA ×£prªAázNºÃSAÂõ(»ªAÂõø½ÃSAÂõ(«A¸…ëÁÃSA= ×£g«AÍÌÌÜÅÃSAÍÌÌÌ´«A…ëÁÈÃSAš™™™¬A¤p=ZÌÃSAj¬AHáz¤ÎÃSA)\¬A®GqÐÃSA= ×£#­AR¸EÑÃSAHáz—­A= ×sÑÃSAáz®B³Aö(\ÌÃSA{®GÌA®Gáj´ÃSAffffdÕA ×£ð®ÃSAHázÖA\ÂE­ÃSAºÖAfffVªÃSAHáze×A ×£P¦ÃSAáz®AÙAÃõ(,šÃSA…ëQ³ÙA®GA˜ÃSA…ëQÚA333S—ÃSA)\ÂZÚA…ëQˆ–ÃSA®Gáz²ÚAš™™Y–ÃSA…ëQ%ãA®Gq”ÃSAìQ¸{ãAáz.•ÃSAìQ¸ÛãA ףЖÃSAÍÌÌÌ,äAfff™ÃSAÃõ(\zäAìQ¸¾œÃSAÂõ(ÃäA ×£ ÃSAÃõ(\åA®G¡¥ÃSA®Gáz>åA`¬ÃSA…ëQfåAáz޲ÃSA3333{åA ×£°¹ÃSAìQ¸€åA¤p=j¾ÃSA)\ÂzåA= ×£ëÃSA…ëQ¸ŽåAÂõñÃSA\Âõ³åA¤p=úöÃSAååA…ëüÃSAR¸…0æAìQ¸~ÄSAffff{æA333³ÄSA)\ÂÊæA®G!ÄSAö(\çAìQ¸~ÄSAáz®eçA{®gÄSAáz®¸çA𙙉ÄSA…ëQ¸ØéA ×£ ÄSAìQ¸žêAq= 7ÄSA®GáëAö(\ÏÄSA®GáŽëAÃõ(ÌÄSA…ëQ¸ìA®GáJÄSAR¸…wìAìQ¸ÞÄSAö(\ëîA\ÂøÃSA= ×£§ïAš™™yÄSA{®GÉïAffffÄSAìQ¸ðAHáztÄSA¤p= JðAÂõ˜ÄSA×£p=.õAáz®WÄSAq= ×ÄõA¸…‹^ÄSA= ×£:öAR¸¥cÄSA®GázööA€kÄSA®Gá§÷Aq= 'rÄSA)\¡øAìQ¸Ž{ÄSAR¸…(ùA ×£P€ÄSA)\µüA{®gÄSA{®GôüAö(\ߟÄSAHázýA{®×¢ÄSA{®G2ýA®GáÚ¥ÄSA…ëQ¸;ýAÂõ¨©ÄSA…ëQ¸_ýAÃõ(¼ÐÄSAR¸…uýA®GÑÔÄSAÍÌÌÌýAö(\ßÖÄSA×£p=áýA= ×SÙÄSAÂõ(5þA×£p­ÚÄSA\ÂõþA{®ÛÄSAáz®šÿA¤p=úÚÄSA3333æÿA¸…[ÚÄSAìQ¸QAq= çØÄSAffff­A…ë¡×ÄSA®GáñAÍÌÌ|×ÄSA)\ÂHA)\¢×ÄSA)\§AázîØÄSA\ÂõñAÍÌÌLÚÄSA{®GÊA333ÅSA…ëQ¸ Aš™™I ÅSA®GázI A= דÅSA…ëQÐ AÍÌÌ|ÅSA¸…ë1 A…ëQhÅSAìQ¸Œ A ×£0ÅSA\Âõô A ×£ð"ÅSA\Âõ2 A×£p}$ÅSA¤p= s AHázD%ÅSA®Gázµ A= ×ã%ÅSA×£p= Aáz®%ÅSA= ×£ÜA= ×óÅSA¸…ë"A{®ÇÅSA ×£psAìQ¸®AÅSAR¸…ƒAö(\?DÅSA ×£p®A¤p=šFÅSAÍÌÌÌ A¸…ëIÅSAffff2A ×£ÀJÅSAffff|A®GÑKÅSAš™™™òA{®MÅSA3333SAáz.OÅSAq= דAq= QÅSA{®GÒAq= WSÅSA\ÂõAÍÌ̬UÅSA\ÂõEAìQ¸YÅSA®GáùA\•cÅSAR¸…aAq= WjÅSAáz®üAš™™YˆÅSA®Gáò&A¤p=ŠRÆSAáz®F'A…ë‘ZÆSA{®G‹'A ×£àaÆSAÃõ(\à'AÍÌ̼kÆSAÃõ(\)AÃõ(LÆSA®Gáæ)Aq= —¤ÆSA…ëQ¸x*Aö(\±ÆSA®Gá´*AR¸%·ÆSA¤p= $+A…ëaÃÆSA3333…+AìQ¸ÍÆSA\Âõü+Afff–ׯSAÍÌÌÌi,A{®wàÆSA®GáÜ,AÍÌÌÌçÆSA)\Âs.AÂõèÇSAÍÌÌÌî.A333# ÇSAÃõ(\A/A\ÂUÇSA)\«/A…ëQ8ÇSA{®G(0A\•#ÇSA®Gá11A\Â;ÇSAö(\Y1Aš™™Y?ÇSA3333j1A\Â5BÇSA= ×£s1Aáz>EÇSAÍÌÌÌv1A)\ÒIÇSA3333p1AáznNÇSA×£p=b1AìQ¸SÇSA×£p=H1AìQ¸ÞWÇSAáz®(1A{®Ç[ÇSA{®G1A)\ò^ÇSA×£p=Ð0A®GáJbÇSA…ëQ>-A®Gá*œÇSA= ×£É+AHázd³ÇSAö(\V+A ×£ºÇSA¤p= ò*A= ×CÁÇSAÃõ(\¬*A{®§ÆÇSA®Gázi*Aö(\ÌÇSAö(\+*A®GázÒÇSA)\Âþ)A¤p=jØÇSAáz®Û)A)\RÞÇSA3333Â)AfffæãÇSA¸…ëa)A{®' ÈSA®Gáz(A= ×£‘ÈSA)\Âó'A…ëQœÈSAö(\æ'Aö(\O¥ÈSA×£p=å'A{®®ÈSAí'A= ×S¹ÈSA= ×£ý'Aš™™9ÃÈSA\Âõ(Aš™™ÙÍÈSAìQ¸6(AÂõÈÕÈSAHáz[(A®GÑÜÈSA×£p=”(Aš™™9åÈSA®Gáz2)A ×£pùÈSA2ê2K)Aê}TüÈSAÂõ(¼*A{®w'ÉSA{®Gý*A®GA-ÉSAH+A\µ2ÉSAffffŠ+Aö(\Ï6ÉSAR¸…ã+A®Gáê;ÉSA¸…ë,,A¤p=Š?ÉSAÂõ(o/A×£pM\ÉSA= ×£0A\ÂaÉSA×£p=_1AázîiÉSAÃõ(\ã1A¸…‹mÉSAffffL2A×£pípÉSAÂõ(¤2A×£p tÉSA{®Gè2A= ×wÉSA= ×£H3A333|ÉSA= ×£œ3AHázÔ€ÉSAÃõ(\þ3AÀ‡ÉSAÍÌÌÌP4A¸…ËÉSAÂõ(¤4Aq= 7•ÉSAffffE5Afff&£ÉSA×£p=5A…ëñ©ÉSA6A®G1²ÉSAR¸…¼6A…ëQX½ÉSA¤p= ¨8A0ÝÉSA\Âõ9Aö(\ïãÉSA×£p=¹9AàíÉSA= ×£ :AHázdòÉSAc:AìQ¸nöÉSAffff;AÃõ(|ýÉSA\Âõh;Aáz~ÊSAö(\Û;A®GáŠÊSAÃõ(\–<A)\b ÊSA×£p=!=Aq= 7 ÊSA ×£pŸ=A ×£PÊSA¸…ë>AR¸EÊSA×£p=P>AÃõ(\ÊSAHázÏ>AÃõ(ÜÊSAHáz&?A\Âe ÊSA“?AÂõ¸ ÊSAö(\!AA333ƒÊSA)\ÂCAö(\_ýÉSA×£p=LCA…ëQ¸üÉSA×£p={CA…ëýÉSA¤p= œCA)\òþÉSA¸…ë°CA ×£àÊSA= ×£ÜDA ×£ÀËSAìQ¸ØEAö(\¿òËSAaáz®B³Aö(\ÌÃSA= ף̵AÔàNtQÉSAáz®B³Aö(\ÌÃSA¤p= ™³A= ×c3ÄSAö(\±³AfffFrÄSA3333dzA |ÄSA3333é³Aáz…ÄSA= ×£ ´AR¸Å‹ÄSAÂõ(F´A{®‡’ÄSAHáz‚´A®G!™ÄSA{®GŒµAHáz³ÄSA¸…뮵AHáz$¸ÄSAR¸…ÀµA\Âu½ÄSAÂõ(ȵA×£p}ÂÄSA= ף̵A×£p½ÊÄSAR¸…õA®GájÐÄSA°µAÍÌÌ ÕÄSA¸…딵AÍÌÌ<ÙÄSA3333nµAR¸…ÞÄSAö(\+µAq= wæÄSAHázŽ´AÍÌÌÜöÄSAffffW´A)\RþÄSAR¸…,´A×£pýÅSA\Âõ ´Aš™™É ÅSAffffú³A= ×CÅSAìQ¸ò³AázîÅSAR¸…´AHáz„hÅSA)\Âq´AR¸U0ÆSA…ëQÆ´A)\ýÆSA ×£pµAHáz”ˆÈSAh+šÍÅ´AÔàNtQÉSAbP„´AÔàNtQÉSAš™™™¦¹A{®gšÏSAh+šÍÅ´AÔàNtQÉSAZ]ÈÅ´A0…QÉSA„´AfffÖÊSA¸…ëd¶Ap­ËSAš™™™v·A)\‚=ÍSAÍÌÌÌô¸AÃõ(|ÎÎSAš™™™¦¹A{®gšÏSAcHš™™™±JAÁØ3ÃÜSAýƨZËiAö(\1éSA&ýƨZËiAÁØ3ÃÜSAr¸ù*ÂiAóÜSAffffiA{®7TÜSA®GázùhA= ×ó[ÜSA{®GÎhAÂõhaÜSA…ëQ–hA)\"fÜSA)\ÂVhA®GájjÜSAš™™™hA{®'mÜSAö(\ßgA{®çoÜSA…ëQ¸`gAHáz$uÜSA3gA333£vÜSAq= ×ôcAHáz$xÜSAffff~YAÍÌÌì~ÜSAš™™™VMA333³†ÜSA3333ôLA333CˆÜSAÍÌÌÌ•LA®G᪊ÜSA®GááSAR¸…-NA…ëaÏâSA{®G®NA333–ãSA…ëQ¸jOAHázôaäSAq= ×ÝPAö(\¯ôåSA®GázRAfff†ˆçSA¸…ëSAö(\æèSA= ×£RAö(\1éSAd(r¸ù*ÂiAóÜSA’ugjA/à_èÜSAr¸ù*ÂiAóÜSA’ugjA/à_èÜSAexÃõ(\æXA/à_èÜSAö(\êAáz.ÛêSAÌ’ugjA/à_èÜSA{®GUkA ×£PÜSA…ëQlA…ëqÜSA¸…ëamA…ëQ!ÜSAffffëqAìQ¸¾+ÜSAö(\yAq= w=ÜSA…ëQzA¤p=*?ÜSA®Gáz¤zA\ÂUBÜSA¤p= {A\ÂÕDÜSAš™™™_{A¤p=ŠGÜSAÍÌĮ̀{A…ëáJÜSA…ëQ¸ê{AHázdNÜSA{®G-|AÂõøRÜSA_|A×£p XÜSAR¸…”|A= ×C_ÜSAq= ×Â|AÍÌÌÌfÜSA×£p=ó|A…ë±qÜSAš™™™}A= ×|ÜSAÃõ(\5}AR¸ÅŠÜSAÍÌÌÌ‘}A)\’ÝSAq= × ~Aáz^$ÝSAÂõ(O~A×£pí'ÝSA®Gáz„~A¸…Û*ÝSA{®GÍ~Afff–-ÝSAö(\A\ÂÕ/ÝSAÂõ(ŠA{®·1ÝSAÃõ(\€A ×£€2ÝSA®Gázñ…AR¸å/ÝSAÍÌÌÌX†AÂõh0ÝSAHázÓ‡A\Âu5ÝSA= ×£qˆA)\"8ÝSAÃõ(\o‰A…ëñ=ÝSAÍÌÌÌÕ‰AAÝSA5ŠAš™™YDÝSA{®GˆŠA HÝSAÃõ(\ÙŠA×£p]LÝSAö(\-‹A®GáªQÝSA\Âõ‹ŒAq= qÝSAq= ×ÑŒA¤p= wÝSAÂõ(AÂõ({ÝSA)\ÂyA®Gá€ÝSA®GáÂAáz®ƒÝSA×£p=ŽAÀ†ÝSAÍÌÌÌ ŽA¸…ŠÝSAìQ¸=A…ëQÝSAö(\“AÃõ(ŽÝSA3333r’AfffvÝSAš™™™g“Aš™™ÉÝSAìQ¸[”A…ëQ’ÝSAìQ¸H˜A= ×c™ÝSA3333¡˜AHáz´šÝSAq= ×ÿ˜A= ×ÝSAÂõ(6¢A®G±ãÝSA3333ƒ¢Aq= WåÝSA)\ÂÊ¢A\ÂæÝSA±¤AÂõxçÝSA…ëQ¸ñ§A¸…ËåÝSA×£p=r¨A333SçÝSA\ÂõͨA ×£ðèÝSA\Âõ©A®GáºêÝSAáz®ˆ©AÂõˆíÝSAÃõ(\ªAÍÌÌ<òÝSAÃõ(\ªA®G±öÝSAq= ×ùªA®G¡ûÝSAáz®H«AìQ¸.ÞSA\ÂõеA…ëQxÆÞSA…ëQ¸c¶AÍÌ̬ÙÞSAR¸…—¶Afff6ßÞSA®GáжAR¸õåÞSA3333·AHázDìÞSA…ëQ¸2·A…ëñóÞSA×£p=X·A úÞSA3333o·AÍÌÌ|ßSA®G့AÂõßSAìQ¸‘·A®GአßSA¤p= ¢·Aš™™ÉßSA×£p=”¸A)\ÒµàSA…ëQ¸Aq= —½àSAR¸…§¸AÂõèÂàSAìQ¸¹¸Aáz^ÈàSA\ÂõѸA…ëQ¨ÍàSA\Âõù¸A®GázÓàSA…ëQ&¹A¸…;ÙàSAš™™™a¹Aö(\ßàSA®GᔹAìQ¸®ãàSAÍÌÌÌè¹Aš™™ééàSA×£p=7ºAq= ïàSA¸…듺A…ëQxóàSAffffܺAÍÌ̬öàSA{®GG»A333CúàSA¤p= ¯»A)\¢üàSAö(\6¼A{®ÿàSA3333 ¼AHázdáSA ×£p½A¤p=:áSA{®G½A333ÃáSAHáz¸ÂAìQ¸žüàSAÃõ(\VÈAR¸%÷àSA)\ÂÃÈAÂõ¸÷àSA{®G.ÉA…ë1ùàSAHázÉAHáz”ûàSA×£p=æÉAázžþàSAÂõ(1ÊA×£p­áSA{®G|ÊA®Gá áSA\ÂõÂÊAR¸U áSA®GáÿÊAHáz¤ áSA= ×£5ËA\ÂEáSA{®GnËAÂõ¨áSA{®G ËAö(\oáSA{®GËËAfffÖ%áSAR¸…êËA¤p=Ê.áSAVÌAÍÌÌœ†âSA{®GðÌA…ëQ˜ÔãSA…ëQ¸ùÌAö(\ÛãSA)\ÂÍAR¸•àãSA\ÂõÍAÂõhæãSAš™™™4ÍA= ×cìãSAìQ¸YÍAö(\¿ðãSA®Gá‘ÍA ×£pöãSAR¸…ÌÍAö(\ûãSA3333ÎAìQ¸ŽäSA ×£pnÎAö(\oäSAÃõ(\¼ÎAìQ¸Ž äSA3333ÏA®GẠäSA3333cÏAfffVäSA¸…ë»ÏAR¸•äSAö(\:ÐA333SäSA3333©ÐAR¸eäSAffffæAR¸ÅäSAffff]çAáz^šåSA¤p= ˆèAR¸•/çSAHáz‡èA= ×£ìçSA¸…ëöèA= דÁèSAìQ¸BéAÍÌÌléSAÂõ(ŠêA…ëQÈÉéSAö(\êAR¸µRêSAš™™™†ÑA€cêSA¸…ëéÊAázÞfêSA ×£p(ÊA¸…«fêSA= ×£PÉA¸… fêSA= ×£]ÈA¸…›dêSA3333ÈAš™™écêSA×£p=åÆA= ×aêSA ×£pÁÅAìQ¸n^êSAßÁAq= gWêSA3333TÀA…ëÑSêSA ×£pÙ¿A{®gRêSA×£p=R¿AìQ¸ŽPêSA®Gá@½AHázÄGêSA¸…ëg¼Aq= §CêSAÍÌÌÌ·Aáz^*êSAš¶A333Ã(êSA{®G:¶AìQ¸¾'êSAHáz¶µA\Âõ&êSA×£p=HµA= ×ã&êSAÍÌÌÌë´AHázd'êSAÂõ(´A ×£°(êSAR¸…%´A{®·*êSAáz®¹³AìQ¸N.êSA¤p= ,©AÍÌ̼¯êSA)\¦¨A¤p=úµêSA¸…ë1¨A\ÂõºêSA¬§A¤p=ú¿êSAffff/§Afff6ÄêSA®Gázš¦A ×£€ÈêSAÂõ(¦Aáz.ÌêSA…ëQ…¥AR¸åÎêSAffff¥A ×£ ÑêSAR¸…“¤AÍÌÌìÒêSAHáz¤A)\’ÔêSA×£p=_£AàÕêSAÂõ(óA¸…ûÚêSAö(\–Aáz.ÛêSA{®G-A×£p}ÚêSAÆœA…ëQÙêSAffff^œAq= ÷ÖêSA…ëQœAfff†ÔêSAffffЛAìQ¸žÑêSA…ëQ{›AìQ¸®ÍêSA\Âõ/›A…ëQ¸ÉêSAš™™™ëšA)\"ÅêSA¶šA)\ÒÀêSAš™™™¦“A)\BüéSA= ×£Q“AÃõ( ôéSA…ëQ¸ò’AÃõ(ŒëéSAR¸…i’AfffváéSAö(\ò‘A ÙéSA¸…뀑A®GáŠÒéSA\ÂõéAš™™)ÊéSA3333~AfffæÄéSA×£p=AÂõ¨¿éSA®GázR‹AÃõ(<‘éSAö(\ŠA®G‘‰éSAL‡A333SgéSA®Gázã†AHáz”céSA®Gá}†AìQ¸¾`éSAš™™™†Aš™™9^éSAR¸…¸…A×£p½\éSA\ÂõD…A{®'[éSAÃõ(\Û„A®GáÚYéSA…ëQ¸`„Aáz¾XéSAHázõƒA\Â5XéSA)\ÂsƒAìQ¸.XéSA)\Â~lA333sféSAÃõ(\æXAfff¦zéSAf(ýƨZËiAÁØ3ÃÜSA’ugjA/à_èÜSA’ugjA/à_èÜSAýƨZËiAÁØ3ÃÜSAgh)\µ€AÍÌÌ|wÌSAÅw‹ Amy<‘ÔSA*ö(\¬„AÍÌÌ|wÌSAìQ¸‚A…ëQˆÚÌSA{®GíAÍÌÌ\áÌSA¤p= ÎAö(\?éÌSAq= ×¹AÃõ(lïÌSA­AöÌSA…ëQ¸£AHáz´ýÌSAƒ‚AÃõ(œNÎSA®GázƒAÍÌÌÌ ÏSAìQ¸ ƒAìQ¸ŽÏSAš™™™é‚A®GáZ ÏSA ×£pÈ‚A)\)ÏSA ×£pÇ€AìQ¸ÎžÏSAffff¶€A®Gá ¦ÏSA)\µ€Aš™™)¬ÏSA ×£p½€A¤p=ʳÏSAš™™™Ó€A…ë»ÏSA3333ð€AÃõ(ÁÏSAR¸…A×£p}ÆÏSA×£p=TA333cËÏSA ×£p”AÍÌÌÌÏÏSA¤p= ×AHáz4ÔÏSA ×£p/‚AìQ¸>ØÏSA{®G‡‚A\Â…ÛÏSA ×£pÊ‚AÃõ(,ÝÏSAš™™™ƒA ÞÏSAÍÌÌ̾ƒA…ëaàÏSAÂõ(JšAq= ËÏSAÍÌÌÌ¥šA®G‘ÌÏSAR¸…›A333³ÏÏSA×£p=n›A333ƒÓÏSA…ëQ¸Ë›A{®××ÏSA)\Â!œA®Gá ÜÏSA®GáUœAHáz´ßÏSAö(\“œAö(\åÏSA×£p=»œA333céÏSA)\ÂМA¸…;ìÏSAÍÌÌÌØœAázÞñÏSA)\·AÃõ(\?ÑSA3333áAÍÌÌÜ^ÑSAö(\ŸAÃõ(õÒSAÅw‹ Amy<‘ÔSAh(Åw‹ Amy<‘ÔSA…ëQ Aq= —‘ÔSAÅw‹ Amy<‘ÔSA…ëQ Aq= —‘ÔSAi@zÉØþ A= ×#–ÏSA)\­AíV>”‘ÔSA…)\­AHáz„²ÏSA\Âõ)AìQ¸n´ÏSAq= ×ìÿA ×£`´ÏSA®Gáz”ÿA333s³ÏSAHáz÷þA= ×ó°ÏSA…ëQ—þA)\â¯ÏSA¤p= DþAÂõh¯ÏSAìQ¸âýAHázô®ÏSAR¸…€ýA¸…k¯ÏSAš™™™ýA¤p= °ÏSA…ëQ\üA…ëQ²ÏSA{®GüA®Gñ²ÏSA\Âõ¬ûA¤p=гÏSA…ëQ\ûAHáz„³ÏSA{®GûA®GáZ³ÏSAq= ׯúAÂõˆ²ÏSA{®G„úA×£p±ÏSA{®GPúA×£p]¯ÏSAR¸… úA×£p¬ÏSA ×£pgùAfff†¡ÏSA{®G&ùA ×£€ÏSAq= ×öøA®GáúšÏSAÍÌÌ̸øA)\¢˜ÏSA{®GsøAÍÌÌÌ–ÏSA\ÂõøA= ×#–ÏSAHázõA333ó—ÏSA…ëQléA\ÂU›ÏSA3333(éAfffœÏSAHázÿèAš™™)ÏSAR¸…ÊèAfff& ÏSAR¸… èAÃõ(¥ÏSA…ëQ¸‘èAR¸µ«ÏSA…ëQìèAìQ¸îaÐSA®GáÂèAö(\ÐSA\ÂõºèAfffÖ—ÐSAö(\¾èAš™™Ù ÐSAìQ¸ÇèA)\ªÐSA= ×£ÆéA®GñÑSAÍÌÌÌÑéA333ÑSAÃõ(\ÓéA¤p=ºÑSAìQ¸ÌéAázŽÑSAÂõ(¼éA¤p=*"ÑSA×£p=™éA333s%ÑSA{®GeéAÍÌÌì(ÑSAáz®$éAš™™©+ÑSAö(\êèAÃõ(Ü,ÑSAš™™™pèAÍÌ̼-ÑSA\Âõ.èAR¸¥.ÑSAffffòçAÂõØ/ÑSA­çAö(\¿2ÑSAyçAÂõ86ÑSAÂõ(MçAìQ¸;ÑSAHáz6çA)\"BÑSAìQ¸;çAÂõèwÑSAq= ×3çA)\‚|ÑSAš™™™"çA= ×Ó€ÑSAö(\·åAHázDµÑSAR¸…’åAš™™™½ÑSA®Gá‚åA ×£ÐÄÑSA®GázxåA®G¡ÌÑSA3333zåAHázDÔÑSA= ×£ƒåAö(\ÜÑSA{®G™åA= ׳äÑSAHázæA333“ÒSA¤p= æA\•ÒSA…ëQ!æAš™™é ÒSA×£p="æA\ÂÒSAš™™™æAÒSAö(\æA…ëQ8'ÒSAæA¤p=z-ÒSAq= ×!æA= ×4ÒSAáz®1æAÍÌÌŒ:ÒSA¸…ë3æA¸…«>ÒSAffff1æAHázôBÒSA¸…ëæA ×£€HÒSAR¸…úåAÂõˆNÒSAHáz½åA)\WÒSA3333nåAš™™ _ÒSAHáz(åAfff&eÒSA3333ÑäAÂõèkÒSA…ëQ¸‡äAš™™YpÒSA®Gáz±áA®G‘‘ÒSA×£p=^áAq= –ÒSAHázáA333sšÒSAäàAö(\OŸÒSA{®GªàA333³¥ÒSA¤p= kàAq= w¯ÒSA¤p= –ßA{®÷íÒSAHázyßA¤p=:óÒSA…ëQ¸TßAÂõXøÒSAÍÌÌÌ&ßA333óýÒSAìQ¸êÞAáznÓSA¤p= ŸÞAffff ÓSACÞAq= ·ÓSA¤p= ÊÝA®GáÚÓSA¨×A¤p=bÓSAÂõ(öÔA ×£ ‚ÓSAÂõ(„ÔAHáz$‰ÓSAÂõ(=ÔA333“ÓSAÃõ(\ïÓA…ëQ“ÓSAš™™™«ÓAÃõ( ™ÓSAö(\cÓAR¸ ÓSA3333%ÓA®Gñ¦ÓSA×£p=ñÒAÂõØ®ÓSAR¸…ÇÒAfff¦·ÓSAÍÌÌÌ©ÒAq= ÷¿ÓSAš™™™›ÒAR¸…ÉÓSAffff˜ÒAö(\/ÔÓSA3333ËÒA ×£ÀmÔSA¸…ëÈAR¸¥tÔSA\Âõ‹ÆAR¸µtÔSA)\ÂÆA ×£PtÔSA×£p=eÅA`rÔSAffffÑÄA\µpÔSAq= ×ÄA…ëQXmÔSAR¸…/ÃAö(\_iÔSA®GázÂAáz~bÔSAR¸…EÁAö(\Ÿ[ÔSA…ëQÄ¿AfffÖRÔSA‚¿Aö(\ßQÔSAR¸…'¿A®G1QÔSA®Gáz¯¾Afff&QÔSA…ëQ?¾A®GRÔSA¸…ëʽA{®TÔSA¤p= K½AR¸•WÔSA3333¥»AR¸gÔSA…ëQ>»Aö(\?kÔSAáz®Î¹A×£p]xÔSAáz®Š¹A)\2zÔSAHáz¹Afff&|ÔSA…ëQ‹¸A= ד}ÔSA®Gá,¦AR¸•ŽÔSAzÉØþ AíV>”‘ÔSAj€…ëQaAíV>”‘ÔSAzÉØþ AÂõxÑÔSA zÉØþ AíV>”‘ÔSA…ëQ Aq= —‘ÔSAffffk“AÃõ( –ÔSAR¸…¤‡A= ×ó›ÔSA®Gá,{AR¸…¡ÔSAáz®tnA{®×©ÔSA= ×£KeAq= w°ÔSA¸…ëtdA®Gá*²ÔSA×£p=ãcA…ë´ÔSA ×£pTcA®Gáš·ÔSAq= ×ÙbA)\’»ÔSA…ëQ¸JbAÂõÂÔSA…ëQaAÂõxÑÔSAk(Åw‹ Amy<‘ÔSAzÉØþ AíV>”‘ÔSAzÉØþ AíV>”‘ÔSAÅw‹ Amy<‘ÔSAlÍÌÌ̶A„lÅ&ÚSAÒO%€AÂõ¨@ÛSAÍÌÌ̶AÂõ¨@ÛSAHáz‡ AÂõ8:ÛSA®GáMAfff67ÛSAÃõ(\5&A…ëQ-ÛSA®Gá¬*AfffÆ)ÛSAö(\?AÂõÛSA…ëQ¸XAÃõ( ÛSA= ×£EYAR¸õÛSAáz®ØYAáznÛSAƒZA×£p ÛSA¸…ë"[A¸…‹ÿÚSAq= ׿[AfffVûÚSAìQ¸W\A333cöÚSAÃõ(\é\AÍÌÌüðÚSAÂõ(t]A= ×sëÚSA\ÂõÞ]A°åÚSAÍÌÌÌ}^AHázäÜÚSAR¸…_Aö(\ÔÚSA®Gáá_AHázÔÉÚSA…ëQ¸aA{®×¹ÚSAìQ¸‹aA…ëa´ÚSAÃõ(\'bA= ד®ÚSA ×£pÁbAÃõ(ì©ÚSAÃõ(\‰cA ×£À¤ÚSAìQ¸`dAÂõ ÚSAHáz2eA¸…›œÚSAõeA ×£ðšÚSAq= ×ÄfA®Gáú™ÚSA®GáÑqAÂõˆÚSAë‡óþòA‡+ÚSAÒO%€A„lÅ&ÚSAmˆÒO%€Aš™™™DÙSA\ÂõsA¸…›ÙÚSAÎÒO%€A„lÅ&ÚSAÃõ(\AHázäŒÚSAÃõ(\qƒA×£p]ŒÚSAq= ׋A= ×#ˆÚSAö(\^œA333~ÚSA×£p=JžAìQ¸|ÚSAö(\§žA®GáJ|ÚSAÍÌÌÌŸA…ëQH}ÚSAö(\oŸA~ÚSAš™™™ÆŸAáz~€ÚSAö(\ã¢Aš™™i˜ÚSA®GáU£A= ×ãšÚSAÂõ(ó¥A¤p=š¢ÚSAÍÌÌÌ2¦A)\r¢ÚSA®GáЧAázîÚSAÍÌÌÌi¯AÃõ(ì~ÚSAq= מ¯A®Gáj}ÚSA¸…뎱AìQ¸ÎfÚSA…ëQ¸q³AÃõ(ŒNÚSAÂõ(¦³A LÚSAHázÛ³A{®wJÚSA¤p= &´A…ëÁHÚSA= ×£l´Aš™™ùGÚSAÍÌÌÌü½AHáztDÚSA®Gázï¾A¤p=*BÚSA\ÂõÁA®G<ÚSA3333›ÁA ×£@:ÚSA1ÇA¸…ûÚSA¸…ëõËAHázÄÚSAö(\nÏA{®çøÙSAaÏsf¢ÏAý¨`øÙSA®GázôÏA®GáŠ÷ÙSA¤p= Ä×A\ÂåðÙSA…ëQ+àAR¸ÅîÙSA¤p= îïA= ׃çÙSAáz®´ûAázàÙSA ×£pdüAö(\ßÙSA…ëQ±A¤p=êÃÙSA…ëQ¸ÿAÍÌÌ ÄÙSAq= ×>Afff¶áÙSA\ÂõãAHáz¤ãÙSA ×£p|AfffÖäÙSA3333yAÐåÙSAš™™™çAìQ¸.æÙSAö(\ZAázîåÙSAáz®™A¤p= ÕÙSAš™™™? A¤p=êÓÙSA3333ê AÂõxÒÙSA= ×£"A333sÎÙSA3333Ð"A¤p=šËÙSA ×£p#ApÈÙSAR¸…î#Aš™™ÙÆÙSAÂõ(x$Aq= WÃÙSA)\¬'A{®‡­ÙSA)\Â6(A…롪ÙSAq= ×Ö(AfffÖ§ÙSAÍÌÌÌA)A®Ga¦ÙSA ×£p£)AÃõ(Ü¥ÙSA8<Üe.A‚€«¥ÙSAHáz±.Aq= —«ÙSAìQ¸ú.A@¯ÙSAa/A333óÙSA{®Gê/A®G¸ÙSAHáz‰0A…ëQH¼ÙSA…ëQ¸)1AÍÌÌü¾ÙSA…ëQ¸½1AHázôÀÙSAq= ×U2A®GáÂÙSAq= ×ü2A\ÂeÂÙSA= ×£›3AìQ¸¾ÁÙSA×£p=Ž6AHázô½ÙSA3333ó:A{®W»ÙSA…ëQP;A…ëq»ÙSA®Gáz²;Aq= ×»ÙSAHáz==AðÀÙSA\Âõr=AÂõøÀÙSA®Gáª=A×£p=ÀÙSAq= ×p>A…ë»ÙSA{®G·>AºÙSA ×£pÏDA®G!¶ÙSAþDAáz.¶ÙSA…ëQ4EA®Gáú¶ÙSA= ×£mEAq= ׸ÙSA)\§EA333¼ÙSA…ëQ¹FAÃõ(,ÑÙSA ×£pÜJA®Gá1ÚSA×£p=!KAö(\ÿ5ÚSA{®G^KAHáz$:ÚSAÂõ(§KAö(\=ÚSA…ëQ¸€NA= ×XÚSA…ëQ¸ÍNAÍÌÌüYÚSA3333OAö(\/[ÚSA…ëQ¸mOA…ëQx[ÚSAëôðv®SAz|p WÚSA…ëQšWAàRÚSA…ëQ¸GaAš™™¹RÚSA{®GñaAìQ¸>SÚSA)\Â}bA®GáJTÚSAHázèbAš™™¹UÚSA\ÂõacAö(\XÚSA¤p= veA ×£`hÚSA ×£pÀeA¸…»iÚSAö(\fAHáz$jÚSAÍÌÌ̤lA®GQbÚSA®GárAÍÌÌl]ÚSA…ëQ¸°rA{®ÇZÚSA®GáçrAš™™©XÚSAö(\#sAÃõ(ìUÚSAffffRsA¸…KRÚSA{®G€sAÍÌÌüLÚSAö(\1tA×£p)ÚSAetA333S!ÚSA{®GtAö(\ïÚSAR¸…åtA\Â¥ÚSA{®GDxAq= §ØÙSAR¸…qxA{®gÖÙSA3333«xAö(\oÔÙSA×£p=ôxA€ÓÙSAš™™™y}AfffÆÒÙSA)\ÂØ}A ×£ðÑÙSANAÍÌÌ|ÊÙSA×£p=V€A…ëQHÅÙSAR¸…Aš™™)ÁÙSAµAáz½ÙSAR¸…‚AázNºÙSAÃõ(\½‚Afff´ÙSA¸…ë„A…ë±§ÙSAffffç„Afff6ŸÙSA…ëQ¸‡…A®G‘˜ÙSAö(\†AìQ¸’ÙSAš™™™‹†AìQ¸.ŒÙSAÂõ(ô†A\•†ÙSA{®GK‡A…ë‘€ÙSA)\Â7‰AHáz[ÙSA ×£p…‰A)\¢UÙSAÍÌÌÌÓ‰A)\RQÙSAš™™™"ŠA\ÂÅMÙSA{®G{ŠA®GáZJÙSAR¸…ÔŠAš™™ÙGÙSA…ëQ.‹A= ×CFÙSAffff‹Aq= GEÙSA3333ê‹Aš™™™DÙSAš™™™XŒA\Â¥DÙSA)\ÂÉŒA\Â%EÙSAÂõ(EA333cFÙSA®Gáz¯A…ëÑGÙSA¤p= ŽA0JÙSAÂõ(rŽA= ×SMÙSAš™™™¶ŽA×£pýPÙSAHáz A= ×#VÙSAPAfffV[ÙSA~’AÍÌÌü¯ÙSA×£p=è’Aö(\_¹ÙSAE“A×£pÍÀÙSAáz®­“A{®—ÇÙSAR¸…ó˜A\ÂÕ ÚSA3333I™AÃõ(œÚSAµ™AÃõ(|ÚSAN›AÃõ(œ ÚSA= ×£2ŸA®G!6ÚSAffffŸA= ×S7ÚSA{®GߟAfff¶7ÚSA= ףàA…ëQ8ÚSA ×£p{¡A®GÑ7ÚSAš™™™<¤AHáz´5ÚSAHázƤA{®×5ÚSA33337¥A{®W6ÚSA…ëQ¸¨¥A= ×s7ÚSA…ëQ¦A{®W9ÚSAÂõ(ž¦AR¸Å;ÚSA\Âõû¦AfffÆ<ÚSAìQ¸—§Aš™™É=ÚSA…ëQ“´A°BÚSA)\ÂHµA…ëQHDÚSAáz®ÞµAq= wFÚSA= ×£X¶Aš™™ JÚSA\Âõµ¶A ×£@NÚSA¤p= î¶A®GáÊQÚSAáz®·AÂõèUÚSAR¸…<·AázÞYÚSAš™™™U·A®GáÚ^ÚSAÆ·A)\’»ÚSA®GázÏ·A®G¿ÚSA= ף߷Aš™™yÁÚSAš™™™ ¸Aq= ÷ÅÚSAìQ¸ޏA{®7ÎÚSA\Âõ¸¸A®GáÐÚSAÍÌÌÌå¸Aš™™9ÑÚSAš™™™H¹AìQ¸^ÒÚSA®G᯼A\Â5×ÚSAffff½Aš™™ ØÚSA…ëQ¸½A…ëQxÙÚSA\ÂõȽA¸…›ÙÚSA…ëQ¸ÄA¸…[ÔÚSA= ×£×ÐA)\²ÔÚSA°r5ºèAÙ”ð…ÏÚSAš™™™CóAR¸EÍÚSA×£p=àôA®GqÌÚSA¬A333C¾ÚSAÃõ(\x AR¸·ÚSAÌô“êA &[c±ÚSA)\¢1A¤p=šªÚSAáz®ý5AÍÌÌܪÚSA®GázIAÃõ(,«ÚSAáz®gOA\Âõ©ÚSAú^…ùQAaz¨ÚSA\ÂõsA\Âe•ÚSAnð…ëQÛMA@ÌSAr=@õA÷õ»ŽÚSA[q= ×ëNA@ÌSAR¸…OA= ×sØÌSA{®GWQA¸…KkÎSA{®GdRA¤p=jüÏSAÍÌÌÌ~RA)\"-ÐSAHáztRA¸…;8ÐSAÂõ(bRAÂõ¸?ÐSA{®GQRA…ëQ˜CÐSAR¸…;RA¤p=zGÐSAffffNA{®7ìÐSA¸…ëóMA{®§ñÐSA¸…ëßMA®GøÐSA…ëQÛMA= ×£ÿÐSAìä=öANA¨ø»lÑSA¸…ë”NAÃõ(Ü«ÑSA¤p= ¥NAq= ²ÑSA{®G¹NAq= ·ÑSAR¸…×NAìQ¸^¼ÑSAHázÿNAÍÌÌÜÀÑSAìQ¸0OAàÄÑSA…ëQQSA\Âõ ÒSA¤p= €SA®G!ÒSAffffšSA ÒSA®Gá«SAáz^ÒSA®Gá´SAázŽÒSAáz®XTA\Âõ(ÓSA)\Â~UA\ÂU“ÔSAìQ¸UAÍÌÌ,šÔSAö(\±UA¸…K¡ÔSAffffÞUA)\b¦ÔSAq= ×VAfff&«ÔSAìQ¸WVAR¸E¯ÔSAìQ¸žVA= ׳ÔSA×£p=âVA ¶ÔSA…ëQWAfffÖ·ÔSA¤p= xWAfffvºÔSA¤p= ¯]A…ëQøµÔSAö(\O^Afff¦·ÔSA¸…ë¯^A®GáʸÔSA…ëQ¸_A®GájºÔSAffff[_A…ë¼ÔSAÂõ(®_AR¸…¿ÔSAÂõ(ü_A)\²ÂÔSAq= ×L`A333SÆÔSA®Gá“`A®G!ÊÔSAš™™™Ó`A®GáÎÔSA…ëQaAÂõxÑÔSA®GázaA{®ÒÔSAHáz=aAÃõ(ÖÔSAš™™™saAfffÛÔSA ×£p¨aA¸…+áÔSAáz®ËaAq= —æÔSA= ×£êaA{®íÔSA3333úaA…ëQhòÔSA{®GbA®Gáº÷ÔSA ×£p§bA…ëáJÖSA…ëQ¾bAfffæÖSAìQ¸ÍbAázþƒÖSA®GáêbA)\‚ˆÖSA ×£pcAázŽÖSA¤p= ^cA ×£P”ÖSA…ëQ¸ŽcAq= ·—ÖSAR¸…¼cA¸…[šÖSA®GázdAHázdÖSA®GázôgA¸…ËÃÖSA{®GthA¤p=:ÈÖSAïhAáz^ÌÖSAáz®aiAHáztÏÖSAR¸…!jA…ëQXÔÖSA{®G$kA333sÚÖSAìQ¸ækA…ë‘ÞÖSA ×£pôoAš™™9ôÖSAÃõ(\SpAáz÷ÖSA3333µpAHáz¤úÖSA)\ qAHázÿÖSAffffZqA…ëQ×SA…ëQÁqA= ×ã ×SA= ×£yA…ëQøŸ×SAáz®ŒyA×£pÍ©×SAÂõ(ß|A®G¡ü×SAffffú|AØSAš™™™}A×£p-ØSA\Âõ}A333#ØSA¸…ëì}Aš™™Y^ÙSA®Gá×}Aáz^¿ÙSA×£p=å}A\Â%ÅÙSAš™™™ü~AR¸UÚSAÂõ(A333£ÚSA)\²Aš™™ù\ÚSAë‡óþòA‡+ÚSAr=@õA÷õ»ŽÚSAoøýƨZËiA÷õ»ŽÚSA3333O€AÁØ3ÃÜSAr=@õA÷õ»ŽÚSA×£p=÷A¤p=ZÚSA3333O€A¸…ÛÛSAÍÌÌÌH€A®Ga ÛSA…ëQ6€AÍÌÌ<&ÛSA…ëQ¸€A)\",ÛSA¸…ëàAR¸Õ2ÛSAÃõ(\«AR¸e7ÛSAÍÌÌÌyA333“:ÛSA{®G@A= ׳<ÛSAR¸…VwA¸…«ƒÛSA{®GŠvAö(\oŠÛSA{®GaqA ×£@³ÛSAR¸…ôpAö(\ϵÛSAffffUpA)\Ò¸ÛSAìQ¸ÝoA ×£ºÛSAR¸…‡oAÍÌÌ\ºÛSA3333˜lA®GáʼÛSAÂõ(#lAq= ×½ÛSAÃõ(\ÚkA\¿ÛSA= ×£ˆkA®GáºÁÛSA\ÂõEkA333óÄÛSAÂõ( kAÍÌÌLÈÛSAš™™™ÍjAR¸•ÌÛSA¤p= «jAö(\/ÐÛSAö(\…jA®G×ÛSAö(\;jA îÛSAýƨZËiAÁØ3ÃÜSAp(r=@õA„lÅ&ÚSAÒO%€A÷õ»ŽÚSAr=@õA÷õ»ŽÚSAÒO%€A„lÅ&ÚSAq@Ž‚ËxA¤p=}ÙSA&zAËåò¯¥ÙSA&zA¤p=}ÙSA)\ÂaA¤p=JÙSA…ëQ¸ëGAázžŽÙSA¤p= Ô.A®G™ÙSAŽ‚ËxAËåò¯¥ÙSArHÍÌÌ̬AHázTéÔSAŽ‚ËxA)\²¥ÙSAŽ‚ËxAËåò¯¥ÙSAÃõ(\sA)\²¥ÙSA¸…ëlA= ×£ØSAö(\@AR¸u5×SAö(\AÂõˆ}ÖSAÍÌÌ̬AHázTéÔSAs¸š™™™SA™ˆ‹ÊßSA½¤ì_/_AâËÆ÷âSA4 ßh UAâËÆ÷âSAffffUAHáz$ìâSA{®GåTAáznàâSAáz®ËTAfffv×âSAö(\«TA×£p}ÐâSAffffTTA¤p=JÀâSA®Gá²SAìQ¸>¡âSAq= ×SSAö(\¯âSA\ÂõSAR¸•âSAš™™™SAq= 'tâSA)\Â-SAázngâSA…ëQ¸ZSA\•]âSAR¸…ãTAázâSAìQ¸+UA×£pûáSAÍÌÌÌ{UA{®wõáSAïUAfffðáSAffffdVA…ëQêáSAÅVAHázááSA®GáçVAÍÌÌ|ÖáSA)\ÂøVA\Â…ÃáSA×£p=WAö(\O¯áSA®Gáz£WAHázÔáSA= ×£@XAÃõ(<áSAòXAš™™I~áSA…ëQ¸¦YA qáSA®GáZAÂõ˜SáSA{®GŠ]Aáz¾øàSAš™™™^A= ×£æàSA\Âõ{^Aš™™YÙàSAffff¤^A×£pmÐàSA…ëQµ^AR¸ÕÉàSA\Âõ¬^AHáz$ÁàSA®Gáz^Afff–µàSAÃõ(\e^Aq= צàSAffffC^Aš™™I›àSA®Gáî]A®GኋàSA¸…ëi]A¤p=ºpàSA¸…ë:]Aö(\càSA®Gáz2]A{®7ZàSA\ÂõK]AázŽPàSA ×£px]AÍÌÌ|EàSA{®G±]A¸…Û:àSA3333^A3333*àSAáz®_^A)\RàSAffff~^A®G‘àSA˜^Afff6 àSA–^A®GàSAÂõ(€^A×£pÝâßSAìQ¸Œ^AHázÖßSA= ×£Á^Afff6ÏßSAÃõ(\ _A×£p ÊßSA½¤ì_/_A™ˆ‹ÊßSAt(½¤ì_/_A×£pÆßSAffffmtA™ˆ‹ÊßSA½¤ì_/_A™ˆ‹ÊßSAffffmtA×£pÆßSAu(7†P5LYA"yáSA›·5'huA"yáSA7†P5LYA"yáSA›·5'huA"yáSAvp= ×£#ŒAÍÌÌÌÚSA Å¿KÇ­AxûÑ¢áSA+= ×£#ŒAÍÌÌÌÚSApŒAš™™Ù:ÛSAÃõ(\wŒA= ×C?ÛSAáz®ƒŒA333ÓCÛSAq= לŒA= דIÛSAÍÌÌ̾ŒA¤p=zMÛSA…ëQëŒA)\’QÛSA)\Â$A×£p UÛSA…ëQ¸`Aáz^WÛSA)\£A\Â5YÛSAÍÌÌÌèA…ëQHZÛSAaŽA{®[ÛSAš™™™A×£p½[ÛSAáz®ÔA¸…[[ÛSAö(\ú˜A= ×3WÛSAffffÙ¦A¤p=ZQÛSAìQ¸H§A= ×£RÛSAö(\”§Aš™™ÙSÛSAR¸…ܧAR¸ÕUÛSAÍÌÌÌ.¨Afff¶XÛSA= ×£w¨AÂõ8\ÛSAáz®¬¨A®GQ_ÛSA¤p= à¨A¤p=ÊcÛSAš™™™©A)\ÂhÛSA¤p= ©A…ëQønÛSA…ëQ0©AÂõ¸vÛSAÂõ(“©A{®äÜSA)\Âä©A{®ÂÝSAHáz7ªAq= GxÞSAš™™™ôªAš™™™àSA{®GÓ«A333³máSA3333á«AÂõváSAš™™™í«Aö(\~áSA®Gáz¬A…ë!„áSA3333*¬A×£p­‰áSA×£p=U¬AÍÌ̼áSA®GႬAö(\?’áSAáz®Æ¬A0—áSA•‚*ñ¬A9é7¸™áSA= ×£­A{®§›áSAffffW­A{®7ŸáSAÂõ(Ÿ­AR¸µ¡áSA Å¿KÇ­AxûÑ¢áSAw Å¿KÇ­Aáz¾ŽáSA®GáOuA= ×ãSA? Å¿KÇ­AxûÑ¢áSAìQ¸ó­Aq= ¤áSAS®A ×£¥áSAÍÌÌÌÚ®A…둦áSA…ëQ¸ƒ¯A®Gáj¦áSAHáz#¸A…ëQœáSAffffªÀA®GñáSAö(\´ÂAáz¾ŽáSA)\›ÃA×£p=áSA)\ÂÄA{®GáSA…ëQ¸ŸÄA)\‘áSA…ëQ ÅA…ë!“áSAffffëÅAázž–áSAìQ¸ZÆA{®—˜áSA= ףܯAÍÌÌL›áSA¤p= –ÛA\Â…:âSA)\ÂÜAÍÌÌü=âSA…ëQ¸½ÜAÍÌÌAâSA¤p= “ÞAìQ¸HâSA®GáßA¸…;IâSAR¸…¥ßAÂõJâSA×£p=3àA®Gá JâSAffffÒèAÍÌ̬DâSA= ×£ïòAìQ¸î:âSA\ÂõuóAÃõ(¼:âSA ×£pæóAà:âSA¸…ëJôAR¸¥;âSA­ôA…ë‘<âSA= ×£ õAìQ¸n>âSA…ëQcõA= ד@âSA= ×£­õAáz^CâSAq= ×õõAÍÌÌìFâSAÍÌÌÌ@öAR¸eKâSAš™™™„öAR¸UPâSA®GáÃöA…ëQXVâSA¤p= òöA®Gá:\âSA{®G÷A`aâSAö(\)÷AÂõ˜gâSAR¸…5÷A…ëQˆmâSAš™™™k÷AÃõ(œÄâSAHázt÷Aáz^ÎâSAìQ¸ˆ÷A×£pmÖâSA®Gáz ÷A×£pÍÜâSAÂõ(Ï÷Aö(\äâSAö(\õ÷A333ãèâSA×£p=øA¤p=íâSAš™™™_øA¸… òâSAðû¤Ã‹øAÉ*>xôâSAÃõ(\¾øAö(\?÷âSA3333ùAR¸ûâSA¸…ëpùAPþâSA×£p=ÑùA)\ãSAffff"úA®GázãSAffffnúA…ë!ãSA{®GãýA®GáÚãSAÍÌÌÌ(AázžãSA\Âõ¾Aà ãSAÃõ(\êA= ×ãSA ×£p©)AÍÌÌ| ãSAö(\¦BA)\ãSA ßh UAâËÆ÷âSA®Gáî[A ×£PôâSA®GáOuAÃõ(<ïâSAx0HázûFA)`´¼¶áSA™)”aA)\¢ÆáSAHázûFA)\¢ÆáSAìQ¸B`AìQ¸N·áSA™)”aA)`´¼¶áSAyP™)”aA9é7¸™áSA•‚*ñ¬A)`´¼¶áSA™)”aA)`´¼¶áSA®GázyyAázn¬áSA3333ÀAö(\¯©áSA×£p=t’A= ×c¥áSA{®GŸA\¨áSAHázù«A…ëQ¨ªáSA•‚*ñ¬A9é7¸™áSAzxŸŽæ« AŸêdöûÝSAð‚‘“KA›»fYMÞSA ð‚‘“KAŸêdöûÝSA×£p=DJA¸…;ýÝSA ×£pÖIAÃõ(þÝSA= ×£IAÃõ(œÞSA{®Gí?A¤p=*ÞSA×£p=/?A{®'!ÞSA×£p=¨2A×£p­)ÞSA®Gázr,A\Â…-ÞSAš™™™<A= ×£;ÞSAS½B3hA''›ëHÞSAR¸…(A= ×SMÞSAŸŽæ« A›»fYMÞSA{xÂõ(A›»fYMÞSAŸŽæ« A\ÂeÝÞSA ŸŽæ« A›»fYMÞSAš™™™æAfffv_ÞSAÃõ(\YÍA333³oÞSAR¸…ý³AÍÌÌ,€ÞSAq= ×êšA\ÂUÞSA= ×£ø—A¸…+’ÞSA ×£pÓA333CžÞSAÍÌÌÌnhA{®‡¯ÞSA¸…ëá[Aš™™y·ÞSA¤p= ´IA\ÂÕ¿ÞSAR¸…f0A®GáêÎÞSAÂõ(A\ÂeÝÞSA|ª:Ù"XA8tíSA)§n¸ZAšÐѺ,îSAù»eZAšÐѺ,îSAù»eZAm&îSAù»eZA¦0P6þíSAãþK ZA;ôy^äíSAÀpžVÀYAwB$ÚíSAÀpžVÀYA N0ÀíSA)§n¸ZAƒ¢¢ƒ«íSA)§n¸ZAS´vU‡íSAù»eZABíü]íSA)§n¸ZA×°I$DíSAù»eZA¨ÂöíSAVÆ•>ÈXA8tíSA38è‹uXA¨ÂöíSAª:Ù"XAltsL*íSAª:Ù"XAÿóÍ9íSAshapelib-1.6.1/tests/shape_eg_data/CoHI_GCS12.shx0000664000175000017500000000020414600371435016303 00000000000000' BèñÿÿßÈdÀ ŽŽßê2@7âÉnæYcÀ—ht±;6@2H~ˆ ôÎshapelib-1.6.1/tests/shape_eg_data/3dpoints.dbf0000664000175000017500000000020414573117335016364 00000000000000bAWZN 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 0 0 0 3 3 3 3shapelib-1.6.1/tests/shape_eg_data/polygon.dbf0000664000175000017500000047001014573117335016316 00000000000000_ ÚÁOAREAN PERIMETERN EAS_N EAS_IDN ATLAS_PCATLAS_SCEDLOWNEDMEDNEDHIGHNHHNUMBERNAVGHHINCNEDUCNPOTENTNELATNELONNDIS58NDIS130NDIS208NDIS425NMKTSHR58NMKTSHR130NMKTSHR208NMKTSHR425NLIFESTYLESNCUMMKTSHRNPENTRANOPPTNPRFEDEACAAN 215229.266 2700.247 2 16835043411 250255260325 623751118912643.04139-81.24448.439410283189440405.72983120109300970 1.166785e+0012.984541572928320000.0428551576440356980.0765569176809207800.0231357145443199000.17311161090672000040.31565940077599602 375358 81376835043411 35043411 247328.172 2930.715 3 17935043423 230255265260 730471106140443.04028-81.25228.526528960261147806.24595521512980060 1.149277e+0012.391805433756399900.0421269896608943980.0678829449573990080.0239210201323010010.22305322861064103070.35698418336123505 378904 68250035043423 35043423 3743878.500 10749.965 4 29735044334 0 0 0 0 00 043.03194-81.21117.581789340233330103.14804292703238970 1.179515e+0015.421238779924819600.0509166647950852970.1626449596238689900.0225794039470012010.08253207812437969600.31867310649033603 0 035044334 35044334 261752.781 2950.489 5 17135043414 150210425365 360771 93344443.03833-81.25038.340488228324080206.03762444336683140 1.136683e+0012.445363426004611100.0437004252678200030.0712056603346063190.0245008384109294960.21754566264854400040.35695258666190000 333195 60024935043414 35043414 338515.125 2870.054 6 16735043410 215395375355 660692135147343.03972-81.23198.146854243516008504.80775405814720980 1.176705e+0013.877190806367689600.0454144016869586980.0966889614187942530.0227011637890333000.12671452449081100050.29151905138559703 393980 95749335043410 35043410 8880586.000 14677.396 7 29135044326 215190130225 460103 67119843.02139-81.16758.143135070783557702.23627282225979980 1.307322e+0018.992074181548170800.0454481202799423970.2405426527467590100.0175942817439024010.03847495912333460260.34206001389393803 229589 44160935044326 35044326 547597.188 3960.631 8 17335043416 240375550420 748071174336043.03639-81.26118.500504950036210906.78181558132396050 1.113684e+0011.629094477545010000.0423429439850830990.0602742271963134030.0255935691489692020.34078469276775708070.46899543309812203 817627 92573335043416 35043416 15775.758 663.352 9 17235043415 45130145190 340031 46873143.03861-81.25618.508779166607459006.47554846255173990 1.133423e+0012.056331235519650100.0422741390503990970.0644687496054238970.0246530565725049010.26407787843789704010.39547382366622497 185370 28336135043415 35043415 101429.977 1760.663 10 16935043412 180155225300 371441 78110343.03778-81.24698.225292157120987805.77005362581044960 1.136678e+0012.674449354962440000.0447103744942555020.0758251870255852030.0245010690574073990.19647756591852000040.34151419649576803 266757 51434635043412 35043412 268597.625 3248.950 11 16635043409 170165260255 671391 98163943.03583-81.24037.961344627287960705.22215018471750000 1.132275e+0013.123012401372280400.0471346642434525980.0867617158205967050.0247068189689136010.16417625966923302040.32277945870219604 316852 66478735043409 35043409 1634833.375 7690.391 12 15835043369 210420435395 878911183626543.02806-81.24287.435340286329498805.13949002802140950 1.071066e+0012.776871506530469900.0524791599793730110.0886141019426865960.0277424997523954000.18818271830174896070.35701847997620401 655580118068535043369 35043369 999663.375 4723.309 13 17535043418 1902455403401016381175097943.03278-81.27398.719597365607459207.67664223532103040 1.085413e+0010.820483876831800020.0405651113778977970.0499364703065807020.0270002315172091990.70463922389540301070.822141037097089971439551 31142835043418 35043418 176604.234 2154.501 14 18035043424 110175130150 768442 63445743.03333-81.26568.439690796720370307.04139845334880030 1.089069e+0011.198019913425950200.0428527888905948020.0570047687905732990.0268142320490597010.47363016871873403080.60030195844896206 380865 25359235043424 35043424 596610.313 3356.112 15 16535043408 285205415340 641051126766243.03361-81.24787.942164970036838405.69158793123798020 1.104582e+0012.481164656481989800.0473171042982602970.0772622347919783990.0260386058604466960.21399668197199700040.36461462692268209 462208 80545435043408 35043408 5268.813 304.588 16 17035043413 0 0 0 0 00 043.03667-81.24928.195131027262100105.89874630668306030 1.125576e+0012.466403307550430100.0449794939227705980.0735510377946184960.0250229635032820020.21544749366046495000.35900098888113602 0 035043413 35043413 439954.313 3479.628 17 16435043407 195155315250 782951107139743.03139-81.26148.162036899142190506.66361290833443930 1.075819e+0011.385735296239400100.0452770721609618010.0618473993150078020.0274943747857916000.40562213363481797070.54024097989657904 578812 49258535043407 35043407 289461.438 2589.970 18 29035044325 225135 0175 332983 42633043.03000-81.19177.803968514636788502.27758550222420910 1.241145e+0017.006182436010501400.0486581610946338960.2356641273184889600.0200473563548805990.05743411195849339960.36180375672649695 154247 27208335044325 35044325 1214184.375 5012.581 19 45935045414 55 953401551988541124793843.02694-81.29089.134186079783569708.90717544088863990 1.055746e+0011.293413646959040000.0374343074556414000.0391124970716056970.0285573706837506000.43660278297364002070.54170695818463799 676016 57192235045414 35045414 689224.000 4133.583 20 13835043323 175225310285 792311123162643.02139-81.25007.117109828167910405.52555904984418960 1.011001e+0012.145185474332179900.0560961049961691970.0804374900761324900.0310787332307701990.25196283681651804070.41957516511958998 516759 71486735043323 35043323 343756.031 2352.956 21 17435043417 265330500340 816601150082643.02861-81.26698.165909929568279307.02644261934418960 1.053106e+0010.886572740507916120.0452421217369076980.0571865800986754990.0287001632756230910.64999446181974707070.781123326930954101172330 32849635043417 35043417 361987.063 3036.322 22 28935044324 470440180450 490583140012143.02861-81.19817.550009623832390402.34725381189194900 1.205742e+0016.468782555871870300.0512505794489043140.2278261281938049600.0214702066869812000.06456589709277720060.36511281142246799 511202 88891935044324 35044324 759532.938 4350.769 23 14935043360 230325305310 539092102710943.02611-81.22507.096762109455109003.76018939705365000 1.096742e+0014.229043244049631100.0563384067121794970.1315414308981510100.0264278307298140040.11380810003574800050.32811576837589201 337010 69009935043360 35043360 799805.750 6723.061 24 16335043406 270335575425 813021187024543.02389-81.26787.883683541973091706.99850467319418000 1.017230e+0010.678767861928816110.0478788691490251020.0575282906544360010.0307144512694114000.85768885550243301070.993810466575304811858669 1157635043406 35043406 786758.750 5593.190 25 28735044322 485475280515 463213154306543.02500-81.20837.107935402536129202.61368777987952950 1.142951e+0015.608869309698479600.0562051828098290020.2017056867631180100.0242106714515480030.07882070748713958260.36094224851163503 556957 98610835044322 35044322 752706.563 6414.019 26 17735043420 1901403602201220281128739643.02222-81.27588.114065658776269207.61376121822663080 1.005928e+0010.002831254913113430.0457127330327675020.0505835439105750060.0313787776622243970.00000000000000000070.12767505460556702 164368112302835043420 35043420 135880.313 1631.489 27 29635044333 0 0 0 0 00 043.02528-81.19947.285863239585710402.17971708190406010 1.179160e+0016.347745677556120300.0541387366621542960.2475210623692830100.0225947535163180010.06633878110139489200.39059333364915000 0 035044333 35044333 548509.938 3164.674 28 28635044321 445395100375 507713119362043.02389-81.19087.409147536412738201.82461489675787990 1.207117e+0017.058666919773791000.0527651274829126980.3012225950082179600.0214134068244168020.05679580220786848660.43219693152341598 515878 67774235044321 35044321 485965.875 3231.823 29 15035043361 185360220370 382472 98101443.02444-81.23447.039728542780760104.39267347966215030 1.061282e+0013.442936373870940000.0570250308255007140.1085102801715199900.0282601753430778910.14628055690342098050.34007604324351903 333619 64739535043361 35043361 23108.008 1378.204 30 29335044330 80120 40145 366912 37468643.02417-81.21197.004069986194879902.79080673545269060 1.124539e+0015.308316699506489700.0574600035747330970.1871012015749999900.0250722758659600000.08489216608154528950.35452564709723905 132835 24185135044330 35044330 279477.500 3056.774 31 15235043363 240195155295 320023 70190243.02111-81.24196.910951952160289104.87923414246483930 1.021755e+0012.817841728575939600.0586170482485596010.0948562426247552830.0304525681928875000.18503351558749101060.36895937465369305 258973 44292935043363 35043363 2120262.750 9430.462 32 28235044317 355360180395 449462116053543.01611-81.19866.658438730188009001.58720182015582020 1.124496e+0016.427574464308270000.0619175390125100010.3505292961040580300.0250743016213643010.06516199488331279950.50268313162124501 583381 57715435044317 35044317 1853368.625 9597.600 33 45635045411 335260820460 980501230980043.01806-81.29148.643501037096289308.827793608254110009.896954591983707401.330781690602439900.0411723819881478980.0397196996727216950.0323594248077742970.42354526040002494070.536796766868669061239893106990735045411 35045411 128063.781 1611.009 34 46535045420 0 0 0 0 00 043.02167-81.28978.762869220289715608.73531673762500030 1.014448e+0011.151666182703030100.0402244935085076940.0404409847996352950.0308765930838496920.49383702357126402000.60537909496325693 0 035045420 35045420 257208.219 2510.601 35 28535044320 285360155330 487012102181643.02111-81.19757.035853341511620201.83564980790041980 1.160594e+0016.502394796180089600.0570720880439518980.2992410110821910300.0234106795266823990.06408527220869170150.44380905086151695 453491 56832535044320 35044320 44094.922 844.932 36 18135043425 90 50190155 161691 25865443.02306-81.27948.333227369619880407.91923693485323010 1.014341e+0010.302788086806859980.0437632582915606010.0475363591835296010.0308828502834451011.95798377691704010012.08016624467557110 538043 035043425 35043425 412322.281 2601.408 37 14035043351 370325240385 470193116489143.02028-81.22176.660730800880649803.30907532921598020 1.065839e+0014.495679478587019800.0618864549052788940.1533473640413760000.0280178571105202010.10537307490506499060.34862475096223999 406109 75878235043351 35043351 2608.586 211.071 38 29535044332 0 0 0 0 00 043.02389-81.20507.078062253291991002.36757362263850890 1.148036e+0015.880339517799559900.0565623140468477990.2256269481156849600.0239775748088634010.07387020671204859400.38003704368344499 0 035044332 35044332 95522.656 1401.806 39 15135043362 230220165280 373053 73098243.02139-81.23676.844320735961471104.48060236669094980 1.034234e+0013.248782719772560100.0594643033520042000.1058232599807500000.0297423134489991980.15672055897951501060.35175043576126802 257123 47385935043362 35043362 14666.500 977.601 40 29435044331 110 60 75110 182693 19411743.02222-81.20726.921956732361799402.40450333423780020 1.128728e+0015.696611943897049300.0584786854623784020.2217252674692089500.0248737842818424000.07716903706531409760.38224677427874398 74200 11991735044331 35044331 280399.625 2372.050 41 17635043419 165150335210 943151102601243.02111-81.26427.557819725308149806.657184746192990909.969896305479510400.969347705314786090.0511682571817040980.0619345540792173990.0319148053937316980.59206363539008500070.73708125204473796 756254 26975835043419 35043419 68726.164 1061.019 42 14835043359 0 0 0 0 00 043.02083-81.22946.725163045464459103.90392847007406020 1.047731e+0013.855560390981589900.0610213211824270070.1256520729994570200.0289931652133452000.12758481621778001000.34325137561301000 0 035043359 35043359 9241.250 588.251 43 29235044329 0 0 0 0 00 043.02167-81.20786.873082852928850402.41321915713138900 1.122854e+0015.647029112025630400.0590965610455876020.2208218449150249600.0251525139520780010.07809607892436021300.38316699883705002 0 035044329 35044329 28956.773 1072.414 44 18235043426 75 80135125 675611 48329143.02028-81.27818.097526872580498707.770088686403940209.923895090241059000.239495767323167050.0458641300772384960.0489942114780760050.0321944466076640042.48293513685822020042.609987925021199901261383 035043426 35043426 254162.563 2990.591 45 14335043354 155265300285 498421 89609643.01833-81.23116.553058145453770003.96509669004431100 1.025620e+0013.724835698252551000.0633701484270672020.1232753701416580000.0302307831215552980.13305960890615900040.34993591059644003 313576 58252035043354 35043354 568293.250 3194.664 46 13935043324 100 55210180 844801 81376843.01806-81.25947.174989226247110006.216813579850520609.765299650794899501.400348259558889900.0554143885602925990.0683343349097621930.0331787469488293990.40109288002745602070.55802035044634002 454099 35966935043324 35043324 14519.445 485.663 47 28835044323 0 0 0 0 00 043.02083-81.21366.742291179968960402.75254932351368970 1.096215e+0015.166624013288980200.0607941232252543970.1900966055009290200.0264542191278884960.08799950360854501300.36534445146261696 0 035044323 35044323 102149.938 1470.177 48 28435044319 0 0 0 0 00 043.01917-81.20086.822361700412340501.87692975045910050 1.134441e+0016.232410864715680200.0597471511798262980.2920348176962830300.0246053964299478010.06809221541261879800.44447958071867610 0 035044319 35044319 343190.063 2819.325 49 28335044318 345270160345 400373 94133743.01778-81.21116.545317194008990902.45457223655416000 1.084907e+0015.383776823962559600.0634786970463825930.2166229021645350300.0270260901348899000.08330406433663979660.39043175368244704 367527 57381035044318 35044318 265752.938 3167.587 50 16135043404 0 0 0 0 00 043.01556-81.27367.590365672978419007.338902089946969909.545196232527859000.540781428904548060.0508270309783079020.0535421319584551140.0345989846322376991.08378753592598010001.22275568349498020 0 035043404 35043404 56382.898 1052.948 51 15635043367 0 0 0 0 00 043.01861-81.22586.541509457550660003.56408065335358960 1.042046e+0014.162057066250699900.0635321858507963970.1403426816315660200.0293063380008996010.11609706803465200000.34927827351791402 0 035043367 35043367 1261722.750 6856.277 52 13235043317 125140370275 619511100147943.01333-81.25316.637794267572900305.633370594723509809.471157524888576902.004347783867720200.0621984780348398960.0783543167687115040.0350915632868277000.27166371776711001040.44730807585749000 447969 55351035043317 35043317 321230.688 2497.777 53 14435043355 325360165345 450982101585543.01667-81.23566.480988939050139804.27920966507794990 1.002749e+0013.366081807267699700.0643907802793967920.1121408063453760000.0315683038406213010.15026915882443900050.35836904928983304 364050 65180535043355 35043355 1024434.875 8089.711 54 45235045407 170220530345 888231161579443.01194-81.30318.989587372628550509.734554040373309309.667542405303619202.397103056978019600.0384934623495044940.0333732767599147010.0338015517842322960.22249748664485702070.32816577753850901 530248108554635045407 35045407 21959.102 820.772 55 14235043353 205140 65180 433753 51683743.01806-81.22726.506303930530269703.65581247566735090 1.034218e+0014.049164936616409500.0640296974487613020.1361082681176320200.0297432236325826000.12012604558564301060.35000723478461904 180896 33594135043353 35043353 301907.594 3533.270 56 10335043254 390215 55340 293043 76852043.01639-81.21816.382789298224800202.91329827122025970 1.050852e+0014.812576561981940100.0658185651991661930.1780397860530449900.0288226982125577990.09656360188548320060.36924465135025297 283771 48474935043254 35043254 1929.938 176.173 57 15535043366 140 90105195 376923 51234343.01917-81.24066.744851699354719604.73113914628708000 1.010086e+0012.933714828931070600.0607602580881398960.0987148241816480230.0311326480409522960.17660302564055005060.36721075595128999 188137 32420635043366 35043366 2228.180 191.549 58 15435043365 160170135275 279432 60500243.01889-81.24116.733704079452640404.76439888483456020 1.007072e+0012.894132281795128900.0609078832544771990.0978273623674873890.0313108239426661970.17940698777077901020.36945305733540895 223519 38148335043365 35043365 153701.500 1633.343 59 14735043358 260160170320 227633 62985843.01722-81.24196.627489772364328704.792502206235660409.933600645975699802.842160301391420100.0623393610207172990.0970870893938490940.0321352309950248970.18320719254549600060.37476887395508801 236051 39380735043358 35043358 4028.750 275.931 60 10435043255 0 0 0 0 00 043.01889-81.21696.574260017766279802.90934839358300050 1.071817e+0014.898280141319700600.0630741509590115180.1783200760762639900.0277031199580578920.09437693630559519700.36347428329892895 0 035043255 35043255 3243.719 241.818 61 15335043364 0 0 0 0 00 043.01889-81.24176.745204113463700904.81195923753420910 1.005922e+0012.844524844840960100.0607555991122221970.0965796350247498940.0313790941818540970.18303128126977200000.37174560958859809 0 035043364 35043364 5668.875 301.628 62 17835043421 0 0 0 0 00 043.01833-81.27537.844011760947731607.513906358195750809.761585408453859400.300186126853775050.0482647195525404000.0516333494408023970.0332021821660603981.97520150665630000002.10830175781570000 0 035043421 35043421 3181.992 232.672 63 10535043256 285150 45260 244983 53203043.01861-81.21786.548568764908839802.96491094527814040 1.066905e+0014.824848024642419900.0634330701616132030.1744458989037830100.0279614730306852920.09624573907420790160.36208618117028896 192640 33939035043256 35043256 11007.984 699.473 64 18235043426 75 80135125 675611 48329143.02028-81.27818.097526872580498707.770088686403940209.923895090241059000.239495767323167050.0458641300772384960.0489942114780760050.0321944466076640042.48293513685822020042.609987925021199901261383 035043426 35043426 16211.734 515.255 65 18335043427 0 0 0 0 00 043.01778-81.26537.377563283533787906.691285882657560109.714321679049190200.937494971256940040.0531126589243035020.0614741137691579010.0335019602144661020.61314520108084203000.76123393398876993 0 035043427 35043427 96347.383 1391.294 66 46835045423 0 0 0 0 00 043.01639-81.31339.85237469720129870 1.061207e+001 1.026336e+0013.142208849499140000.0326344048795628030.0282642063768471990.0301898674371401010.16299969229001601000.25408817098356601 0 035045423 35045423 9309.859 451.849 67 10635043257 435160 80330 182673 58232243.01806-81.22036.498331322134708503.13142276790097010 1.054989e+0014.620367040991119700.0641431120356707190.1636590052746810200.0285982184890620910.10176266928237800060.35816300508179105 208566 37375635043257 35043257 165387.516 2250.098 68 16035043403 0 0 0 0 00 043.01611-81.26677.323854690927169606.781493990044129609.584285522790120000.889634607464608210.0537105138192132960.0602784328894993980.0343419936640600030.64765957973512400000.79599052010789695 0 035043403 35043403 276977.781 2158.510 69 14135043352 200250 60295 262282 62647743.01444-81.22676.234862918679420203.52473617831777020 1.010371e+0014.120828601651090200.0680542619225631970.1422263927242700100.0311158091913903010.11754287149364302020.35893933533186700 224867 40161035043352 35043352 93868.961 1413.594 70 46735045422 0 0 0 0 00 043.01500-81.31009.57458122908473010 1.032795e+001 1.006876e+0012.889973364284930100.0344055983453526030.0298233618987532000.0313224756019556960.17970605771429601000.27525749356035700 0 035045422 35045422 391643.375 4604.597 71 46235045417 225395630475 562941162045243.01306-81.3197 1.010474e+001 1.111455e+001 1.022607e+0013.709249645827790200.0311097712022880040.0257018539805933980.0304035651619990010.13373810543115602040.22095329577603701 358044126240835045417 35045417 3458.438 236.688 72 15735043368 0 0 0 0 00 043.01639-81.22786.385240606225631103.65821660925932870 1.020835e+0014.011522027029060100.0657823896787562010.1360001471437930200.0305056164491068000.12151988652304099000.35380803979469805 0 035043368 35043368 6375.180 320.487 73 15935043370 0 0 0 0 00 043.01611-81.22926.373164859906809803.76097850761754950 1.014986e+0013.898515035666759500.0659608683159202960.1315078701243970200.0308451892119296010.12586600536506801000.35417993301731504 0 035043370 35043370 172954.063 1909.175 74 14535043356 180150120285 261993 60487143.01417-81.24086.383665359936129504.646776890260990309.733370140638150802.971495495713479600.0658056334057369050.1010228216227800100.0333807919557774020.17399638401730899060.37420563100160303 226346 37852535043356 35043356 355854.906 3302.260 75 27335044281 275225 60225 466733 67749843.01278-81.18446.886034647539079700.98758288422725504 1.170924e+0017.623202679946918400.0589319671039280070.5806068819349280400.0229535285535360030.05048570599367439860.71297808358606707 483041 19445735044281 35044281 314660.031 3594.962 76 10235043253 340330110345 424353 97677643.01250-81.21756.098339730892581302.75594924521519010 1.026673e+0014.897711644110040100.0702138582292400060.1898270381627359900.0301706096189694010.09439118897413929860.38460269498508498 375670 60110635043253 35043253 5864.047 312.265 77 10735043258 230 35 10250 124943 37488243.01556-81.22256.309645458039040203.22463429727481010 1.030863e+0014.455720470982630100.0669109281770716020.1581069709837930000.0299324838800964920.10657286727453000060.36152325031549104 135528 23935435043258 35043258 742945.625 6106.177 78 46435045419 135 904252251780361169306043.01111-81.28697.997379623731737808.389994134542769509.309941911398016901.251421521262440000.0467942599511776000.0432749164507586980.0361912316958167140.45220662271079687070.57846703080855000 979379 71368135045419 35045419 4369.844 281.082 79 16235043405 0 0 0 0 00 043.01500-81.27587.658379044562800607.512712468517810809.510668594161678900.550958860914233070.0501233117339760020.0516460700037456940.0348277422916513991.06324273447736010001.19983985850673000 0 035043405 35043405 264751.094 2497.646 80 46135045416 200190290260 583221 90856143.01333-81.31199.61130469129457940 1.047176e+001 1.000122e+0013.071051735856780200.0341655790450164020.0290236075798754010.0317258703026183990.16743476580513802040.26234982273264801 238360 67020135045416 35045416 416371.563 3066.463 81 11435043265 345260230380 410253105294943.01167-81.23616.119745370540839804.224939220801459809.657436868034498203.393787690921549400.0698688829914584920.1139462503573820000.0338666525540832970.14881045423569600060.36649224013861997 385897 66705235043265 35043265 2057.375 194.373 82 46935045424 0 0 0 0 00 043.01444-81.27727.691117219819799907.621427948411850109.475039551203350300.604581720161853080.0497890144400768010.0505040782937958010.0350655449780553980.96641930455784808001.10177794226978020 0 035045424 35045424 2983.148 233.013 83 45835045413 0 0 0 0 00 043.01444-81.27787.720445591517338907.670721241316579509.478442251069630200.615943661289989010.0494919430459248990.0499969475238079970.0350427567622346030.94806824214505203001.08259988947701990 0 035045413 35045413 2533923.500 9789.733 84 44135045365 175130400315 368731 81645843.00528-81.28007.285399007618890407.784683647057677908.797592201931379901.339231368650880100.0541439968997997970.0488490870022745970.0399535919315072980.42069370107529103040.56364037690887203 460188 35627035045365 35045365 277842.844 3007.487 85 13335043318 85 80315265 491701 82575943.01056-81.26536.901757494026069806.603392770130900809.167752384419410201.246111534445510000.0587329882363634980.0626705314123093970.0371932195178783990.45425465871475701040.61285139788130805 506067 31969235043318 35043318 2219.422 191.444 86 45735045412 0 0 0 0 00 043.01417-81.27867.743364291627821107.733597649314712709.462872725202112500.656130425786895070.0492613625315856950.0493594556853187010.0351471614742620980.88826061747444496001.02202859716561000 0 035045412 35045412 3014.266 231.448 87 0 0 0 0 0 00 0 0.00000 0.00000.000000000000000000.000000000000000000.000000000000000000.000000000000000000.0000000000000000000.0000000000000000000.0000000000000000000.00000000000000000000.00000000000000000 0 0 ******** 515644.813 3799.928 88 27235044280 490370140400 460853119450943.00889-81.18256.713690992709439700.76123323464492720 1.158280e+0017.812552373598079700.0611741416939481990.7616963574183409600.0235142163305420910.04857348149369140260.894958196936523011069035 12547435044280 35044280 9388.672 482.477 89 46635045421 0 0 0 0 00 043.01361-81.28067.809945243876249807.892396994950158509.434741791040448100.767508154317292910.0485991810952220990.0477946410757908030.0353366730820973000.75523666095562803000.88696715620873812 0 035045421 35045421 5805.570 305.600 90 14635043357 255175240365 251273 75717243.01333-81.24316.370189489395549704.819118355979969509.626868127488307902.799636987719859700.0660049479753264940.0963939509340521890.0340644111295958020.18642145613066705060.38288476616964096 289909 46726335043357 35043357 160402.000 1752.976 91 10835043259 435190100335 298033 76461243.01167-81.22476.022412850732999703.305991378508089009.972105212429401204.319012062947130000.0714572789376835970.1535169163616289800.0319014423740486000.11084551956367600060.36772115723703697 281164 48344835043259 35043259 217139.734 1929.783 92 28135044289 195155 85170 353203 42915743.01111-81.19006.572295236624719400.90420995655767999 1.133526e+0017.174180114573348800.0631015008071776910.6367616829273631300.0246482158490568920.05542384264779949660.77993524223139710 334714 9444335044289 35044289 14701.680 621.329 93 13435043319 80105355300 288011 67142343.01194-81.26476.967025606446859406.567572765870888709.274355848304061601.211079421380260000.0579165964428554960.0631673047625584960.0364391187791816980.46821646065690703010.62573948064150209 420135 25128835043319 35043319 306868.688 3428.742 94 46035045415 230235330325 526951106047443.01028-81.31539.68399539355764990 1.073342e+0019.884725297159670603.402821773375760200.0336958508544494970.0276234229216839010.0324346113154267010.14833994857087698040.24209383366243703 256734 80374035045415 35045415 361053.563 2716.318 95 10035043251 350345 55350 412563 97328643.00917-81.21445.877650436666749002.43322036383588000 1.015754e+0015.194098492041459500.0739170020329488890.2187731246128220600.0308003640026263990.08738373562715061360.41087422627554798 399898 57338835043251 35043251 139407.250 1719.042 96 27435044282 275265130330 388913 88413043.01028-81.19816.265256230317810101.25534086055725000 1.090551e+0016.515297683917551400.0675862930607886990.4507060665406449900.0267391719872753990.06390208970072869360.60893362128943807 538376 34575435044282 35044282 323174.188 3709.555 97 11935043304 145145520345 762571145142943.00722-81.24696.025214119191511005.057004484132139809.110058815220899202.657902129138540300.0714108470434162980.0905229403101028840.0376086975170666010.19787765771303398070.39742014258362002 576827 87460235043304 35043304 294526.813 2929.411 98 11335043264 285210205315 417423 88251043.00889-81.23445.890859762599819604.046803457655809009.501462087118568403.584575075758680300.0736875441943286020.1202127240444190000.0348890193743554980.13937784194526001060.36816712955836312 324911 55759935043264 35043264 271290.625 2178.098 99 10135043252 405260165355 392623 95678543.00778-81.22175.732334367427189802.995439673572140009.803576744462930004.624422993585059600.0765110801679218940.1723784196392240100.0329382699697984980.10164849625390800060.38347626603085205 366904 58988135043252 35043252 260025.859 2876.864 100 11835043303 210170415350 677631135602143.00694-81.24335.913465943818369704.757681188452790109.157093719244141302.938790473004770000.0732972329162693000.0980056091092769980.0372695832183959010.17624893918028400040.38482136442422610 521825 83419635043303 35043303 236998.891 2618.700 101 27935044287 0 0 0 0 00 043.00722-81.15537.996800024532110002.64192871306691000 1.303106e+001 1.006910e+0010.0467997108548746030.1992458350868819800.0177431410496903010.03132041753651129700.29510910452795802 0 035044287 35044287 641953.000 3453.063 102 27035044278 0 0 0 0 00 043.00500-81.20335.763303170715439601.46212437974821000 1.034592e+0016.159630216845539700.0759472788033020010.3829458760521081100.0297221908303485010.06923249114119270400.55784783682695116 0 035044278 35044278 298449.156 2860.976 103 10935043260 310315155365 387222 97524143.00694-81.22975.695930118170208403.638358517951719509.493230289974880204.000417113782409800.0771816756014755830.1368975083162590200.0349439095832176990.12193608970115800050.37095918320211002 361774 61346735043260 35043260 157565.531 1759.823 104 45335045408 195210305280 462331 83790743.00667-81.30789.02238127651347990 1.009502e+0019.401907774362150902.910464924501119800.0382502773036298010.0311670574081234010.0355593025706082980.17824076801511698040.28321740529747802 237309 60059835045408 35045408 140450.578 1795.268 105 27635044284 185 50 85145 406913 39970743.00917-81.19586.254562921913000101.05730617739247010 1.094332e+0016.716176295411711000.0677504204152502010.5404455371005499900.0265486277724292960.06114099039606019860.69588557568428910 278150 12155735044284 35044284 257408.344 3017.160 106 13135043316 60 55265155 687021 60629043.00667-81.26426.601851166358620106.482795775556679608.877754364734048701.527699520180030100.0626918002905474950.0643649148367050060.0393362764704862020.36528868369659401040.53168167529433208 322353 28393735043316 35043316 128031.820 2511.970 107 45435045409 100110210165 511571 52784743.00667-81.31199.29013389682305050 1.043498e+0019.520599665909999803.224281535292069700.0363289769618028860.0292260383938714000.0347617754871585030.15812737769552998040.25844416853836200 136418 39142935045409 35045409 3187.125 233.916 108 44435045368 0 0 0 0 00 043.00889-81.26976.988941944110360206.952547337526479709.033198826877800501.136307078518330000.0576458805060047970.0580963717161006030.0381704464340072990.50089610577850308000.65480880443461609 0 035045368 35045368 349396.281 3404.490 109 12035043305 175160420335 673201129201443.00306-81.24975.814697461363659905.263746036301129508.756704730588079902.611932635679060000.0750248752505026930.0858515711828580220.0402728121566488030.20186031962863901040.40300957821864802 520694 77132035043305 35043305 146109.188 1946.105 110 26435044272 410335 70390 444033113686043.00639-81.15977.700855378266061802.27245365101371010 1.272556e+0019.713689428552690700.0496901242712308940.2362604880135240100.0188512074470180910.03350599014132910160.33830780987310205 384608 75225235044272 35044272 756448.500 5510.947 111 27135044279 415295105385 438063111251843.00500-81.18816.240863825545799800.43025309269860601 1.107229e+0017.397498260140541700.0679615042270303031.3695022078032000000.0259084272659304000.05289296269911190261.516265101995270001686872 035044279 35044279 2188.836 191.184 112 13735043322 0 0 0 0 00 043.00861-81.26226.645190966528569606.331009939799079309.034744007457661001.534090231085990100.0620976197985440010.0665892518581883970.0381590589835673970.36364860380040315000.53049453444070205 0 035043322 35043322 2410.539 200.785 113 13635043321 0 0 0 0 00 043.00833-81.26336.672026342866599806.419681363871879909.007564197371580801.483288412774809800.0617335814365160970.0652770462334227030.0383599349040764990.37707648308165403000.54244704565566892 0 035043321 35043321 409364.000 3449.921 114 12635043311 120110620335 816811147902343.00250-81.25615.998508711976049805.792829463442520108.627529430752488802.220379799185749900.0718552614258023000.0754153525912640010.0413012001623373970.24246777866228303070.43103959284168702 637517 84150635043311 35043311 531411.188 4394.206 115 45135045406 135295715420 978571210602443.00583-81.29928.434740554555949309.378767683848167309.126619525676627402.311579694061070000.0428946135930887010.0357171392618216980.0374888987034448990.23178060468836198070.34788125624671801 732646137337835045406 35045406 2585.852 213.875 116 13535043320 0 0 0 0 00 043.00806-81.26426.692198900553719906.492038271902209208.982881541756839301.447253441250689900.0614618505202162990.0642328307324110110.0385434084797312000.38717269988669911000.55141078961905710 0 035043320 35043320 235483.500 2002.495 117 45535045410 200245465345 539761114402843.00556-81.31589.49851778495728820 1.075471e+0019.564365194016190203.557323278128570200.0349086412616810980.0275124964662933000.0344726965834740020.14066324349748602040.23755707780893401 271771 87225735045410 35045410 265600.156 3184.841 118 27835044286 390310165370 443763107813543.00472-81.15677.787736159799378802.49455195789925010 1.282381e+0019.976601658824449700.0488188032303248020.2126957649950380100.0184890732988195990.03187425892146490060.31187790044564700 336246 74188935044286 35044286 664077.938 6225.025 119 8235043201 365280 25385 306853 89372443.00167-81.21255.350846435245990102.174308862703770109.742981205791430505.481503850850329800.0839915948876135830.2482073996689450100.0333198353049559000.08131232457110619560.44683115443262106 399343 49438135043201 35043201 194567.188 1952.985 120 11035043261 250230 60275 304753 63582743.00528-81.22585.550087326550560403.300496736668140109.497846069178109504.346510197920389700.0799564340318839050.1538197910946150200.0349131195212566000.10996450558510600060.37865385023286097 240758 39506935043261 35043261 853161.688 4572.235 121 26635044274 320420 80335 463412100402443.00167-81.16727.030764447500089901.60155598929064990 1.204311e+0019.149162993990680400.0571339621246362010.3471329772170550500.0215294929020460010.03732651811821059750.46312295036194806 464986 53903835044274 35044274 208961.813 2252.470 122 26535044273 395285175365 431673104479643.00361-81.16197.430112756289290102.05572322704876020 1.245535e+0019.560718829973360800.0525360721255375970.2641643865022039700.0198765285058032960.03449668038427290060.37107366751781801 387696 65710035044273 35044273 3297.383 230.542 123 44235045366 0 0 0 0 00 043.00694-81.27727.235607848214329807.560491019968729608.905089370962610201.171793571218690000.0547121018263695970.0511401394718356970.0391283152057047140.48486657038583197000.62984712688974209 0 035045366 35045366 271243.938 2277.411 124 11235043263 215290190360 362202 92289443.00417-81.23615.568435009959929804.142346316077279809.122332650959110703.570507336613729400.0795993643754046990.1167846957895510000.0375198678773290970.14003893314493102050.37394286118721504 345109 57778535043263 35043263 247750.469 2084.798 125 8535043204 365240140390 300433 89428143.00444-81.21535.521013077588089702.428511225181269909.812166229419046805.201335582126681300.0805271165809337970.2192524435635930200.0328845640259817010.08722261779747020360.41988674196797904 375496 51878535043204 35043204 507705.688 4129.249 126 13035043315 70110590325 881041151343143.00306-81.26446.378086787013288906.483077888337311008.603794599356588101.740249604750540200.0658880410040474930.0643608776032670030.0414935156885228030.31720292465292804070.48894535894876606 739985 77344635043315 35043315 563403.063 5337.070 127 26935044277 0 0 0 0 00 043.00111-81.19695.671892228343960300.88128880546448995 1.040666e+0016.742680284582260900.0776291914265510030.6540619801844059800.0293828687000982910.06078897531475408600.82186301562580910 0 035044277 35044277 482831.250 3392.692 128 45035045405 160205375320 361891 81991943.00250-81.30568.679564881479299409.901210530834680109.038212066420367602.898574134771509900.0408832547166586010.0323333025815372990.0381335147560575990.17908851957368499040.29043859162793900 238136 58178335045405 35045405 2984.766 220.339 129 11535043266 0 0 0 0 00 043.00639-81.23925.785663162842329404.414828659689679709.205662051790380203.269120497961240300.0755439569866420000.1078231528965430100.0369230497489351010.15556881330202302000.37585897293414311 0 035043266 35043266 148335.766 1950.698 130 11735043268 115120160245 316561 57920943.00472-81.24175.716547178097280304.609091053526060309.029291508235310503.128745726550319800.0768008440091487030.1020811385280560000.0381992594198242020.16382334697840098010.38090458893543000 220623 35858635043268 35043268 166135.188 1931.829 131 44935045404 320145230315 339613 77652943.00306-81.31259.16325784750348760 1.047490e+0019.280066594083150403.382245972471309400.0372253988369073970.0290063858291492000.0363992105314797990.14941521735329402060.25204621255082998 195721 58080835045404 35045404 108854.109 2060.980 132 11135043262 100105110155 438261 44802943.00250-81.23255.394857497405149103.835434338405390209.101879580174710303.894666473856260000.0830746060165428040.1284033963892760000.0376680262539468990.12601845755251401040.37516448621227910 168084 27994535043262 35043262 238865.000 2131.289 133 8635043205 305280115340 389233 91139143.00222-81.22145.319910722299040302.914310915777210009.439003797424240004.764746147821791000.0846452339188604050.1779680494383160100.0353078883232147980.09781816178560705260.39573933346599810 360673 55071835043205 35043205 4470.891 270.285 134 44535045369 0 0 0 0 00 043.00444-81.27697.071489643579420607.524445309481638608.713439865633329601.359941162446890000.0566412940662912030.0515212349345747010.0406138555870544860.41385451023883296000.56263089482675399 0 035045369 35045369 311867.594 2905.770 135 26735044275 415190 75350 309023 81582443.00139-81.17866.428084648170649700.66214616539450710 1.137636e+0018.222175119911410600.0651545680668185050.8799324458998769600.0244565166285810010.04473809547628779961.01428162607156990 827475 035044275 35044275 681038.063 4300.020 136 44635045370 145270545350 862021160497543.00083-81.29007.611772899344448908.604136098818139908.578692893373501602.015974183194409800.0506041789660978960.0414907411075872980.0416980644072368970.26993313701628402070.40372612149720610 647970 95700535045370 35045370 2164.063 194.188 137 12835043313 0 0 0 0 00 043.00389-81.25676.114663722068129005.847383306783419808.724995246940720202.112877742212829100.0699505606667786970.0744466784084238940.0405224370802481980.25625001898152200000.44116969513697296 0 035043313 35043313 143005.094 2167.887 138 44835045403 120330245285 584822 99778343.00028-81.31289.05906364966008760 1.049705e+0019.091089545464869903.502734400799328600.0379803432869786970.0288852039948919000.0377464559443431020.14329822942771700050.24791023265393000 247360 75042335045403 35045403 287798.250 2399.694 139 11635043267 175250430385 500961121460343.00000-81.24175.376321765607439604.593102724714409408.688204609068638003.296416303420259800.0834589757533490130.1025353795003049900.0408143455916898030.15404536538315602040.38085406622849999 462586 75201735043267 35043267 363880.031 2452.177 140 8735043206 0 0 0 0 00 042.99972-81.22925.155882495233319303.555021225714719809.007316462821000504.228887333336979600.0882420308200464050.1407727284299940500.0383617713936728960.11381334342857501000.38118987407228810 0 035043206 35043206 396316.719 2961.284 141 12935043314 150170315375 667321143751743.00000-81.26286.111147952775390906.345155999158500008.381140530684909602.007599521819420000.0700071493609411980.0663774523942372020.0433506450608608860.27117767995663800040.45091292677267802 648194 78932335043314 35043314 2232.000 190.338 142 8335043202 265180140355 221403 68878043.00250-81.21255.411406772705790402.179722167923630009.796478116951068005.464128242348079900.0827336538126537120.2475204185241190500.0329827253718228960.08166124315029608960.44489804085889201 306436 38234435043202 35043202 59586.508 1106.308 143 8435043203 310165105345 291953 77815743.00194-81.21585.332245229975670002.449041194730099809.629050397926400605.213519664382089600.0843837096233521900.2171763028774370600.0340502517323282020.08695237656591148260.42256264079902905 328820 44933735043203 35043203 248206.875 2307.193 144 26835044276 250170 80225 363293 57787442.99944-81.18645.955902757908920500.00095905327577629 1.084507e+0017.619336406817240000.0725725337636452940.0000000000000000000.0270465321939677980.05052574124834519860.15014480720595802 86764 49111035044276 35044276 257465.219 2429.192 145 27735044285 130205 25195 448972 57251742.99889-81.15007.917077742967468803.02200693324402940 1.296645e+001 1.059130e+0010.0475570724061505980.1706132135925190200.0179731207394811000.02837534611719140250.26451875285534204 151441 42107635044285 35044285 335383.063 4037.353 146 26135044269 405245160375 397263101817843.00000-81.18116.226951750486479800.44105800346514401 1.116290e+0018.039617036532749900.0681768202675202971.3352564992453699000.0254674955945088000.04639914913896200261.475299964246360001502117 035044269 35044269 20275.688 575.219 147 12735043312 0 0 0 0 00 043.00028-81.25475.796410271324581305.672720351367149608.478475245705830302.420174352522990200.0753512115745338940.0776137110972861120.0425267885804263970.22010558508329200000.41559729633553910 0 035043312 35043312 215225.734 2454.529 148 12235043307 90185320305 494621 95413142.99833-81.25255.583614938007669605.490543093647199908.363530554836270202.654196154551788900.0793057172342692960.0811316813355097980.0435017472197852940.19819361990349296040.40213276569305806 383687 57044435043307 35043307 308112.125 2696.476 149 8835043207 305155240335 327463 80801542.99750-81.23645.084762692872089904.155524308342490008.641387319172169503.771091403502271300.0898736602145651790.1163242466176999900.0411894027325594020.13107901331985200060.37846632288467602 305806 50220935043207 35043207 225961.406 3884.830 150 26335044271 415290105330 427753 93909642.99833-81.15427.626041949963030802.67422179045385990 1.267399e+001 1.025489e+0010.0504563312071360860.1964967030749929500.0190435030653791980.03023824876661110060.29623478611411902 278192 66090435044271 35044271 342544.594 4122.402 151 44735045402 210305475375 606481134589142.99667-81.30398.295865612500700009.760790709548542708.567465642804728903.046209045297459700.0440883134278938010.0332071986789832030.0417899409411120050.16903195540449201040.28811740845248102 387774 95811735045402 35045402 423618.125 2815.521 152 24435044201 450240110370 379573 97637842.99639-81.19085.580563140786689600.42907602233937298 1.044070e+0017.321500886197490800.0793646242289221951.3733370620010199000.0291944616593174010.05373691572473340161.535633063613999601499358 035044201 35044201 2557.602 204.652 153 12135043306 0 0 0 0 00 043.00000-81.24945.592350682054029905.232473766132280008.535932234418519102.767732139328449700.0791374518726744030.0865344790285280110.0420492825883592990.18889794046763397000.39661915395719610 0 035043306 35043306 579180.125 6223.372 154 43835045362 125355490360 693321141712142.99500-81.28366.919214528928369708.079908312160769808.051889943764159302.178479076195710000.0585131219361176990.0460260932476218990.0462851191875474980.24767787238787503040.39850220675916209 564725 85239635045362 35045362 4566073.000 14188.025 155 25335044226 305450165380 572862131181042.98500-81.14897.400293814618800403.28460897530198980 1.243296e+001 1.089837e+0010.0528622485275958980.1547012547394620600.0199635154646503990.02677530130646000150.25430232003816799 333596 97821435044226 35044226 636506.125 4147.496 156 46335045418 120320415320 594541113298442.99444-81.30618.345043759489170709.948852160616141308.466979812361620003.297014874142960100.0436610590573814000.0320424117605907010.0426231013222550110.15401224028371102040.27233881242393804 308555 82442935045418 35045418 5198.688 384.387 157 12435043309 0 0 0 0 00 042.99917-81.25645.787502184402059805.813712813325519608.375103965707090502.381676646079689400.0755109240498142010.0750423940766081900.0434023701478676030.22412266141275705000.41807834968704710 0 035043309 35043309 17320.281 647.105 158 12335043308 0 0 0 0 00 042.99861-81.25615.738445124030140405.789164898057900508.336724373729779802.429812491691670100.0763993491082451820.0754810760622326990.0437329827341564960.21911980858947905000.41473321649411288 0 035043308 35043308 468401.938 5347.257 159 6335043152 0 0 0 0 00 042.99611-81.21424.922072743054029902.322562383731249509.315893920929340805.482725501228800100.0937833895063438780.2305502307218360300.0361499557729782000.08128787589274630300.44177145189390499 0 035043152 35043152 319369.594 3114.658 160 3735043064 330185105385 268633 82850642.99528-81.19695.279786361593569000.92469973738738220 1.006311e+0016.859215497128159800.0855044296523130990.6220225487123760600.0313560160331691970.05927347916396200860.79815647356181985 661277 16722935043064 35043064 408288.063 3290.669 161 6235043151 340260145350 359493 89313742.99556-81.20565.042337808594540501.620697779344979909.659368811817939706.166875339405889300.0908688885201342780.3426974722958330300.0338541962690228000.06911777339499569660.53653833047998500 479202 41393535043151 35043151 96025.461 1826.609 162 28035044288 165155 35135 527793 44097542.99722-81.16067.179870909398580602.14766285174785980 1.222168e+0019.747977387827470300.0553573936101028970.2516394175400690800.0207997879115208000.03328819529908459760.36108479436077801 159229 28174635044288 35044288 324456.031 2669.054 163 26235044270 485345 85385 479183117946042.99611-81.16836.672241156469271001.52163362890627020 1.169774e+0019.139228763525288500.0617306791721373980.3668581473459801000.0230040089181831990.03739797564780501160.48899081108410603 576745 60271535044270 35044270 242281.594 2742.313 164 12535043310 80 95255245 407671 67616542.99583-81.25695.587316138433289205.861775353756221408.119575543703890102.548590091056770000.0792343615495889890.0741941347232828040.0456624321781154000.20758351041604198040.40667443886702898 274979 40118635043310 35043310 327482.469 2455.143 165 44035045364 260300445365 649011137251342.99528-81.29147.414750079864819408.726358266109169608.185469868122021702.434384523490829000.0527037901125552020.0405116697407943010.0450661171580142990.21865491668525600040.35693649369661901 489899 88261435045364 35045364 167100.344 2265.242 166 42935045353 190120120330 215673 63173842.99639-81.26425.947796329756008606.465767158546549708.100333804383959402.190826416798580000.0727101692845038140.0646092588238075940.0458383916961343020.24612184675780896060.42927966656225502 271192 36054635045353 35045353 287867.844 2608.947 167 9135043210 100 90320270 406341 74362142.99528-81.24785.213323857744329705.109312335057340208.217860360064630503.097691430884679700.0869567095427671990.0893053091142398110.0447765029576608980.16575050771792799040.38678902933259601 287624 45599735043210 35043210 354279.031 2546.463 168 25735044230 400350120370 423633104642042.99472-81.17536.211055951738119400.98312561939096976 1.121223e+0018.597248498520780700.0684240189167381050.5833680354344890100.0252304176273308000.04154674340769500060.71856921538625307 751925 29449535044230 35044230 169764.625 1911.526 169 8935043208 165210215305 361301 78070442.99583-81.24065.050416377587320804.509926456070140008.414283558431259603.543359367140169100.0906780878060299970.1049504426711169900.0430679770948007990.14132954871898099040.38002605629092895 296687 48401735043208 35043208 83008.992 1897.375 170 6735043156 110 70120140 349711 35129542.99667-81.22114.908541831571920302.889783165905710009.079774676845790504.936626508633589900.0941202353619777910.1797197555639350200.0378289007291220950.09342314135872430110.40509203301375912 142306 20898935043156 35043156 199253.781 2246.872 171 6535043154 330295105365 363543 93783642.99417-81.21814.739391394066959902.662063741944610009.031694998052529405.239777836677568200.0984934695352717020.1975238975578579900.0381815328776200020.08637424686169491260.42057314683244496 394428 54340835043154 35043154 160311.234 2021.707 172 6835043157 305205160335 322763 80110642.99528-81.22584.806043131613360103.287343308468190008.816812617380410404.625938696350729600.0967334968984606690.1545489451058220100.0398045556478585990.10160588137116702060.39269287902330802 314588 48651835043157 35043157 613281.813 3584.500 173 25835044231 475325130385 495843120636142.99222-81.18335.658464432285219600.58657886878764998 1.062091e+0018.005361138538251700.0778808332686851820.9969519581370430700.0282170357408015990.04671927720138449661.149769104347910101387036 035044231 35044231 4674.453 275.954 174 44335045367 40 75540290 285161 64537842.99639-81.27586.545271753318820307.428580320487229808.095975100624100301.971235437478259900.0634793350031050000.0525527709439313970.0458783668324262980.27670432731985700010.43861480009931902 283072 36230635045367 35045367 81402.984 1287.397 175 27535044283 260130 25195 330023 47252542.99472-81.16396.857512869206909801.89890100673227000 1.189763e+0019.518094128289330800.0592952504133268940.2883270780862629600.0221401655139162010.03477840545114269860.40454089946464811 191155 28137035044283 35044283 170248.016 2037.690 176 7035043159 385230145370 323503 88600642.99333-81.23144.703854700308539803.765385032715889808.497041393927649004.287725771711879300.0994522192014817980.1313207197568890000.0423717852596290980.11186164505108601060.38500636926908610 341117 54488935043159 35043159 267277.875 3480.646 177 42835045352 215190220310 316841 73325942.99250-81.26395.693189620306630306.458146359618080407.807933107020320002.469991190656469100.0772325048684116000.0647190271997599010.0486190273299160060.21509326518784305010.40566382458593103 297456 43580335045352 35045352 228314.531 3429.684 178 25535044228 435235150350 354413 88540342.99306-81.16196.897075814044139702.08594167735118010 1.194278e+0019.707293617227810100.0587921419083006010.2599259072260720100.0219490726486696910.03354678617519479860.37421390795823695 331330 55407335044228 35044228 336376.438 3589.115 179 43035045354 115185110180 431182 51486642.99389-81.26926.045324047458919406.889820148567600307.894582184201158102.228223328455039900.0710787820220886990.0588839770807724000.0477735472350580980.24151425776154800050.41925056409946704 215857 29900935045354 35045354 115759.328 1425.111 180 25435044227 190200 50160 589242 56304142.99361-81.15787.178417722029280402.41167759904798020 1.222709e+001 1.003017e+0010.0553743518561200940.2209811569403990500.0207780066681295980.03155229528283509750.32868581074748304 185063 37797835044227 35044227 79768.766 1313.823 181 9635043215 80110210225 395211 60892242.99333-81.25335.277280075315379905.575492870135780007.980785287916459602.883794871482279600.0855585310970418820.0794626351637002930.0469506363529020860.18015194903582701040.39212375164947111 238772 37015035043215 35043215 161742.344 2055.516 182 6635043155 325160200340 268843 73198542.99278-81.22364.615749005623990303.129281356964409808.728345342780960104.873525975163279800.1018929089479640000.1637904424987969800.0404959786063242010.09500062242238409360.40117995247547000 293657 43832835043155 35043155 1590.133 159.811 183 9735043216 0 0 0 0 00 042.99500-81.25365.400313420660140205.591422456379008908.100367831995340502.771870628155010100.0829619708542567030.0791553061202790040.0458380797867168970.18857348921637798000.39652884597763000 0 035043216 35043216 149912.625 1947.287 184 9035043209 120115295340 349551 85290842.99306-81.24394.939088674181110004.799710022836100308.137402539198269803.452197984076479800.0933624055476477000.0968986242301840830.0455001526606777990.14581188762401501010.38157307006252505 325446 52746235043209 35043209 793963.063 4556.764 185 3935043066 450180 95360 311293 84273342.98944-81.20944.521116409337119902.047897693338399909.108744327063247306.043285040422030200.1046203637406970000.2652823966530010200.0376182250764596980.07111235042971089760.47863333589986806 403360 43937335043066 35043066 218607.094 2124.065 186 9835043217 140130270310 318291 73523542.99194-81.25695.334391671448560005.882645733276879307.828730563597059002.787438872845420200.0843383229119235990.0738301080884764950.0484143887678177980.18736159135284505010.39394441112106304 289641 44559435043217 35043217 5402.070 413.330 187 43935045363 35120165180 310311 42059042.99389-81.29677.689556853752600709.170670771063127408.186821519360929502.778340389838979800.0498048831066245990.0371723417756278030.0450539857728930110.18806820637056301010.32009941702570804 134630 28596035045363 35045363 114191.477 1432.627 188 7535043164 130150265315 304111 72742142.99278-81.23674.745844880008499804.207390989152700408.300040170272309203.940207738367769600.0983209004752670780.1145400018308510000.0440518486768387010.12423353090489501010.38114628188785210 277253 45016835043164 35043164 108447.625 1453.179 189 3635043063 145150 25170 380202 44906942.99250-81.19865.035609216187610001.134766218322649909.815320116818430306.790603515531919300.0910282726014736980.5016148358327480200.0328648678689318980.06015945488520208650.68566743118835605 307911 14115835043063 35043063 185668.844 2679.117 190 6935043158 310245165350 319443 83187342.99194-81.22834.571162180902390103.524677508713220108.504208513678738904.562287508078830100.1031638997566670100.1422292330741290200.0423121301419630970.10341984540542500060.39112510837818304 325366 50650735043158 35043158 790576.313 4239.214 191 25635044229 345190 90270 476903 82456542.98861-81.17365.975741554736459601.32324030977736000 1.100552e+0018.853301733729342300.0722372746405355040.4261210477904230400.0262380013632604920.03952339719213129960.56411972098635099 465153 35941235044229 35044229 196108.844 2328.950 192 3835043065 315230180370 319823 88002642.99056-81.20334.754927347970999901.548580330996339509.467283137579610006.476325104415430200.0980788248123804770.3599800793623079700.0351175516715706020.06445761127039349760.55763406711665309 490732 38929435043065 35043065 132117.906 2135.400 193 9235043211 110 80375265 407691 73138542.99139-81.25065.044412548687150305.366386906783689307.881107260960929403.141373973577950000.0908198287121407960.0836660848363529890.0479038082900586980.16305056348350902040.38544028532206209 281905 44948035043211 35043211 192368.469 2727.573 194 43235045356 170 80 80240 325423 57672942.99111-81.27586.250475004459939807.451983384454579507.694447938150009502.374394475580769100.0678133126184024960.0522984982653185990.0497551631136292010.22489717644539300060.39476415044274304 227671 34905835045356 35045356 706533.250 4067.117 195 6435043153 230160 65240 229923 47486842.98861-81.22194.307493579012409603.055843830503299808.518340039019680205.147017291930070300.1112179035056210000.1684094317507699400.0421948012825196990.08844295617352750160.41026509271243811 194821 28004735043153 35043153 32325.148 759.124 196 7635043165 0 0 0 0 00 042.99194-81.24004.756602285608719804.487094871562140608.151485366414979303.756908296509369600.0980342835423948930.1056290304289600100.0453724582237673980.13168112687658201000.38071689907170397 0 035043165 35043165 353651.750 3306.737 197 42735045351 255200315335 355551 84911942.98833-81.25945.219036001774119506.120390336406900107.530310676559391702.916621932649460000.0868304399348499840.0698585261116246030.0514589744505219020.17780452156993698040.38595246206693296 327719 52140035045351 35045351 2475338.250 9268.056 198 41635045314 205165230335 358221 85301042.98389-81.29397.050615999010539709.006570105601358707.384752560613788003.298243340370339700.0568930994388860970.0383673048509683010.0530332917332408950.15394429422021402040.30223799024330900 257812 59519835045314 35045314 2445.891 220.081 199 43135045355 85 40150170 243551 34677642.99278-81.27256.157824594632419507.168868324926410007.811075449862000802.262282677582620100.0692611230046300960.0554859613921662030.0485880380610850050.23745042864854096010.41078555110642201 142450 20432635045355 35045355 1744217.625 7870.644 200 25235044225 355235105315 293033 71199742.98306-81.15426.956728338876769302.92549733795061990 1.199490e+001 1.051331e+0010.0580443797801860060.1771788981042659900.0217302254909770010.02879657086310109160.28575007423852999 203453 50854435044225 35044225 132693.438 1569.576 201 7735043166 130200355385 308201 89601542.99056-81.24284.731379805191569904.731281703870269707.982901728887809703.644497450322429000.0987083579228522910.0987109937256688000.0469306559413198990.13661905372277500010.38096906131261599 341353 55466235043166 35043166 357973.938 3360.105 202 3435043061 375345180395 477013120649142.98944-81.19145.115741262856280600.84216781320001410 1.001999e+0017.429863357083389600.0891573736820595040.6857647822211930800.0316132142892250060.05253878933748149760.859074159529959021036465 17002635043061 35043061 150811.031 2147.666 203 7135043160 215125155350 240283 70881542.98972-81.23444.480736733443349904.052013661466309808.153552292333747804.228988661169769800.1058192345656740100.1200216171396199900.0453537537292117990.11380993565447101060.38500454108897603 272896 43591935043160 35043160 100735.719 2034.599 204 26035044233 285160 80260 344843 64688342.99194-81.16146.874205968560800402.14566595466284980 1.192158e+0019.766783066023400300.0590822637126044020.2519000521870350400.0220386220519026010.03316939223951129960.36619033019105296 236882 41000135044233 35044233 1038.578 129.027 205 9935043218 0 0 0 0 00 042.99222-81.25675.343861352534769805.864126737359528707.852077930826020202.779259273447200100.0841385208566562130.0741529917525445000.0481859516635032990.18799663313208997000.39447409740479406 0 035043218 35043218 8749.203 542.568 206 41735045315 240115205365 260253 77182542.99167-81.27946.491692295792719707.746662038728151107.759363050662809502.352147594059220000.0642377682856662970.0492282968312183970.0491012094818178010.22729300854268400060.38986028314138610 300903 47092235045315 35045315 2123.063 186.989 207 43735045361 155 40115195 263523 41519042.99194-81.27726.376904296759299507.562883670549228807.764884756529290202.314487733674690100.0659055274651484950.0511149715974874020.0490460885105478970.23145368487388801060.39752027244707205 165046 25014435045361 35045361 1660.422 173.531 208 43535045359 90 95 70180 268742 38744142.99194-81.27506.250379910076060407.380663129972320207.754169976429238002.311652353928620200.0678147766151457050.0530784187053797980.0491531214890102010.23177242629700001020.40181874310653504 155681 23176035045359 35045359 304363.000 3010.972 209 3535043062 345235 30340 354023 85952842.98861-81.19784.805499827761069701.236571450194940109.631936363981790106.954134405603289400.0967476457514488820.4579784107920019700.0340315363443787000.05807662871357249860.64683422160140203 555972 30355635043062 35043062 1744.797 169.461 210 43635045360 160 65 60220 240653 44590642.99167-81.27646.315791839545760007.498199295423238407.739961980312339002.332403296627040000.0668181616220888950.0518010277559110970.0492955062023915990.22945761100558895060.39737230658598105 177190 26871635045360 35045360 95070.766 1576.037 211 7435043163 130210220345 365941 89004142.99028-81.23814.593319067200909904.348167532432589708.084703395487830203.958122505511440200.1025292119354620200.1099117622142689900.0459819432876420950.12354264314897501040.38196556058634801 339965 55007635043163 35043163 2537.258 197.926 212 43435045358 175 65 45210 271833 45490542.99139-81.27586.265823886568210107.450218608948910407.715742617756870202.353012615093260000.0675775959884391960.0523176167405584940.0495394281218516990.22719900536763199060.39663364621848096 180430 27447535045358 35045358 236154.500 3320.191 213 7935043168 55 75150185 341471 45756042.98833-81.24974.804844112716569505.322935080567099907.672631163155839903.365527793048839600.0967647263057256760.0845809973400114130.0499774293243121990.15029857239469402010.38162172536474304 174614 28294635043168 35043168 2319.922 197.576 214 41835045316 0 0 0 0 00 042.99111-81.28006.497826182088240407.799690611478070007.721679403628320102.401583758396189000.0641503072964624970.0487004321162644860.0494794950460348960.22202935689581105000.38435959135457298 0 035045316 35045316 1548.281 160.636 215 43335045357 0 0 0 0 00 042.99083-81.27756.334360211334930207.594502176337699407.682297542499910002.400639412815920100.0665390049972297980.0507838715134350110.0498787938655103970.22212787384674598000.38932954422292099 0 035045357 35045357 3137.680 224.552 216 42635045324 0 0 0 0 00 042.99056-81.29337.309876492742740908.904439034291890207.868269724091479002.826089933510469900.0538675523108336010.0391332480575962010.0480283227835690070.18441055359841296000.32543967675041202 0 035045324 35045324 14359.820 680.484 217 41935045317 300150 60355 284583 78911842.98972-81.27836.322545553240029607.668327839551971607.603140706450078702.490308511378750200.0667164366566763980.0500214203099123980.0506938902280930010.21310660971124801060.38053835690593002 300289 48882935045317 35045317 147112.563 2141.057 218 7835043167 90135265295 391401 79352542.98694-81.24614.581547524274290205.045741898765579807.645368474239200303.641049760434940100.1028656454563200000.0907884157843264070.0502569607406500860.13677532120317801040.38068634318447503 302084 49144135043167 35043167 290858.813 2781.281 219 39935045263 245200190335 309293 78125942.98722-81.27536.011047131401560307.441295318420438707.396367136510190402.671555115383340300.0716461132668212010.0524144249430198020.0529053967151486980.19672120145897296060.37368713638396311 291946 48931335045263 35045263 148092.422 1665.415 220 5635043117 155155180315 242921 64166542.98778-81.24034.466448964831161404.560504299859840007.847815015686360403.938765914976659800.1062486298636940000.1034713933338800000.0482275597753656010.12428940846779600010.38223699144073697 245268 39639735043117 35043117 3034.008 220.923 221 7235043161 0 0 0 0 00 042.98917-81.23584.465610437126770204.173814881529989608.072934271744779604.160303218985630400.1062739157910329900.1156899783489110100.0460903992171681970.11615798853116301000.38421228188827405 0 035043161 35043161 268294.719 3472.177 222 39635045260 200190330320 335621 78327242.98333-81.26315.104616626783320406.484392753988649007.120757825126169403.143745312751600200.0894135970823922990.0643420655799232940.0560528108415535020.16290614214711996010.37271461565098896 291936 49133635045260 35045260 178416.141 1881.172 223 9535043214 100 95245300 342121 74284142.98611-81.25614.926500520290400005.874748083604099907.404000548313010003.196696304887599800.0936735638310950140.0739675567774557010.0528215591861940020.15973708516871801010.38019976496346303 282427 46041435043214 35043214 1994.227 183.632 224 9435043213 0 0 0 0 00 042.98917-81.25475.060843875849029905.724931582013150307.651369018374300203.063683461170860300.0904327103376288830.0766467546038437920.0501952646359772950.16790578592941599000.38518051550686611 0 035043213 35043213 57962.500 992.197 225 9335043212 290 35105335 181603 58951142.98833-81.25284.926694786408050105.577535638698569707.618192787862637903.206928608303399700.0936687498148700840.0794231259645460930.0505375912092341990.15913675880164399060.38276622579029512 225644 36386735043212 35043212 233670.719 2536.063 226 39835045262 245155120370 223223 72092142.98583-81.26645.426754449710670306.723082597692340707.290478766363020402.880633793819689100.0824193157452741130.0610489963483092990.0540864743174247140.18038081827677199060.37793560468777998 272461 44846035045262 35045262 2411.367 210.537 227 7335043162 0 0 0 0 00 042.98861-81.23394.391093746446800104.026776234888500608.092084184521260304.311725121237969900.1085595393084550100.1209519135613350100.0459140881105912020.11108086972051501000.38650641070089697 0 035043162 35043162 259606.703 2048.221 228 4835043109 145110135230 264613 49083042.98556-81.23444.176359686649029804.118215450118699807.865464325186946904.419635616355420500.1156021715527180000.1176354852841600000.0480555871680884010.10767497802177500060.38896822202674097 190917 29991335043109 35043109 2535.219 203.438 229 40035045264 0 0 0 0 00 042.98833-81.27676.153354147894919607.546981152362779907.487573036741670402.588196950924909000.0693320834577075000.0512825468548312940.0519148656918451970.20397209223483201000.37650158823921598 0 035045264 35045264 2190.000 188.444 230 42135045319 115100 85170 407623 46913942.98806-81.28976.956091830128669608.623268632240099807.614829222277190702.857412656844480200.0580522909135463010.0413356460445611020.0505724644616614980.18207760455995101060.33203800597972000 155771 31336835045319 35045319 243627.094 3518.355 231 3335043060 295215 90305 309623 71173942.98639-81.18615.178399804279648900.95435336234306112 1.015242e+0017.920432188989770400.0877347802081101940.6018122595143089400.0308301917776432000.04752489791419709660.76790212941425984 546545 16519435043060 35043060 6329.422 354.429 232 40135045265 240145105375 330373 90927742.98806-81.27786.205068509814109807.640087945544141107.473630760323740002.613543073885079800.0685174591623382980.0503113339925426030.0520647187669363020.20171842788976102060.37261193981157797 338807 57047035045265 35045265 468005.188 4398.746 233 5735043118 90130375315 396501 85424042.98361-81.25034.514649825658390005.437701796625489707.315233531405409603.617805214448440900.1048109141218780000.0821961857262953900.0538072975695240010.13783665978760401040.37865105720530201 323458 53078235043118 35043118 1358.227 147.711 234 8135043170 0 0 0 0 00 042.98778-81.25114.822031712931329005.444304230246229907.606538741158980903.325120829332120400.0963185458334630680.0820620479969592920.0506585513806527970.15247027466121199000.38150941987228798 0 035043170 35043170 1931.977 181.179 235 42035045318 85 55130145 309881 33853442.98722-81.29147.029457236301940508.770342786207150407.582444855301608802.975877191506129700.0571498705098303010.0401660051206326960.0509098066544742960.17369835618684701010.32192403847178502 108982 22955235045318 35045318 968039.063 7667.026 236 34735045116 215370430375 731801153281842.98278-81.31118.23146146505398950 1.043540e+0017.797876035534240004.216708445005999700.0446555704200568980.0292237427401854000.0487183763999306030.11422412659639600070.23682181615656905 363004116981435045116 35045116 1405171.750 7651.212 237 40835045306 175235335405 415531113138142.98000-81.28476.253641630566470208.295943887806249306.931449167753240403.312052033869219900.0677645872137147970.0440876293557004860.0583596902723980060.15318400746561500040.32339591430742803 365883 76549835045306 35045306 600532.750 3041.899 238 29835044368 0 0 0 0 00 042.98333-81.33039.68496715396044120 1.201636e+0018.635879962527429405.429806013415449300.0336896190882413000.0216406736787884000.0412337899389752030.08235702799640909300.17892111070241401 0 035044368 35044368 1834.625 178.416 239 42235045320 0 0 0 0 00 042.98694-81.29477.238547673561320109.045267277799769807.628140468371819703.124957688045319600.0546783420353466960.0380816095668572020.0504346342120119970.16405637312516502000.30725095893938104 0 035045320 35045320 118535.445 1827.359 240 4935043110 175155225315 423011 89003742.98444-81.24004.220912651184769404.589967491259479907.619561491080078004.128704667979599600.1140820545135820000.1026248250621350100.0505234093872092980.11726444171945000040.38449473068237705 342214 54782335043110 35043110 2727.578 217.244 241 6035043121 0 0 0 0 00 042.98639-81.24064.375472212118800104.605661627895820207.741135183583470103.991177057791190900.1090485639328479900.1021783055189520000.0492837292080606990.12228416484528200000.38279476350514302 0 035043121 35043121 2207.188 188.532 242 42435045322 0 0 0 0 00 042.98611-81.29447.181491807547351109.027336593633149807.560131037097750803.167842954935519800.0553384863281446980.0382136845307059010.0511439274475950010.16145078952422001000.30614688783066502 0 035045322 35045322 346352.063 3077.162 243 4635043107 395185 40310 284123 68845642.98361-81.22533.935781517505279903.437202976717940008.057198610252019205.110156803461820600.1244051982375100100.1465719521949840100.0462359029712422000.08928585589836110560.40649890930209798 279856 40860035043107 35043107 243334.641 2411.827 244 3135043058 215 85 40155 308623 36102042.98417-81.21784.004087880980639702.841668891922108908.403113020904259005.608767382636470300.1217982568801969900.1832437879168590500.0431629984901112030.07882265621608769460.42702769950325503 154165 20685535043058 35043058 165695.094 2552.303 245 35135045120 85105320175 837301 78621142.98333-81.32118.99134475350549960 1.125609e+0018.223978141293011704.808181816376230000.0384803854083876000.0250214109629420010.0447220579682503990.09667783180926030370.20490168614884000 161095 62511635045120 35045120 1672.727 164.603 246 42335045321 0 0 0 0 00 042.98556-81.29397.123267195490949008.990849723865810707.508662321268960003.184721507796569800.0560230555648272980.0384840684828040010.0516892533359650030.16044454209530098000.30664091947889804 0 035045321 35045321 561527.250 3868.610 247 3235043059 450260 85385 342873 95457442.98361-81.20504.226202885649400701.934647922112650008.973079528993308106.560013887535179200.1139036840696320000.2824746109176230500.0386165497929934970.06327282903898670560.49826767381923504 475633 47894135043059 35043059 1551.633 159.560 248 8035043169 0 0 0 0 00 042.98556-81.25284.745980670041830305.612073528910860507.413469161306118803.378270162287079900.0983172744312593850.0787594825670977910.0527178055996263970.14962449881305701000.37941906141104098 0 035043169 35043169 2023.898 219.688 249 6135043122 0 0 0 0 00 042.98528-81.24314.369431397136351004.826365304385920007.596973052653990703.902565626888839600.1092386062683940000.0962065498640073960.0507581132969087970.12570587500934000000.38190914443864998 0 035043122 35043122 644858.625 4447.920 250 24735044220 580255 50375 408823103679642.97917-81.19254.438157596897240401.568905012966480109.403763350676543507.637117077978340200.1071070374178950100.3549485727360490200.0355466794764444020.05034195786913328660.54794424749952109 568106 46869035044220 35044220 1102291.125 7792.283 251 25035044223 350365170365 484732112669942.98250-81.17585.532864580068739701.51621691719616990 1.057227e+0018.822149844736710400.0802937657912417970.3682702587684499900.0284775751882106010.03976328565989301150.51680488540779501 582283 54441635044223 35044223 32332.125 782.348 252 5935043120 0 0 0 0 00 042.98389-81.23784.126024557366320304.423226620460109607.644456983178529604.289475978729679900.1173590680003990100.1075644951572249900.0502663409391959010.11180440989665101000.38699431399347112 0 035043120 35043120 1731.375 173.786 253 5035043111 0 0 0 0 00 042.98472-81.23924.219921489489951004.520389148481710307.661861294358868904.161996715513810200.1141155231835090000.1046417666779940100.0500876178787078020.11609916348557299000.38494407122578311 0 035043111 35043111 350855.906 3172.132 254 4735043108 405170 40355 240973 72004042.98194-81.23563.936167827110870204.288464023627040207.577234199523110704.523091330543930000.1243902001598649900.1118374970887730000.0509643544360330050.10456227748174800060.39175432916641911 282078 43796235043108 35043108 265277.750 3420.833 255 2935043056 390310 70390 312893 91570942.98056-81.20893.904173870268280202.329270552802590108.598089903099136706.382100325350879900.1256423891377289900.2298044324794320000.0415398972312363140.06582873781556569760.46281545666396201 423804 49190535043056 35043056 65094.969 1087.003 256 41335045311 0 0 0 0 00 042.98361-81.27175.605155252081541307.184524505478759907.112717326237709702.964568746860300100.0788917617845592970.0553031337464127970.0561482938097146030.17446931473062202000.36481250407130905 0 035045311 35045311 1746.477 179.780 257 5835043119 0 0 0 0 00 042.98417-81.24314.292093467302399804.845069172010769707.517604368475838703.963428521849799800.1117189000626870000.0957254713864787030.0515939738077334020.12333921408505402000.38237755934195305 0 035043119 35043119 928441.250 5209.661 258 5335043114 400215205470 197413 86087942.97861-81.24694.048429386697390205.259651842616129607.025000585322509904.089233099169059700.1201530332186460000.0859405161008545970.0572041511730800940.11867059732339599060.38196829781597696 328828 53205135043114 35043114 1712.203 181.585 259 5135043112 0 0 0 0 00 042.98417-81.23894.173034947603231804.506306135474119407.631786311568800104.208561498605449800.1157169108872769900.1050575851176009900.0503969674938430020.11450024305037400000.38567170654909411 0 035043112 35043112 2956.859 219.617 260 5535043116 0 0 0 0 00 042.98389-81.24314.272617914362640204.849996956991489607.497598403275979703.978916020032999600.1123576505560969900.0955993423780698990.0518074564395524030.12274853697014899000.38251298634386799 0 035043116 35043116 4436.938 266.869 261 42535045323 0 0 0 0 00 042.98361-81.28616.511462771574141308.367252378262142207.223324831791298803.074328149094200500.0639564581938172890.0434697591578404940.0548534523903680060.16722604487697601000.32950571461900202 0 035045323 35045323 451329.781 4033.653 262 24935044222 515340160410 509333130779442.97889-81.18254.954395380026720201.535335939539529809.983634293641261008.402599466944900900.0929861794389502120.3633305015284820100.0318317919344111990.04316737307546549760.53131584597730908 694851 61294335044222 35044222 361064.688 3762.572 263 24835044221 325215145285 463413 85417042.98139-81.18534.934441419900609001.322425534957070209.940140289811219908.116750208796050400.0934770931028569980.4264010956967139700.0320953964770887000.04568821670146389860.59766180197812302 510504 34366635044221 35044221 520471.188 3806.333 264 39735045261 320225250360 478923110247842.98111-81.26925.323839603636050007.014049495965460706.923923248026289603.181817330562899800.0845617996844560130.0573378251323190050.0584540068370470110.16061691979958201060.36097055145340401 397962 70451635045261 35045261 271159.250 2936.713 265 3035043057 405250100350 364513 90076842.98028-81.21503.755292052349330102.764335706391720208.287126762264478005.959359167158489800.1317500297504009800.1891649414647280100.0441647662086424030.07251396275822159860.43759370018199306 394170 50659835043057 35043057 195297.031 2900.728 266 34635045115 150240220300 442452 87249542.97778-81.31838.59928924931669950 1.108021e+0017.735056863718107904.915459063971260500.0415301409410240990.0258695964904267010.0493447840439292030.09394780232922800350.21069232380460801 183827 68866835045115 35045115 252173.516 2690.899 267 2835043055 515245 50385 316703 91042342.98000-81.19974.171155789751719701.804846470614910109.045541942635448907.073708597025290400.1157818429964449900.3048330779168309000.0380795904951386000.05661461351519449960.51530912492360892 469149 44127435043055 35043055 202823.297 2107.508 268 4235043103 495170115365 312203 85590142.98000-81.22393.664595918738769803.430880269328660007.878126952656381305.363174757058740000.1357139384375250200.1468944279153849800.0479326788800762960.08373321172692178860.41427425695990905 354577 50132435043103 35043103 804653.000 4153.632 269 41435045312 245270485365 579211126950542.97861-81.29867.167224336234308909.452651780364739407.109457000810549803.842889559716789800.0555052056826628030.0352158871574475010.0561870725457662980.12809917288516601040.27500733827104301 349123 92038235045312 35045312 592555.688 3639.437 270 34535045114 205245635380 764361160130542.97639-81.32839.32428422446640680 1.191831e+0018.099079728230988105.613364628192860200.0360918602969656980.0220524663938716020.0458498888408827020.07873483252227979370.18272904805400000 292604130870135045114 35045114 1840.469 175.814 271 41135045309 60 85135165 292471 37254242.98167-81.28616.422821315767370408.389459076692549607.077176931544940403.217297328811389500.0652312438200796930.0432794884884596940.0565729440007426000.15853232414508700010.32361600045436900 120560 25198235045309 35045309 411382.469 3025.253 272 4335043104 385200150370 279193 81360842.97750-81.23033.520895508743020003.992659712933580807.461446097708050105.072726572088050100.1424125293651299900.1222282043517729900.0521961393969444940.09015431927964748260.40699119239349502 331131 48247735043104 35043104 1373.125 151.619 273 41235045310 0 0 0 0 00 042.98139-81.28506.336522013322500008.302642068975629307.040423753755890203.214409643999359900.0665066108249770940.0440291396483823980.0570165942424308990.15870026719955599000.32625261191534705 0 035045310 35045310 331640.375 3433.864 274 39535045259 205185340365 306621 84692642.97806-81.26474.896381416267551006.698433866089970006.711395881965500203.488008397268979700.0944245517563391950.0613781946111642970.0612047778392292990.14402317408007298010.36103069828680601 305766 54116035045259 35045259 210620.063 2636.657 275 5235043113 285190235365 315623 86139442.97667-81.23833.624060033189449504.631128256494450007.126744362111040204.649499452831559400.1375497278804870300.1014601850629200000.0559818591174603140.10094702942029800060.39593880148116495 341059 52033535043113 35043113 1431.063 152.583 276 41035045308 140 70130195 291013 43901642.98083-81.28696.439172008635890308.465422879651349307.026087588988649403.297779732775310000.0649934585358075000.0426361659590591140.0571909054471620020.15396993025682301060.31879046019885204 139954 29906235045308 35045308 1471.727 168.550 277 40935045307 70 70155165 227661 32479342.98083-81.28586.364883968338349808.375248072054098707.009509843370350003.272771316416689800.0660836507203814980.0434011344852660990.0573933606497466010.15536357976583698010.32224172562123105 104661 22013235045307 35045307 822728.375 5810.694 278 25135044224 380445190425 433622122007442.97556-81.16725.761748564979029702.35766747676823000 1.080641e+0019.670826369523167500.0759754366329844920.2266943386648140000.0272449414132379000.03378042548510559750.36369514219614202 443734 77634035044224 35044224 627825.188 4269.360 279 4035043067 455250 30385 302473 88628442.97556-81.21613.394304319822210003.031535077224030607.947416727601529706.081419597820440600.1487834800756430200.1699876738070489900.0472670611689127020.07048826313419580360.43652647818580098 386886 49939835043067 35043067 660708.625 8684.471 280 34335045112 185220570370 770111156737942.97417-81.32949.34850840553519370 1.203493e+0018.014383994340459305.793556878999480000.0359247143085838980.0215634474436407000.0466346913702647140.07540231638431510570.17952516950680403 281383128599635045112 35045112 196675.000 2051.093 281 39435045258 180210350360 368691 93303342.97611-81.25944.489323401977189906.309865700872849806.614461764219711003.764048296657059600.1055624913015500000.0669076009580238940.0625181081701731980.13137744622754999040.36636564665729809 341831 59120235045258 35045258 104178.953 1545.138 282 4435043105 250150 65275 241523 55845642.97833-81.23503.662098737112080104.330396760485600207.349195369641919704.746964444595449500.1358258561094599900.1104794074737470000.0534273463165663020.09829101058540450160.39802362048517698 222278 33617835043105 35043105 155913.469 2583.124 283 41535045313 55105150120 621891 43816242.97611-81.31007.91870934961078010 1.041913e+0017.293872151008018904.541790733157750300.0475414192891171970.0293137131434584000.0540480926733210990.10401479536814100040.23491802047403801 102932 33523035045313 35045313 518648.344 3262.327 284 2635043053 575210 55390 373553101899842.97500-81.20533.632585887975000402.386303598577200108.463529387938969306.850548877165349100.1371602064679220100.2236330052483459800.0426520612296040010.05938441059512659960.46282968354099802 471622 54737635043053 35043053 91681.031 1153.905 285 25935044232 195 90 80125 606533 44865642.97778-81.16645.909450171776200002.28878864871338910 1.095629e+0019.674454823843300100.0733663498648775000.2343715268353699900.0264835252419767000.03375709970093959760.36797850164316398 165095 28356135044232 35044232 241956.938 3175.716 286 39335045257 140180290370 279281 81375642.97444-81.25284.046407613724709605.822558230189271106.594580977966289804.103177881142429800.1202272634592950100.0748852291733115020.0627922381410880030.11817073063500801010.37607546140870302 306033 50772335045257 35045257 452309.063 3228.465 287 2735043054 430235100375 358563 95541642.97528-81.19783.953805648928320002.009648068172099808.893764445165130507.377499945273619600.1237085513106030000.2708722909625260200.0392143187084920060.05311335884470230160.48690851982632410 465200 49021635043054 35043054 1585992.750 7365.193 288 33635045105 215425560495 800061215381942.96444-81.30447.13943951661550980 1.015489e+0016.280050896394669705.033672410416049700.0558317913675066970.0308158224988575000.0673601372001391000.09107422982489980870.24508198089140301 527862162595735045105 35045105 1268.039 150.816 289 5435043115 0 0 0 0 00 042.97861-81.24313.908163944029568804.958343846453500307.121550489533369404.280244278735529500.1254851054512410000.0928895062985248820.0560434094256854960.11210683202595501000.38652485320140600 0 035043115 35043115 482891.344 3959.893 290 33935045108 220300365370 601071131982842.97389-81.31338.09806116272270060 1.071904e+0017.268011224452750204.849715320905899900.0458592294869994980.0276986021528725990.0543415027498890050.09560654408206448240.22350587847182601 294989102483935045108 35045108 97304.367 1489.016 291 4535043106 0 0 0 0 00 042.97611-81.23583.519964924743640204.453931433504259907.170436977146580104.820505611592509800.1424576909098550200.1066270876666260000.0554676072064512960.09635803385711128000.40091041964004398 0 035043106 35043106 347674.875 3447.669 292 36635045167 105 70105140 384670 37252542.97556-81.26864.998231544642929507.059075503340861406.503739962813909903.607129896093080200.0919214722270220020.0567908702988177970.0640661409183349020.13832867502489501000.35110715846906904 130796 24172935045167 35045167 1387685.000 5577.836 293 40735045305 365265265385 427803109569442.97111-81.28445.858594710533839008.415921285517288906.256907839691819203.973737445995180200.0742498400865150150.0430540670860496970.0677143811793040900.12294553003074400060.30796381838261300 337434 75826035045305 35045305 1104588.125 5821.151 294 24635044219 0 0 0 0 00 042.97194-81.17505.084076541455820202.21678615907022000 1.013283e+0019.179285263928850500.0898896242202761740.2429069036935240000.0309447764875452960.03711079229021009600.40085209669155603 0 035044219 35044219 83085.656 1303.932 295 34135045110 165205225335 517561108004142.97444-81.31868.52022524942742980 1.114563e+0017.525827399991059405.115715264097728400.0421791784973898010.0255509637021986010.0515065553954503140.08915797118817579740.20839466878321505 225074 85496735045110 35045110 1274759.500 5223.488 296 35035045119 125205260220 879791102345242.96611-81.32398.71352273891921850 1.170168e+0017.238763702002478005.888978377722329700.0406131990853903020.0229866922351555990.0546758623317464000.07372016267173617270.19199591632402896 196498 82695435045119 35045119 350867.969 3257.214 297 1635043016 300170130305 315303 71936642.97194-81.21813.101153826460999703.324765620906640107.632302175830068906.113291618957460600.1655337273742070200.1524895996598409900.0503916407923113980.06997263785384920460.43838760568020801 315361 40400535043016 35043016 121686.500 3317.058 298 38035045211 190220245355 325811 85368542.97278-81.24033.413557859093789404.896123659704819906.793849216008840004.769035403276260100.1477840389649129900.0944310185170696980.0601171404214638980.09770463031121379110.40003682821466002 341505 51218035045211 35045211 617090.625 4172.817 299 33735045106 190310470370 599011131673442.97167-81.30507.39808966073796000 1.007461e+0016.806563218286809704.577379977879740400.0528864631687542000.0312877807025660000.0599517755801970980.10298516968824499040.24711118913976199 325379 99135535045106 35045106 698363.875 3591.471 300 36435045165 325210180385 322553 92032042.97139-81.26814.760295903945900507.104924350932259706.188719151424920503.927393348202060000.0979361706887433010.0562410436076948990.0687735287713300970.12473158796757400060.34768233103534202 319979 60034135045165 35045165 387862.094 2660.912 301 4135043101 360275 90365 328453 88195942.97139-81.22503.024941248980700203.819090524402599707.280887960335238805.706524180446879600.1704201505606770500.1290744907451370200.0541951467503017990.07698564183372680360.43067542988984303 379838 50212135043101 35043101 195850.156 1955.874 302 39135045255 225210235360 324421 86351442.97333-81.25814.260299859716909106.267444546818599506.423943586516120503.999603534345880900.1127646675864010000.0675527744911216950.0652148841415747940.12196667286581299010.36749899908491102 317340 54617435045255 35045255 2900.133 215.915 303 34035045109 0 0 0 0 00 042.97444-81.31728.41284181609217900 1.103092e+0017.465703723636781105.034863116089631800.0430802269926051990.0261121652868808000.0521501689818870060.09104597214594970000.21238853340732303 0 035045109 35045109 331057.250 2580.621 304 1835043018 0 0 0 0 00 042.97222-81.23333.183999668904469604.387715358446279806.996985450220430305.175988340631600500.1604873575423310100.1086650030198250000.0575469505827600970.08778889257522110000.41448820372013806 0 035043018 35043018 95095.039 1456.519 305 38335045214 240170170375 306573 87004742.97222-81.24583.584761883916030005.334079578282409506.594622595957980104.539799232065679900.1393690980988079900.0843449198825176050.0627916625571752900.10407288805475400060.39057856859325502 339821 53022635045214 35045214 89998.156 1219.737 306 39235045256 150140210320 315611 75518142.97167-81.25063.769751445402830005.720703233843179806.437817228623659504.373615174538369600.1311357045815530200.0767244071500480100.0650131149724625930.10910692992529100010.38198015662935503 288464 46671735045256 35045256 142372.250 1856.329 307 1535043015 305150 50260 210613 49178542.97250-81.21223.252702738172810202.921155083970549807.958459848019150406.477497861546559900.1564974445062300200.1774845067104590100.0471620485542239010.06444079704587589460.44558479681678897 219131 27265435043015 35043015 196943.578 2467.933 308 37535045206 185180195290 389251 77738842.96806-81.23562.940891000127530104.703625415653109906.633127761986890505.289399008458720400.1761027600337689800.0994584521428899940.0622622242375861990.08529740360582230340.42312084002006711 328929 44845935045206 35045206 345742.000 3000.077 309 2435043051 230200 80270 358373 68767642.96972-81.20833.174442511519900202.844859050478360208.005555998637600406.861198324270849200.1610560702562550100.1830064414771500100.0467174484478814000.05924813866775460060.45002809884904105 309473 37820335043051 35043051 6088.000 463.993 310 38435045215 110175140240 479672 73574242.97222-81.24833.694841439240029505.527324864563209606.530993798667729804.430838060557709600.1343704193428950400.0804027157600576970.0636802275033484940.10733090935323299050.38578427195953402 283837 45190535045215 35045215 1024496.250 4019.645 311 2235043022 125 95 25115 213033 21877942.96806-81.19673.578681857023440202.455430805336450608.581638021193938907.728946751112929700.1396541518596880200.2165372227963180100.0416740031943688000.04940625501416080160.44727163286453503 97853 12092635043022 35043022 461762.563 4481.191 312 36135045162 295255215365 364743 93973742.96611-81.27254.817662072857769907.576963558326069905.781921522239730204.290399844528820100.0964316774386841940.0509671896946312030.0756112300820310080.11177421652855800060.33478431374390405 314609 62512835045162 35045162 4137851.500 8972.676 313 24535044218 0 0 0 0 00 042.95917-81.17924.281425200433139902.999680998693770009.303823047101810009.310154380891827200.1120680733559850000.1720945162383370200.0362337197740710060.03618975735662870200.35658606672502102 0 035044218 35044218 194380.750 1959.827 314 39035045254 150205280300 383581 79685542.97028-81.25473.900399623337199806.076716488867569806.252999754825189004.320508074948239900.1257914613628680100.0705648079488113010.0677744598750733010.11079730030612900040.37492802949288095 298763 49809235045254 35045254 86604.570 1453.235 315 38135045212 180180190350 243871 71445242.97083-81.24083.297492719957010104.994166258563249806.642745684756000004.861453841096489400.1539858047724599600.0920194249301574540.0621309377659042960.09530708628987200110.40344325375839402 288240 42621235045212 35045212 5354.188 292.987 316 38235045213 0 0 0 0 00 042.97167-81.24143.375870358273620005.013466924488489506.682389837022450204.780964473024550200.1497510599353700000.0915557903470176760.0615937768799376950.09738995317096510500.40029058033329001 0 035045213 35045213 194608.375 2146.251 317 38935045253 195235255345 376421 90570742.96861-81.25814.001615493971609506.385909091276370306.072487022050941304.335755898962089500.1218910641883040000.0657725292368016990.0706337453221329010.11030773243819299040.36860507118543112 333848 57185935045253 35045253 662381.500 3366.637 318 34435045113 0 0 0 0 00 042.96778-81.33899.94409898738461000 1.289862e+0018.144402109581248406.722691969527129900.0320713085708499020.0182170677171696010.0454366296524158980.06105419459126929700.15677920053170502 0 035045113 35045113 153815.922 1810.955 319 37935045210 230180245360 401521 98404442.97000-81.24783.532775631134339905.551735056859270006.383922123400988204.596682086991328300.1418380738515160100.0799242706089678680.0658018439205456940.10243341248442600040.38999760086545504 383774 60027035045210 35045210 3266.320 242.056 320 2535043052 90 75150160 331731 38891142.97111-81.20643.334054259768620002.664971679603100008.186514666048939406.931255475929440000.1519856083371100600.1972773624787879900.0450567395014494980.05836211509526549610.45268182541261298 176052 21285935043052 35043052 1070419.000 9188.519 321 33435045101 155 45 80205 246753 42111242.95944-81.32788.88546484595014260 1.213662e+0017.041799431552860306.491441479866890200.0392774865482459980.0211446872808742010.0569999049103172010.06424134810176110360.18166342684119904 76500 34461235045101 35045101 323973.500 2603.137 322 1735043017 295290270405 438293117070742.96806-81.23002.821377247421560204.303454876427999806.854190189351750305.591313374284700500.1847660425064370500.1113489437395750000.0593377681752590980.07915740468325870060.43461015910452905 508801 66190635043017 35043017 348533.813 2767.114 323 33835045107 240270500395 661301150471242.96722-81.31087.71259529160867170 1.061978e+0016.715956127924389605.132189365306800300.0495712384504075130.0282230342276954020.0611439262059408980.08878057511841261440.22771877400245599 342651116206135045107 35045107 271168.000 2198.653 324 37635045207 155285330360 572191124178142.96694-81.24003.005661435768209905.065023208393630406.400781201726189805.138572161153019700.1716955625599200000.0903346468738726040.0655536918257326050.08863500558117558340.41621890684070095 516852 72492935045207 35045207 3339.445 244.621 325 36535045166 0 0 0 0 00 042.96917-81.26334.347050798911549706.777744928122859706.051277185398169504.171726631154539800.1099472969629440000.0603274916635654980.0709809042684606960.11576211205117400000.35701780494614505 0 035045166 35045166 638614.250 3386.233 326 1235043012 475205 70385 285973 85817742.96611-81.21752.683659970188950103.566946836949900207.314461128889080406.432848262823999800.1957057185047010000.1402070801214460000.0538159799303067970.06508528032493400660.45481405888138704 390310 46786735043012 35043012 221852.219 2469.087 327 37735045208 170240355345 560021117282442.96639-81.24423.141314835032829505.394196765045900406.228098690525000004.983315877690770000.1630541679767000000.0830882620161268040.0681590327882413000.09228164640160167740.40658310918266999 476850 69597435045208 35045208 212641.969 2838.673 328 40335045301 180195260305 352011 76837842.96444-81.28755.845330769139499308.803097811478808805.808332605944110004.528150329104070300.0744827965300007830.0399108345861420020.0751382234489138820.10441371366716899040.29394556823222601 225861 54251735045301 35045301 148732.281 1610.548 329 37835045209 155135305290 575301100401342.96722-81.24813.376464043382640105.659288569158009706.177187085163409604.768159486147309800.1497197333581270200.0778653542439057960.0689549634415080050.09772779819570449940.39426784923924496 395850 60816335045209 35045209 265245.719 2695.262 330 40235045266 390220210360 449453105768842.96528-81.26564.310782022137529707.058792792699070305.738867408411749704.420923892669989600.1111113876370740000.0567942827667240950.0763916367130542120.10763532153847501060.35193262865532704 372234 68545435045266 35045266 262691.813 2307.145 331 1335043013 290265150350 338623 86129642.96611-81.20443.089998771706759902.870266636232610108.027207230873619507.280821734705901000.1662338833023160000.1811349619393660100.0465148055798180050.05419589814136940260.44807954896286906 385929 47536735043013 35043013 763.180 225.418 332 0 0 0 0 0 00 0 0.00000 0.00000.000000000000000000.000000000000000000.000000000000000000.000000000000000000.0000000000000000000.0000000000000000000.0000000000000000000.00000000000000000000.00000000000000000 0 0 ******** 7814.508 858.859 333 0 0 0 0 0 00 0 0.00000 0.00000.000000000000000000.000000000000000000.000000000000000000.000000000000000000.0000000000000000000.0000000000000000000.0000000000000000000.00000000000000000000.00000000000000000 0 0 ******** 536831.875 4061.604 334 33535045104 290320335445 544761148481742.96361-81.34039.97168102767211020 1.307641e+0017.993693257845729107.019092983691449700.0319040080659798030.0175830753479950980.0468289422541156020.05727621022122859940.15359223588931900 228056125676135045104 35045104 258191.703 2285.141 335 38735045251 235215320370 429821105619142.96611-81.25333.588368217001409306.088105483296369705.974566595505988804.656589294432500000.1392004765005220000.0703796514682556020.0722570684444872050.10075007439064701040.38258727080391203 404085 65210635045251 35045251 227716.500 2774.914 336 36235045163 375275155390 417813109328342.96278-81.28225.393568578654320208.422752800032339905.598296594880309804.575957979902620200.0831012484591506920.0429961020706454980.0790232237821806020.10302600206547800060.30814657637745402 336891 75639235045163 35045163 132856.828 1870.744 337 36335045164 125125115175 458780 52106742.96583-81.28315.566273480914649208.421970627190871605.840557020817579204.354672115643160700.0796413082030365950.0430027339960852990.0745668974678138920.10970514693989600000.30691608660683101 159923 36114435045164 35045164 229704.359 2322.312 338 38835045252 270285195375 399592102193642.96389-81.25813.758545836560220006.521245749544330105.721787273481159504.675427676129750400.1316113765628799900.0638178890202582010.0767044880957307020.10022964838117800050.37236340206004703 380531 64140535045252 35045252 409995.500 3430.244 339 635043006 410260205365 485413112774142.96306-81.20752.764918816289430003.199493235573230207.686572754188089707.213799028869130000.1891190552825050300.1595726086867699800.0498352488511994980.05496340488508080160.45349031770555598 511419 61632235043006 35043006 3284.125 235.860 340 40535045303 0 0 0 0 00 042.96639-81.28675.851474130731129508.696340454517470105.939335575378319004.367351845875809600.0743747685197368030.0407495805281408860.0728542214577686110.10930415000605101000.29728272051169802 0 035045303 35045303 138662.688 1547.934 341 1135043011 375300110395 280453 87079242.96389-81.22422.464794150730349004.094920680754990306.851337509431910006.148220883235979700.2156066992463169500.1184663083349350000.0593743046138238970.06941369225228430460.46286100444736106 403055 46773735043011 35043011 199008.172 1792.124 342 37135045202 235165220335 386503 89404442.96389-81.23422.607701170096489404.766187982662509106.411121527540109905.607917954078770300.2022339788451650000.0977799753378550130.0654021362524450920.07883889907447680460.44425498950994202 397183 49686135045202 35045202 169976.469 1650.406 343 1035043010 65100 90125 508272 39816542.96361-81.22892.478158851313148904.416056680540009406.617464829749979805.901754834160200000.2142907046163230500.1077852683643990100.0624768430288532020.07349906000832211250.45805187601789810 182380 21578535043010 35043010 4257.117 293.270 344 40635045304 0 0 0 0 00 042.96500-81.28585.736930197999849508.655315496321790605.819620702563530504.456295894649888300.0764270263182497970.0410773989764244010.0749373700247445010.10655543715189501000.29899723247131405 0 035045304 35045304 1036702.250 4626.741 345 33035045066 330400910550 982131276495042.95917-81.3481 1.052666e+001 1.378439e+0018.242983254709995907.742757819311571600.0287240566909670040.0152206881008624000.0445534380864444980.04926744654683960170.13776562942511400 380915238403535045066 35045066 3284.969 247.437 346 40435045302 110 80 65150 356083 38054842.96444-81.29066.079051518100139409.049863142603527405.872612852870429604.592990265417049600.0705267896917257940.0380478413204302020.0740047812773792920.10253858575753699060.28511799804707200 108501 27204735045302 35045302 543668.750 4138.527 347 34235045111 751053551901415811123087942.96028-81.31928.21061369229703790 1.142754e+0016.642387637063979605.980956064806568900.0448410994081051980.0242197256368677990.0621358183715260970.07214952289345849570.20334616630995803 250294 98058535045111 35045111 192505.547 1834.205 348 35835045158 215180245350 325341 84094042.96056-81.29116.001053325973480009.178943120343470605.598372408660511104.891518337214579400.0718127450916490050.0371132346606590020.0790217688754821930.09454667464890168010.28249442327669200 237560 60338035045158 35045158 451138.594 3491.917 349 36735045168 340140150290 399963 79075842.96222-81.26834.364081461267180607.352835620604889905.491866520367779904.617112861313400700.1094073530436190100.0533868289364827010.0811052834402685020.10185441783896701060.34575388325933604 273407 51735135045168 35045168 95096.578 1727.418 350 35935045159 0 0 0 0 00 042.96139-81.27694.952608738728909708.042963661214477305.440031934691639904.647275473209370000.0930299737165107970.0463680204936424980.0821488085145243990.10100893515266600000.32255573787734304 0 035045159 35045159 321913.750 4110.580 351 35235045152 310275145380 376763 99814942.95833-81.27114.417483357627399507.681678738935289605.189296217845780204.890227100782699800.1077412817227390000.0498851006824077990.0874908956976232920.09457914131815679860.33969641942092704 339067 65908235045152 35045152 250934.531 2501.366 352 37435045205 230245310380 553371128141642.96194-81.25723.605846466809710106.513936274477790905.592628307773769504.839162690132820200.1383880232330180200.0639213834072615010.0791321129451725000.09587698908002337340.37731850866547512 483501 79791535045205 35045205 4494.523 316.812 353 36035045160 115100 95175 286303 39033742.96361-81.27534.916858022240929507.859812647911110305.599820090601689904.475344673455689200.0939129880275672980.0481105723257682990.0789939946486790110.10598096191876899060.32699851692078402 127639 26269835045160 35045160 313178.813 3126.113 354 37335045204 195265390365 507401116131842.96222-81.24863.108878144042269505.863571274686279405.807181715982180105.086004788927120000.1650518486051770200.0741627078978992910.0751587455389318980.08984477255160947040.40421807459361803 469425 69189335045204 35045204 571955.813 3915.670 355 37035045201 320270310385 549763129255342.95944-81.23812.433563073806530105.221385917377459905.963904183714209505.695817498327389000.2187383143445550100.0867785741614188890.0724370479554103800.07718376344947980360.45513769991086406 588289 70426435045201 35045201 403253.438 3236.002 356 35435045154 270230325355 377211 93317242.96000-81.28035.159503012251000208.345143637270918905.364984564482149704.770653084350220400.0881601722051982150.0436601964540452030.0836953808315905880.09766186523981580740.31317761473064998 292248 64092435045154 35045154 1226167.375 5400.600 357 34835045117 2152504503301310271202811642.95528-81.30286.79426533127216010 1.023121e+0015.588832541621600005.608978764983990400.0601117184163963010.0303740113579017010.0792051540064664940.07881861490602599970.24850949868679101 504006152411035045117 35045117 292682.250 2666.323 358 735043007 285240140360 304383 83176742.96111-81.21532.370132076525480103.708478313478751307.143399486614568706.819419148753359700.2253527236286239900.1337718313987129900.0557850902235855970.05978519171782229660.47469483696874498 394835 43693235043007 35043007 418053.375 3552.116 359 32935045065 310300260360 582263125659742.95806-81.34119.93951010679871950 1.323680e+0017.745463748682129607.354192234354037800.0320992327887172980.0170257398023305990.0492403085345220070.05337173956817380160.15173702069374401 190672106592535045065 35045065 158766.375 1532.158 360 35735045157 160210240320 415481 89386242.96083-81.28585.602348494463909908.754490568962179305.507371491599740504.770603305525179700.0789455208639477930.0402901838603940960.0807969566234811030.09766318076201190040.29769584210983502 266099 62776335045157 35045157 632177.875 5387.919 361 1435043014 275340285375 535112123629942.96194-81.19423.391401652117389502.823958554492100008.435165345305339508.151282361884479900.1489351404055999900.1845711815308689600.0428910226013850050.04537429580996180150.42177164034781606 521435 71486435043014 35043014 383259.875 3102.452 362 835043008 0 0 0 0 00 042.96000-81.22472.175631512396259704.315999177961471006.591665480370890506.334792200181600400.2480392318319009600.1109427319183280000.0628325780582936890.06653252996276889900.48834707177129211 0 035043008 35043008 213091.422 2145.564 363 2035043020 265185 60225 355693 57044142.96000-81.19723.112793066661359903.029247865488280408.153249702436619708.030858328521997400.1648085307878569800.1701374744378819900.0453564914017486960.04648074110571729560.42678323773320498 243454 32698735043020 35043020 5306.242 306.368 364 2135043021 0 0 0 0 00 042.96139-81.22972.327447659900550004.569224949893340206.442009866204440305.986807454661169800.2300066719753580100.1032196846905129900.0649523109971243960.07205123550151210100.47022990316450702 0 035043021 35043021 299974.063 2493.052 365 535043005 435340100385 421793108581642.95861-81.20332.693229733719829903.312744134938510107.706438314367369807.692827806078889300.1949093666469810500.1531460681794660200.0496335427443298990.04977162545571280160.44746060302648999 485859 59995735043005 35043005 13931.141 476.419 366 2335043023 200200225295 396391 79986342.96028-81.19533.241525835999920202.964907471501980308.286776450638758008.146620383156928800.1571350209555820200.1744461365788979900.0441678343094500940.04541652099392710240.42116551283785697 336874 46298935043023 35043023 395614.313 3310.135 367 37235045203 270215240360 537593119054042.95889-81.25313.197001355339640106.312251225958119605.453746564483450005.170202972104129400.1597191323703510100.0668715775931996990.0818707780616488020.08791891995951320360.39638040798471202 471906 71863435045203 35045203 511423.719 4105.567 368 435043004 330290 75330 345693 82226842.95583-81.20612.387181363164999803.600866860558160207.396464412710388507.649031806601529500.2235403283214990000.1386186901910740100.0529043272450532010.05021928375808940060.46528262951571503 382587 43968135043004 35043004 350545.000 2411.712 369 35635045156 280315345395 563851134900942.95694-81.28835.684896957732959809.050827037609359105.267276852765400405.105127621342980100.0773866111807048900.0380407634251515030.0857749764775549010.08940180335127609340.29060415443468701 392027 95698235045156 35045156 20073.398 1040.653 370 35335045153 245 70 40300 198473 55094142.95889-81.26393.919907515983079607.116998172764810205.271095178415119904.924950812334349100.1250240466693889900.0560974308141403980.0856922602649899810.09371198000529930360.36052571775381903 198628 35231335045153 35045153 310746.281 2572.329 371 335043003 425485275480 518852155009642.95583-81.19393.122631879184659903.256631800344529808.172336148522259008.434796852944169000.1641997284304720100.1562743542788720100.0451842042923962030.04289413765081031450.40855242465255104 633295 91680135043003 35043003 180738.641 2078.648 372 38535045216 210190 95325 296603 73973342.95778-81.26614.033059929165830207.318579308273469605.167965349905969704.977249373506249500.1207191968588380000.0537697097895952010.0879692890669948050.09242875408756501360.35488694980299301 262521 47721235045216 35045216 8403.586 380.443 373 935043009 120145180230 337051 56441542.95861-81.22082.088416843805959804.154590642959489006.707652453523969006.629292975742568900.2595841720052040100.1163567734575230000.0612547917489840860.06231467602175949610.49951041323347112 281931 28248435043009 35043009 456683.875 3187.307 374 33335045069 305270225360 543953119999742.95611-81.33069.05446208765392770 1.242772e+0017.010040180667060906.840759966541460500.0380140847564547980.0199839134419768920.0573868690954630960.05951004521264220060.17489491250653702 209873 99012435045069 35045069 2655.891 428.808 375 0 0 0 0 0 00 0 0.00000 0.00000.000000000000000000.000000000000000000.000000000000000000.000000000000000000.0000000000000000000.0000000000000000000.0000000000000000000.00000000000000000000.00000000000000000 0 0 ******** 1300200.500 4746.781 376 21735044075 0 0 0 0 00 042.95333-81.22221.684886433530060204.522498053473289506.331518767457311006.848776113965049800.3285593973533850200.1045797215789420100.0665816171138952920.05940713628464640300.55912787233086891 0 035044075 35044075 145534.813 1787.415 377 34935045118 85115 45110 539842 36479942.95556-81.33789.63229254151750070 1.301793e+0017.410968728556249607.287955099796621800.0340292273230958990.0177896922481323990.0527451786623310960.05411504199372569550.15867914022728502 57885 30691435045118 35045118 4356.016 282.543 378 35535045155 185205120335 268242 72032542.95806-81.27975.053102551948359908.351535792096800705.211504715735449304.914565794375329600.0906147805365327960.0436050329554322010.0869969806381854920.09397004249370546920.31518683662385605 227036 49328935045155 35045155 28872.906 899.317 379 38635045217 195130110240 390973 64513542.95750-81.27004.307231812579590107.623064265434908105.127791677511219804.960359710436101500.1112263893634220000.0504871385749090030.0888810820532575790.09284020979768749260.34343481978927604 221561 42357435045217 35045217 375683.438 3417.260 380 21235044070 240205260290 636861107636442.95528-81.23472.026642333767089805.179199853978000005.834016706785849506.112001682188180900.2683626594386810400.0877168385160613930.0746823441202672940.06999340202136270040.50075524409637207 538994 53737035044070 35044070 1310355.000 7710.921 381 23635044119 450315290370 564393126444842.95083-81.20811.997536476950640104.005998129674989807.026521888086829607.780883695347261800.2726869337866480400.1217266293051470100.0571856144242234020.04888681926634740060.50048599678236605 632838 63161035044119 35044119 157596.016 1585.834 382 22735044086 75 902001101115671 60476942.95611-81.23942.276514708742700205.453346158308529605.692689849639280405.853004690797608800.2357883398028579900.0818788754958521960.0772417796196611800.07434788965657740470.46925688457494896 283792 32097735044086 35044086 171798.328 2369.694 383 33235045068 165200280295 426411 83780842.95556-81.32228.36343503370870070 1.176590e+0016.509318538242020206.424597644505659800.0435025685726658990.0227061662227505990.0639868854391478920.06520535237754560040.19540097261211001 163708 67410035045068 35045068 1065620.375 4516.809 384 21035044068 410430455470 746811194860242.95139-81.24562.355622345966140106.079836009618500005.144721251284920505.932927730753620600.2269158202134279900.0705140233859278960.0884951076700432050.07296359435848066870.45888854562788001 894191105441135044068 35044068 503888.438 3598.520 385 22635044085 140185145210 555762 71021642.95222-81.25503.024951617250940306.699702100667069604.925808272210841405.597058982860240000.1704194690453750000.0613611974848048000.0936907211886776890.07904697978736860450.40451836750622711 287295 42292135044085 35044085 319809.563 2735.158 386 30035045002 200145165240 355243 60800042.95250-81.26143.497992352435809407.150423401544330204.823138878743649505.442455961424739600.1435310088550600100.0557023822794278020.0962899134489857010.08209956537745756560.37762286996093103 229594 37840635045002 35045002 70154.828 1151.138 387 20935044067 55120105165 406892 45482442.95444-81.25833.346538348951299606.853387886615920805.018888792309340405.359110864033519700.1513126424151140200.0593480408015528980.0914261894884350060.08381825349037179450.38590512619547401 175518 27930635044067 35044067 78051.086 1635.247 388 30235045004 195140130200 419833 56238542.95583-81.26583.939347925075480407.359438841746627005.022860090988769105.127812081261080100.1242668478655070100.0533134348677613970.0913314396284019970.08888061533778829360.35779233769945801 201217 36116835045004 35045004 224832.531 3166.533 389 31535045017 150205215245 445441 71564842.95472-81.26724.004032798090759307.501163799792320404.928708175698609805.195612336210239800.1218003233076830100.0517693268884748950.0936188793207649030.08734999610462929140.35453852562155203 253724 46192435045017 35045017 332090.156 3051.880 390 30435045006 345330225395 427903112432242.95222-81.27334.391234857922089708.041193428288400104.725515747200059705.347864426137870300.1085551377382039900.0463844830956308960.0988661066667251010.08405427225825139260.33785999975881104 379863 74445935045006 35045006 347107.500 4005.309 391 36935045170 390255335420 530153137603042.95361-81.28585.404974866490079908.949565408696740204.968456505733190205.316389917586979800.0828659174687230020.0387926621996907140.0926426115105232760.08472010695541579260.29902129813435302 411462 96456835045170 35045170 4662.500 265.177 392 22235044080 50115110110 553042 37078742.95556-81.23031.915807764111289604.884846959061739806.051992440730310306.302794531360010700.2855318918675689400.0947146036057876780.0709691574472086920.06701454156946369550.51823019449002905 192153 17863435044080 35044080 190937.281 2109.461 393 1935043019 340345240380 491322118350342.95250-81.19472.927761128894979903.509901930291329507.971985936799980808.533013240031470700.1770199315903650500.1429475809331700000.0470338209996186970.04207338633543329750.40907471985858712 484141 69936235043019 35043019 2085397.500 5988.730 394 32335045059 225320455370 900131174921342.94750-81.31197.40262844261563040 1.114591e+0015.486058575731480106.485526781573471000.0528366162348444940.0255496254654585010.0812212270277725970.06432584696622760470.22393331569430305 391707135750635045059 35045059 447724.875 3698.673 395 21135044069 310230335345 592411121850942.94861-81.23641.674064661892450005.610355977977000005.337231615612470406.466502611223860200.3308669955060250000.0787922921367518040.0842783281227920120.06459867920804979240.55853629497361801 680581 53792835044069 35044069 395743.188 2679.307 396 32035045056 225245305345 403531 94602142.95028-81.29335.932650195947720009.624262572306527404.911231128218400205.703300276671961400.0729683368256790060.0340813253688442980.0940531387609044030.07704522023580780140.27814802119123599 263133 68288835045056 35045056 981310.438 5951.196 397 32435045060 270360455375 875921173910842.94306-81.32428.36854376692633650 1.222632e+0015.919451551110140207.313050741660619600.0434586666718422000.0207811156466985000.0731943864606324910.05383183843092000170.19126600721009296 332632140647635045060 35045060 484583.188 3435.609 398 36835045169 340350505380 780361162474142.94889-81.28004.837652603376220408.654190319050190504.520992964751720005.617032634386720100.0959157863956087010.0410864337294645980.1046239961702849900.07866486370395049770.32029107999930900 520390110435135045169 35045169 259702.375 2812.684 399 33135045067 135225255230 750981 95729542.95056-81.32588.58124982923656000 1.216504e+0016.422180975443460206.916480521842219200.0416771737142104940.0210289395147988010.0652405808156206050.05854748266449340370.18649417670912305 178529 77876635045067 35045067 194467.219 1903.416 400 22035044078 155175165195 582882 68115042.95083-81.25723.130373445882990206.910910237867700104.775369451270380605.647456306873650100.1637233889270430000.0586175735594894960.0975373485831385890.07808802221346139450.39796633328313202 271074 41007635044078 35044078 397813.500 3934.453 401 30335045005 365360310370 620313134864042.94833-81.26753.835891918615619707.748285115855580304.442580292034310005.676474785101889100.1283846899555640100.0492120329709380970.1069721244556160100.07754358510241939160.36211243248453800 488359 86028135045005 35045005 662761.625 4205.135 402 235043002 140170 70135 633852 49943442.94806-81.19362.842916548422310003.813370704522709907.858358807814998808.811575305882080000.1831508993785639900.1293107115006169900.0481247295227070980.03984510163859649650.40043144204048398 199989 29944535043002 35043002 217045.406 2494.428 403 31735045053 225235350375 413571104442942.94861-81.28695.385594753777869709.184700870863350604.620741220446220205.710616143274590300.0832663539424294140.0370721575557042960.1017521279260540200.07691011839968549340.29900075782387303 312285 73214435045053 35045053 463285.438 3673.315 404 32535045061 250370425410 578921142553342.94861-81.33399.22248358367681930 1.285412e+0016.808622656601789607.461888578718929700.0368038796487116860.0183784793589879990.0599250475889776950.05219135940074139840.16729876599741902 238489118704435045061 35045061 228592.438 2560.951 405 32235045058 170150230180 725891 73159742.94944-81.30086.52492257460655980 1.022837e+0015.112990386008899405.961522899324768900.0637659167464564030.0303902917225764010.0892206283063577970.07247733153647280370.25585416831186403 187182 54441535045058 35045058 326270.750 3926.152 406 32835045064 205310380355 617781129033942.94778-81.34069.76547264323903970 1.340668e+0017.199524926432800107.886090278252280200.0331776558779304020.0164499936012308980.0551287097405347980.04785558597110329440.15261194519079899 196921109341835045064 35045064 1089444.625 6742.310 407 32735045063 295345610435 732871177988542.94194-81.33869.55165034622588040 1.338694e+0016.794272299384910108.113419791105290100.0345564073423512970.0165161207551644990.0601116276271526990.04571863376301660370.15690278948768502 279268150061735045063 35045063 136173.250 1820.611 408 21335044071 145175180235 437321 67833042.95000-81.23251.591101472617249905.300174387848740005.606980302325560206.544348076058859900.3496005424113990400.0850662286616866990.0788568346603756020.06349230473082029340.57701591046428202 391407 28692335044071 35044071 1942.672 184.595 409 22335044081 0 0 0 0 00 042.95222-81.23251.741888658213169805.187778647664609705.742707631602449706.404502803826040300.3168777131756410100.0875248006832768930.0763215528151161980.06549908886201330500.54622315553604717 0 035044081 35044081 5858.438 312.348 410 21435044072 105140115190 368172 49200642.95139-81.23391.736721791968650005.316206973056529805.625794074585190406.393867550377859900.3179049752477799400.0847240001436580930.0784981046577691020.06565529693255910150.54678237698176602 269020 22298635044072 35044072 84811.203 1405.835 411 30135045003 0 0 0 0 00 042.94917-81.26563.710788537620469907.578973601803929804.521680436494070105.632214537340760600.1336708603545130000.0509461371528302990.1046037694329670200.07837623152067581300.36759699846098609 0 035045003 35045003 385317.875 3065.094 412 21635044074 355325250375 501683118418342.94583-81.23031.230817615476950105.391323603490100405.470664773778199906.906590146845289300.4602521944644330500.0831476833699093950.0815297233785052950.05867201111812980160.68360161233097705 809509 37467435044074 35044074 6199.570 330.536 413 21535044073 65 95130150 408081 41424242.95000-81.23061.528349725485959905.185853275944860605.700500552122009306.630640093728820800.3651211915288311000.0875678451771779030.0770970143912202840.06229624337729089440.59208229447451999 245265 16897735044073 35044073 359667.594 2625.558 414 23535044118 395360225365 518373117799142.94722-81.20891.758754752810569804.274533223404800406.803075996256319907.925259699579210200.3135664512444860100.1122945750440610000.0599970706647280010.04747864218492760260.53333673913820301 628265 54972635044118 35044118 334854.219 3832.655 415 32135045057 240205610345 750951143590242.94583-81.29816.25063119170954980 1.012501e+0014.762535364317350306.148231790269949000.0678109081816401920.0309906018671890910.0978767584526330920.06941351870746570570.26609178720892801 382081105382135045057 35045057 2007.492 179.882 416 31835045054 0 0 0 0 00 042.94833-81.28925.566040382531889809.368457203243240304.655563083859980205.768277033484629600.0796458333537377880.0357877173246292990.1007785452786710100.07585729156931089700.29206938752634903 0 035045054 35045054 1760.664 175.219 417 22435044082 0 0 0 0 00 042.94806-81.23331.494866305542720005.448535206122950405.450421935610410006.632810229702590400.3739359292234770100.0819762606807048900.0819380482704670930.06226656510611980300.60011680328076800 0 035044082 35044082 346677.250 2741.876 418 30535045007 360445320445 547802149039642.94444-81.27033.970111621342340008.097234388896339404.133610223506759805.952521215293689500.1230837623488700000.0458668130558805980.1170915598162990100.07262990193336678350.35867203715441703 534563 95583335045007 35045007 2236.000 189.238 419 31935045055 0 0 0 0 00 042.94750-81.28895.527202564831879909.371520031929529504.587298955290160405.825721658408269800.0804051235012944040.0357667352092546010.1027010524586569900.07482913741002469900.29370204857922999 0 035045055 35045055 1946.688 189.233 420 22135044079 0 0 0 0 00 042.94750-81.23781.685213370314630105.752905684519369305.203841081190240006.483249443694600000.3284901436604080200.0761358929714232020.0871669428232548920.06435842269655289700.55615140215163916 0 035044079 35044079 449690.750 4235.168 421 31635045018 250315490380 823111168678942.94361-81.28505.148940457197240609.205935506941688804.209516861036440206.065118592702510200.0883993098377165030.0369211090068075130.1144678085727680000.07075407526513780070.31054230268242905 523819116297035045018 35045018 476786.688 2684.231 422 30635045008 250480470400 737312164360042.94417-81.27754.546811121049009908.631410561582999504.136340959272300405.966194841028239700.1038685749842500100.0412698532522391970.1169955007181210000.07239832783376809580.33453225678837800 549837109376335045008 35045008 231454.203 1943.331 423 21835044076 0 0 0 0 00 042.94556-81.22331.100567392087699905.025801160980289105.841491185133249607.250809377718930200.5180848070638780500.0912613661532270530.0745504291227066930.05453782868582009900.73843443102563211 0 035044076 35044076 175920.859 1964.313 424 32635045062 105145230165 685091 64414542.94472-81.33148.97760134986354960 1.274931e+0016.453696110919480607.563281710666899500.0385827887231679980.0187631480133799990.0647832475347840110.05111078622776231440.17323997049909401 111591 53255435045062 35045062 56414.039 1139.526 425 31435045016 110190125205 485982 63387942.94611-81.25943.146308973632010507.255674150061049804.384006694409429805.952222304146160600.1627502527661870100.0544822122769960050.1087809641709760100.07263497612303579450.39864840533719398 252694 38118535045016 35045016 555634.563 4307.353 426 20835044066 430435210435 530232142531842.94417-81.25282.582552441854589106.885118063162630104.408696557967100006.233966598830461300.2044799994527110000.0589435948766582960.1080126444992060000.06806813191784399950.43950437074641902 626433 79888535044066 35044066 356314.875 2903.928 427 29935045001 290395365425 471232128778142.94222-81.26173.235955733505619907.577733380229030804.053734463092060206.205239745072820100.1574544069053129800.0509591255107137990.1199586071672180000.06851478435363510350.39688692393688002 511103 77667835045001 35045001 362166.625 2801.593 428 31235045014 255300300380 446810111219342.94389-81.29335.831960942636969009.819929189943007204.456954219221519706.179118164067910300.0747186850214292960.0328361067714693020.1065355014031310100.06892453445804459800.28301482765407404 314767 79742635045014 35045014 274345.313 2479.330 429 20735044064 380365260395 514683126874942.94417-81.24031.672191573913040006.074895109038950004.881245103081670106.612567188612080900.3312694387091120200.0705944834077380930.0948054587340678020.06254416082665979860.55921354167757709 709501 55924835044064 35044064 5477.109 301.351 430 23735044120 0 0 0 0 00 042.94583-81.19832.420567585833459704.057196912829899907.443612449662810908.626853422163749800.2200652120749340100.1198319858654729900.0523892642256892980.04130666299660470200.43359312516269999 0 035044120 35044120 14345.234 583.844 431 135043001 0 0 0 0 00 042.94528-81.19612.566919393526229804.053790085345689907.572213374015579908.789515303180479600.2058983610692289600.1199565713597299900.0510169859974068940.04001641520538590200.41688833363175198 0 035043001 35043001 250097.906 4659.380 432 23835044121 460335220390 417263109236542.94306-81.20252.016809641255210104.353792851503699907.040670888350431008.517625350176189200.2698095481186790200.1097330402990170000.0570135955951832990.04220072573440020260.47875690974727902 522977 56938835044121 35044121 7280457.000 15020.598 433 24135044124 0 0 0 0 00 042.93361-81.20281.788617270630489905.027043533192169506.646826494350309009.013081281288100000.3078568155644309000.0912317902197812840.0620753487426587980.03831906217694729800.49948301670381806 0 035044124 35044124 297408.375 2914.625 434 23435044117 390420245375 464582112576042.94278-81.20751.645458681485229404.523134166692710106.691557700181821408.245598057357618400.3371130002013679700.1045610181496560000.0614704624876315980.04453029948969100550.54767478032834704 616550 50921035044117 35044117 8103.719 375.790 435 30835045010 340335160395 302483 90932142.94444-81.28815.413930370055209309.409873671899928704.343503539034459806.043975603333279900.0826818452080120970.0355051474389598000.1100602928904699900.07110097907654540460.29934826461398700 272203 63711835045010 35045010 357052.781 3430.445 436 31335045015 295260485335 879511155808842.94139-81.30066.40491965157771140 1.045316e+0014.565488812819329406.540109355367779800.0654929768663544960.0291258059422831000.1033274050164550000.06355186931019629670.26149805713528901 407436115065235045015 35045015 534041.250 4828.151 437 21935044077 400425160375 519632121222842.94056-81.22060.783232773685092925.194941651184340305.744055615068020007.685209573023297700.7395036816542430700.0873649414472837120.0762969743984471820.04984912822266510150.953014725722639231155271 5695735044077 35044077 70171.328 1311.468 438 24035044123 0 0 0 0 00 042.94194-81.19392.647257876562969104.261373894507279707.595084980332819309.090783360187629100.1987875387562179900.1127290853516760000.0507777944292642020.03774868423449031400.40004310277164801 0 035044123 35044123 312179.125 2497.412 439 23935044122 305385405380 663401145075242.94083-81.19832.274618837338449504.414396169936719807.241136701335379108.881642975418520400.2360085484981310500.1078365002555640000.0546486333657520970.03930661431487229940.43780029643431911 635139 81561335044122 35044122 88826.000 2022.273 440 19435044026 325250165345 287453 77128042.94250-81.24501.940313541807429806.452610141234219804.572245892652839306.569936052393869900.2815668358658400300.0647989323152308030.1031327135714600100.06313436237878000760.51263284413131116 395383 37589735044026 35044026 73987.594 1202.413 441 20135044033 150190150195 537202 64456142.94250-81.24782.150903832332369706.632051172680860404.462614907809849806.486186425466369700.2512174354580410400.0622769435834584980.1063643240296210000.06431641549288100250.48417511856400097 312080 33248135044033 35044033 159944.281 1869.642 442 23135044114 385390140370 491352115240442.94028-81.20941.414311348209080104.756755146721699706.454745903317519408.279152423055652600.3968524969462470200.0980302201004420030.0647680902838315970.04423467141548820350.60388547874600906 695920 45648435044114 35044114 222074.469 2868.134 443 23035044113 245245110230 630030 84735342.94000-81.21471.041586354629640004.973967502793869706.091949953585600308.014175669687619000.5490308528770510000.0925084862979289880.0703173063154978050.04663664218641200300.75849328767688995 642711 20464235044113 35044113 22669.570 601.769 444 22835044087 0 0 0 0 00 042.94250-81.22670.895886508148057935.381297250776600405.481486468614000407.278497836951840000.6429416433052500500.0833555406671057930.0813126725174363050.05422227357089689400.86183213006068893 0 035044087 35044087 109066.578 2155.547 445 30735045009 180165125215 477253 65691542.94139-81.26753.689472268582020008.017528799625720703.917011058059308906.202892484657080100.1346073121268439900.0466052547622414980.1251375062791529900.06855146298615190460.37490153615439104 246278 41063735045009 35045009 520053.938 4514.676 446 20635044059 335325310375 536133123788142.93917-81.22860.723478471757571855.674486467973710405.192754592276959807.405933715022221100.8029282313635550700.0775807116918849900.0874137040286532000.05280035470141940261.020723001785510001263533 035044059 35044059 313482.938 2729.227 447 30935045011 235245305365 575231126356742.94056-81.28645.226195403103310409.416164374251469104.017153608508569306.314160933963470300.0866725678110237120.0354624456576256990.1213096987581950100.06684275906970429940.31028747129654904 392069 87149835045011 35045011 10717.688 654.119 448 31035045012 165250165325 327572 78405242.94222-81.28565.179576441869929909.298608328735342704.120088762019570106.177988483168991100.0877083951792200920.0362699737916748960.1175690805357090000.06894233310016159620.31048978260676602 243440 54061235045012 35045012 117059.469 1889.529 449 31135045013 165155160185 501113 58375642.94139-81.29315.786622503361269509.886783809182450304.274434343753769706.361898236419929900.0755267224675184030.0324219424289238010.1122978299935790100.06612799915365701160.28637449404367804 167172 41658435045013 35045013 289915.906 3642.182 450 19335044025 480350235455 428483129623042.93972-81.24061.519755616103070106.321055620740619204.589296661435359906.906370575135050600.3673465965134368700.0667388594489840000.1026439791422830000.05867477976458759860.59540421486929207 771780 52445035044025 35044025 404096.281 3367.397 451 20335044035 200295140240 657612 91072342.93806-81.24311.664730501263150106.558106526639909004.369474881743769906.939912677108160300.3328814793298920400.0632994948212515920.1092372363772400000.05825386799351960150.56367207852190404 513349 39737435044035 35044035 60651.250 1406.258 452 23335044116 135110 35100 511973 32007442.93972-81.20421.786334029064089904.633332861341689806.785202110343511208.598616678845331800.3082866255000530400.1013983898080569900.0602299631902204970.04153561174721560260.51145059024554507 163702 15637235044116 35044116 223707.625 2686.817 453 23235044115 500340210370 498933116414242.93778-81.20391.762212637066310004.760842962618339906.727818772220209608.721499141586239300.3128954064115390100.0979216522211030780.0609860182349483140.04055007038648031460.51235314725407100 596451 56769135044115 35044115 195692.313 2124.746 454 19135044023 210365155295 518182 95184242.93917-81.23691.228778172863510106.132222038723630104.738693889941769707.074824944122040500.4610632469839621200.0696689188693341010.0985121492495728000.05660119695870120150.68584551206156996 652816 29902635044023 35044023 281715.875 3534.743 455 19035044022 265220265260 575790 90067142.93556-81.23390.883097965426078106.164922928975179204.694001758233669707.429328538831718700.6526638277929270900.0691486609106072010.0997206136096289030.05254461681368728700.87407771912684995 787256 11341535044022 35044022 346788.000 2969.473 456 22935044112 410360230370 507483117735042.93667-81.21530.855744948297979875.215314345726249605.901553526972619108.180218616237910500.6744337405674890600.0869126774786252030.0735025363019014690.04511328641178630260.879962240759802121036023 14132735044112 35044112 31013.367 791.752 457 20435044036 0 0 0 0 00 042.93583-81.24331.634356855861459806.686489535555209904.221167680850969707.090060360462808300.3395959344032980500.0615385911711200940.1140734454401330000.05641851596064669700.57162648697519802 0 035044036 35044036 9073.703 458.635 458 20035044032 170100 20115 385623 30647442.93444-81.22860.456521054740087035.953974005343320104.945459061372489807.712199819086871201.2890669890858000000.0726052472374602990.0932055437907916840.04957523736544209461.50445301747950010 461075 035044032 35044032 10142.664 462.403 459 19735044029 95 75 85155 323543 37119242.93500-81.23691.103699981763959906.361567712885739704.496930778525710407.357732728487852600.5165337045008320200.0661329111291972940.1053358482032920000.05333238550548300660.74133484933880511 275177 9601535044029 35044029 105353.453 1320.206 460 20235044034 180215170255 432022 73030642.93417-81.24251.544776603115920006.727374440551928504.158089831552601407.230992945957791700.3609364245959030300.0609919228564252960.1162349446695860000.05476515290616149850.59292844502807607 433019 29728735044034 35044034 10962.328 444.999 461 22535044084 100100 85130 314900 30638642.93472-81.22780.418884334152864025.897340169366770205.008473754513899807.727074178249990801.4074424067082700000.0735753495611053130.0916753920803339010.04942511355160969501.62211826190131990 496994 035044084 35044084 3701.141 257.896 462 19235044024 175 65 95145 244543 29642342.93444-81.23611.028271301416390006.348637083933749804.509083601901149807.424215739969810100.5565081491567900300.0663254771577452000.1049753713562220200.05260036917165969460.78040936684241602 231331 6509235044024 35044024 444265.688 3941.880 463 20535044058 410260155385 398723104774742.93083-81.22420.002760362743905295.966817209288629805.049909932557270108.130008598222090700.0000000000000000000.0723878127690442820.0906900311564937940.04556737348814080060.20864521741367903 218607 82914035044058 35044058 394461.063 3602.268 464 18835044020 370450260380 544892126813742.92917-81.22890.412758553091872986.288149337799759504.667288491610209508.046844000282988001.4287520387497601000.0672367926079752990.1004539846976790100.04633195991696190151.642774775972369902083263 035044020 35044020 11583.375 438.059 465 18935044021 220240125330 268622 71013342.93333-81.22890.435490887496492956.035526920801209404.870937070887229007.772566429954369301.3526890191109400000.0712402805714726920.0950662165361360060.04896953571363119721.567965051932179901113463 035044021 35044021 66665.531 1072.346 466 19935044031 0 0 0 0 00 042.93306-81.23420.850726214277139016.324499434807209204.540706672614770207.586342897174461100.6785800785516700200.0666870476579260050.1040464114210600000.05086904897490100700.90018258660555694 0 035044031 35044031 71862.055 1569.562 467 18535044017 0 0 0 0 00 042.93278-81.23941.275034970813050006.625246470008439904.235426617883709007.425698692076349700.4433056309487399800.0623700895225420960.1135937538937089900.05258419046136469900.67185366482635500 0 035044017 35044017 15537.203 591.993 468 18635044018 285215190350 315583 82593342.93250-81.23811.165280374159889806.568313861403461304.289951276084099907.487951473223168900.4877354832296519900.0631569719135122030.1117888748172600100.05191080599519939960.71459213595562410 590205 23572835044018 35044018 261682.313 2981.323 469 19535044027 310315210365 513222117017042.92972-81.24421.668014487547489807.066865107390401403.805747080412949807.496258077518939800.3321701638513620000.0566969530344548990.1296266606612130100.05182179971501249550.57031557726204207 667366 50280435044027 35044027 12404.539 531.348 470 19635044028 155205125265 342312 65639642.93194-81.24061.368996561190929806.739490829218749604.123097472198129907.445869081939850500.4109290797576288800.0608311898054772970.1174625547218940000.05236477549213689620.64158759977713808 421135 23526135044028 35044028 328457.313 3509.857 471 18735044019 385400170395 441422114705642.92889-81.23280.732491475899654136.496919065367420004.407772999771069107.919160759564920000.7926989278960600000.0641632311582770040.1080412295861880000.04753708974420329451.012440478384729801161325 035044019 35044019 209224.344 1790.071 472 19835044030 335285235325 526343105965242.93000-81.24031.343048252071690006.830780055266148804.028238471729539907.590858552243360300.4194173611751310100.0596385018965365980.1208976947824960000.05082188590425339960.65077544375841700 689595 37005735044030 35044030 291106.063 2875.641 473 18435044016 425410330475 519443153511442.92722-81.24061.393183934371449807.004499484232829903.856579445382208407.776900590746329600.4033015735437248700.0574547380909523130.1275435958126129900.04892640976028329960.63722631720757306 978215 55689935044016 35044016 10396.016 464.618 474 24335044131 0 0 0 0 00 042.92750-81.21810.562384260595311995.928135198879060005.323504190329569708.608885017719378801.0410646643959902000.0730455506940196900.0845689177569182990.04145218037695300201.24013131322388000 0 035044131 35044131 32406.625 769.742 475 24235044125 0 0 0 0 00 042.92472-81.22220.484484407482243036.272731332540120204.924882614013809808.608561524661100301.2130250287123101000.0674718929902856920.0937136711492592010.04145480575682020101.41566539860868000 0 035044125 35044125shapelib-1.6.1/tests/shape_eg_data/mpatch3.dbf0000664000175000017500000014237414573117335016177 00000000000000cÙ!jWAREAN PERIMETERN LACLIP61_N LACLIP61_IN LANDUSECKODNACRESNLONGFIELDN 658455.400000 4847.791000 2 1Vatten 7 0.000 9223372036854775800 12065.220000 485.465600 3 2Föryngringsskog 5 0.000 9223372036854775800 6576.438000 360.561500 4 3Fullvuxen skog 4 0.000 9223372036854775800 22516.560000 780.447600 5 4Åker 2 0.000 9223372036854775800 19460.940000 586.322200 6 5Åker 2 0.000 9223372036854775800 6871735.43750 66740.642886 7 6Fullvuxen skog 4 157.753 9223372036854775800 132460.200000 2229.991000 8 7Kalhygge 6 0.000 9223372036854775800 105468.400000 2531.338000 9 8Fullvuxen skog 4 0.000 9223372036854775800 16031.280000 562.641200 10 9Betesmark 1 0.000 9223372036854775800 252423.000000 3343.655000 11 10Fullvuxen skog 4 0.000 9223372036854775800 3413.375000 272.265700 12 11Åker 2 0.000 9223372036854775800 29094.410000 796.326300 13 12Åker 2 0.000 9223372036854775800 4737.031000 309.348700 14 13Åker 2 0.000 9223372036854775800 15242.160000 525.333400 15 14Åker 2 0.000 9223372036854775800 49922.560000 1050.207000 16 15Åker 2 0.000 9223372036854775800 26942.590000 1158.333000 17 16Åker 2 0.000 9223372036854775800 7386.281000 632.103600 18 17Åker 2 0.000 9223372036854775800 31853.250000 803.606900 19 18Åker 2 0.000 9223372036854775800 20245.030000 764.792000 20 19Åker 2 0.000 9223372036854775800 86057.660000 1998.195000 21 20Betesmark 1 0.000 9223372036854775800 14152.220000 513.027600 22 21Åker 2 0.000 9223372036854775800 64867.190000 985.827900 23 22Fullvuxen skog 4 0.000 9223372036854775800 10832.000000 480.677900 24 23Fullvuxen skog 4 0.000 9223372036854775800 66977.160000 1010.712000 25 24Föryngringsskog 5 0.000 9223372036854775800 2945.344000 219.924100 26 25Åker 2 0.000 9223372036854775800 524176.300000 11145.390000 27 26Vatten 7 0.000 9223372036854775800 7658.063000 388.777600 28 27Åker 2 0.000 9223372036854775800 3196601.00000 26733.300000 29 28Fullvuxen skog 4 0.000 9223372036854775800 24065.220000 712.976800 30 29Åker 2 0.000 9223372036854775800 21708.030000 636.332600 31 30Åker 2 0.000 9223372036854775800 7365.844000 355.545400 32 31Åker 2 0.000 9223372036854775800 45465.690000 903.289400 33 32Åker 2 0.000 9223372036854775800 65067.810000 1745.698000 34 33Åker 2 0.000 9223372036854775800 24.250000 25.462870 35 34Betesmark 1 0.000 9223372036854775800 12737.910000 484.294600 36 35Åker 2 0.000 9223372036854775800 23218.030000 1125.480000 37 36Åker 2 0.000 9223372036854775800 217493.300000 2892.898000 38 37Fullvuxen skog 4 0.000 9223372036854775800 12833.560000 549.376100 39 38Åker 2 0.000 9223372036854775800 84971.810000 1700.661000 40 39Kalhygge 6 0.000 9223372036854775800 70585.440000 2534.228000 41 40Betesmark 1 0.000 9223372036854775800 33965.250000 710.336300 42 41Åker 2 0.000 9223372036854775800 26645.000000 656.060500 43 42Åker 2 0.000 9223372036854775800 12122.340000 417.766800 44 43Bebyggelse 3 0.000 9223372036854775800 37075.090000 768.609400 45 44Åker 2 0.000 9223372036854775800 44761.750000 842.145300 46 45Betesmark 1 0.000 9223372036854775800 4805.469000 502.163200 47 46Åker 2 0.000 9223372036854775800 122.812500 55.563820 48 47Åker 2 0.000 9223372036854775800 46764.280000 1006.013000 49 48Åker 2 0.000 9223372036854775800 42899.720000 887.042700 50 49Åker 2 0.000 9223372036854775800 102.593800 53.328600 51 50Betesmark 1 0.000 9223372036854775800 284.031300 82.689870 52 51Åker 2 0.000 9223372036854775800 15816.090000 623.364400 53 52Åker 2 0.000 9223372036854775800 45397.660000 931.413100 54 53Åker 2 0.000 9223372036854775800 13.812500 18.028010 55 54Betesmark 1 0.000 9223372036854775800 6025.313000 340.920000 56 55Bebyggelse 3 0.000 9223372036854775800 47041.750000 1096.225000 57 56Åker 2 0.000 9223372036854775800 74589.130000 1853.506000 58 57Åker 2 0.000 9223372036854775800 35.906250 30.695480 59 58Betesmark 1 0.000 9223372036854775800 22407.130000 779.090300 60 59Åker 2 0.000 9223372036854775800 12083.340000 549.463000 61 60Åker 2 0.000 9223372036854775800 70501.590000 1446.316000 62 61Åker 2 0.000 9223372036854775800 293.031300 99.406470 63 62Betesmark 1 0.000 9223372036854775800 741.468800 114.845900 64 63Åker 2 0.000 9223372036854775800 107259.700000 1466.610000 65 64Föryngringsskog 5 0.000 9223372036854775800 6364.500000 315.036800 66 65Fullvuxen skog 4 0.000 9223372036854775800 32961.250000 1177.606000 67 66Åker 2 0.000 9223372036854775800 25.281250 20.795770 68 67Betesmark 1 0.000 9223372036854775800 150092.700000 4255.625000 69 68Åker 2 0.000 9223372036854775800 7573.813000 349.603100 70 69Fullvuxen skog 4 0.000 9223372036854775800 11596.690000 473.524100 71 70Fullvuxen skog 4 0.000 9223372036854775800 30542.440000 756.747600 72 71Föryngringsskog 5 0.000 9223372036854775800 44559.160000 937.528000 73 72Åker 2 0.000 9223372036854775800 11556.340000 498.353400 74 73Åker 2 0.000 9223372036854775800 1963.250000 210.678000 75 74Fullvuxen skog 4 0.000 9223372036854775800 21863.530000 664.475500 76 75Åker 2 0.000 9223372036854775800 44033.000000 860.780000 77 76Åker 2 0.000 9223372036854775800 30871.500000 766.766500 78 77Åker 2 0.000 9223372036854775800 53983.280000 1160.810000 79 78Åker 2 0.000 9223372036854775800 24003.340000 647.136300 80 79Åker 2 0.000 9223372036854775800 17811.470000 750.737700 81 80Åker 2 0.000 9223372036854775800 15023.810000 556.046200 82 81Åker 2 0.000 9223372036854775800 83197.590000 3784.679000 83 82Fullvuxen skog 4 0.000 9223372036854775800 43334.060000 1077.017000 84 83Kalhygge 6 0.000 9223372036854775800 24284.220000 622.518700 85 84Åker 2 0.000 9223372036854775800 25859.160000 667.505200 86 85Kalhygge 6 0.000 9223372036854775800 19027.720000 568.256000 87 86Åker 2 0.000 9223372036854775800 182.906300 74.363460 88 87Föryngringsskog 5 0.000 9223372036854775800 42767.940000 1202.788000 89 88Åker 2 0.000 9223372036854775800 18835.160000 712.023300 90 89Åker 2 0.000 9223372036854775800 16816.310000 609.146200 91 90Betesmark 1 0.000 9223372036854775800 53221.000000 1024.798000 92 91Åker 2 0.000 9223372036854775800 27.875000 24.580740 93 92Betesmark 1 0.000 9223372036854775800 3532.969000 258.694100 94 93Bebyggelse 3 0.000 9223372036854775800 9526.813000 441.287800 95 94Åker 2 0.000 9223372036854775800 50603.340000 1564.419000 96 95Åker 2 0.000 9223372036854775800 20461.750000 563.346900 97 96Åker 2 0.000 9223372036854775800 4021.688000 235.115500 98 97Föryngringsskog 5 0.000 9223372036854775800 11128.030000 435.767100 99 98Föryngringsskog 5 0.000 9223372036854775800 14942.060000 549.644800 100 99Åker 2 0.000 9223372036854775800 3720.625000 235.201100 101 100Föryngringsskog 5 0.000 9223372036854775800 36612.630000 828.000300 102 101Åker 2 0.000 9223372036854775800 54902.880000 1280.073000 103 102Åker 2 0.000 9223372036854775800 14098.910000 568.862900 104 103Åker 2 0.000 9223372036854775800 5.156250 10.771590 105 104Betesmark 1 0.000 9223372036854775800 4844.781000 325.702200 106 105Åker 2 0.000 9223372036854775800 20586.970000 741.531100 107 106Åker 2 0.000 9223372036854775800 18439.720000 682.423300 108 107Åker 2 0.000 9223372036854775800 18844.250000 576.180100 109 108Åker 2 0.000 9223372036854775800 6172.969000 381.077100 110 109Åker 2 0.000 9223372036854775800 21371.220000 629.423500 111 110Åker 2 0.000 9223372036854775800 17829.910000 535.727900 112 111Åker 2 0.000 9223372036854775800 40227.780000 868.928000 113 112Föryngringsskog 5 0.000 9223372036854775800 35.437500 29.141010 114 113Betesmark 1 0.000 9223372036854775800 46348.410000 867.648100 115 114Åker 2 0.000 9223372036854775800 11070.880000 470.884500 116 115Åker 2 0.000 9223372036854775800 39000.130000 843.341500 117 116Åker 2 0.000 9223372036854775800 31508.090000 928.583100 118 117Åker 2 0.000 9223372036854775800 64614.720000 1031.738000 119 118Kalhygge 6 0.000 9223372036854775800 16605.970000 600.773700 120 119Åker 2 0.000 9223372036854775800 10205.000000 405.420600 121 120Föryngringsskog 5 0.000 9223372036854775800 3770.531000 280.258100 122 121Åker 2 0.000 9223372036854775800 23268.530000 692.498200 123 122Åker 2 0.000 9223372036854775800 6528.906000 348.476200 124 123Åker 2 0.000 9223372036854775800 32313.690000 819.577900 125 124Åker 2 0.000 9223372036854775800 10565.340000 541.830000 126 125Åker 2 0.000 9223372036854775800 12658.060000 562.168300 127 126Åker 2 0.000 9223372036854775800 9501.500000 391.992700 128 127Åker 2 0.000 9223372036854775800 6.781250 11.876720 129 128Betesmark 1 0.000 9223372036854775800 18990.720000 618.910900 130 129Åker 2 0.000 9223372036854775800 9707.750000 456.332800 131 130Åker 2 0.000 9223372036854775800 6482.531000 411.357500 132 131Åker 2 0.000 9223372036854775800 9055.406000 395.566800 133 132Åker 2 0.000 9223372036854775800 36984.380000 1210.334000 134 133Åker 2 0.000 9223372036854775800 7.375000 13.269300 135 134Betesmark 1 0.000 9223372036854775800 35644.970000 852.684600 136 135Åker 2 0.000 9223372036854775800 136874.300000 2787.406000 137 136Åker 2 0.000 9223372036854775800 17739.000000 576.147300 138 137Betesmark 1 0.000 9223372036854775800 26727.190000 674.799900 139 138Åker 2 0.000 9223372036854775800 43532.440000 890.599000 140 139Åker 2 0.000 9223372036854775800 21259.160000 648.767500 141 140Åker 2 0.000 9223372036854775800 18041.720000 507.392500 142 141Åker 2 0.000 9223372036854775800 63788.380000 1122.601000 143 142Åker 2 0.000 9223372036854775800 55305.130000 1290.785000 144 143Åker 2 0.000 9223372036854775800 26138.280000 806.358800 145 144Åker 2 0.000 9223372036854775800 14408.500000 533.169100 146 145Kalhygge 6 0.000 9223372036854775800 6827.375000 367.953900 147 146Bebyggelse 3 0.000 9223372036854775800 89.812500 66.248630 148 147Betesmark 1 0.000 9223372036854775800 11936.690000 525.816700 149 148Betesmark 1 0.000 9223372036854775800 19.343750 20.562070 150 149Betesmark 1 0.000 9223372036854775800 31276.750000 894.853800 151 150Föryngringsskog 5 0.000 9223372036854775800 34157.220000 815.858500 152 151Föryngringsskog 5 0.000 9223372036854775800 71540.250000 1662.391000 153 152Kalhygge 6 0.000 9223372036854775800 15.375000 25.502320 154 153Betesmark 1 0.000 9223372036854775800 22204.500000 601.409000 155 154Åker 2 0.000 9223372036854775800 11812.410000 456.470500 156 155Åker 2 0.000 9223372036854775800 15708.310000 552.922900 157 156Åker 2 0.000 9223372036854775800 3203.344000 258.380000 158 157Bebyggelse 3 0.000 9223372036854775800 4583.156000 275.171600 159 158Betesmark 1 0.000 9223372036854775800 27636.810000 708.226600 160 159Åker 2 0.000 9223372036854775800 12505.160000 552.852100 161 160Åker 2 0.000 9223372036854775800 42675.690000 1102.317000 162 161Åker 2 0.000 9223372036854775800 26.781250 25.126040 163 162Betesmark 1 0.000 9223372036854775800 7434.313000 372.423600 164 163Föryngringsskog 5 0.000 9223372036854775800 28736.630000 768.025900 165 164Åker 2 0.000 9223372036854775800 20.562500 22.787660 166 165Betesmark 1 0.000 9223372036854775800 24983.030000 712.420500 167 166Åker 2 0.000 9223372036854775800 33924.090000 794.866100 168 167Åker 2 0.000 9223372036854775800 12872.970000 692.135700 169 168Åker 2 0.000 9223372036854775800 16461.690000 608.106100 170 169Föryngringsskog 5 0.000 9223372036854775800 37545.500000 995.666800 171 170Åker 2 0.000 9223372036854775800 21625.030000 695.743500 172 171Åker 2 0.000 9223372036854775800 50791.406250 1168.358124 173 172Åker 2 1.166 9223372036854775800 7341.563000 359.655500 174 173Åker 2 0.000 9223372036854775800 12780.380000 454.463900 175 174Åker 2 0.000 9223372036854775800 7969.563000 392.649700 176 175Åker 2 0.000 9223372036854775800 45351.840000 981.837600 177 176Åker 2 0.000 9223372036854775800 9585.469000 377.510100 178 177Åker 2 0.000 9223372036854775800 10505.660000 520.690600 179 178Åker 2 0.000 9223372036854775800 17708.440000 708.196200 180 179Åker 2 0.000 9223372036854775800 349795.300000 5714.544000 181 180Kalhygge 6 0.000 9223372036854775800 15694.030000 655.525800 182 181Åker 2 0.000 9223372036854775800 624332.800000 7405.567000 183 182Föryngringsskog 5 0.000 9223372036854775800 1787.250000 159.622700 184 183Bebyggelse 3 0.000 9223372036854775800 10998.410000 421.831900 185 184Åker 2 0.000 9223372036854775800 23889.410000 718.450900 186 185Föryngringsskog 5 0.000 9223372036854775800 12149.310000 630.716400 187 186Åker 2 0.000 9223372036854775800 6180.125000 341.268400 188 187Åker 2 0.000 9223372036854775800 25911.720000 719.591800 189 188Åker 2 0.000 9223372036854775800 22560.780000 675.117600 190 189Åker 2 0.000 9223372036854775800 8160.844000 439.372200 191 190Fullvuxen skog 4 0.000 9223372036854775800 2761.750000 193.530500 192 191Bebyggelse 3 0.000 9223372036854775800 21351.310000 644.373000 193 192Åker 2 0.000 9223372036854775800 9279.656000 423.366400 194 193Åker 2 0.000 9223372036854775800 80251.250000 1315.624000 195 194Åker 2 0.000 9223372036854775800 19378.380000 755.731700 196 195Åker 2 0.000 9223372036854775800 9393.719000 379.573500 197 196Åker 2 0.000 9223372036854775800 16008.190000 517.269300 198 197Betesmark 1 0.000 9223372036854775800 29728.500000 891.717600 199 198Föryngringsskog 5 0.000 9223372036854775800 52689.910000 1335.392000 200 199Åker 2 0.000 9223372036854775800 7984.906000 362.165600 201 200Åker 2 0.000 9223372036854775800 40514.380000 958.228200 202 201Åker 2 0.000 9223372036854775800 3398.156000 232.011800 203 202Bebyggelse 3 0.000 9223372036854775800 8412.281000 430.921600 204 203Åker 2 0.000 9223372036854775800 9900.375000 414.904400 205 204Betesmark 1 0.000 9223372036854775800 16098.810000 543.921900 206 205Åker 2 0.000 9223372036854775800 5504.281000 361.786700 207 206Åker 2 0.000 9223372036854775800 20537.250000 1060.819000 208 207Åker 2 0.000 9223372036854775800 1713.688000 162.063900 209 208Bebyggelse 3 0.000 9223372036854775800 21135.310000 741.858900 210 209Åker 2 0.000 9223372036854775800 28.250000 29.220590 211 210Betesmark 1 0.000 9223372036854775800 61169.630000 1322.617000 212 211Åker 2 0.000 9223372036854775800 582.281300 112.404300 213 212Åker 2 0.000 9223372036854775800 7020.750000 346.184349 214 213Åker 2 0.161 9223372036854775800 10709.160000 454.536700 215 214Bebyggelse 3 0.000 9223372036854775800 9813.438000 503.177700 216 215Betesmark 1 0.000 9223372036854775800 11171.530000 472.316300 217 216Åker 2 0.000 9223372036854775800 8575.250000 388.753100 218 217Föryngringsskog 5 0.000 9223372036854775800 7143.813000 370.623700 219 218Åker 2 0.000 9223372036854775800 19199.130000 568.353300 220 219Åker 2 0.000 9223372036854775800 84551.470000 1554.597000 221 220Fullvuxen skog 4 0.000 9223372036854775800 62726.310000 1380.065000 222 221Åker 2 0.000 9223372036854775800 23539.190000 671.352500 223 222Åker 2 0.000 9223372036854775800 71019.590000 1757.351000 224 223Åker 2 0.000 9223372036854775800 20390.190000 653.167700 225 224Åker 2 0.000 9223372036854775800 12850.281250 467.957201 226 225Åker 2 0.295 9223372036854775800 30402.630000 860.323100 227 226Åker 2 0.000 9223372036854775800 380065.000000 3533.533000 228 227Fullvuxen skog 4 0.000 9223372036854775800 13358.250000 539.393400 229 228Åker 2 0.000 9223372036854775800 5858.344000 306.462800 230 229Bebyggelse 3 0.000 9223372036854775800 18963.875000 634.478237 231 230Åker 2 0.435 9223372036854775800 5516.594000 313.269200 232 231Åker 2 0.000 9223372036854775800 49835.630000 1409.156000 233 232Åker 2 0.000 9223372036854775800 18297.090000 534.095800 234 233Betesmark 1 0.000 9223372036854775800 20.812500 20.792700 235 234Betesmark 1 0.000 9223372036854775800 61.656250 62.614080 236 235Betesmark 1 0.000 9223372036854775800 263495.500000 2637.343000 237 236Fullvuxen skog 4 0.000 9223372036854775800 74649.590000 1116.958000 238 237Åker 2 0.000 9223372036854775800 29512.530000 828.128400 239 238Åker 2 0.000 9223372036854775800 21736.093750 695.591795 240 239Åker 2 0.499 9223372036854775800 144588.000000 1699.713000 241 240Åker 2 0.000 9223372036854775800 28021.250000 917.037944 242 241Åker 2 0.643 9223372036854775800 46.625000 58.720340 243 242Betesmark 1 0.000 9223372036854775800 10208.970000 465.425300 244 243Åker 2 0.000 9223372036854775800 30301.470000 944.590000 245 244Betesmark 1 0.000 9223372036854775800 45522.218750 864.448132 246 245Åker 2 1.045 9223372036854775800 40544.410000 878.518300 247 246Åker 2 0.000 9223372036854775800 12431.500000 484.724100 248 247Bebyggelse 3 0.000 9223372036854775800 18494.160000 749.301300 249 248Åker 2 0.000 9223372036854775800 61029.590000 1199.745000 250 249Kalhygge 6 0.000 9223372036854775800 23286.910000 622.147400 251 250Åker 2 0.000 9223372036854775800 80984.380000 1309.591000 252 251Åker 2 0.000 9223372036854775800 28483.660000 637.695400 253 252Betesmark 1 0.000 9223372036854775800 29233.156250 667.519022 254 253Föryngringsskog 5 0.671 9223372036854775800 26766.190000 656.218100 255 254Åker 2 0.000 9223372036854775800 30698.090000 1768.811000 256 255Åker 2 0.000 9223372036854775800 42956.968750 838.746984 257 256Åker 2 0.986 9223372036854775800 12609.880000 423.573900 258 257Föryngringsskog 5 0.000 9223372036854775800 23401.720000 645.765000 259 258Åker 2 0.000 9223372036854775800 95116.130000 1515.379000 260 259Föryngringsskog 5 0.000 9223372036854775800 9834.688000 378.490100 261 260Betesmark 1 0.000 9223372036854775800 19161.093750 615.325206 262 261Åker 2 0.440 9223372036854775800 149234.200000 1883.577000 263 262Åker 2 0.000 9223372036854775800 19619.468750 602.356183 264 263Åker 2 0.450 9223372036854775800 20039.060000 624.797500 265 264Åker 2 0.000 9223372036854775800 53772.470000 1449.667000 266 265Åker 2 0.000 9223372036854775800 15103.410000 600.319600 267 266Åker 2 0.000 9223372036854775800 16551.630000 800.254100 268 267Betesmark 1 0.000 9223372036854775800 5386.938000 306.351900 269 268Bebyggelse 3 0.000 9223372036854775800 53052.090000 1014.683000 270 269Åker 2 0.000 9223372036854775800 3479.969000 239.754700 271 270Fullvuxen skog 4 0.000 9223372036854775800 31822.530000 713.868900 272 271Åker 2 0.000 9223372036854775800 10421.340000 461.000300 273 272Åker 2 0.000 9223372036854775800 58953.780000 1230.036000 274 273Åker 2 0.000 9223372036854775800 39006.656250 772.792861 275 274Åker 2 0.895 9223372036854775800 60285.281250 976.637222 276 275Åker 2 1.384 9223372036854775800 314272.100000 2419.661000 277 276Åker 2 0.000 9223372036854775800 10983.440000 611.663200 278 277Betesmark 1 0.000 9223372036854775800 210407.900000 3052.689000 279 278Fullvuxen skog 4 0.000 9223372036854775800 21213.750000 571.739100 280 279Åker 2 0.000 9223372036854775800 30399.750000 789.314000 281 280Åker 2 0.000 9223372036854775800 97581.530000 1577.610000 282 281Åker 2 0.000 9223372036854775800 38465.410000 1155.393000 283 282Åker 2 0.000 9223372036854775800 6809.906000 337.812900 284 283Bebyggelse 3 0.000 9223372036854775800 12881.940000 518.921500 285 284Åker 2 0.000 9223372036854775800 25081.530000 668.220000 286 285Åker 2 0.000 9223372036854775800 1501.938000 158.187800 287 286Bebyggelse 3 0.000 9223372036854775800 72297.690000 1469.055000 288 287Åker 2 0.000 9223372036854775800 8999.375000 482.479200 289 288Fullvuxen skog 4 0.000 9223372036854775800 31527.060000 728.790500 290 289Åker 2 0.000 9223372036854775800 37484.810000 968.926100 291 290Åker 2 0.000 9223372036854775800 7428.750000 375.366260 292 291Bebyggelse 3 0.171 9223372036854775800 60061.968750 1237.797217 293 292Åker 2 1.379 9223372036854775800 2775.375000 240.193800 294 293Betesmark 1 0.000 9223372036854775800 23128.630000 672.320400 295 294Åker 2 0.000 9223372036854775800 24128.220000 645.950300 296 295Åker 2 0.000 9223372036854775800 58716.660000 1326.676000 297 296Åker 2 0.000 9223372036854775800 13462.090000 584.633100 298 297Åker 2 0.000 9223372036854775800 74238.750000 1200.773000 299 298Åker 2 0.000 9223372036854775800 42430.810000 919.647800 300 299Åker 2 0.000 9223372036854775800 22668.090000 962.049600 301 300Åker 2 0.000 9223372036854775800 8718.531000 391.158500 302 301Åker 2 0.000 9223372036854775800 4025.969000 266.625200 303 302Fullvuxen skog 4 0.000 9223372036854775800 24893.060000 756.632100 304 303Åker 2 0.000 9223372036854775800 30506.090000 732.512800 305 304Åker 2 0.000 9223372036854775800 21804.250000 711.147700 306 305Åker 2 0.000 9223372036854775800 101650.300000 2036.058000 307 306Föryngringsskog 5 0.000 9223372036854775800 25919.880000 670.022800 308 307Åker 2 0.000 9223372036854775800 6883.219000 343.729600 309 308Fullvuxen skog 4 0.000 9223372036854775800 31631.220000 729.435700 310 309Åker 2 0.000 9223372036854775800 43963.410000 881.918000 311 310Kalhygge 6 0.000 9223372036854775800 79267.530000 1551.157000 312 311Åker 2 0.000 9223372036854775800 9881.969000 408.208200 313 312Åker 2 0.000 9223372036854775800 9131.500000 376.840100 314 313Åker 2 0.000 9223372036854775800 24020.750000 631.738900 315 314Åker 2 0.000 9223372036854775800 19005.030000 599.962000 316 315Åker 2 0.000 9223372036854775800 3131.094000 216.263900 317 316Bebyggelse 3 0.000 9223372036854775800 22634.910000 681.439600 318 317Åker 2 0.000 9223372036854775800 337.375000 125.798200 319 318Betesmark 1 0.000 9223372036854775800 34304.280000 819.563400 320 319Åker 2 0.000 9223372036854775800 27505.530000 867.063400 321 320Åker 2 0.000 9223372036854775800 4924.563000 284.543800 322 321Betesmark 1 0.000 9223372036854775800 44063.940000 848.486400 323 322Betesmark 1 0.000 9223372036854775800 13792.940000 510.476100 324 323Åker 2 0.000 9223372036854775800 26163.560000 659.488300 325 324Åker 2 0.000 9223372036854775800 24197.910000 669.324800 326 325Åker 2 0.000 9223372036854775800 32801.810000 821.517800 327 326Åker 2 0.000 9223372036854775800 21824.750000 658.126000 328 327Åker 2 0.000 9223372036854775800 9255.219000 466.505500 329 328Betesmark 1 0.000 9223372036854775800 11558.220000 447.103500 330 329Åker 2 0.000 9223372036854775800 95565.590000 1687.863000 331 330Åker 2 0.000 9223372036854775800 2503.406000 201.233600 332 331Bebyggelse 3 0.000 9223372036854775800 39461.410000 858.955100 333 332Åker 2 0.000 9223372036854775800 113111.300000 2056.143000 334 333Föryngringsskog 5 0.000 9223372036854775800 45561.250000 922.044000 335 334Åker 2 0.000 9223372036854775800 20778.470000 615.350600 336 335Föryngringsskog 5 0.000 9223372036854775800 26260.720000 745.605800 337 336Åker 2 0.000 9223372036854775800 18076.090000 557.308800 338 337Åker 2 0.000 9223372036854775800 2920.813000 236.671500 339 338Fullvuxen skog 4 0.000 9223372036854775800 18610.090000 623.758700 340 339Åker 2 0.000 9223372036854775800 42372.440000 915.670300 341 340Betesmark 1 0.000 9223372036854775800 14748.530000 581.470900 342 341Åker 2 0.000 9223372036854775800 55431.220000 1494.106000 343 342Åker 2 0.000 9223372036854775800 20955.280000 724.023600 344 343Åker 2 0.000 9223372036854775800 5809.406000 327.861100 345 344Föryngringsskog 5 0.000 9223372036854775800 10724.750000 446.728100 346 345Fullvuxen skog 4 0.000 9223372036854775800 44972.470000 857.727800 347 346Åker 2 0.000 9223372036854775800 8672.125000 498.405600 348 347Betesmark 1 0.000 9223372036854775800 14479.190000 621.864000 349 348Åker 2 0.000 9223372036854775800 23623.530000 670.458700 350 349Åker 2 0.000 9223372036854775800 57822.940000 1018.068000 351 350Åker 2 0.000 9223372036854775800 5878.156000 335.892800 352 351Fullvuxen skog 4 0.000 9223372036854775800 24740.470000 670.027300 353 352Åker 2 0.000 9223372036854775800 42299.560000 874.811600 354 353Betesmark 1 0.000 9223372036854775800 8739.469000 416.691000 355 354Betesmark 1 0.000 9223372036854775800 12199.690000 466.754300 356 355Bebyggelse 3 0.000 9223372036854775800 10848.780000 484.668400 357 356Bebyggelse 3 0.000 9223372036854775800 712.250000 162.363900 358 357Betesmark 1 0.000 9223372036854775800 249375.700000 4027.108000 359 358Fullvuxen skog 4 0.000 9223372036854775800 5343.375000 301.337500 360 359Bebyggelse 3 0.000 9223372036854775800 58085.470000 987.263400 361 360Betesmark 1 0.000 9223372036854775800 400318.400000 4347.968000 362 361Åker 2 0.000 9223372036854775800 13534.500000 537.944700 363 362Åker 2 0.000 9223372036854775800 30082.780000 776.731600 364 363Åker 2 0.000 9223372036854775800 15433.250000 569.192200 365 364Åker 2 0.000 9223372036854775800 10182.590000 422.651100 366 365Bebyggelse 3 0.000 9223372036854775800 16736.280000 518.968800 367 366Åker 2 0.000 9223372036854775800 6752.438000 338.905700 368 367Åker 2 0.000 9223372036854775800 32003.060000 840.456400 369 368Åker 2 0.000 9223372036854775800 15050.970000 575.148600 370 369Åker 2 0.000 9223372036854775800 12976.530000 467.422900 371 370Åker 2 0.000 9223372036854775800 9961.563000 476.203600 372 371Åker 2 0.000 9223372036854775800 91297.190000 1220.235000 373 372Åker 2 0.000 9223372036854775800 43948.590000 907.800100 374 373Föryngringsskog 5 0.000 9223372036854775800 25753.060000 666.958300 375 374Åker 2 0.000 9223372036854775800 25573.340000 721.159700 376 375Föryngringsskog 5 0.000 9223372036854775800 6151.656000 336.030100 377 376Åker 2 0.000 9223372036854775800 23927.810000 804.097200 378 377Åker 2 0.000 9223372036854775800 26794.250000 717.730500 379 378Åker 2 0.000 9223372036854775800 53004.880000 1129.820000 380 379Åker 2 0.000 9223372036854775800 110119.300000 1772.496000 381 380Åker 2 0.000 9223372036854775800 33731.780000 720.645400 382 381Åker 2 0.000 9223372036854775800 93046.160000 1328.878000 383 382Kalhygge 6 0.000 9223372036854775800 10056.280000 399.802000 384 383Bebyggelse 3 0.000 9223372036854775800 3798.875000 295.824600 385 384Åker 2 0.000 9223372036854775800 12809.090000 454.774600 386 385Åker 2 0.000 9223372036854775800 12771.090000 562.253500 387 386Åker 2 0.000 9223372036854775800 11037.840000 424.068100 388 387Åker 2 0.000 9223372036854775800 28477.340000 917.130200 389 388Betesmark 1 0.000 9223372036854775800 41758.250000 825.690200 390 389Åker 2 0.000 9223372036854775800 34429.780000 785.045700 391 390Åker 2 0.000 9223372036854775800 118741.200000 2511.641000 392 391Åker 2 0.000 9223372036854775800 35857.590000 852.046400 393 392Åker 2 0.000 9223372036854775800 19822.310000 583.056100 394 393Åker 2 0.000 9223372036854775800 12214.280000 462.952400 395 394Bebyggelse 3 0.000 9223372036854775800 95184.910000 1318.054000 396 395Åker 2 0.000 9223372036854775800 1636.688000 180.332500 397 396Bebyggelse 3 0.000 9223372036854775800 9891.375000 412.545800 398 397Åker 2 0.000 9223372036854775800 9740.094000 425.656900 399 398Åker 2 0.000 9223372036854775800 12644.130000 566.270100 400 399Åker 2 0.000 9223372036854775800 32904.410000 794.503600 401 400Åker 2 0.000 9223372036854775800 15723.660000 507.001800 402 401Bebyggelse 3 0.000 9223372036854775800 47759.690000 1269.852000 403 402Fullvuxen skog 4 0.000 9223372036854775800 42539.190000 958.817700 404 403Åker 2 0.000 9223372036854775800 33313.780000 846.125500 405 404Åker 2 0.000 9223372036854775800 7684.375000 337.427200 406 405Föryngringsskog 5 0.000 9223372036854775800 33809.840000 763.503700 407 406Åker 2 0.000 9223372036854775800 26151.590000 754.211000 408 407Åker 2 0.000 9223372036854775800 45386.410000 885.773900 409 408Åker 2 0.000 9223372036854775800 16410.090000 557.489900 410 409Åker 2 0.000 9223372036854775800 96504.530000 1405.702000 411 410Åker 2 0.000 9223372036854775800 79631.220000 1390.315000 412 411Föryngringsskog 5 0.000 9223372036854775800 27876.500000 799.926900 413 412Åker 2 0.000 9223372036854775800 13094.250000 519.044700 414 413Åker 2 0.000 9223372036854775800 18088.160000 540.516200 415 414Betesmark 1 0.000 9223372036854775800 26154.190000 823.443900 416 415Åker 2 0.000 9223372036854775800 33812.060000 759.853800 417 416Åker 2 0.000 9223372036854775800 64868.310000 1140.323000 418 417Åker 2 0.000 9223372036854775800 57765.340000 1389.999000 419 418Åker 2 0.000 9223372036854775800 13649.880000 783.968000 420 419Åker 2 0.000 9223372036854775800 5828.906000 332.697400 421 420Åker 2 0.000 9223372036854775800 37552.250000 1069.124000 422 421Åker 2 0.000 9223372036854775800 11.062500 15.900290 423 422Betesmark 1 0.000 9223372036854775800 5615.719000 415.511200 424 423Betesmark 1 0.000 9223372036854775800 88762.630000 1383.365000 425 424Åker 2 0.000 9223372036854775800 127890.600000 2949.785000 426 425Åker 2 0.000 9223372036854775800 3815.094000 264.602500 427 426Bebyggelse 3 0.000 9223372036854775800 3835.469000 321.152900 428 427Betesmark 1 0.000 9223372036854775800 27168.720000 687.880700 429 428Åker 2 0.000 9223372036854775800 119246.100000 2035.169000 430 429Åker 2 0.000 9223372036854775800 5466.906000 302.466300 431 430Bebyggelse 3 0.000 9223372036854775800 14511.030000 563.245000 432 431Åker 2 0.000 9223372036854775800 15447.590000 569.127000 433 432Bebyggelse 3 0.000 9223372036854775800 84946.880000 1327.214000 434 433Kalhygge 6 0.000 9223372036854775800 46.437500 35.042680 435 434Betesmark 1 0.000 9223372036854775800 22540.810000 783.850900 436 435Betesmark 1 0.000 9223372036854775800 55447.190000 1466.810000 437 436Åker 2 0.000 9223372036854775800 6775.594000 468.441600 438 437Fullvuxen skog 4 0.000 9223372036854775800 16562.250000 541.957900 439 438Föryngringsskog 5 0.000 9223372036854775800 39490.160000 1327.221000 440 439Betesmark 1 0.000 9223372036854775800 6531.906000 319.728900 441 440Föryngringsskog 5 0.000 9223372036854775800 5066.188000 273.416300 442 441Bebyggelse 3 0.000 9223372036854775800 123242.800000 1540.979000 443 442Fullvuxen skog 4 0.000 9223372036854775800 24240.380000 870.474000 444 443Åker 2 0.000 9223372036854775800 85026.410000 1513.004000 445 444Föryngringsskog 5 0.000 9223372036854775800 15612.380000 543.348200 446 445Kalhygge 6 0.000 9223372036854775800 14012.880000 521.495500 447 446Bebyggelse 3 0.000 9223372036854775800 56231.280000 1037.688000 448 447Åker 2 0.000 9223372036854775800 55532.190000 1621.497000 449 448Vatten 7 0.000 9223372036854775800 29417.750000 744.572800 450 449Åker 2 0.000 9223372036854775800 5797.031000 347.783800 451 450Bebyggelse 3 0.000 9223372036854775800 25124.130000 913.229700 452 451Åker 2 0.000 9223372036854775800 1637.250000 340.010900 453 452Åker 2 0.000 9223372036854775800 985.156300 133.475700 454 453Bebyggelse 3 0.000 9223372036854775800 20703.310000 605.585800 455 454Åker 2 0.000 9223372036854775800 10434.530000 455.962200 456 455Fullvuxen skog 4 0.000 9223372036854775800 12856.720000 493.588000 457 456Betesmark 1 0.000 9223372036854775800 14072.750000 623.022800 458 457Åker 2 0.000 9223372036854775800 9566.688000 461.815200 459 458Åker 2 0.000 9223372036854775800 10106.560000 387.304600 460 459Åker 2 0.000 9223372036854775800 20124.560000 590.342000 461 460Åker 2 0.000 9223372036854775800 12794.780000 502.589800 462 461Åker 2 0.000 9223372036854775800 25287.530000 1001.643000 463 462Åker 2 0.000 9223372036854775800 30721.720000 788.266800 464 463Åker 2 0.000 9223372036854775800 843.437500 141.297200 465 464Kalhygge 6 0.000 9223372036854775800 28678.250000 709.005800 466 465Åker 2 0.000 9223372036854775800 2354.125000 189.233000 467 466Bebyggelse 3 0.000 9223372036854775800 7933.594000 419.359500 468 467Betesmark 1 0.000 9223372036854775800 10582.910000 441.128900 469 468Åker 2 0.000 9223372036854775800 6221.938000 368.726600 470 469Åker 2 0.000 9223372036854775800 5216.656000 576.644100 471 470Bebyggelse 3 0.000 9223372036854775800 65.312500 55.490450 472 471Fullvuxen skog 4 0.000 9223372036854775800 8207.906000 436.342100 473 472Föryngringsskog 5 0.000 9223372036854775800 3481.875000 234.790100 474 473Åker 2 0.000 9223372036854775800shapelib-1.6.1/tests/shape_eg_data/mexico/0000775000175000017500000000000014657064715015522 500000000000000shapelib-1.6.1/tests/shape_eg_data/mexico/states.sbx0000664000175000017500000000023414573117335017454 00000000000000' ÿÿþpN À]GÕ@-á@ÀU¯ @@@\C€C\@@Ën2,b †’ ¢¶Ö shapelib-1.6.1/tests/shape_eg_data/mexico/rivers.sbx0000664000175000017500000000030414573117335017461 00000000000000' ÿÿþpbÀ\§à@.á=ÀÀVª@@\D@D\@@3Ñ24j~†’š²ÊÖ æòshapelib-1.6.1/tests/shape_eg_data/mexico/roads_rt.sbn0000664000175000017500000000072414573117335017760 00000000000000' ÿÿþpêÀ]BTà@-$Š@ÀUµý€@@Tó€óT@@, fjˆ± XO—ó[yŽŸd×bfQ„bo>ˆ™ 2B—í|2JƒTÇ Dš· œ/ÿ Žqˆœ ×@Ç+ó;ñ7ÿ]Ý9ßDÏÔ¹»0–8@‘!—E˜p | –:±E—G¦U9u?„KŽSš èÿáZÿwAþshapelib-1.6.1/tests/shape_eg_data/mexico/roads_rt.dbf0000664000175000017500000000227614573117335017735 00000000000000`A)ROUTEC( Federal Hwy 1 Federal Hwy 2 Federal Hwy 5 Federal Hwy 15 Federal Hwy 19 Federal Hwy 37 Federal Hwy 40 Federal Hwy 45 Federal Hwy 49 Federal Hwy 54 Federal Hwy 57 Federal Hwy 81 Federal Hwy 85 Federal Hwy 90 Federal Hwy 95 Federal Hwy 101 Federal Hwy 130 Federal Hwy 150 Federal Hwy 160 Federal Hwy 180 Federal Hwy 185 Federal Hwy 186 Federal Hwy 190 Federal Hwy 200 Federal Hwy 211 Federal Hwy 261 Federal Hwy 307 State Hwy 1 shapelib-1.6.1/tests/shape_eg_data/mexico/cities.sbn0000664000175000017500000000150414573117335017420 00000000000000' ÿÿþp¢$À\ÒÔÀ@0¡[ ÀVë@@@ObàbO@@¼ †Œ‡Ž‘ÿÿÒÓòBóC é2ê3 ÓÔ…E†F‡WˆX¤Y¥Z˜q™r#¡*¢+ ­-®.!µ%¶&¡&¢'­® ”*•+†0‡1Ž=>˜$™%œ78˜,™-‘$– — I€J þÿ W¾X¿*Å+Æ vawb"{S|T p@qAShTi/x0y cNdOfugvm)n*shapelib-1.6.1/tests/shape_eg_data/mexico/states.dbf0000664000175000017500000000270214573117335017415 00000000000000` *AREAN CODECNAMEC 28002.325MX02Baja California Norte 27898.191MX03Baja California Sur 10547.762MX18Nayarit 30736.386MX14Jalisco 2110.761MX01Aguascalientes 11715.793MX11Guanajuato 4645.565MX22Queretaro de Arteaga 8198.684MX13Hidalgo 22961.931MX16Michoacan de Ocampo 8291.708MX15Mexico 512.050MX09Distrito Federal 2211.033MX08Colima 1951.676MX17Morelos 14628.106MX31Yucatan 19369.415MX04Campeche 13227.318MX21Puebla 19782.748MX23Quintana Roo 1534.069MX29Tlaxcala 25001.188MX12Guerrero 35786.813MX20Oaxaca 9364.727MX27Tabasco 28335.571MX05Chiapas 69542.455MX26Sonora 95771.458MX06Chihuahua 57988.415MX07Coahuila De Zaragoza 22315.678MX25Sinaloa 46463.611MX10Durango 28881.617MX32Zacatecas 24767.049MX24San Luis Potosi 25139.835MX19Nuevo Leon 30503.273MX28Tamaulipas 27564.808MX30Veracruz-Llave shapelib-1.6.1/tests/shape_eg_data/mexico/cities.shx0000664000175000017500000000060414573117335017440 00000000000000' ÂèÀÔÒ\À [¡0@@ëVÀàbO@@2 @ N \ j x † ” ¢ ° ¾ Ì Ú è ö    . < J X f t ‚  ž ¬ º È Ö ä ò    shapelib-1.6.1/tests/shape_eg_data/mexico/roads_rt.shp0000664000175000017500000004711414573117335017774 00000000000000' '&èàTB]À@Š$-@€ýµUÀ€óT@@ÆàTB]À ð7@À£[[Àà‡E@@UK@°8]À€D8@@àTB]Àà‡E@@à¨]ÀÀˆå?@ k]À ø?@à#5]À '@@ w8]À`K7@@@°8]À€D8@@/[ÀàÌÞ7@ 8”[ÀÀÌ$8@@,˜[À@ö8@ æ[À18@@­¤[ÀÀY 8@à"©[Àà 8@ -®[À’8@`^²[ÀÀ«$8@ Èº[À€J)8@@bÁ[À`Ø\8@à¹Ý[ÀàJ–8@@Œñ[À è?9@ ä[À )c9@ ¤Ù[À^”9@™Ï[À u¬9@`ÓÖ[À€‡Ð9@€Á×[À Éÿ9@ÀŒ×[ÀP:@``á[À °O:@÷ë[À@ù:@`Vð[Àï‰:@à©û[ÀÀv¹:@`ú[ÀàÙ:@`«\À Éê:@àø \ÀÀç$;@`t\ÀÀG1;@ \À ³K;@à‰\À@ýc;@À(\À@+j;@ N3\À æQ;@€¹C\À L;@ ÆP\À@çm;@ÀªX\À ƒ¨;@À]\À ˆ¹;@€6x\À€³è;@ÀOx\À <@@t\À€¶b<@`y\À€8‚<@à€\À€¡­<@@Æ\À UÎ<@ Ä†\À`ËÓ<@`Š\Ààëí<@@‰\Àà¥<=@ b˜\À5b=@àK«\À ɸ=@`‡®\À` ¼=@@?¸\À€å=@@·Ê\À )÷=@tÒ\ÀÀ‹>@ ‡Û\ÀÀ~>@@Ú\À Ê">@€QÛ\À@¶%>@@¾ä\À ²&>@ éè\À€N>@ lé\À@{P>@àõ\Àà^>@À÷\À tc>@Åú\À Æ>@ Ïû\À  Û>@ÀŸ]À€@?@@]À`$?@€Y ]ÀÀœD?@`n]À@qd?@ ½]À€Ù?@ Ö]ÀÀ¿‘?@¯]Àé°?@à<]À`sÒ?@à¨]ÀÀˆå?@/[ÀàÌÞ7@@Z‚[ÀÀäÐ7@à,x[À`K³7@ ¹l[À@±7@ÀÆj[À J|7@ ‰b[À`Àh7@À]_[ÀàõP7@À£[[À ¦K7@@‘a[Àà $7@ k[À ð7@@°8]ÀÀŠŠ>@àŠ›ZÀ`ßN@@= @°8]À€D8@@€Ë.]À`/<@@ Õ']À .I@@`*]ÀÅH@@ z]À@’<@@Àð]À`F@@@V]À LI@@`Èÿ\À@mE@@€€ê\À@ÄL@@`óä\À `L@@`9Ü\À`ßN@@2Ç[ÀÀŠŠ>@ ×¸[Àà®>@`™¶[Àà¾È>@`9Ü\À`ßN@@@Ò\À€™F@@@À\À€yB@@ ù‡\À å"@@ÀÈx\À@™@@ 7\Ààã?@@`7\À (¹?@€!\À€\E?@àA\À`*ø>@ÀÈ \À`õº>@ …\À 7®>@€õ[À D¶>@ §ã[À H™>@2Ç[ÀÀŠŠ>@`™¶[Àà¾È>@€­[À æ>@ G©[À@©à>@ ó£[À@Nÿ>@[Àà?@@ý‡[ÀÀï?@ ð„[À@ë(?@ÀÐ|[À 1/?@@Gt[À€ñD?@Àn[À@ËD?@`¤c[ÀR?@ÀgX[À@À:?@ ´V[À F ?@ S[À`?@ÀNN[À@GÓ>@àžI[Àà„Ü>@ ´C[À`x»>@ p@[À@ó¾>@À­@[ÀÀÉ>@À“;[ÀÀÕæ>@À [ÀœÁ>@ ‰[À`ÌÞ>@@9 [À ®ì>@ À[À€ ?@`ùZÀå+?@ ÉñZÀÀ»L?@µïZÀÀ'b?@'èZÀ  b?@@‰ÓZÀ`øz?@@—¹ZÀàŸŸ?@@ʶZÀ ¬?@ ¦ZÀÕ¶?@àŠ›ZÀ #¦?@j ýÞ\À€$?@¥¿\À€óT@@  ýÞ\À€óT@@`9Ü\À`ßN@@¥¿\À€$?@tÄ\À¿u?@ÀžÈ\À`´¹?@ Î\À@@RÓ\À }@@€-Ô\À`þ@@à‡Õ\À€´.@@`9Ü\À`ßN@@`dÇ[À`íI3@ bÌXÀ€îU?@ |#EQgl2Ç[ÀÀŠŠ>@ ×¸[Àà®>@`™¶[Àà¾È>@@3¼[À€îU?@€f¾[ÀÀš3?@i¶[ÀØô>@`™¶[Àà¾È>@@ÄŠZÀ€’97@GˆZÀ@õ/7@ ñ…ZÀ`s)7@@vZÀ`Dü6@ ¸rZÀ@-Ö6@ ¯fZÀ ý³6@@íeZÀ@S‘6@`|WZÀÀ½6@ ¡MZÀ ß6@€üMZÀÀæñ5@ ¨GZÀÕ5@ nCZÀà­5@`Œ>ZÀà©£5@ 9ZÀ@C~5@ ÛÜYÀÀsF4@@1ÛYÀ`º84@€óÊYÀàú#4@–ÂYÀà¬*4@ 6¸YÀ€%4@ ;µYÀ x4@` ®YÀ`r4@ ÷­YÀÀ7ý3@`_£YÀ ñ4@`›YÀ hô3@ 4”YÀ€õ3@À’YÀà‘ý3@ Ð‹YÀ€ùÜ3@—rYÀà“Ì3@ J[À@èx9@@8[ÀÜ~9@x4[À Ñ9@Â>[ÀàÚÎ9@À”C[À€ õ9@ A[À /:@ +A[ÀÀ]:@Ô5[À vG:@ ¶=[À@.~:@€öV[ÀÀlÏ:@à¢[[À€Þñ:@ÀÕ\[À`¿;@À«{[ÀM{;@@éz[ÀÀ!—;@ÀK}[Ààô;@à±…[À@e™;@ ï’[À }¤;@à’[ÀÀ;@À5—[À`‰ß;@€Í¢[ÀÀðó;@à‚¶[À E <@¾½[À W<@€ƒÂ[À`šG<@À3Ã[À@;†<@@L½[ÀÀfÑ<@€[½[À + =@Àɵ[Àü=@àµ[À`ê=@`!·[À€á#=@@–º[Àe=@ÅÃ[À€ãÎ=@`dÇ[À Îé=@€ÀÅ[À@Öm>@2Ç[ÀÀŠŠ>@@ÄŠZÀ€’97@ öŠZÀàT:7@ S’ZÀ€ï_7@`¤”ZÀàth7@ ¥ZÀ@2¦7@`ä§ZÀ@ß7@`ΫZÀ wä7@ ¥µZÀ Ð8@°ÀZÀ ¥*8@`âÅZÀçK8@À>ÆZÀàfs8@`ÒZÀ î«8@—rYÀà“Ì3@`@^YÀ`ÕŸ3@àËNYÀàK´3@cAYÀ °3@@£=YÀ€Ú¥3@€–5YÀ œ®3@ x2YÀ`2¡3@ Ï.YÀÁ«3@À5-YÀ@’ 3@@|.YÀà7•3@ z+YÀ5ƒ3@àC#YÀ pp3@ÌYÀís3@À`YÀÀØ}3@@!YÀ 3@àOYÀÀEm3@`YÀ Ot3@àYÀ@Sf3@Àô÷XÀ l3@ÀÇíXÀ`íI3@ ×XÀ`M3@ bÌXÀÀßi3@`ÒZÀ î«8@@XäZÀ`‘ý8@ åøZÀ ’99@[üZÀÀÂU9@ J[À@èx9@ 9ZÀ@C~5@ ®,ZÀà[5@`k*ZÀ €M5@`ï)ZÀàÔ25@`K"ZÀ`5@`õZÀà!5@ ½ZÀÀ5@`XþYÀ@[ê4@ ©õYÀ`êë4@`ÕõYÀä4@À@ñYÀ ¢Þ4@àGéYÀ ¯À4@ vßYÀ`Ø·4@¬ÙYÀY©4@JãYÀÀÉl4@ ÛÜYÀÀsF4@X/[À`ñ6@ k[ÀàÌÞ7@ k[À ð7@€èm[Ààqÿ6@ÀÅr[À`ñ6@@lx[À y7@€Ò~[ÀF`7@@)‚[À€Nt7@`’[Àà&£7@/[ÀàÌÞ7@@’YÀ%2@—rYÀà“Ì3@—rYÀà“Ì3@àýuYÀ€{¹3@€huYÀ`k”3@€xYÀ€·}3@`€YÀ€Tv3@àƒYÀ`f3@ „YÀ€*3@`‰YÀ'Ô2@ YÀà´º2@àJ…YÀàòu2@Àc‡YÀ@ r2@ÀÚ†YÀ¶k2@@’YÀÀ)[2@€pYÀÀÀ72@ í‘YÀ%2@Î@ÄŠZÀ€’97@1YÀàÉ9@6* K*ZÀ@;8@À¡)ZÀàF8@€·$ZÀ€y8@ &ZÀ@½#8@@>ZÀ€Õ98@`ZÀàÎ]8@ ¼ZÀà¥8@ /ûYÀ€ –8@àýõYÀ`»8@VïYÀ þÇ8@àÌìYÀÀDÛ8@PíYÀÀï8@€_ñYÀ Þ9@€ñYÀ ­9@¨ìYÀ Ð19@ „çYÀ è<9@éëYÀÀ¤z9@ÀšßYÀ –9@ ?YÀ@}l9@€É9YÀ ¢“9@@)YÀ`y±9@àc!YÀ*²9@à1YÀ >¥9@1YÀ@Y©9@@ÄŠZÀ€’97@ "ZÀ@?T7@ äyZÀxn7@ ;{ZÀ ¤w7@`WvZÀ Bˆ7@`ËwZÀŒ7@ –uZÀ@G7@`ìuZÀ Ñ¡7@`}pZÀ p¤7@€äjZÀ`ò»7@ MaZÀ@ À7@àý^ZÀ Î¹7@À‡OZÀÀÝ7@ ›AZÀ °á7@ p?ZÀ€.Ú7@ iÇYÀàÉ9@àè½YÀ±Á9@ ý·YÀ€Ú 9@•­YÀà/•9@`šYÀ ñ­9@ ‚€YÀÀª¥9@àdYÀRª9@@SYÀ€,r9@ ÖBYÀ1u9@ ?YÀ@}l9@.€Ú¡ZÀ€I-4@ ƒÎXÀ >Ä?@ `%(/5BUZ\^€Ú¡ZÀ2`>@ ×–ZÀ q÷=@ÀŘZÀ€Ý=@ ˜”ZÀ =@€˜ZÀ  ˆ=@ÀßšZÀ`—o=@ E•ZÀ`à=@€„ZÀ EÚ<@ 'ZÀÀ0É<@`WƒZÀà– <@€—}ZÀ`¸–<@€Ç{ZÀ€w„<@ ²mZÀvr<@`-_ZÀ€ýE<@@OWZÀ@¾><@àMWZÀ`-<@rRZÀà <@@”RZÀ û;@@JLZÀÀŠÚ;@€&JZÀÀ¬;@ ìFZÀÀÀ;@ ‘ZÀ 'ê>@@¡ZÀàtÀ>@€Ú¡ZÀ2`>@ K*ZÀ@;8@ÙZÀ€¯þ7@ °ZÀ@Uæ7@€?ZÀ`×7@v ZÀ Ö7@@ÐZÀ@zÀ7@†öYÀ@ׯ7@`½êYÀ`ܬ7@€·ÜYÀÀש7@ ©ÕYÀ@- 7@ÀÎYÀÀÏŒ7@ÀBÈYÀàŽˆ7@@&½YÀ .M7@ ìFZÀÀÀ;@V59@ eZÀ`‹9@ ZÀ ÚÛ8@@"ZÀ€€Â8@ ¼(ZÀ€'­8@À¼,ZÀ€sv8@À¼,ZÀ A8@,ZÀàc8@ K*ZÀ@;8@àŠ›ZÀ #¦?@à5žZÀ@½‚?@€ZÀ`d?@ ! ZÀèH?@ ‘ZÀ 'ê>@ :ŸZÀ >Ä?@àŠ›ZÀ #¦?@ …XYÀ`K¥4@ \`YÀà$v4@@&½YÀ .M7@ Õ¦YÀ`eÜ6@ ö |;ZÀ`k&6@€Y=YÀÀµ ;@@&½YÀ .M7@ Õ¦YÀ`eÜ6@ |;ZÀÀµ ;@€ZÀ@KÄ:@zìYÀà†:@ÀšßYÀ –9@@&½YÀ .M7@ Ã»YÀ`ñ™7@ ‰½YÀ€C¶7@ ¢ÍYÀ8@ùÙYÀ€ñG8@€pÙYÀ`a8@À•ÕYÀ€ö~8@`4ÖYÀ`&™8@à ÎYÀ ’¯8@ ÒYÀ Žº8@ºÑYÀàÉ8@ïÖYÀà—Ï8@ þÝYÀ@Ëû8@À÷ãYÀÀé 9@àßYÀ éZ9@ÀšßYÀ –9@ Õ¦YÀ`eÜ6@djYÀ@­–6@Àã]YÀ`l6@€JYÀà†P6@€Y=YÀ`k&6@ ¬ FóYÀ >3@ ?YÀ@}l9@2 #¬ÙYÀY©4@€2ÒYÀà%¾4@ cÕYÀ`¤Ñ4@ÀÆÐYÀ dÖ4@`âËYÀÀ ÷4@`,ÌYÀî55@àSÆYÀÀÓu5@ÀíÆYÀ`†ƒ5@ ÛÃYÀ¤5@@ÀYÀÀí5@ ¿YÀf¥5@À’¾YÀ%É5@€a¹YÀ:â5@à¸YÀ`36@`Å´YÀ ª"6@þ¸YÀ€W6@`‹®YÀÀ£6@ Õ¦YÀ`eÜ6@ÏYÀ õ]7@ÏoYÀ ½Ó7@@OkYÀ€?ú7@@¿eYÀ`¢8@@Å\YÀàÚ78@àåWYÀ@u8@àÙVYÀ 0–8@`nXYÀÀž8@`áJYÀ@¾8@ÀæDYÀ` Û8@`=DYÀ`Ö 9@€(GYÀ@*9@€ÉEYÀ€tE9@ ?YÀ@}l9@¬ÙYÀY©4@JãYÀÀÉl4@ ÛÜYÀÀsF4@ FóYÀ >3@èîYÀ@‰>3@À·æYÀ€'R3@eãYÀ qa3@ 6ßYÀ°t3@à¹áYÀàŽ3@¸àYÀ@£‰3@àÝYÀ Õ‡3@@XÛYÀ`æŸ3@`ÔÞYÀ`a©3@ ÏÞYÀ€Í3@ åàYÀ€Ú3@@cæYÀ`ã3@€ÕÛYÀO4@ ÛÜYÀÀsF4@ 4€[YÀD’4@ A YÀà°<@B &(8À€ YÀà°<@€&YÀ y“<@@{6YÀ€7`<@–5YÀ@¸W<@ÀNBYÀ ¼B<@`#GYÀàj(<@`KMYÀÀ'ð;@À™GYÀ`Ö;@@èKYÀÀ¯¦;@€oNYÀ€ò3;@€[YÀ@ç:@[YÀÀhÊ:@ WVYÀ@å–:@ ðVYÀ ­:@€þMYÀ@í9@ÀòIYÀ¿ë9@ ùFYÀæÆ9@À„FYÀ@¹›9@ÀQ?YÀ€T„9@ ?YÀ@}l9@€%YÀ€è'5@àqYÀ`µ5@JYÀ<ê4@`1YÀÀIÒ4@ ŸYÀ€‘±4@àBYÀD’4@@´.YÀ t¥5@à¹0YÀœ5@ <0YÀÀt‰5@@ø+YÀ€×`5@`½&YÀ`çS5@€%YÀ€è'5@€Y=YÀ`k&6@À†7YÀà6@Ÿ2YÀñä5@ Ò+YÀ`¯À5@`Æ+YÀ ü²5@@´.YÀ t¥5@€Y=YÀ`k&6@K1YÀ€±e6@ ?YÀ@}l9@@-3YÀ2n9@àB2YÀ€sI9@àA4YÀ€y:9@ú YÀ 9@àŽYÀÍ8@ ÏYÀ€B–8@@„YÀÀÇ8@`1YÀ ¤a8@€(YÀ 8@`8)YÀÿ¦7@€6YÀÀ¨ö6@òYÀ Åí6@ ‚YÀ@ñ°6@x YÀ  ¦6@ A YÀ '—6@K1YÀ€±e6@À,YÀ ;q6@$)YÀ;‘6@ Ò!YÀà6 6@€YÀ ™š6@¿YÀ¤6@ßYÀàÓ6@ÀïYÀàÝn6@Ÿ YÀÀ |6@ A YÀ '—6@ 8ÀÀXÀS6@ÀèˆXÀ Q7@ÀèˆXÀS6@ ¥³XÀÀŽ=7@`<·XÀ€ÅH7@ÀÀXÀ Q7@ 01YÀÀßi3@ྐྵXÀ@Ð~;@B /18 ÓôXÀ`›.9@ AëXÀÀVã8@À&ãXÀ€òÙ8@ óáXÀ@ ™8@WãXÀ€À8@€+ßXÀÀ²y8@à5àXÀ€œZ8@€û×XÀ ž38@ ÐÇXÀd8@ dÆXÀ`™Ý7@MÈXÀ N»7@ ƒÎXÀ ”64@ aÌXÀ ‰?4@àlÍXÀ€a]4@àÕÊXÀ@>r4@ àÍXÀ æ{4@€LÒXÀàêz4@@9ÔXÀi†4@àìÕXÀà“4@@ùÕXÀľ4@àµÎXÀ†Û4@@1ÍXÀ€Áÿ4@ ÂXÀ ×5@€oÀXÀ@i 5@ýXÀ`"5@ÀN»XÀ€ B5@½XÀA5@ »¿XÀt^5@ Þ¾XÀ »i5@ྐྵXÀ€Än5@ õ¿XÀ€ƒ„5@ù»XÀ ß5@ ËÀXÀàƒþ5@àb¾XÀ`‰6@@ô½XÀ@¶+6@@vÅXÀk‹6@ ÁXÀ€Lž6@À(ÁXÀà±6@ °½XÀ¢º6@  ½XÀ‘Î6@ÁXÀ@+×6@€XÁXÀ€àð6@`yÇXÀàÆ7@@FÆXÀ ‚<7@ÀÀXÀ Q7@ ¾XÀ Ø‚7@MÈXÀ N»7@ VàXÀ@Ð~;@àêðXÀà6ù:@ bÌXÀÀßi3@@«ÆXÀÀÒ„3@ ÇÍXÀ€ÚŠ3@ïÍXÀ È3@àÿÆXÀUÎ3@.ÎXÀ 4@ ƒÎXÀ ”64@àêðXÀà6ù:@²öXÀOÌ:@`ê YÀ€ƒ:@ÀŒYÀ@(D:@ œYÀ€Ñ:@ ŒYÀtÍ9@1YÀ@Y©9@ÀÏYÀ@ÙK9@×ùXÀàÅ29@ ÓôXÀ`›.9@ú 9ZÀ ~W4@ \`YÀ@C~5@¬ÙYÀY©4@@rÕYÀ`‡¡4@@YÓYÀà"¦4@ /ÒYÀúš4@@MÍYÀ Õ4@ ÎÈYÀ‹‘4@`ÖÂYÀ€o 4@@À²YÀ ÄŠ4@€+¢YÀ r‰4@àÄšYÀÀŒ4@À\ˆYÀ@‘p4@ào†YÀ@^4@à%‚YÀ ~W4@ \`YÀà$v4@ 9ZÀ@C~5@ ®,ZÀà[5@`k*ZÀ €M5@`ï)ZÀàÔ25@`K"ZÀ`5@`õZÀà!5@ ½ZÀÀ5@`XþYÀ@[ê4@ ©õYÀ`êë4@`ÕõYÀä4@À@ñYÀ ¢Þ4@àGéYÀ ¯À4@ vßYÀ`Ø·4@¬ÙYÀY©4@äÀròXÀ ù0@€ÊXÀÀßi3@  ÚXÀ@F“2@@kÜXÀà[Œ2@À¿ÛXÀ _z2@`pâXÀ @\2@ wàXÀ@sM2@`‚ãXÀ s-2@@ãXÀà2@  æXÀÀ¶ò1@`™áXÀ…’1@ÀÀÝXÀ€5x1@ ¼ÞXÀ ¹L1@ÀMâXÀ ñ*1@`·åXÀÀ†-1@`æðXÀ€•1@ÀròXÀ ù0@ÀåÏXÀ R 3@`?ÑXÀl3@ ¥ÎXÀ€gá2@€‘ÏXÀ@Ç2@àkÓXÀ€‡¦2@  ÚXÀ@F“2@ÀåÏXÀ R 3@€ÊXÀ€´93@àLÎXÀ >U3@ bÌXÀÀßi3@‚ A YÀ '—6@€äžXÀÀ78@  A YÀ '—6@`#îXÀÀÿ6@à ìXÀà-*7@À±áXÀ ¡a7@ÀuØXÀ (j7@xÒXÀ€Ÿ7@¹ÌXÀâž7@€3ËXÀB¶7@MÈXÀ N»7@€äžXÀÀ78@ “§XÀàü8@ÀµXÀàM8@MÈXÀ N»7@˜àÿÆXÀ ¢3@ P^XÀÊ4@àÿÆXÀUÎ3@€¾XÀàxÅ3@@ø¾XÀàB®3@àºXÀ ¢3@@F¹XÀÀ׬3@@­²XÀ ·3@Àö§XÀ@ëÜ3@ §œXÀà 4@À;‘XÀà +4@àä†XÀÉ4@`r‚XÀ@W84@@±~XÀàš>4@€ï{XÀÀË^4@€EsXÀ`[r4@ ¦bXÀ €4@ P^XÀÊ4@ª bÌXÀà¾2@!XÀÀßi3@ `‹XÀ Ñ3@ ¯xXÀÀ¬ 3@àÑ_XÀ`õÑ2@ÊXXÀ Rã2@\JXÀ`¼Ñ2@ „XÀ@,w4@!3XÀ·C4@àí'XÀ`4@`û'XÀàjÿ3@ ôXÀBÛ3@àXÀ ¸Ä3@@°XÀ€$e3@€¿XÀÀ\3@ÀXÀ`V3@ àXÀÀáN3@ÀmXÀ€ÌB3@€¹XÀ@ˆ23@`bXÀàx"3@`9XÀ`œ3@!XÀ`›3@€ÖdWÀwü1@ {WWÀ` 2@@œVWÀ Ó 2@ÀOYWÀÀØ*2@`VWÀàœ;2@€¶MWÀà£F2@@ZGWÀÀXR2@ÀÌDWÀ`™h2@€¯*WÀÀÉl2@`¤WÀ §2@@$WÀàâ2@@óVÀ c^2@ÀÃÞVÀ`Jg2@ÀÿÊVÀ ¥2@€†ÇVÀàº3@ Q¶VÀ`+3@ P¯VÀ@X3@ d¬VÀ §q3@ 3©VÀ ËÁ3@ “¢VÀ`TÖ3@ÊVÀ`ÏÚ3@ ˜VÀ€®Ð3@`VÀ ¾Ò3@€”ŽVÀÀŠ4@?ƒVÀà&R4@`ЄVÀà¶x4@ ¸‚VÀà#“4@ HyVÀH¥4@À;rVÀ€¾Ö4@ˆiVÀ $ô4@ dVÀ ëõ4@ÀèˆXÀS6@@†XÀàß¶6@À“†XÀ ÃÔ6@àž‚XÀ@ß6@€Q„XÀÀ×é6@€™€XÀÀõ57@ úXÀ rv7@@øXÀz8@à^˜XÀ n8@€äžXÀÀ78@ dVÀ ëõ4@`ê[VÀ`kç4@à=PVÀ`áâ4@àŒMVÀàrÞ4@ FºWÀ@œð1@ ´¼WÀ æ2@à—ÉWÀࢠ2@@ÑWÀ`ê32@@‚ÔWÀ@ 22@ fÖWÀ€RA2@€%ÚWÀ@>H2@àªÔWÀÀ9l2@@¸ÖWÀh2@àõÛWÀà‡w2@ÀÜWÀ€¨–2@€ÞáWÀÀ„¢2@@ÈäWÀ`ï¥2@@P÷WÀ ã²2@!XÀ`›3@`ÀtÅWÀ@n0@ FºWÀ@œð1@ FºWÀ@œð1@€õÃWÀàò¸1@€(ÃWÀÀ:d1@ÀtÅWÀ`œO1@@ÿ¾WÀ@3 1@@\ÁWÀ`Ê0@ ½WÀ@K§0@À_¼WÀ Œ0@ÀNÁWÀ@n0@Ê {WWÀÀe¯1@àÂVÀ@\³2@ ¯VÀà¡2@*œVÀ`T’2@@V–VÀÀ|§2@àVÀ@\³2@ÞtVÀà‡ª2@ Ï\VÀ W2@cMVÀ@Ms2@@é,VÀàày2@ ïVÀÀ؆2@àÂVÀ µ2@ {WWÀ` 2@éNWÀ2@`æIWÀéþ1@€U>WÀÒþ1@@v6WÀ€xò1@`#WÀ`‘¯1@ HWÀÀe¯1@àLõVÀ`BË1@ÀþîVÀ`Åö1@àÆÐVÀ áU2@à“ÁVÀàÏ£2@ ¯VÀà¡2@rÀIXÀ`V­.@à‹åVÀ Ñ3@J -2À.WÀ \/@ÀJþVÀàÑ?/@‘÷VÀÀ&8/@à)òVÀ€~é.@òæVÀÔÄ.@à‹åVÀ`V­.@ÀNÁWÀ@n0@``²WÀ{0@C§WÀ òŽ0@Àî—WÀ Þ{0@çWÀ@}_0@€–ÎWÀà Q0@ÀNÁWÀ@n0@ÀIXÀ€û˜2@ZŒXÀ';2@ =ˆXÀ@T92@à…XÀ@¸-2@à‹ƒXÀú42@€~XÀ$2@ µoXÀ@¦¿1@l^XÀà¦1@û[XÀ Š“1@À–NXÀ`Šr1@`ÜJXÀ U1@@FEXÀÀýM1@@·BXÀÀ€81@à=XÀ€ÿH1@€8XÀ€ÏG1@ p3XÀ;1@€¥.XÀ@÷1@@WXÀ–è0@`«XÀ‹°0@@ XÀÀ°0@€OXÀ@×0@€ÞXÀ€¶m0@ ð XÀ€ …0@à÷XÀ€ß{0@`}XÀàHŠ0@ %úWÀ Ù0@€‘ôWÀà‚e0@ ¡äWÀÀmh0@`­ßWÀ –q0@!ÛWÀ`‰m0@€½×WÀ€º\0@€–ÎWÀà Q0@`‹XÀ Ñ3@à_XÀ€ 3@@å”XÀC3@žœXÀ@>ç2@ÀIXÀ€û˜2@À.WÀ \/@ oýVÀ`ì/@ 8ýVÀ`f«/@;ÿVÀÎÀ/@à¦WÀ`û 0@ÀíWÀ Í?0@ÅWÀÀ€0@Àû WÀB’0@ 2!WÀàhž0@`(WÀ ú½0@ò2WÀ€÷¾0@`ä5WÀ Ù¶0@À=WÀ¢Â0@ ”@WÀàÖ³0@@AWÀ€7½0@¤IWÀ¿0@ ‹OWÀà-Í0@` UWÀÀ’¿0@ ìZWÀ ÌÆ0@8`WÀr½0@ dbWÀàØ®0@  nWÀÀÙ®0@€5yWÀÀψ0@çWÀ@}_0@ð 5KZÀ@Š$-@ )éVÀ@C~5@Z)QÀNÁWÀ@n0@``²WÀ{0@C§WÀ òŽ0@Àî—WÀ Þ{0@çWÀ@}_0@ 9ZÀ@C~5@ ž9ZÀ`(b5@Àá;ZÀ`ZU5@ 39ZÀ@·55@À=ZÀ É%5@ò=ZÀÀ!'5@ JZÀ :Ø4@ §@ZÀ€®4@àÿBZÀ@΃4@ 5KZÀ€x4@ÀÜHZÀÀ=4@ #=ZÀ ‹Ê3@€9ZÀ ”Ñ3@ +3ZÀ ¬3@@Á"ZÀwx3@@NZÀ€3@`qZÀ@´e3@ZÀÀ%93@àgþYÀ +3@ 2öYÀ — 3@ FóYÀ >3@`ôæYÀ@§Ö2@`ëßYÀ •È2@`oÒYÀ v2@ í‘YÀ%2@çWÀ@}_0@`á‡WÀà`U0@Àø€WÀ 8Z0@àÌaWÀ@[Æ/@@ŠKWÀ‚X/@Ò@WÀ@¶ñ.@ =WÀ@¿ó.@Àf9WÀ@Ö.@`±*WÀ 1§.@ ó"WÀ€«X.@ •WÀ A.@ í‘YÀ%2@ ™YÀÀ"2@€ˆYÀ`Å&2@@IrYÀ`¼2@ ˜\YÀ Ð1@`ÕIYÀÀ"¨1@@ÌBYÀ@¦‰1@`ï.@€¯WÀ´C.@` WÀ vq.@ ¶WÀ Iy.@ A WÀ€i„.@ WÀ@¼ž.@fWÀÀyã.@ WÀ Î /@`È WÀ{)/@À WÀÀR/@€¢WÀ jf/@À.WÀ \/@P B°VÀà¡2@ þ«VÀ@X3@ P¯VÀ@X3@à¯VÀ §/3@@¬¬VÀ I3@ ‰¯VÀÀ>þ2@ þ«VÀ`{Ý2@ B°VÀÀŒ©2@ ¯VÀà¡2@ ïVÀÀ؆2@€ýµUÀà)(5@ ð·UÀ I'5@€ýµUÀà)(5@`5¹UÀ`üÔ4@ pÆUÀ€‚4@ÀõÑUÀ@Šz4@µÛUÀ ×>4@à`åUÀ]-4@ âèUÀÌ4@àñUÀ€ ò3@€ÓVÀ` ›3@€—VÀ@³v3@`yVÀ`@B3@+ VÀ`Äô2@À<VÀàÚ¼2@ ïVÀÀ؆2@@ J[À î«8@`ÒZÀ@èx9@`ÒZÀ î«8@@XäZÀ`‘ý8@ åøZÀ ’99@[üZÀÀÂU9@ J[À@èx9@shapelib-1.6.1/tests/shape_eg_data/mexico/states.shp0000664000175000017500000014532414573117335017464 00000000000000' ejèÕG]À@á-@@ ¯UÀ€C\@@ËnTÕG]Àïÿ;@`4.\À€C\@@‡ ñH\À=@€eO\ÀÀY=@ Ú\\ÀÀbI=@ÀÃ`\À•M=@kf\Àmp=@Àºd\À@~=@¬e\À€g•=@@ðY\À…{=@`\W\ÀÀ@g=@rX\À€ëQ=@€ÉK\À€NK=@ L\ÀÀ$=@÷G\À@=@ ñH\À=@@|Ë\ÀT<@àrÓ\ÀÀP<@ ½Ö\À@<@ ûÏ\Àt:<@ÀôÑ\À@ÚP<@àiÏ\À€Ü^<@àrË\À@O<@ZÉ\À€Ë-<@@|Ë\ÀT<@@%Á\À Žò?@BÂ\À€ õ?@ÀìÀ\Àdè?@àþ¼\À€yå?@î·\ÀÀ8Î?@Àº´\À@òË?@€â±\À€Ã¤?@Àx¶\À@Á†?@@d¸\ÀÀ›'?@@[´\À\?@@µ\Àÿ>@€#­\ÀÀÌì>@Àh¬\À¯¦>@÷§\Àß|>@9ª\ÀØ2>@æ¢\ÀÀH>@`tš\À€Në=@ ˜\À@MÌ=@@|“\À€XÂ=@ Ú\À€ãÈ=@ 1\À@4Â=@€—ƒ\À€ˆ˜=@@n\ÀÀr[=@€§i\À€üB=@àæi\À€g5=@c\À;=@@øb\ÀÀÕô<@€M`\À2ä<@àþ\\ÀÀzä<@¬]\Àmð<@ fZ\À ÷<@@KV\À€šè<@@ùU\À€»Ë<@ ÓN\ÀÔ<@@mL\À@Ð<@@*G\ÀÏz<@(A\ÀÀÿo<@87\ÀÀîn<@@×7\ÀÀŠF<@k2\Àl1<@ Õ1\ÀÀ›<@`4.\À€‘<@À;.\Àïÿ;@@‰\À`#<@@;ˆ\À€<@@*‡\À@§-<@ಋ\À€üB<@€=†\À€f<@ „\Àø†<@(‰\À€-˜<@€]Š\À@ò«<@`è\À¯<@@¿\À¯¶<@À™\ÀÀzÔ<@@ð™\ÀÀÅâ<@àiŸ\ÀÀHð<@À¡¢\ÀÀÝí<@@®£\ÀÀ«ù<@€E§\Àž=@ày©\ÀL=@Àp­\À@"=@ ¥¯\ÀÀ3=@€Ñ¼\ÀÀ£`=@Ì\À€m=@€áÎ\À:}=@€ Þ\À[ =@¬á\À@Ú =@`¨ä\À€F²=@Àhì\À@±Ä=@rì\ÀðÝ=@Àªî\À€&î=@ »ó\À@Vô=@àò\À…>@Àãô\À@úT>@@Ž÷\ÀÀjb>@Àôý\ÀÀæe>@€wû\ÀÀr>@€Áþ\À€%>@@Lý\À@Ùq>@ Ú]À[p>@àrÿ\À€€_>@@T]ÀÀYq>@€w]À;Ì>@ > ]À€hä>@{]ÀÀ0õ>@`è]À€>ù>@ÀN]Àø?@`]À@Á6?@ ¥]ÀÀÌl?@@ù%]ÀÀQx?@`\+]À€&Ž?@Í(]ÀÀ/–?@`¨(]ÀÀ¬¨?@0.]À€€¿?@À (]À€½?@€˜&]À@×?@€ /]ÀÀ¼ê?@02]Ààû?@@T6]Àÿ?@9:]À:@@µA]À@f&@@€ÒG]À€X:@@ÕG]ÀÀ…D@@ÀÊ]ÀÀHO@@ )®\À€C\@@ À³\ÀàØN@@€o´\ÀÀ‘@@@àò»\ÀàŒ<@@€µ½\À ./@@à§Â\À™ @@î¿\Àl@@@%Á\À Žò?@"€ÒÃ\ÀÀ'Ý6@àÝY[À@¨ <@à $ 1Í[ÀÀ‚Í9@ ½Î[ÀÀ‹Õ9@À?Ì[À€ô :@ŒÅ[ÀÀ:@€]Æ[À@#:@@mÄ[ÀÀ¬ø9@@É[À€ì:@ 1Í[ÀÀ‚Í9@@\ÀÀöG9@àõ \ÀÀQØ8@€\Àø¶8@@ \ÀÀÔ¥8@Àˆ\À€?˜8@ÀW\À@Ÿ„8@€w \À€™©8@`Ð \À€yµ8@@Ž \À¿È8@€w\À€€Ï8@À%\À@=ê8@@\ÀÀöG9@ÀŒ¬[À@¾9@À ¥[ÀÀ¬9@¢[À}â8@€5©[À@]î8@€^­[À@á 9@ÀŒ¬[À@¾9@Qí[À€ T8@@\ÀÀQˆ8@`õ[À@†Š8@`ßô[À@~8@€vì[À@Dd8@Qí[À€ T8@`tr[ÀÇ!8@Åw[ÀÀÿ/8@€˜z[À€o^8@`tr[ÀÇ!8@À;.\Àïÿ;@)0\À@°Õ;@€,-\ÀÀ“Î;@+\ÀÀ¬¸;@À (\À€x¶;@`¨$\Àl¡;@À? \À€‘ ;@€ \À@=Š;@ ½\À@wW;@€ \À€=;@€¸\À@—;;@0\À@2;@€#ý[À;@¤ü[À€²;@€D\À@§ ;@@ù\ÀÀH;@àyù[ÀÀåÖ:@´ú[ÀÀ'½:@ÀÃð[À[:@ ½î[ÀÀ‚:@ÀÛë[À+š:@€—ó[À€ µ:@€—÷[À\ß:@Bö[À¯æ:@Àäã[À€>¹:@ ¥ã[ÀÀ£:@€MÜ[À|ƒ:@@¯Þ[À@ój:@€°Ù[À@vX:@QÙ[À@¨<:@@Ô[À@—:@@*×[À@Uõ9@ÍÔ[À€?Ø9@àÅÒ[À€Ö9@À.Ó[À@ÀÇ9@€˜Î[ÀÀ@·9@”Ê[Àד9@€,Á[ÀÀІ9@ >Á[À€Nk9@@¼[À@O9@ÀOº[À@M,9@€¸¶[À9@€É¯[À€ 9@À6¬[ÀÀ¬è8@àŪ[À€Ì8@À®[À–¬8@Àü®[À€ ”8@¬[Àla8@8§[À@ÑH8@ _ [À¿88@€w“[À[08@À•[ÀÀõ(8@ ‡™[À¦.8@Àª–[À@§8@ >‘[Àm08@@3“[ÀžU8@¬[ÀZ8@Àìˆ[À€Û?8@À6€[ÀÀ*8@€^}[À@< 8@æz[À€Â8@rt[À• 8@@Ør[À€y8@@¶t[À@˜ê7@`¨l[À;Ì7@îk[ÀÀõ¨7@@^[À€W“7@àÝY[À@Dt7@@×[[À@—;7@A_[À@Ò'7@€˜j[À€Ë 7@Àm[ÀLý6@ t[À@óê6@Àì|[ÀÀ'Ý6@À™[À ç6@(…[À–ü6@@‹[À€ T7@@é[À€Oj7@€D”[À€G‘7@àš¨[À€N»7@ÀªÂ[À€º8@@"Þ[ÀžU8@À-Ø[À@nO8@”æ[À@°u8@ ëé[À€h”8@ÀÛë[À ˜8@ 1í[À€Œ8@ Êò[ÀÀÿ8@àþð[ÀÀÔ…8@ »ó[À|ƒ8@Àìô[ÀÀz¤8@€—û[À€%¿8@ \À@êâ8@@Tþ[À€ëÁ8@0\ÀÀÅÂ8@@¦\ÀÀaÚ8@`S\À€ Å8@€ \À€_¼8@Àˆ\À€ÃÄ8@À \ÀÈà8@\ÀÀÕô8@à&\À9@ ‡ \À¯æ8@@| \Àèä8@ ò\À€Ë 9@@2\À@á*9@@[\À@°E9@Àˆ\À@n¯9@À \À@À·9@€§\ÀÀŲ9@@u\À@~‘9@A\ÀÀ/†9@@3\À@ Æ9@@\ÀÀÄ:@€É\ÀÀö:@€â\À€:@À6\À€GA:@@…\À@˜J:@!\ÀÀÕD:@Àª"\À€»K:@€]"\ÀÀiS:@ï*\À@DT:@Àý1\À@‡i:@€U1\À·o:@@F\À€¥:@@E\À@°:@€wG\ÀÀ¬:@ÀªN\À€¶:@ ÓN\À@ÒÇ:@@2H\Àlá:@À6H\À€yõ:@€nK\Àdø:@@×K\ÀÀÿß:@àrO\À€GÑ:@M\À}Ò:@“O\ÀÀÍË:@ÀP\À€&¾:@Àˆ\\À€XÒ:@¬Y\À€üÒ:@ \\À€?Ø:@@b\ÀÀî¾:@€=f\À@¨¼:@ ½n\ÀÀ/Ö:@àyu\ÀÀbù:@@"z\À@$;@€\À@—û:@@ž…\À¿;@€áŠ\À€Â%;@œ\ÀÀa*;@Àý‘\ÀÀÕ$;@ÀFš\ÀÀI/;@`À›\À€`;;@À¡ž\À@>;@`ß \À@âi;@ï¦\ÀÀÌ|;@À%¯\ÀÀ¬ˆ;@@*³\ÀÀ7Ÿ;@8·\À€g¥;@€¶\À@v¨;@€Ò·\ÀDZ;@@"º\À€©«;@ Ú¼\À€ˆ¸;@@mÀ\À€ã¸;@€ÒÃ\À€ÃÔ;@À¡Â\ÀßÜ;@@é¿\ÀèÔ;@àŶ\À€Ö;@€E§\À€hÄ;@ \À@úÄ;@9–\ÀÀþà;@@C•\À È;@€Ù‘\À…»;@@Š\Àl±;@ƒ\Àø¶;@€$€\À@ɯ;@@+~\ÀÀQ¸;@ÀO‚\ÀCÅ;@ÀOŠ\À€‰·;@`tŽ\À@úÄ;@À.\ÀÀ0Õ;@@à“\À•Ý;@€=’\À€Fò;@ ø\ÀÀ <@Š\À@¨ <@2Š\À$<@ÀFŠ\À€xö;@@‰\À`#<@À;.\Àïÿ;@\Àp©ZÀ y±4@@yüYÀE7@H À¿§ZÀ@¸5@Àp©ZÀ€¢±5@ày¥ZÀÀ@·5@ ë¡ZÀ@Ú°5@ŸZÀßœ5@àõ ZÀ€Wƒ5@À¿§ZÀ@¸5@Œ™ZÀÀrk5@Àº ZÀ@Es5@0žZÀÀ³‚5@@+–ZÀÈ€5@ ñ”ZÀÀöw5@Œ™ZÀÀrk5@ÀaQZÀ y±4@`¨TZÀÄ4@´ZZÀÀþÀ4@@ØbZÀÀõÈ4@ ë]ZÀ@ÙÑ4@@dTZÀÀz5@àrOZÀ€‘5@À¢MZÀ€O:5@€EOZÀÀY5@“KZÀ@Es5@à&NZÀÀ0…5@àæQZÀÀ‹…5@î[ZÀ@—›5@@×_ZÀ€xÆ5@àÝiZÀßü5@€úhZÀÀbI6@ »mZÀ€æw6@vlZÀÀy6@@ 3@@p¾YÀÀ¾3@€¾YÀ ß,3@€(±YÀ GA3@+«YÀàt93@ ­¤YÀ@-h3@ ý¦YÀÀË}3@àà¯YÀ€>y3@ Ö°YÀ ®—3@ ¹´YÀé´3@ÀµYÀÎÁ3@ ‡®YÀ`Ñ3@Àt¯YÀåá3@€Š²YÀ`Uæ3@À¯³YÀ€Kæ3@‘ºYÀànî3@Àt»YÀÀÓó3@€hÁYÀTæ3@`}ÂYÀ`<û3@ ‡ÅYÀ@:ý3@`+ÆYÀ 4@ !ÃYÀÀ›4@ Ö¸YÀö)4@o±YÀ`g24@ Ò§YÀ@ª:4@dœYÀ€ŠV4@€ŒYÀ ÒW4@ ö†YÀÀšc4@à·YÀ@.g4@¡YÀ`²S4@ Â~YÀÀ^4@ Ö|YÀL]4@@æzYÀ@ 64@ÀãxYÀ ì04@ˆtYÀÀA64@ !kYÀ@Ú04@€×fYÀÀkQ4@€z]YÀlU4@ÀYYÀ`¹-4@`0ZYÀàz4@@WYÀ€ 4@ÀQYÀ 4@ÀáIYÀ 4@?YÀÀI4@@”:YÀ€b 4@`9YÀ ìð3@€Ù5YÀ pí3@x+YÀ@;ü3@@ÏYÀ@dè3@€OYÀ¦4@`ðYÀÀZ44@ ® YÀ` 4@ÜYÀ`#ð3@à¥YÀ€‘à3@ : YÀÀÄÓ3@À÷ YÀ 2¤3@ÀãYÀàsj3@`YÀ@°U3@`0YÀ€EC3@`+"YÀ€»û2@Àá!YÀàÇð2@ ‡%YÀ Ü2@À¯+YÀà;É2@@™.YÀ`5Ü2@ÀB1YÀ †Ê2@@.YÀ€Š†2@€ý%YÀ@ùf2@À÷'YÀàsZ2@àà+YÀ@3c2@ Â2YÀ`ãx2@@”:YÀ€=z2@ 3:YÀ@3s2@À–wYÀ€@J2@€žyYÀ€êB2@@3YÀÀÄ32@ÀY‰YÀÀ•,2@ “‹YÀ@ì1@ŒYÀÀ(ì1@@3ŸYÀù2@@®¯YÀ@Ú2@€âÁYÀÀ£02@ÍÜYÀÀHP2@@åYÀ€6€2@@¶ìYÀד2@÷ëYÀ@Ÿ2@¶ïYÀ@%°2@à·ëYÀÀœÆ2@dèYÀ ¼Ê2@`çYÀ×ã2@ÀõäYÀ€´á2@À±ÞYÀÀ›÷2@  ‡%YÀ` d2@€5¥XÀÀE4@>à0¨XÀ`Ëy3@À¡ªXÀ€äg3@ÀèXÀÀO*3@bªXÀ +ÿ2@À?°XÀ ø2@À¯½XÀ Ê3@€¼XÀ€E#3@ ë½XÀ@]N3@`ÐÁXÀÀI_3@ÂXÀ Vt3@@uÅXÀÐy3@€<ÇXÀàsŠ3@€]ÎXÀ€äg3@ÀËÕXÀ€—[3@@;ÒXÀw$3@ÀÃÔXÀ@.3@€wÓXÀÀõø2@À€ÛXÀ Ùá2@@ÇßXÀ€­ª2@À¢éXÀ×Ã2@ïòXÀ F¢2@`ßøXÀ@d¨2@ øYÀÀr›2@×YÀÀ„2@ ›YÀ€Âe2@YÀ` d2@àµYÀ @‡2@ÀYÀ \Ï2@€Ç!YÀà-Ø2@ ‡%YÀ Ü2@Àá!YÀàÇð2@`+"YÀ€»û2@`0YÀ€EC3@`YÀ@°U3@ÀãYÀàsj3@À÷ YÀ 2¤3@ : YÀÀÄÓ3@à¥YÀ€‘à3@ÜYÀ`#ð3@ •ýXÀ G!4@€ÑüXÀ &>4@õXÀÀE4@`têXÀ|#4@€ÉãXÀÀ%4@ ßXÀú4@ >áXÀ`²ó3@àiÛXÀ â3@rØXÀ ¯Æ3@@ÇÑXÀ@ýÑ3@ÍXÀÀú3@@ùÁXÀ ¼ 4@€V¼XÀ€þ3@À¾XÀ Þ3@Q½XÀ`¸Î3@€†ºXÀ§Í3@ Ù·XÀ@‡Ù3@{¬XÀ€ÁÖ3@€5¥XÀà'½3@Àô©XÀv˜3@À3ªXÀÀÜ•3@@ž­XÀד3@à0¨XÀ`Ëy3@ €ÀËÕXÀ@·3@€¼XÀàsŠ3@ @;ÒXÀw$3@ÀËÕXÀ€—[3@€]ÎXÀ€äg3@€<ÇXÀàsŠ3@@uÅXÀÐy3@ÂXÀ Vt3@`ÐÁXÀÀI_3@ ë½XÀ@]N3@€¼XÀ€E#3@À¯½XÀ Ê3@€ÂXÀ@·3@@ÈXÀ`¹3@@;ÒXÀw$3@ Øà &ZÀ@%°2@À±ÞYÀ@±„3@¶ïYÀ@%°2@ IZÀ€yå2@)ZÀÀ3@€úZÀd3@€±ZÀÀ@3@à &ZÀ`¼$3@`"ZÀàþ@3@@GZÀó:3@à|ZÀ`ãH3@ÃZÀ€gE3@À[ZÀ€´Q3@àDZÀ b3@€c ZÀ€Áv3@àVZÀ@±„3@À¨ôYÀàzd3@ :éYÀóz3@à|ßYÀ€ES3@ ”áYÀÀ¡3@À±ÞYÀÀ›÷2@ÀõäYÀ€´á2@`çYÀ×ã2@dèYÀ ¼Ê2@à·ëYÀÀœÆ2@¶ïYÀ@%°2@ Ø@ÇßXÀ ì^2@€ªXÀw$3@bªXÀ +ÿ2@€ªXÀ ®ç2@੯XÀ`_Ì2@”ªXÀ G±2@Àþ¯XÀÀ¸2@€óªXÀÀHp2@€¬XÀ k2@@m´XÀ`¸~2@@ »XÀ€=j2@@;ÃXÀ ì^2@`ÉXÀ­ˆ2@”ÎXÀ@Ó†2@ÀhÐXÀ@°u2@ òÓXÀÀœv2@@ÇßXÀ€­ª2@À€ÛXÀ Ùá2@€wÓXÀÀõø2@ÀÃÔXÀ@.3@@;ÒXÀw$3@@ÈXÀ`¹3@€ÂXÀ@·3@À¯½XÀ Ê3@À?°XÀ ø2@bªXÀ +ÿ2@0î›VÀ€å¦3@€âUÀ€N›5@#`å—VÀ`eØ4@€°•VÀñ4@ ¿˜VÀ üÜ4@î›VÀ@È4@@šVÀ üÜ4@€±˜VÀ@í4@€~•VÀ€x5@@φVÀÀ)5@€VÀ@05@ZqVÀ@ÑH5@ÀO6VÀÀbi5@Q-VÀ€¡r5@À&VÀÀ¬ˆ5@ÀãVÀ€¢‘5@ZVÀ@¹5@€‡VÀ€Â•5@“VÀ@5‘5@€ VÀ€N›5@€ ÿUÀ€Oš5@@CíUÀÀb‰5@À`÷UÀÀ'5@IðUÀl5@€wçUÀÀ’5@ ìUÀÀ0…5@@ðéUÀS‡5@€âUÀ —€5@€˜âUÀT5@À?ðUÀ ™©4@àÅZVÀ€å¦3@`ÐVÀ “~4@)„VÀÀkq4@€†ŽVÀ@^}4@@:VÀ ÊŽ4@@2˜VÀÀË4@`å—VÀ`eØ4@š@œWÀ ´Ñ1@àÅZVÀ`eØ4@P ÀgõVÀ€W£2@€âõVÀ@Ѩ2@ZéVÀ€ìÀ2@jãVÀÐÉ2@€‡áVÀCÅ2@€áVÀÀ¤¿2@@×çVÀ–¼2@À?ìVÀÀQ¨2@@KîVÀ@Ѩ2@ÿìVÀÀ²2@ÀgõVÀ€W£2@@œWÀ@Ô¦2@@ÏþVÀtº2@@øöVÀÀqœ2@À6øVÀ€Ã”2@@2üVÀ@w—2@À‘üVÀÈ 2@RWÀ@^2@€wÿVÀ€.—2@€4WÀ€?˜2@€<WÀÀr‹2@@:ýVÀÀ‹2@@¶øVÀ€6€2@@"þVÀ€y•2@ÀËùVÀ@E“2@@·÷VÀ@e‡2@@ñøVÀ@D„2@ÖôVÀÀî~2@ÀÜöVÀÀ8n2@jóVÀ€Ga2@€ôVÀÀYq2@ZñVÀÀþp2@@SóVÀ€|2@€fÞVÀ@p2@@ØÞVÀ@~2@@tâVÀ€v2@jßVÀ@Ÿ„2@cÕVÀ¶2@jÓVÀ€ož2@€$ÌVÀè¤2@@ ÓVÀ@Ú 2@@ßÐVÀ@§½2@€†ÚVÀÀ¤Ï2@À.ÏVÀ€ õ2@ÀØVÀ€ëá2@æÚVÀ€ëÑ2@@¶àVÀÏ2@@…ÛVÀ@°å2@@*ËVÀ¶3@@׿VÀ@]3@@m°VÀ@ÚP3@€—«VÀÀ Ã3@€~¡VÀ€¢á3@@VÀÀ«ù3@@  VÀÀÔ4@ÀÂVÀÀæe4@€nŸVÀ@U…4@ZVÀ€Oº4@@˜VÀÑ4@`å—VÀ`eØ4@@2˜VÀÀË4@@:VÀ ÊŽ4@€†ŽVÀ@^}4@)„VÀÀkq4@`ÐVÀ “~4@àÅZVÀ€å¦3@`Œ[VÀ ´Ñ1@à¾VÀ@Ò1@€ê¾VÀ`À÷1@ ÌVÀ`âù1@@ÔVÀ`62@À ÝVÀàt2@ÀüæVÀÀ¾2@èVÀ ió1@ ½öVÀ@Žó1@@¯þVÀ@2@@ WÀ ?(2@ÀË WÀ€ƒ2@ÀüWÀ@Wƒ2@@œWÀ@Ô¦2@ @;ÃXÀ€hä1@ }.XÀ€Î4@q` 0XÀàJn2@ }.XÀ`b2@ f2XÀ`ãH2@@¿8XÀ§=2@@ž=XÀ€Š&2@ÀEXÀ i#2@@:MXÀÀï-2@€RXÀ€)2@à©WXÀÀO2@ÀÃ\XÀÀOú1@À iXÀ@;,2@JgXÀ K2@àyiXÀ@.W2@nXÀ€7O2@@ørXÀ@;,2@JoXÀ &þ1@€ vXÀÀÌì1@@ {XÀÀ°ÿ1@€V|XÀ@d2@0ŠXÀ`f2@ÎXÀ`ãè1@€Ò“XÀMì1@B–XÀ€hä1@@¶œXÀ@þ1@@|§XÀ ,ù1@Ö°XÀ€ê2@@:µXÀ j"2@àݹXÀÀ 2@ÀW»XÀÀÄ32@€ÂXÀ ß<2@@;ÃXÀ ì^2@@ »XÀ€=j2@@m´XÀ`¸~2@€¬XÀ k2@€óªXÀÀHp2@Àþ¯XÀÀ¸2@”ªXÀ G±2@੯XÀ`_Ì2@€ªXÀ ®ç2@bªXÀ +ÿ2@ÀèXÀÀO*3@À¡ªXÀ€äg3@à0¨XÀ`Ëy3@@ùXÀ@l3@àyXÀÀï]3@@¶ŒXÀv3@ G…XÀÀî3@€—XÀÀè33@€¹yXÀ (3@€vXÀ V43@cuXÀ€H3@€jXÀ€>I3@AgXÀ`<[3@€ÉkXÀ@Û_3@À™qXÀÖt3@9vXÀ@€o3@€xXÀ}‚3@àvXÀ€˜Š3@µ}XÀ [ 3@@¶€XÀ`¹3@ €XÀƒ­3@(‰XÀ@;¬3@„XÀ šØ3@@"†XÀ@á4@@–ˆXÀ€ê24@à©XÀÀ›74@ »XÀ€åF4@€I3@cuXÀ€H3@€vXÀ V43@€¹yXÀ (3@€—XÀÀè33@ G…XÀÀî3@@¶ŒXÀv3@àyXÀÀï]3@@ùXÀ@l3@à0¨XÀ`Ëy3@@ž­XÀד3@À3ªXÀÀÜ•3@À€ŸXÀ` ¥3@€–XÀ€å–3@)”XÀ û£3@{XÀ€Á¶3@(‰XÀ@;¬3@Ø “‹YÀ€ÀQ0@ Ú€XÀ`5Ü2@X@;ÃXÀ ì^2@€ÂXÀ ß<2@ÀW»XÀÀÄ32@àݹXÀÀ 2@@:µXÀ j"2@Ö°XÀ€ê2@@|§XÀ ,ù1@@¶œXÀ@þ1@B–XÀ€hä1@@”XÀ§Ý1@€M˜XÀÀH°1@€M˜XÀàQˆ1@ài“XÀ€bi1@@’XÀ€’?1@Í„XÀÀÌ1@ Ú€XÀ † 1@€ ƒXÀ@Xâ0@@:…XÀ`Â0@ ½ŠXÀ i³0@@bXÀ â³0@ 1XÀ 1¥0@@•XÀ …‹0@àþ”XÀ ®g0@ÀýXÀà!b0@€£XÀ€ÀQ0@²XÀ•0@ÀW·XÀÀA†0@€]ÂXÀ@ј0@€MìXÀ@Uµ0@böXÀ€™É0@@žõXÀ@Ð0@@2øXÀ€ÊÞ0@À™ùXÀ€WÓ0@üXÀ@Ùá0@€YÀñ0@î YÀ@Ÿô0@`CYÀ@VD1@@¯FYÀà[1@ ½ZYÀ€Ã„1@ÀÛ_YÀÀ7Ÿ1@€—cYÀ€&ž1@„hYÀÀ¼ª1@krYÀÀHà1@Í|YÀ@=ú1@àƒYÀÀ'ý1@ >‰YÀ€Në1@ “‹YÀ@ì1@ÀY‰YÀÀ•,2@@3YÀÀÄ32@€žyYÀ€êB2@`>wYÀ€@J2@à,xYÀ`“‰2@à vYÀÀy˜2@à­gYÀ «›2@ ÀdYÀb†2@à `YÀÀE|2@@ç\YÀ ­z2@ ëRYÀ šˆ2@ ™EYÀÀH€2@àµ@YÀ€h„2@À–WÀ@±„.@@mLWÀ€xö.@@øbWÀ@ú„/@s{WÀLý/@@|{WÀÀ0@rxWÀÀIÿ/@ÆvWÀÀ‹0@@:yWÀ€x0@@¶„WÀÀ#0@W…WÀ ¤&0@@T‚WÀ`ˆH0@@à‡WÀ`‚0@@K‚WÀ@.§0@@¦‚WÀàðÌ0@0zWÀàÆá0@@ðyWÀ@W1@@ŽwWÀà 1@@æwWÀÀx&1@ hWÀ`¸N1@À¸eWÀ `1@µaWÀ@4‚1@ÀYWÀ€—›1@ÎSWÀ@°õ1@`èPWÀÀËý1@@IWÀ`ñ1@à©?WÀ`<ë1@Ö@WÀóº1@`?WÀÀr‹1@Àô9WÀ`À‡1@@C5WÀ`‰g1@@¿0WÀÀ•\1@@¿WÀóª1@àiWÀ`‰·1@ Õ WÀÀÊ1@@dWÀ`âÉ1@€úWÀ 1Õ1@€ZÿVÀ@‡é1@ÖüVÀÀBå1@„üVÀàÎÚ1@ fúVÀà ã1@€±ôVÀ ã1@ÀXòVÀ`Û1@ÀvñVÀ€Æ1@ ÊòVÀº1@@¶ìVÀ@Ó¶1@ÀêVÀ` ¥1@”êVÀÀk1@@|àVÀ`Kx1@`ÀßVÀwg1@JÛVÀ€c1@ÖØVÀ S1@ÜVÀ@¹=1@êà§Â\ÀÀ0U:@À)[ÀÀ‘@@@š @ø\À€¢Á<@€$\À@Úà<@!\À€ö<@Î\À@Ú=@ >\ÀÀ¤/=@ 1\ÀÈ@=@`è\Àž%=@ Ú \À€Nû<@Àì\À@ÉÏ<@@à\À@È<@@ø\À€¢Á<@`áB[À åW?@ ò4[À`ìW?@À 9[À`51?@ ‚5[À@-(?@ 3[Ààz4?@@ /[À€ë¡>@ a+[À i“>@à·#[À &þ=@@E'[À ¯f=@ L-[ÀÀœf=@î'[À€gÅ<@À ,[À F²<@À2$[ÀJ<@€Â)[ÀT6<@_8[À`_L<@ ‡>[À€8N<@€hA[ÀÀœF<@@’C[ÀÀ•L<@ ^I[À@-<@`}:[ÀÀõÈ;@ Ò3[À0¶;@ ™1[Ààt™;@`ð)[ÀÀ…;@`¸*[Àwg;@Àº([À€´Q;@@”*[À€å&;@@«&[À@¾ ;@À)[ÀÀö:@ ‡[À§Ý:@ ![ÀúÔ:@à/I[Àà¢V:@@"J[À[`:@ÀäO[ÀÀ0U:@€nO[ÀÀ³r:@€¹Q[À@,‰:@@K^[À€Û¯:@Î[[À2´:@@[`[ÀÀ¼º:@Àa[À×Ã:@€Dd[ÀÀÍ»:@à‘`[À¦®:@)h[Àé³:@@¶l[À߬:@€ s[ÀÀƒ¼:@àš|[ÀÀƒü:@€vx[Àñ:@À™}[À@ó;@À „[À€ˆ;@€$”[À@À';@àŠš[À@ C;@ Ÿ [À–L;@à‘œ[À@ÉO;@À`Ÿ[À€Xb;@àr£[À@^;@ ñ¤[ÀÀ¬ˆ;@€±¨[ÀÀö§;@@m¤[À€Ë­;@À¦[À@¹­;@€Ù¥[À@¸;@@Ø¢[Àñ¼;@Àx¦[À@n¿;@@§[À€¡Ò;@¡[ÀÀ@×;@ Ÿ [À€ËÝ;@À¡¦[ÀÀ ã;@@ §[ÀÀ(Ü;@À¢±[À@áê;@B¶[À@Àç;@@׳[À€ºì;@k¶[ÀÀƒü;@@¹[À@Uå;@Àü¶[À@úä;@€D¸[ÀÀæÕ;@@®¿[À®÷;@ÀxÆ[À€€ï;@JÏ[À€o<@@:Ý[À×S<@ÀäÛ[Àa<@„ì[Àøv<@ Úð[À–<@ Ÿü[À€üÂ<@€âù[ÀÀ¬È<@€E÷[ÀÀI¿<@ ½ö[À€ºÌ<@€þ[ÀCÕ<@\À¯ö<@àŠ \ÀÀõø<@À¡ \À}"=@ÀF\À\/=@ày \ÀLM=@Àx\ÀÀÔU=@ ‡\ÀÀÅR=@€¹\À@óJ=@@\À€hT=@B\ÀÀYa=@€$\À@$€=@€ú$\À¶=@Àx*\À€xæ=@@Ž/\ÀÀ¼ê=@@d0\À€g5>@ _4\ÀÀåF>@7\ÀSG>@@ð5\À@ÀW>@€É7\À€n>@€5E\À@ê²>@À€G\À@Ð>@(E\ÀÀó>@à²G\À@?@@[D\À?@´B\ÀÀƒ,?@0F\ÀÀr;?@@I\À€;?@ ÊF\Àé3?@ÀºH\ÀÀ 3?@JO\À€ôI?@cQ\À@VD?@@ðM\À€o>?@@2P\À@¹=?@€±h\ÀuY?@À%g\À€OZ?@ Úh\ÀÀ7?@­x\À@ò›?@ _|\À€ô™?@Àp}\ÀÀ©?@@Ø~\À@’?@„|\Àl‘?@€e\À„?@Àü‚\À€&~?@ÀÜŠ\À@#?@€^¥\ÀÀÅÂ?@àš¬\ÀÄ?@@%Á\À Žò?@î¿\Àl@@à§Â\À™ @@€µ½\À ./@@àò»\ÀàŒ<@@€o´\ÀÀ‘@@@ÀŠ´\ÀÀY>@@ U\À`“@@€›×[ÀÀrn?@€Ä[À åU?@ ìœ[À@jV?@`áB[À åW?@˜ ^I[ÀÀ(›9@À‘ÒYÀlÉ?@pÀ)[ÀÀö:@@«&[À@¾ ;@@”*[À€å&;@Àº([À€´Q;@`¸*[Àwg;@`ð)[ÀÀ…;@ ™1[Ààt™;@ Ò3[À0¶;@`}:[ÀÀõÈ;@ ^I[À@-<@@’C[ÀÀ•L<@€hA[ÀÀœF<@ ‡>[À€8N<@_8[À`_L<@€Â)[ÀT6<@À2$[ÀJ<@À ,[À F²<@î'[À€gÅ<@ L-[ÀÀœf=@@E'[À ¯f=@à·#[À &þ=@ a+[À i“>@@ /[À€ë¡>@ 3[Ààz4?@ ‚5[À@-(?@À 9[À`51?@ ò4[À`ìW?@ q [À€ÿW?@`ø [ÀlÉ?@ ÒZÀ€ôÈ?@€~¢ZÀ@DÉ?@Àƒ˜ZÀà×»?@ÀZÀ fz?@ åZÀ@Ñd?@@CqZÀ@¸+?@ ›fZÀ ?@{cZÀ ÿ>@ .ZZÀà ç>@àúXZÀ€cÚ>@TZÀ Ñ>@hRZÀ úÔ>@ †PZÀ3Ì>@À·MZÀàäÏ>@@àCZÀ@°>@À×?ZÀ€0¯>@à)?ZÀà-¤>@à9ZÀ’>@€—6ZÀ`kd>@@3ZÀà^`>@à4ZÀ`¸Y>@ ÷,ZÀ  =>@@/+ZÀ€"&>@`“,ZÀ`«>@à(+ZÀÀÆè=@Àö$ZÀàÔÎ=@€A"ZÀ€ñ­=@€*ZÀàôŒ=@` ZÀ ê{=@@… ZÀ@•f=@ ëZÀ ÿS=@ ^òYÀ kD=@#ñYÀ`ÿG=@àòYÀàÓ:=@ÀYïYÀ ø:=@ îYÀ@Í0=@à­áYÀ Š%=@@WÞYÀ`w=@`ØYÀ@8=@ yÕYÀã =@À‘ÒYÀ`kÿ<@ÀýYÀ`ÜÞ;@ `èYÀ€<©:@`öYÀ€˜º:@ ZÀÀ¢Á:@@E#ZÀ@¾Y:@@á&ZÀ`[:@@p.ZÀ@Ws:@ ý2ZÀÀîn:@€6ZÀ &~:@à£@ZÀàu:@@ÍGZÀày…:@àÙHZÀ€˜Š:@àÞTZÀàyu:@€ueZÀÀx–:@ÃhZÀ¬©:@à?pZÀ ®§:@€ÂZÀ ¯Ö:@Àá…ZÀ)¼:@À ˆZÀúÄ:@ Ï‰ZÀ€‘À:@`‹ZÀ`e—:@TZÀ€=j:@ –ZÀ o^:@ÀÌœZÀ [`:@ …—ZÀ€Â%:@`Ì™ZÀàz:@ÀT¡ZÀ€g:@€&¢ZÀÊ9@ a¯ZÀ \Ÿ9@àaÅZÀÀ(›9@€µÉZÀ€ŠÆ9@@.ÓZÀ ~ñ9@ s×ZÀƒ:@ 3òZÀ€E3:@`0öZÀ×£:@à?[À ÙÑ:@@G[À`ò:@@[À€ù:@î[Ààs ;@Š[À@·;@€ë[À€ä;@À)[ÀÀö:@pÀýYÀ \8@@³óXÀ@Oá=@‹À‘ÒYÀ`kÿ<@@ñÑYÀƒü<@ÀÑYÀ€è=@`ÒÉYÀàŠú<@=¿YÀ`Ü0=@`o·YÀ ¢:=@"ºYÀ€êD=@@ƒ¸YÀ€vZ=@Ÿ´YÀ ni=@ €³YÀ ·‡=@€I«YÀ€…¾=@ Î¨YÀ€z»=@`å¤YÀ@;Ç=@ S£YÀ@ß¿=@À2 YÀ É=@€ ˜YÀ ˜Ä=@ †—YÀàdØ=@àÁ”YÀ@Oá=@€„YÀ ÙÈ=@àJ~YÀ ›Ñ=@€&{YÀ@ÛÉ=@ ltYÀ€jÐ=@€ˆsYÀ®Ç=@•pYÀÀƒÉ=@`ðhYÀ ÈÁ=@ 7eYÀààÃ=@ ÐbYÀdÏ=@@tbYÀ UÃ=@ ^YÀ çÉ=@³\YÀÀµÂ=@€®YYÀ€Å=@`¡ZYÀÀÔ¾=@à“WYÀÀ;¨=@@“SYÀÀ§=@€ÅSYÀ€¶”=@ KPYÀÀõ =@@»PYÀdž=@ ODYÀÀ:y=@`”@YÀ _=@à3YÀ >=@à01YÀ`¤*=@ Í*YÀ =@ l)YÀ ì<@ ¿%YÀÀëä<@ÀÝYÀ€6©<@ ÍYÀÀø–<@ ÙYÀ P‹<@ !YÀ 5€<@YÀàˆz<@ €YÀ éd<@À¾YÀ R<@ YÀ@ÅG<@@MYÀ Ð=<@`³ YÀ²3<@4YÀ'<@`’ÿXÀÀâ<@`GüXÀ@¤ü;@ û÷XÀ 5Ì;@à4ôXÀ µÇ;@@³óXÀ UÅ;@ÀFþXÀÀ¡¢;@ ® YÀÀNË;@îYÀ€Âµ;@@iYÀÀœf;@ p%YÀÀe;@À¨4YÀ@;<;@@æ2YÀ€Á;@À–0YÀ ò ;@ÀÌ,YÀÀ¡;@€&*YÀ@4;@@.#YÀ Ò;@`"YÀ Þ:@À2$YÀàÅ:@@i'YÀ`6À:@v,YÀ@Ú :@ Ô2YÀ 1µ:@€ýMYÀ`Ü^:@€JBYÀÀA&:@Ã9@ Õ[À@=9@€w [ÀÀû8@)[ÀÀõø8@€v[À9@`t [À€.9@€# [ÀÀ“9@Ào[À@ 9@ ûÿZÀ@#9@@·[ÀÀA9@À [À·9@´ [À€©9@[À…+9@€[ÀÏ*9@àÅ[À€ 49@ [À@É/9@ I[À€Ë=9@€<[À€WC9@ƒ[À$9@ 1[À@±49@÷[À€WC9@€˜.[À@óZ9@ÀÍ%[À3X9@@Ç)[À@úd9@@L1[À@#a9@À.[ÀÀåf9@€Ò/[À€Gq9@À¢1[ÀÀ“n9@€#1[ÀÏŠ9@ ‡9[À·9@À-8[À@Ù9@€á:[À€Ãt9@„<[À·9@@È@[À€Ü~9@€âA[À€Âu9@@øF[À¯†9@ ¥C[Àד9@€É?[ÀÇ‘9@@¯>[Àu‰9@@+>[ÀÀå–9@À68[À@—«9@àþ4[À€_Ì9@€§9[À€ë±9@€VD[À€x–9@ÀÃH[À@û“9@àK[ÀÀÔ¥9@€P[À@®9@€ J[À€&Ž9@ ûO[ÀÀY¡9@ÀýY[ÀÀ¤9@8S[ÀÀ¬¨9@ fR[À€yµ9@@éW[À|Ã9@ •Y[À@¹­9@@"Z[ÀÀjÂ9@ _\[À€OÊ9@¬Z[ÀÀ;Ü9@À‰[[À€²:@ÀhP[À€N:@BR[ÀS':@@¾M[À€ÓV:@”J[À@ES:@@ÇI[ÀÀåF:@8K[ÀÀÄC:@ÀxF[ÀÀ‹5:@ >E[À@H:@ÀhH[À¦N:@à/I[Àà¢V:@ ![ÀúÔ:@ ‡[À§Ý:@À)[ÀÀö:@€ë[À€ä;@Š[À@·;@î[Ààs ;@@[À€ù:@@G[À`ò:@à?[À ÙÑ:@`0öZÀ×£:@ 3òZÀ€E3:@ s×ZÀƒ:@@.ÓZÀ ~ñ9@€µÉZÀ€ŠÆ9@àaÅZÀÀ(›9@ ûÇZÀ``K9@@áÆZÀ@ &9@Àº¼ZÀ`‰×8@ࣸZÀ 1Å8@àŒ´ZÀ iÃ8@àÞ¨ZÀ`’8@ :¡ZÀLM8@ÀY™ZÀ`ãH8@àòZÀÀèc8@$€ZÀÀA68@Àk}ZÀàP8@@zZÀ &8@±xZÀ}Â7@àÙpZÀ@Ž7@€ÙmZÀ ?x7@àÉkZÀ@‡I7@à‘hZÀ€á@7@€ÙaZÀú$7@@«ZZÀ@°%7@¼YZÀE7@  ûÇZÀÀ·Q6@àQ YÀ ¯Ö:@aîZÀÀ·Q6@€ZÀ@Žs6@ sZÀ€i6@@3'ZÀÀõx6@@G*ZÀ@ÛŸ6@àz0ZÀ@:­6@àà?ZÀ`_Œ6@àà?ZÀÀË­6@àQ8ZÀvÈ6@€Š:ZÀ€ºì6@KZÀ + 7@TZÀ`ã7@¼YZÀE7@@«ZZÀ@°%7@€ÙaZÀú$7@à‘hZÀ€á@7@àÉkZÀ@‡I7@€ÙmZÀ ?x7@àÙpZÀ@Ž7@±xZÀ}Â7@@zZÀ &8@Àk}ZÀàP8@$€ZÀÀA68@àòZÀÀèc8@ÀY™ZÀ`ãH8@ :¡ZÀLM8@àÞ¨ZÀ`’8@àŒ´ZÀ iÃ8@ࣸZÀ 1Å8@Àº¼ZÀ`‰×8@@áÆZÀ@ &9@ ûÇZÀ``K9@àaÅZÀÀ(›9@ a¯ZÀ \Ÿ9@€&¢ZÀÊ9@ÀT¡ZÀ€g:@`Ì™ZÀàz:@ …—ZÀ€Â%:@ÀÌœZÀ [`:@ –ZÀ o^:@TZÀ€=j:@`‹ZÀ`e—:@ Ï‰ZÀ€‘À:@À ˆZÀúÄ:@Àá…ZÀ)¼:@€ÂZÀ ¯Ö:@à?pZÀ ®§:@ÃhZÀ¬©:@€ueZÀÀx–:@àÞTZÀàyu:@àÙHZÀ€˜Š:@@ÍGZÀày…:@à£@ZÀàu:@€6ZÀ &~:@ ý2ZÀÀîn:@@p.ZÀ@Ws:@@á&ZÀ`[:@@E#ZÀ@¾Y:@ ZÀÀ¢Á:@`öYÀ€˜º:@ `èYÀ€<©:@à£ÔYÀ Fb:@€ÙÑYÀÑH:@ ‚ÕYÀ@W:@àÙÔYÀàJ¾9@`ßYÀ ¼Š9@ßYÀàw9@`kÚYÀÀ¡b9@ sÛYÀ€gU9@MàYÀ`¥F9@ ‚ÙYÀ€Š&9@À–ÐYÀ`9@ JÏYÀ`‰ç8@`BÊYÀ@‡Ù8@ è¼YÀÀqÌ8@î³YÀ@X²8@ µYÀÀ•Ü8@€®ªYÀ i9@àQ YÀÀÔ8@àÞ YÀÀÄs8@ ¯YÀàyu8@À±YÀ`o8@ÀÑYÀ`ây8@@3çYÀ€ŠF8@@pæYÀ`¸.8@ uöYÀ´8@à øYÀ„Ü7@@óöYÀ ¨¼7@ »óYÀ€º¬7@`ÜúYÀ€’Ÿ7@àòûYÀ´’7@ ÿZÀ`r7@€&ZÀà!27@`Ü ZÀ@$7@àÞ ZÀÀ7@àŒZÀ@l6@îZÀÀ·Q6@( ZÀÀï 5@Àº4YÀ Ò'9@‚˜aYÀÀLÛ5@ 8sYÀÀè6@ (vYÀÀ6@î{YÀL6@œƒYÀ€E#6@€ŒYÀ @6@Àá‰YÀ€I6@ ø‰YÀÀüR6@`ŽYÀÀI_6@ ‚‘YÀ [6@€a’YÀÖt6@àÙ”YÀàyu6@ ÖœYÀTV6@ࣨYÀ @G6@à=­YÀ U6@ ¶YÀ &î5@@‚¶YÀÀÅÒ5@ s¯YÀ@c¹5@ÀB±YÀ &ž5@ è¨YÀ@Œ5@ û«YÀàÆa5@ÀYµYÀ R5@`ºYÀÀT5@ ”½YÀ`ãH5@ 3ÂYÀ@N5@€zÅYÀ05@@’ÃYÀÀï 5@@½âYÀ´25@@‚æYÀ$05@ÀYéYÀÀï=5@+ïYÀ` 45@ ÿðYÀàP95@À2ðYÀÀl@5@ úìYÀ€c5@@óîYÀ 2„5@€žéYÀ v5@ èàYÀ Ò—5@ ›àYÀ``»5@ ãYÀÀÉ5@ ›ÜYÀÀÙ5@ :ÙYÀÀîî5@ ÂÒYÀ …û5@`îÊYÀ¬ù5@ ÔÅYÀà6@à-ÈYÀàÔ%6@ÃYÀ€>I6@ÀãÌYÀ ÊN6@à|ËYÀ@]^6@××YÀ ~6@`0ÚYÀ@€o6@àÉ×YÀ×S6@`máYÀÀ6@àÙèYÀ`è6@ ®ëYÀ ß6@€ÛìYÀ _%6@ \çYÀT†6@`+êYÀÀÅ’6@ sïYÀ@Ž“6@ —÷YÀ`/6@à‘øYÀ@ v6@ÀYõYÀL}6@ »÷YÀÀÄ“6@€QñYÀÀü¢6@TóYÀÀ¹6@ÀrZÀÀÄÃ6@¡ÿYÀ š¨6@ÀáZÀú”6@ ýúYÀÀÅ‚6@ÀÑüYÀ€8^6@ : ZÀÀ›W6@ ZÀà¸C6@îZÀÀ·Q6@àŒZÀ@l6@àÞ ZÀÀ7@`Ü ZÀ@$7@€&ZÀà!27@ ÿZÀ`r7@àòûYÀ´’7@`ÜúYÀ€’Ÿ7@ »óYÀ€º¬7@@óöYÀ ¨¼7@à øYÀ„Ü7@ uöYÀ´8@@pæYÀ`¸.8@@3çYÀ€ŠF8@ÀÑYÀ`ây8@À±YÀ`o8@ ¯YÀàyu8@àÞ YÀÀÄs8@àQ YÀÀÔ8@€®ªYÀ i9@€œªYÀ€89@vYÀ Ò'9@ ™uYÀ€å9@ÅoYÀ€äç8@€zeYÀà©Û8@@ gYÀÐÉ8@ÀeYÀ#Á8@À\YÀ€êÂ8@ WYÀ@4Ò8@àŒTYÀSÇ8@@€OYÀ€nÏ8@Å?YÀà÷–8@ Ò7YÀÀô™8@Àº4YÀ \8@€×>YÀ@ f8@ KYÀ@8@ ½YYÀ æå7@ÜkYÀÀ¢±7@`oYÀ)œ7@³wYÀMŒ7@ ®ƒYÀà¤_7@àVŒYÀ|c7@dŒYÀ€gU7@`õ‘YÀ ®77@ÀrŒYÀàð7@ ®YÀ€‘7@ #‰YÀ€nÏ6@ 5…YÀ ~Á6@@Í{YÀ`Üž6@ »wYÀÀ=~6@ÀTmYÀùu6@ˆdYÀÀ™6@`Ê^YÀ@]ž6@XYÀ€˜6@îSYÀ€‰6@ !SYÀ Vt6@ WYÀÀBe6@ÀUYÀ€D6@˜aYÀÀLÛ5@(`õ‘YÀ \/5@à–XÀ \8@b ©YÀ`¹=7@€µYÀÀî7@À¦YÀ€‘ 7@àúXÀ€‘7@îûXÀ€8î6@@YÀ€ÁÖ6@ YÀÀËÍ6@ÀôáXÀ p6@ÀOâXÀº6@*ÛXÀ€(¢6@@2ØXÀÀï­6@ ÊÎXÀ@4r6@ I¸XÀ@.W6@@é«XÀÀNk6@n§XÀ "k6@à–XÀàs:6@@žXÀ@c6@ÀΞXÀ€©ÿ5@ ÿŸXÀ `ù5@«¥XÀ@«ù5@€±¤XÀ ìð5@ 1¡XÀ@Žó5@@…£XÀÀîî5@b¢XÀ€bé5@¤XÀ jâ5@Z¡XÀ0Ö5@À`ŸXÀÀÚ5@ ÚœXÀ ?È5@@ž¡XÀv¸5@À¤XÀàsº5@À¤XÀ °5@8§XÀ Ù±5@@©XÀ@à›5@`¡XÀ @‡5@àõ XÀ f5@àŦXÀàU5@@®§XÀ@ 75@@é³XÀ \/5@Àô¹XÀS75@@[¼XÀ*K5@ÀÄÂXÀ °D5@@žÅXÀ@‡I5@ÍÌXÀÖ¤5@€VÐXÀ`6 5@ÀüÒXÀ [5@@|×XÀ@Ž5@€]ÚXÀ@ v5@@åXÀ„l5@@2ìXÀ Ž5@@ŽïXÀ€‹…5@@˜òXÀ`Ok5@`] YÀ –5@YÀ ¦5@ ®YÀ€Š¦5@@.#YÀ ûƒ5@ ë&YÀÀ¢5@à0YÀÀ¢‘5@€ý=YÀ`¸¾5@À MYÀàzÄ5@À¨TYÀ„Ü5@O[YÀ€ÂÕ5@˜aYÀÀLÛ5@ÀUYÀ€D6@ WYÀÀBe6@ !SYÀ Vt6@îSYÀ€‰6@XYÀ€˜6@`Ê^YÀ@]ž6@ˆdYÀÀ™6@ÀTmYÀùu6@ »wYÀÀ=~6@@Í{YÀ`Üž6@ 5…YÀ ~Á6@ #‰YÀ€nÏ6@ ®YÀ€‘7@ÀrŒYÀàð7@`õ‘YÀ ®77@dŒYÀ€gU7@àVŒYÀ|c7@ ®ƒYÀà¤_7@³wYÀMŒ7@`oYÀ)œ7@ÜkYÀÀ¢±7@ ½YYÀ æå7@ KYÀ@8@€×>YÀ@ f8@Àº4YÀ \8@ ½%YÀàsJ8@ û#YÀ@3#8@`}&YÀ€Âõ7@`³YÀ \¿7@`õYÀ`_œ7@ aYÀ@‡i7@ #YÀ @G7@@ÍYÀ`e77@@ÍYÀàÆ17@@iYÀ@€?7@ ©YÀ`¹=7@¸€ýMYÀàÆ17@ÀhœXÀÀNË;@t`öíXÀ uª;@@úXÀ æ…;@ GùXÀ`r;@8óXÀút;@ÀäïXÀ@¾i;@@¿ìXÀÀ¾(;@€êîXÀ`âé:@à‘èXÀ0æ:@À?äXÀ€=Ú:@@dèXÀ@‡©:@ àXÀM¬:@€ÚXÀ@Ú :@{ØXÀ`‚:@@–ÜXÀÀt:@@ÈØXÀ@áZ:@@;ÔXÀ`_\:@@éÏXÀ †J:@`SËXÀ€=J:@€GÇXÀ`é:@àÅÀXÀ`q:@€Æ¿XÀ`¶:@c¹XÀ oþ9@À-´XÀ Ê:@Àp¥XÀàs :@œ£XÀ€ºü9@@m¤XÀÀB…9@ÖœXÀ€8~9@ÀhœXÀ@;l9@àæ¹XÀ@á9@À0»XÀ 9@À‰¿XÀÀü9@@¦ÂXÀ \9@ ÊÆXÀ ò 9@À¢ÉXÀà' 9@ÀÉXÀà 9@€ÌXÀÀHà8@ }ÊXÀÀœÆ8@à‘ÐXÀ`ÝÍ8@ }ÚXÀ€´Á8@€VäXÀàž¤8@@ðåXÀ`‰§8@ ÓîXÀS‡8@À%ëXÀàPy8@€$èXÀÀI8@à©ãXÀ€8^8@@*çXÀ ®78@@ÏæXÀ`²8@€nßXÀ@]þ7@ÖÜXÀ Ãä7@îßXÀ` å7@BæXÀ iÃ7@¬õXÀÀ%¿7@€5ýXÀ€ˆ7@ ÚøXÀ \_7@€ŒYÀ€i7@ ›YÀ@áZ7@@½YÀ ìP7@ ©YÀ`¹=7@@iYÀ@€?7@@ÍYÀàÆ17@@ÍYÀ`e77@ #YÀ @G7@ aYÀ@‡i7@`õYÀ`_œ7@`³YÀ \¿7@`}&YÀ€Âõ7@ û#YÀ@3#8@ ½%YÀàsJ8@Àº4YÀ \8@€a2YÀ@ä8@±,YÀ@]î8@ÀÑ4YÀÀô 9@€z1YÀ Ò'9@ÀY-YÀ Ø29@`Ê"YÀàs:9@ ûYÀÀA69@ ûYÀàQ(9@@«YÀ€°69@À7 YÀÀà09@À–YÀ GA9@$ YÀÀœF9@ aYÀ@3S9@àDYÀÀÄS9@ :%YÀ€´q9@àD,YÀ p}9@++YÀàP‰9@ ú$YÀà¤9@ ›$YÀ @‡9@ ›(YÀ§9@À)YÀ€»›9@ p-YÀÀ•œ9@v4YÀ o¾9@ G5YÀ`ë9@`¸:YÀ ßü9@ u:YÀ “:@Ã\:@ x´XÀ `:@c«XÀ`÷=:@àe¦XÀ ­B:@àCŸXÀ`˜3:@`XÀ 8:@œ˜XÀ ñ':@`8–XÀ@Ÿ(:@àü”XÀà”:@ ´’XÀÀÿ!:@à]‘XÀó:@@¯’XÀ`:@ ØŒXÀ -:@`S…XÀ€Õ:@àâ„XÀ@Ý:@€‚XÀ€4:@„wXÀ`e:@`xiXÀ€:@ :gXÀÀEö9@ÀËdXÀ Dô9@ÄeXÀ@èî9@`Ì[XÀà^Ø9@`®XXÀ iØ9@ bXXÀàÁê9@à{SXÀ@Lð9@@¨SXÀ`÷9@ KXÀ ^ô9@ @©XÀÀx&1@À¸eWÀ­x6@ÀÀ¸eWÀ `1@ hWÀ`¸N1@@æwWÀÀx&1@àþ”WÀ@;,1@àæ½WÀÀõ81@ ÀWÀùU1@@mÄWÀÀ¾X1@ÐWÀàB˜1@@(ÍWÀÀï¥1@@uÍWÀ€»»1@ÀN×WÀ 2¤1@€ÜWÀ ¢1@@×ãWÀvˆ1@ fîWÀÀl€1@”òWÀT†1@€˜úWÀwÇ1@@*óWÀ ìð1@@|óWÀà' 2@À.÷WÀ@2@ÀXÀ *2@@ž XÀ€D$2@@T XÀ@€/2@€# XÀ &.2@à%XÀ€Ã62@€MXÀ@ªJ2@@ØXÀ|c2@@ùXÀ †Š2@À%+XÀ@]®2@­(XÀ@°…2@` 0XÀàJn2@@®3XÀƒ2@ÀxBXÀz2@@:IXÀ@±¤2@@uQXÀ€ë¡2@@VXÀúÄ2@ÀÛOXÀà ã2@À PXÀ€Á3@ ñPXÀÀõ(3@€áJXÀ`13@@EXÀ`Ü.3@€@XÀàzD3@€—CXÀ ÊN3@@àKXÀ@N3@ÅOXÀà¤_3@ÀgUXÀ€Áf3@@VXÀЉ3@)\XÀù•3@@¯VXÀ¦ž3@ÅSXÀ`¯3@BRXÀÀ3@ÎSXÀÀBå3@@ÈHXÀ€4@€^IXÀ@°%4@ iXXÀÀƒC4@bZXÀà C4@à^XÀ@^=4@àõ`XÀ 4@ dXÀÀN4@ÀWgXÀ +4@àQlXÀ€-4@À-pXÀZA4@`‘pXÀ@p4@ _lXÀ ?x4@À?hXÀój4@€…dXÀ@„}4@@eXÀ ¯–4@À€oXÀ€Š¦4@@ønXÀ`Ë4@îwXÀ€Î4@„xXÀÖ´4@@¶|XÀ@ªª4@À¢}XÀ` …4@ H†XÀÀ¢n4@ ½‚XÀàÆ4@€âXÀ``›4@@ùXÀàz¤4@@†XÀ€b©4@Àp•XÀ \o4@@¾™XÀ ìp4@€úœXÀ ò[4@੟XÀ [`4@@;¤XÀÀl€4@@*›XÀàö·4@îŸXÀ`f¶4@€± XÀÀ¢Á4@€óšXÀÀOÊ4@@|—XÀàÍÛ4@€ÁŽXÀ@±Ô4@€ŽXÀÀAö4@J‹XÀ@ 5@ÀˉXÀú5@@[ˆXÀà 5@À™XÀ ?(5@@q’XÀ@9!5@@w‘XÀ /5@ÖXÀ€Š65@!“XÀ@à;5@À™•XÀà÷&5@ÀFšXÀw'5@À.ŸXÀÀï=5@àŠžXÀ +Z5@àõ XÀ f5@`¡XÀ @‡5@@©XÀ@à›5@8§XÀ Ù±5@À¤XÀ °5@À¤XÀàsº5@@ž¡XÀv¸5@ ÚœXÀ ?È5@À`ŸXÀÀÚ5@Z¡XÀ0Ö5@¤XÀ jâ5@b¢XÀ€bé5@@…£XÀÀîî5@ 1¡XÀ@Žó5@€±¤XÀ ìð5@«¥XÀ@«ù5@ ÿŸXÀ `ù5@ÀΞXÀ€©ÿ5@@žXÀ@c6@à–XÀàs:6@n§XÀ "k6@`\ŸXÀ@¶p6@”XÀùe6@àÅ’XÀàöw6@@[ŒXÀ­x6@€††XÀ@ýa6@`tzXÀ@ŽS6@€<{XÀàE6@€xXÀÀ§86@@¸qXÀàžD6@ÞqXÀd(6@@¿lXÀú5@€—cXÀ@fÆ5@€MTXÀm5@UXÀ@Àw5@ÀªZXÀ€gE5@À^XÀ€%o5@ÀÃXXÀ@Ñx5@À©WXÀ¾‰5@À²gXÀÀÊ5@€ÙiXÀÀ/æ5@€rXÀ¯6@@¾mXÀÀIï5@æjXÀÀÍ«5@@[dXÀß|5@À%_XÀÀÍ{5@ï^XÀÀ7_5@ÖLXÀÐ4@@øJXÀ€­4@J+XÀ€?(4@€¨XÀ–Ü3@€¹XÀ€‘P3@@¯ XÀ@†:3@€nXÀ€>93@ÀgXÀÀ3@€†XÀ@n3@ÀþWÀÀî3@@¾ùWÀÀ7ß2@@ðñWÀ€ÛÏ2@@2ðWÀ@¹Í2@{ðWÀÀiÃ2@@ÈüWÀÀ'Ý2@ÅóWÀ¿2@À øWÀÁ2@À&öWÀ€.·2@@•ñWÀÀ“¾2@@–äWÀ€¬2@æîWÀ@$À2@ÀÓîWÀ€©Ë2@@¿äWÀ®·2@@žÍWÀ@ ¶2@JÃWÀñœ2@€5ÁWÀ€ÜŽ2@ÀW³WÀ€Â…2@@¥WÀ€¹02@@¦žWÀÀ‹%2@€ÁŠWÀØ22@ ÒˆWÀ`Š52@€ †WÀ€ä'2@@ð…WÀ`2@JƒWÀ`Ýý1@€Ñ„WÀÀká1@Àô}WÀÖÔ1@!{WÀÀî¾1@ÀWwWÀ í¿1@ævWÀ`ã¸1@@|oWÀ ¯1@€lWÀ¶1@€ÙiWÀ€Â…1@€¸jWÀÀès1@À¸eWÀ `1@shapelib-1.6.1/tests/shape_eg_data/mexico/drainage.shx0000664000175000017500000000022414573117335017730 00000000000000' Jèà§Â\ÀÀ=á.@ªVÀ@D\@@3Ñ2\’`ö¾ ¸ô°ÂvŒshapelib-1.6.1/tests/shape_eg_data/mexico/lakes.sbx0000664000175000017500000000017414573117335017253 00000000000000' ÿÿþp>ÀYÛA@2À@ÀXø@@4W W4@3Ñ2 BJshapelib-1.6.1/tests/shape_eg_data/mexico/drainage.shp0000664000175000017500000003201414573117335017722 00000000000000' èà§Â\ÀÀ=á.@ªVÀ@D\@@3Ñ\€MÄYÀÀ‚ 1@€~qXÀÀ8î3@‡FW[|€˜ºYÀÀ8î3@€«³YÀÀ.æ3@À ¹YÀ@±Ô3@ÀµYÀžÅ3@@ð±YÀy3@@®¯YÀÀÌl3@€²YÀ¶`3@Õ±YÀ@‚L3@€$ÄYÀÀ“Ž3@€MÄYÀ@r3@€û³YÀ€`[3@Õ±YÀ@‚L3@€^±YÀ€º,3@@ȨYÀ• 3@À.ŸYÀ|3@€V”YÀÀAæ2@rˆYÀ@˜Ú2@€êRYÀ€šˆ2@ Ú`YÀÀ¤2@€ÉcYÀ€ãˆ2@ òcYÀÀb™2@@fYÀ@˜2@ÎgYÀÀ'­2@¬iYÀ@ž2@@·kYÀKž2@(mYÀ€©«2@”vYÀ@Ú 2@ÎsYÀ@¾2@`ÀwYÀ€G±2@ÀyYÀÀ»2@à²wYÀÀ£À2@`À{YÀÀÂ2@@×{YÀ€NË2@àÝ}YÀ€üÂ2@À €YÀ@MÌ2@€Ñ|YÀ€™é2@ÀF~YÀ€üâ2@ €YÀ@Áæ2@ •YÀ@Ñ2@ÀWƒYÀÐé2@€#…YÀ€hä2@¤„YÀ€>Ù2@rˆYÀ@˜Ú2@À YÀÀ¬È2@À€YÀ€N»2@J{YÀ@·2@|YÀ@®2@ xYÀ߬2@@TzYÀ@f¦2@€$xYÀ@¸ž2@€ÁzYÀ€²ƒ2@ ÚxYÀÀ“~2@`ßxYÀÀ£p2@à©YÀÀ«y2@ZyYÀdh2@à²wYÀ@5Q2@@žyYÀ@êB2@ ‡uYÀ:=2@brYÀJ2@ÀxvYÀ€»K2@@®wYÀÀÝ}2@BvYÀ;Œ2@@:qYÀ€²“2@`tnYÀ€?ˆ2@@–hYÀÀ›—2@@žeYÀ€ „2@ÀW[YÀ@^m2@@é[YÀSw2@9VYÀTv2@€êRYÀ€šˆ2@€§XÀ€Ëm3@€ˆXÀÀQX3@À&’XÀ@vH3@@ùXÀÀí3@BŽXÀ@˜ 3@Ày‘XÀÀåö2@@ð‰XÀ@òë2@j‡XÀ·ï2@@·XÀ@±Ô2@æzXÀÐ2@ÀýyXÀ€üÂ2@À©XÀ@®2@À6ŒXÀ¯–2@@;XÀÀ´2@€^‘XÀÀåf2@€°™XÀÀ³R2@À¹žXÀ€•02@@žyYÀ@êB2@@3YÀÀÄ32@Z‰YÀ–,2@‹YÀ@òë1@À¹žXÀ€•02@@¥XÀÀq2@@–¨XÀ€©2@@¶¨XÀ@E2@@j°XÀ@×2@ÀµXÀÀ 2@@|»XÀÀŠ2@À²»XÀ€ãø1@@+ÂXÀ€ ä1@{ÐXÀ€äç1@À>ÙXÀ×ó1@ÀOâXÀ@òë1@ÖðXÀ@¸þ1@€~ýXÀ@Dô1@”YÀ€?ø1@€YÀ@ 2@@LYÀÀÿ2@ÀyYÀÀ(2@ÀYÀ@—+2@ÎYÀ€&2@“YÀÀÅ22@@"YÀ×32@@2(YÀžU2@„,YÀKN2@€M,YÀ€Oj2@æ.YÀ h2@€Á2YÀ€ãx2@”:YÀ@=z2@€4:YÀ3s2@@– 2@Àp•XÀÀ«)2@€â™XÀ€ü22@À¹žXÀ€•02@`à§Â\À Žò?@à(®\À@D\@@ @%Á\À Žò?@î¿\Àl@@à§Â\À™ @@€µ½\À ./@@àò»\ÀàŒ<@@€o´\ÀÀ‘@@@ À³\ÀàØN@@ )®\À€C\@@à(®\À@D\@@¾Þ¹ZÀ@ 9@ÀKXÀàDÉ?@5B—¿Ýøà~¢ZÀàDÉ?@€~¢ZÀ@DÉ?@Àƒ˜ZÀà×»?@ÀZÀ fz?@ åZÀ@Ñd?@@CqZÀ@¸+?@ ›fZÀ ?@{cZÀ ÿ>@ .ZZÀà ç>@àúXZÀ€cÚ>@TZÀ Ñ>@hRZÀ úÔ>@ †PZÀ3Ì>@À·MZÀàäÏ>@@àCZÀ@°>@À×?ZÀ€0¯>@à)?ZÀà-¤>@à9ZÀ’>@€—6ZÀ`kd>@@3ZÀà^`>@à4ZÀ`¸Y>@ ÷,ZÀ  =>@@/+ZÀ€"&>@`“,ZÀ`«>@à(+ZÀÀÆè=@Àö$ZÀàÔÎ=@€A"ZÀ€ñ­=@@êZÀ€6™=@ÀRYZÀ@ØX<@œ[ZÀ x<@ÀãXZÀ€Oš<@@ž]ZÀÀ£<@c]ZÀ@]¾<@J_ZÀ@˜Ê<@ƒ]ZÀÔ<@îSZÀ€6à<@€UZÀÀÍë<@€SZÀàë<@À QZÀ@4=@ŒIZÀ€_ =@@…CZÀÀ«)=@À‰CZÀ@?=@@é?ZÀ@A=@€=ZÀ€ìP=@€â9ZÀ¯V=@@ø:ZÀ[`=@€$8ZÀ€l=@@\7ZÀÀî~=@@¾9ZÀ€=@@Ç-ZÀ€‘€=@€&ZÀ€ý‘=@€ÁZÀ€‰‡=@@êZÀ€6™=@Þ¹ZÀ€-Ø;@@×§ZÀ€ìÐ;@@ŸZÀ@ÑØ;@A›ZÀ@ûã;@€$ZÀÀ³Ò;@€¨ŒZÀÈà;@€U…ZÀÏê;@À%{ZÀÀQè;@€qZÀÀ'ý;@(qZÀ€N <@`SkZÀ€&<@ÀÊbZÀ@.<@ÀRYZÀ@ØX<@@êZÀ€6™=@€*ZÀàôŒ=@` ZÀ ê{=@@… ZÀ@•f=@ ëZÀ ÿS=@ ^òYÀ kD=@#ñYÀ`ÿG=@àòYÀàÓ:=@ÀYïYÀ ø:=@ îYÀ@Í0=@à­áYÀ Š%=@@WÞYÀ`w=@`ØYÀ@8=@ yÕYÀã =@@ñÑYÀƒü<@ÀÑYÀ€è=@`ÒÉYÀàŠú<@=¿YÀ`Ü0=@`o·YÀ ¢:=@"ºYÀ€êD=@@ƒ¸YÀ€vZ=@Ÿ´YÀ ni=@ €³YÀ ·‡=@€I«YÀ€…¾=@ Î¨YÀ€z»=@`å¤YÀ@;Ç=@ S£YÀ@ß¿=@À2 YÀ É=@€ ˜YÀ ˜Ä=@ †—YÀàdØ=@àÁ”YÀ@Oá=@€„YÀ ÙÈ=@àJ~YÀ ›Ñ=@€&{YÀ@ÛÉ=@ ltYÀ€jÐ=@€ˆsYÀ®Ç=@•pYÀÀƒÉ=@`ðhYÀ ÈÁ=@ 7eYÀààÃ=@ ÐbYÀdÏ=@@tbYÀ UÃ=@ ^YÀ çÉ=@³\YÀÀµÂ=@€®YYÀ€Å=@`¡ZYÀÀÔ¾=@ ¸WYÀ@H©=@à“WYÀÀ;¨=@@“SYÀÀ§=@€ÅSYÀ€¶”=@ KPYÀÀõ =@@»PYÀdž=@ ODYÀÀ:y=@`”@YÀ _=@à3YÀ >=@à01YÀ`¤*=@ Í*YÀ =@ l)YÀ ì<@ ¿%YÀÀëä<@ÀÝYÀ€6©<@ ÍYÀÀø–<@ ÙYÀ P‹<@ !YÀ 5€<@YÀàˆz<@ €YÀ éd<@À¾YÀ R<@ YÀ@ÅG<@@MYÀ Ð=<@`³ YÀ²3<@4YÀ'<@`’ÿXÀÀâ<@`GüXÀ@¤ü;@ û÷XÀ 5Ì;@à4ôXÀ µÇ;@@ºíXÀà[©;@à%ãXÀ Õœ;@ ¶áXÀÀ;@@dßXÀ ¢};@ ÊâXÀ@“Q;@ÇÝXÀ E;@`úÛXÀ þ2;@ÀÝXÀ€U;@@"ÙXÀ`Üþ:@@þØXÀ`Vò:@FÒXÀ|Û:@:ÒXÀ` Û:@@TžYÀÐé<@€¹™YÀ€ªê<@@¦–YÀà<@ÀˆYÀ€Ó¦<@·YÀ@<@Q…YÀ@n<@A{YÀŠ<@@tvYÀ€äw<@€†fYÀß\<@€E_YÀ|3<@À€WYÀ€ä'<@÷SYÀ®÷;@ÀPYÀ€ä÷;@@dHYÀ€ãØ;@ÀNCYÀ@5Ñ;@@ß\:@›´XÀ€í_:@€w›ZÀ€Ün:@s›ZÀÀ‹e:@€,•ZÀKN:@{ŒZÀ@¹]:@¥ZÀ€ë:@@+ŽZÀ€²³:@€’ZÀŽÃ:@€Ù•ZÀÀö;@ÀG•ZÀ€Â5;@€˜’ZÀ@¹=;@€®‘ZÀ€h;@ÀgZÀ"r;@‰ZÀ€ˆh;@À¡†ZÀÀrk;@9‚ZÀ@,Y;@@:}ZÀ€WS;@€$xZÀ@âi;@@vZÀÀ›g;@8oZÀ€ì;@@umZÀ€ä‡;@àyeZÀÀ@‡;@@3cZÀÀîŽ;@ÀÛ[ZÀÏŠ;@€=NZÀ@û£;@@"JZÀ€²³;@@3KZÀ€ºì;@@LQZÀ€N <@ÀÛSZÀÀ@'<@ŒQZÀÀq<<@ÀRYZÀ@ØX<@›´XÀ€í_:@ x´XÀ `:@c«XÀ`÷=:@àe¦XÀ ­B:@àCŸXÀ`˜3:@`XÀ 8:@œ˜XÀ ñ':@`8–XÀ@Ÿ(:@àü”XÀà”:@ ´’XÀÀÿ!:@à]‘XÀó:@@¯’XÀ`:@ ØŒXÀ -:@`S…XÀ€Õ:@àâ„XÀ@Ý:@€‚XÀ€4:@„wXÀ`e:@`xiXÀ€:@ :gXÀÀEö9@ÀËdXÀ Dô9@ÄeXÀ@èî9@`Ì[XÀà^Ø9@`®XXÀ iØ9@ bXXÀàÁê9@à{SXÀ@Lð9@@¨SXÀ`÷9@ÀKXÀ ^ô9@@:YÀñ<9@@: YÀ@E#9@îYÀ@— 9@çYÀ@ 9@@®ûXÀ¾ 9@À÷XÀt*9@€<óXÀ@(9@@+êXÀÀH@9@@äXÀ€º\9@ÞáXÀ@^}9@@–ÜXÀ€~9@À‰ÛXÀÀÔ…9@€óÖXÀ€ì€9@­ÔXÀÀb‰9@€fÒXÀ@n¯9@ÀôÍXÀ@¸9@€êÎXÀ€-È9@€<ËXÀ:Í9@À ÌXÀÀÅ:@ÀšÈXÀ€o:@@¯ÂXÀ:@@2ÀXÀ@:@À.¿XÀÀÌ:@€û»XÀ@ :@€U½XÀK.:@”ºXÀ@E3:@›´XÀ€í_:@ô€±\ZÀ€G!3@À-àXÀÀi7@z".>AWcÎßYÀÀi7@À>ÝYÀuù6@ÀÊÞYÀ3ã6@@däYÀ@Uµ6@8ëYÀ*›6@AëYÀ@x6@€†îYÀ€ge6@€wïYÀ®76@€ëYÀ€6@@èìYÀÀÕ6@@òYÀ•í5@¬ñYÀ€½5@@töYÀÀö‡5@€,ýYÀÀ\5@€‡ýYÀÀ«I5@@ÿZÀÀÛ35@€ZÀÀ‚-5@ÖZÀ¦>5@ÀãZÀèD5@@CZÀ@Ñx5@À!ZÀÀ«y5@Å'ZÀS·5@½.ZÀÀaÚ5@ 4ZÀÀÅÒ5@Q5ZÀ@eÇ5@Ö@ZÀй5@ DZÀ@Î5@ÀëMZÀ–Ì5@ÀOZÀ@˜º5@€^QZÀÀ5@ÀORZÀ€ µ5@@TZÀÀ¹5@À.WZÀ@®5@€±\ZÀ@M¬5@9RYÀ¶P5@€~IYÀ:]5@À©?YÀ€6P5@Àh4YÀ!5@@*3YÀ@ 5@À&2YÀ€ãè4@€5YÀèÔ4@À./YÀÀ‚4@€~1YÀ@Ž4@r0YÀ€y…4@À²3YÀÏz4@€BJYÀ€ê‹4@Àµ±YÀÀ>P4@€#±YÀuY4@@·³YÀÀic4@kÆYÀ€?h4@9ÊYÀ€Ãt4@¤ÈYÀ€&ž4@@ÇÑYÀ;¼4@@|ÛYÀ@5@@áYÀ€º 5@€°áYÀÀ7ÿ4@@žéYÀLí4@€^ñYÀ@ï4@{øYÀ@5@@–øYÀ€5@@*ZÀ@ &5@@ÿZÀÀÛ35@o±YÀ€g24@@"®YÀ}B4@Àµ±YÀÀ>P4@€BJYÀ€ê‹4@@*OYÀC•4@ÀôQYÀ+Š4@ÖTYÀÀÍ‹4@ÀìXYÀ@áz4@@–XYÀÀql4@\YÀ€ˆX4@`z]YÀàlU4@@ØfYÀlQ4@!kYÀ@Ú04@ …tYÀ`564@ ãxYÀ ì04@@æzYÀ@ 64@Ö|YÀL]4@ÀÂ~YÀÀ ^4@€ YÀ€²S4@@·YÀ€.g4@ ö†YÀÀšc4@ŒYÀ@ÒW4@@dœYÀÀŠV4@€Ò§YÀ€ª:4@o±YÀ€g24@Àµ±YÀÀ>P4@€âÁYÀ W4@€óÊYÀ@ÒG4@8×YÀdH4@AÛYÀ@#A4@!ËYÀÀP)4@“ÃYÀÀ24@`¹YÀ@ó*4@@׳YÀ@˜4@ ò«YÀ€N+4@àQ¬YÀÀi34@o±YÀ€g24@À-àXÀ€G!3@@¦âXÀ€^3@€òïXÀÀH€3@ÞñXÀ€š˜3@@3÷XÀ@U¥3@ÀN÷XÀà»3@@àûXÀÀzÔ3@€êúXÀÀÚ3@‹þXÀ@Ý3@@[YÀC4@Æ YÀ¯4@À_YÀué3@€=YÀ€ ô3@@C!YÀ€F4@€ê*YÀ@Á4@€Ÿ0YÀ€%4@À‘8YÀ@û#4@ï:YÀÀzD4@@¶@YÀÐI4@€Ú@YÀÀ c4@@uEYÀdx4@À¢IYÀÀ'}4@€BJYÀ€ê‹4@Â@&fWÀÀ=á.@ªVÀ@¨2@” >`Àê WÀ€—92@€¹WÀÀÄS2@À¢WÀ@h2@BWÀÀ8~2@ÆWÀ@¨2@ÀÌWÀ§2@@:WÀ€%2@@lWÀß<2@¬ùVÀ@áZ2@æöVÀÀÝm2@ÀÌWÀ§2@Î WÀ@]2@Àê WÀ€—92@ÀÌWÀ§2@€ WÀ€‘2@sWÀÀŠö1@ _ÿVÀàté1@€ZÿVÀ@‡é1@ÖüVÀÀBå1@„üVÀàÎÚ1@ fúVÀà ã1@€±ôVÀ ã1@ÀXòVÀ`Û1@ÀvñVÀ€Æ1@ ÊòVÀº1@@¶ìVÀ@Ó¶1@`µìVÀ`̶1@À²çVÀ@½1@€êVÀÀ‹Å1@@·çVÀ È1@€nçVÀ@ Ó1@@mäVÀÀHÐ1@@SãVÀÀ7¿1@@ßàVÀ€pÍ1@@¯ÞVÀÀÅÂ1@@.ÛVÀÔÃ1@öÜVÀÀi³1@@ØVÀ׳1@@ÇÙVÀÀz¤1@æÖVÀ@e—1@€ÚVÀ¶1@@¶àVÀ@U•1@@ŽÛVÀ@}1@IàVÀÀq|1@à{àVÀ Cx1@`ÀßVÀwg1@JÛVÀ€c1@ÖØVÀ S1@ÜVÀ@¹=1@”ÖVÀÀ'-1@@¾ÑVÀ@§-1@ÎËVÀ 1@“ÇVÀ€¡1@ÀÄVÀ@ç0@¿VÀÀ8Þ0@ï¾VÀ€.ç0@€#½VÀÀ/æ0@Õ½VÀÀ7ß0@€óºVÀ€hÔ0@j³VÀ@Î0@À¶­VÀ@ù¹0@ªVÀ ï¤0@î WÀ€€ÿ0@@àWÀ€¡â0@ÿVÀŽã0@ŒùVÀ@ Ö0@rôVÀ€ Ô0@€ÀóVÀÀ“Þ0@€±ðVÀ€Ûß0@€ÉçVÀÀ›Ç0@@ßäVÀ@Ÿ´0@ÀÃäVÀÀi“0@€âVÀ€†0@ÆÚVÀÀ|0@À™ÙVÀ€ºl0@€°ÕVÀ}b0@@ÐÕVÀÀjR0@@ŽÓVÀ€ÜN0@€†ÒVÀ@>0@€ÚÌVÀ€ 50@€uÉVÀ€ï$0@ÞÁVÀ€>0@€]ºVÀ€ü"0@{¸VÀ@^-0@@+ºVÀ€h40@À¶VÀ@À70@@®·VÀÀHP0@€Ú°VÀÀAV0@@¶°VÀ@m0@B®VÀ€ˆx0@€ ®VÀ@˜j0@J«VÀ€Âu0@À‘¬VÀ€~0@”ªVÀl0@Å«VÀÀÄ“0@ªVÀ ï¤0@àÉWÀÀ=á.@sWÀ€ /@B WÀÇ1/@ÀË WÀla/@@ WÀ@~‘/@ÀãWÀÀË/@@2WÀ@Uµ/@€˜WÀ3Ó/@ÀO"WÀ€Â%0@îWÀ[@0@€4&WÀ€Ê.0@Àº4WÀ;L0@@d0WÀÀ›g0@Àã0WÀ€h„0@Œ9WÀŽ“0@ÀgAWÀ@¸0@@¿DWÀ–Ì0@@dDWÀS×0@€EGWÀÀ¤ß0@€áFWÀ€‰÷0@@CMWÀ@, 1@@"RWÀ€¢1@@ßXWÀ€ª 1@À>YWÀ€-1@€ _WÀÀ´!1@À_`WÀÀ“.1@ÍdWÀÀb)1@@&fWÀH/1@9bWÀÀ‚=1@ÆbWÀ+Z1@€ò_WÀð]1@@…[WÀÀ S1@ÀZWÀß\1@ÀÃ\WÀ@Ú`1@€aWÀ„1@ÀYWÀ€—›1@ÎSWÀ@°õ1@`èPWÀÀËý1@@IWÀ`ñ1@`™AWÀ ˆì1@€˜>WÀ@w÷1@ÀO:WÀ@Uõ1@î7WÀ€» 2@€v0WÀ@ê2@@ß,WÀÀ’2@R,WÀ€ã(2@½.WÀÀÍ+2@€™*WÀ@h2@(%WÀ}b2@ÀªWÀ@=J2@€ WÀ@â92@Àê WÀ€—92@ŒÀX¦[À@áŠ;@jÛZÀ|Ó>@m,5<AW€Á[ÀÀþ€=@![À@5‘=@@\#[À@¨¬=@r$[À@]Î=@@;([ÀÐÙ=@€À+[Àdø=@€v0[À€h>@4[À@n/>@¬9[À@Ñ8>@€#9[À€xF>@À™=[À€K>@½:[À@$p>@@Ð=[À@áŠ>@ÀG=[ÀL>@AG[À[Ð>@K[À|Ó>@À6P[ÀÀIÏ>@@R[À–¼>@ÞU[À¯¶>@IT[À\¯>@€ûW[ÀÀ‹¥>@¬U[À׃>@@X[ÀÀ‹U>@€ÒS[ÀÀ/6>@@;T[Àð>@@–P[À|>@¤P[ÀÀå>@ÀÊR[À€X>@@–P[À;ü=@@SS[ÀÀÙ=@@øN[À|Š=@À g[À pç<@ ~m[À*=@@p[ÀÀ[=@¬i[ÀØb=@Àj[ÀÀjr=@@|g[À€ˆˆ=@œk[ÀÀÌÌ=@€—o[ÀÀíß=@@|o[ÀÀAö=@@r[ÀÀ>@€ár[Àt*>@€¨h[ÀÀîN>@­d[À@e‡>@@øN[À|Š=@ÀˆP[À€ìp=@€N[ÀÀÌl=@@ O[À€<=@BZ[À+=@@e[À@Ú =@Àôi[ÀÀ=@Ze[ÀKî<@À g[À pç<@P/[À±÷<@¥3[À€ô)=@Àh8[À€Ê.=@µ=[Àm`=@ÀÃ@[À@^=@ïJ[À@‡=@@øN[À|Š=@$[ÀÀ´¡<@Àx*[À€ µ<@€!.[À@ Ò<@c-[À€äç<@P/[À±÷<@@éZÀ@¸.<@îçZÀÀî<@@:áZÀ}"<@jÛZÀ@—K<@À_àZÀ€ ¤<@ÀhìZÀ€ã¸<@ÕñZÀ€-è<@8÷ZÀ}=@À»ûZÀ@Ÿô<@cýZÀ@ Æ<@@"[À€ãÈ<@€[À@=@@C[À@á =@ÀO[À€ô9=@@+[À¿X=@@m[ÀÀjb=@@ [ÀÀic=@€U%[ÀÀYQ=@{$[ÀÀI/=@-[À€g=@R,[ÀÀú<@P/[À±÷<@À g[À pç<@@¿h[À€‘À<@@\c[ÀÀ«™<@€èAÛYÀ@À2@@øXÀ W4@3Ñ2Àöˆ‚¨shapelib-1.6.1/tests/shape_eg_data/mexico/drainage.sbn0000664000175000017500000000031414573117335017710 00000000000000' ÿÿþpfÀ\§à@.á=ÀÀVª@@\D@D\@@3Ñ  U»òd6£p}µCàÿ0.²Päóÿshapelib-1.6.1/tests/shape_eg_data/mexico/states.sbn0000664000175000017500000000076414573117335017452 00000000000000' ÿÿþpú À]GÕ@-á@ÀU¯ @@@\C€C\@@Ën, k[‰•|]žp/S }¡=nŒ’Ø}K’g`=ƒtwcoŽk¨¹…yº ›Ä:›$Æp À%Ü:Áá1è-ÿdßGùdÎ-éYš?¤IŠ5œQ ‘F¡aŠK˜d•?™G —.¬X“5›A  WVox¼%ÿtA¾B›uò¥Iüi:sF Sm{­@oc°shapelib-1.6.1/tests/shape_eg_data/mexico/drainage.dbf0000664000175000017500000000031414573117335017661 00000000000000`ASYSTEMC Balsas Colorado Rio Grande Rio Grande de Santiago Usumacinta Yaqui shapelib-1.6.1/tests/shape_eg_data/mexico/lakes.shp0000664000175000017500000000313414573117335017250 00000000000000' .èAÛYÀ@À2@@øXÀ W4@3ÑÀrˆYÀ:=2@€êRYÀÐé2@5@žyYÀ@êB2@à²wYÀ@5Q2@ZyYÀdh2@à©YÀÀ«y2@`ßxYÀÀ£p2@ ÚxYÀÀ“~2@€ÁzYÀ€²ƒ2@€$xYÀ@¸ž2@@TzYÀ@f¦2@ xYÀ߬2@|YÀ@®2@J{YÀ@·2@À€YÀ€N»2@À YÀÀ¬È2@rˆYÀ@˜Ú2@¤„YÀ€>Ù2@€#…YÀ€hä2@ÀWƒYÀÐé2@ •YÀ@Ñ2@ €YÀ@Áæ2@ÀF~YÀ€üâ2@€Ñ|YÀ€™é2@À €YÀ@MÌ2@àÝ}YÀ€üÂ2@@×{YÀ€NË2@`À{YÀÀÂ2@à²wYÀÀ£À2@ÀyYÀÀ»2@`ÀwYÀ€G±2@ÎsYÀ@¾2@”vYÀ@Ú 2@(mYÀ€©«2@@·kYÀKž2@¬iYÀ@ž2@ÎgYÀÀ'­2@@fYÀ@˜2@ òcYÀÀb™2@€ÉcYÀ€ãˆ2@ Ú`YÀÀ¤2@€êRYÀ€šˆ2@9VYÀTv2@@é[YÀSw2@ÀW[YÀ@^m2@@žeYÀ€ „2@@–hYÀÀ›—2@`tnYÀ€?ˆ2@@:qYÀ€²“2@BvYÀ;Œ2@@®wYÀÀÝ}2@ÀxvYÀ€»K2@brYÀJ2@ ‡uYÀ:=2@@žyYÀ@êB2@ˆAÛYÀ@˜4@ ò«YÀ W4@Àµ±YÀÀ>P4@@"®YÀ}B4@o±YÀ€g24@àQ¬YÀÀi34@ ò«YÀ€N+4@@׳YÀ@˜4@`¹YÀ@ó*4@“ÃYÀÀ24@!ËYÀÀP)4@AÛYÀ@#A4@8×YÀdH4@€óÊYÀ@ÒG4@€âÁYÀ W4@Àµ±YÀÀ>P4@¨÷+XÀ@À2@@øXÀ…k2@àbXÀ–<2@@øXÀ@Ù12@€ÀXÀu92@€±XÀÀq,2@0XÀ@À2@@3XÀÀ)2@€V XÀ@Ú 2@€†&XÀ€X22@À)XÀÀL2@@¯&XÀ•M2@@i)XÀÀŸV2@@¾%XÀÀ@W2@÷+XÀ@g2@R$XÀ…k2@b"XÀÀ´a2@@}&XÀ€€_2@À¢XÀÈP2@àbXÀ–<2@shapelib-1.6.1/tests/shape_eg_data/mexico/cities.shp0000664000175000017500000000212414573117335017427 00000000000000' *èÀÔÒ\À [¡0@@ëVÀàbO@@  KYÀg­9@ à šZÀ`.47@ ÀÖYÀ€p¬4@  íuXÀ D>6@  *ÈXÀàRm3@ @YŒXÀ s 3@  tXÀÀ¿3@ àâYÀ#6@ à'ÝZÀ`¶8@ àcµ[Àà;=@ 47WÀà±÷1@ `ŸŒXÀÀG3@! ;;XÀ ½w3@"  D®YÀ\Â6@#  zÉXÀ 2¼7@$  ûXÀ`qù0@shapelib-1.6.1/tests/shape_eg_data/mexico/rivers.shp0000664000175000017500000004736014573117335017474 00000000000000' 'xèà§Â\ÀÀ=á.@ªVÀ@D\@@3Ñ€€—ÃXÀÀ¬H4@€¨¬XÀÀsF5@ À»¯XÀÀsF5@€²XÀÀ8.5@1½XÀ35@À™½XÀÀ5@@;ÀXÀ@Ÿ5@€—ÃXÀ€ëñ4@@lÁXÀ@ÑØ4@€‡½XÀÀþÐ4@@߸XÀ@ú”4@@uµXÀ@°…4@î³XÀ€ÂU4@Æ®XÀÀiS4@€¨¬XÀÀ¬H4@f€MÄYÀÀ‚ 1@€~qXÀÀ8î3@ˆ *9Ghl}€˜ºYÀÀ8î3@€«³YÀÀ.æ3@À ¹YÀ@±Ô3@ÀµYÀžÅ3@@ð±YÀy3@@®¯YÀÀÌl3@€²YÀ¶`3@Õ±YÀ@‚L3@€û³YÀ€`[3@€MÄYÀ@r3@€$ÄYÀÀ“Ž3@Õ±YÀ@‚L3@€^±YÀ€º,3@@ȨYÀ• 3@À.ŸYÀ|3@€V”YÀÀAæ2@rˆYÀ@˜Ú2@¤„YÀ€>Ù2@€#…YÀ€hä2@ÀWƒYÀÐé2@ •YÀ@Ñ2@ €YÀ@Áæ2@ÀF~YÀ€üâ2@€Ñ|YÀ€™é2@À €YÀ@MÌ2@àÝ}YÀ€üÂ2@@×{YÀ€NË2@`À{YÀÀÂ2@à²wYÀÀ£À2@ÀyYÀÀ»2@`ÀwYÀ€G±2@ÎsYÀ@¾2@”vYÀ@Ú 2@(mYÀ€©«2@@·kYÀKž2@¬iYÀ@ž2@ÎgYÀÀ'­2@@fYÀ@˜2@ òcYÀÀb™2@€ÉcYÀ€ãˆ2@ Ú`YÀÀ¤2@€êRYÀ€šˆ2@rˆYÀ@˜Ú2@À YÀÀ¬È2@À€YÀ€N»2@J{YÀ@·2@|YÀ@®2@ xYÀ߬2@@TzYÀ@f¦2@€$xYÀ@¸ž2@€ÁzYÀ€²ƒ2@ ÚxYÀÀ“~2@`ßxYÀÀ£p2@à©YÀÀ«y2@ZyYÀdh2@à²wYÀ@5Q2@@žyYÀ@êB2@€êRYÀ€šˆ2@9VYÀTv2@@é[YÀSw2@ÀW[YÀ@^m2@@žeYÀ€ „2@@–hYÀÀ›—2@`tnYÀ€?ˆ2@@:qYÀ€²“2@BvYÀ;Œ2@@®wYÀÀÝ}2@ÀxvYÀ€»K2@brYÀJ2@ ‡uYÀ:=2@@žyYÀ@êB2@€êRYÀ€šˆ2@À™EYÀÀH€2@@¶@YÀ€h„2@@–ÙXÀ×ó1@{ÐXÀ€äç1@@+ÂXÀ€ ä1@À²»XÀ€ãø1@@|»XÀÀŠ2@ÀµXÀÀ 2@@j°XÀ@×2@@¶¨XÀ@E2@@–¨XÀ€©2@@¥XÀÀq2@À¹žXÀ€•02@@žyYÀ@êB2@@3YÀÀÄ32@Z‰YÀ–,2@‹YÀ@òë1@À¹žXÀ€•02@€°™XÀÀ³R2@€^‘XÀÀåf2@@;XÀÀ´2@À6ŒXÀ¯–2@À©XÀ@®2@ÀýyXÀ€üÂ2@æzXÀÐ2@@·XÀ@±Ô2@j‡XÀ·ï2@@ð‰XÀ@òë2@Ày‘XÀÀåö2@BŽXÀ@˜ 3@@ùXÀÀí3@À&’XÀ@vH3@€ˆXÀÀQX3@€§XÀ€Ëm3@À¹žXÀ€•02@€â™XÀ€ü22@Àp•XÀÀ«)2@½’XÀ€> 2@€=ŠXÀÀõø1@ï†XÀÀƒ¬1@@[€XÀ:1@@–|XÀÀŠv1@@¶xXÀ@Úp1@@ÐqXÀ@ÙA1@€~qXÀÀ‚ 1@PÀôi[À pç<@€Á[À|Ó>@'À g[À pç<@Ze[ÀKî<@Àôi[ÀÀ=@@e[À@Ú =@BZ[À+=@@ O[À€<=@€N[ÀÀÌl=@ÀˆP[À€ìp=@@øN[À|Š=@@SS[ÀÀÙ=@@–P[À;ü=@ÀÊR[À€X>@¤P[ÀÀå>@@–P[À|>@@;T[Àð>@€ÒS[ÀÀ/6>@@X[ÀÀ‹U>@¬U[À׃>@€ûW[ÀÀ‹¥>@IT[À\¯>@ÞU[À¯¶>@@R[À–¼>@À6P[ÀÀIÏ>@K[À|Ó>@AG[À[Ð>@ÀG=[ÀL>@@Ð=[À@áŠ>@½:[À@$p>@À™=[À€K>@€#9[À€xF>@¬9[À@Ñ8>@4[À@n/>@€v0[À€h>@€À+[Àdø=@@;([ÀÐÙ=@r$[À@]Î=@@\#[À@¨¬=@![À@5‘=@€Á[ÀÀþ€=@`à§Â\À Žò?@à(®\À@D\@@ à(®\À@D\@@ )®\À€C\@@ À³\ÀàØN@@€o´\ÀÀ‘@@@àò»\ÀàŒ<@@€µ½\À ./@@à§Â\À™ @@î¿\Àl@@@%Á\À Žò?@2Þ¹ZÀKN:@@êZÀ€6™=@C%Þ¹ZÀ€-Ø;@@×§ZÀ€ìÐ;@@ŸZÀ@ÑØ;@A›ZÀ@ûã;@€$ZÀÀ³Ò;@€¨ŒZÀÈà;@€U…ZÀÏê;@À%{ZÀÀQè;@€qZÀÀ'ý;@(qZÀ€N <@`SkZÀ€&<@ÀÊbZÀ@.<@ÀRYZÀ@ØX<@œ[ZÀ x<@ÀãXZÀ€Oš<@@ž]ZÀÀ£<@c]ZÀ@]¾<@J_ZÀ@˜Ê<@ƒ]ZÀÔ<@îSZÀ€6à<@€UZÀÀÍë<@€SZÀàë<@À QZÀ@4=@ŒIZÀ€_ =@@…CZÀÀ«)=@À‰CZÀ@?=@@é?ZÀ@A=@€=ZÀ€ìP=@€â9ZÀ¯V=@@ø:ZÀ[`=@€$8ZÀ€l=@@\7ZÀÀî~=@@¾9ZÀ€=@@Ç-ZÀ€‘€=@€&ZÀ€ý‘=@€ÁZÀ€‰‡=@@êZÀ€6™=@ÀRYZÀ@ØX<@ŒQZÀÀq<<@ÀÛSZÀÀ@'<@@LQZÀ€N <@@3KZÀ€ºì;@@"JZÀ€²³;@€=NZÀ@û£;@ÀÛ[ZÀÏŠ;@@3cZÀÀîŽ;@àyeZÀÀ@‡;@@umZÀ€ä‡;@8oZÀ€ì;@@vZÀÀ›g;@€$xZÀ@âi;@@:}ZÀ€WS;@9‚ZÀ@,Y;@À¡†ZÀÀrk;@‰ZÀ€ˆh;@ÀgZÀ"r;@€®‘ZÀ€h;@€˜’ZÀ@¹=;@ÀG•ZÀ€Â5;@€Ù•ZÀÀö;@€’ZÀŽÃ:@@+ŽZÀ€²³:@¥ZÀ€ë:@{ŒZÀ@¹]:@€,•ZÀKN:@s›ZÀÀ‹e:@€w›ZÀ€Ün:@ЀBJYÀ€G!3@À-àXÀ€ê‹4@€BJYÀ€ê‹4@À¢IYÀÀ'}4@@uEYÀdx4@€Ú@YÀÀ c4@@¶@YÀÐI4@ï:YÀÀzD4@À‘8YÀ@û#4@€Ÿ0YÀ€%4@€ê*YÀ@Á4@@C!YÀ€F4@€=YÀ€ ô3@À_YÀué3@Æ YÀ¯4@@[YÀC4@‹þXÀ@Ý3@€êúXÀÀÚ3@@àûXÀÀzÔ3@ÀN÷XÀà»3@@3÷XÀ@U¥3@ÞñXÀ€š˜3@€òïXÀÀH€3@@¦âXÀ€^3@À-àXÀ€G!3@¸@&fWÀÀ=á.@@2WÀ@h2@4Àê WÀ€—92@€ WÀ@â92@ÀªWÀ@=J2@(%WÀ}b2@€™*WÀ@h2@½.WÀÀÍ+2@R,WÀ€ã(2@@ß,WÀÀ’2@€v0WÀ@ê2@î7WÀ€» 2@ÀO:WÀ@Uõ1@€˜>WÀ@w÷1@`™AWÀ ˆì1@@IWÀ`ñ1@`èPWÀÀËý1@ÎSWÀ@°õ1@ÀYWÀ€—›1@€aWÀ„1@ÀÃ\WÀ@Ú`1@ÀZWÀß\1@@…[WÀÀ S1@€ò_WÀð]1@ÆbWÀ+Z1@9bWÀÀ‚=1@@&fWÀH/1@ÍdWÀÀb)1@À_`WÀÀ“.1@€ _WÀÀ´!1@À>YWÀ€-1@@ßXWÀ€ª 1@@"RWÀ€¢1@@CMWÀ@, 1@€áFWÀ€‰÷0@€EGWÀÀ¤ß0@@dDWÀS×0@@¿DWÀ–Ì0@ÀgAWÀ@¸0@Œ9WÀŽ“0@Àã0WÀ€h„0@@d0WÀÀ›g0@Àº4WÀ;L0@€4&WÀ€Ê.0@îWÀ[@0@ÀO"WÀ€Â%0@€˜WÀ3Ó/@@2WÀ@Uµ/@ÀãWÀÀË/@@ WÀ@~‘/@ÀË WÀla/@B WÀÇ1/@sWÀ€ /@àÉWÀÀ=á.@˜€uÉVÀ€>0@ªVÀ ï¤0@€uÉVÀ€ï$0@ÞÁVÀ€>0@€]ºVÀ€ü"0@{¸VÀ@^-0@@+ºVÀ€h40@À¶VÀ@À70@@®·VÀÀHP0@€Ú°VÀÀAV0@@¶°VÀ@m0@B®VÀ€ˆx0@€ ®VÀ@˜j0@J«VÀ€Âu0@À‘¬VÀ€~0@”ªVÀl0@Å«VÀÀÄ“0@ªVÀ ï¤0@  o±YÀ@Ú04@À./YÀ:]5@!o±YÀ€g24@€Ò§YÀ€ª:4@@dœYÀÀŠV4@ŒYÀ@ÒW4@ ö†YÀÀšc4@@·YÀ€.g4@€ YÀ€²S4@ÀÂ~YÀÀ ^4@Ö|YÀL]4@@æzYÀ@ 64@ ãxYÀ ì04@ …tYÀ`564@!kYÀ@Ú04@@ØfYÀlQ4@`z]YÀàlU4@\YÀ€ˆX4@@–XYÀÀql4@ÀìXYÀ@áz4@ÖTYÀÀÍ‹4@ÀôQYÀ+Š4@@*OYÀC•4@€BJYÀ€ê‹4@À²3YÀÏz4@r0YÀ€y…4@€~1YÀ@Ž4@À./YÀÀ‚4@€5YÀèÔ4@À&2YÀ€ãè4@@*3YÀ@ 5@Àh4YÀ!5@À©?YÀ€6P5@€~IYÀ:]5@9RYÀ¶P5@ Ô@:áXÀ ø3@ÀÂqXÀ@ŸD6@7&4ÀÂqXÀ@ŸD6@ÀXvXÀ@Á66@À©XÀ€y56@ÀÀXÀ€g%6@@SƒXÀÀÕ$6@@K‚XÀ…6@À-„XÀ6@@ÐXÀ26@À܆XÀ×6@J‡XÀd6@@:‰XÀÀþ6@€‹XÀ@¹ 6@¬‰XÀ€O6@@·‹XÀÀæ6@ÀãŒXÀ–6@@ù‘XÀ€` 6@Àg•XÀ¶6@j—XÀÀ06@À™XÀ@† 6@J›XÀ€õ5@«¥XÀ ªù5@€±¤XÀ€ìð5@1¡XÀŽó5@@…£XÀÀîî5@b¢XÀÀbé5@¤XÀÀjâ5@Z¡XÀÀ/Ö5@À`ŸXÀÚ5@€ÚœXÀ€?È5@@ž¡XÀ@v¸5@À¤XÀtº5@À¤XÀ@°5@8§XÀ@Ù±5@à©XÀ Ü›5@@2´XÀ@ây5@@à³XÀ€ôi5@@ЭXÀ\O5@À»¯XÀÀsF5@”ÒXÀ@U%5@RÔXÀ€ô5@ØXÀÀö5@€ÖXÀ@— 5@@¶ØXÀ@í4@JÛXÀ€&Þ4@@¦ÞXÀ+Ú4@@:áXÀй4@@ÝXÀ@ 4@ÎÏXÀ‰4@@:ÍXÀ@Ÿt4@ÀÃÌXÀÀH@4@€†ÖXÀ¿(4@ÎÓXÀ ø3@À»¯XÀÀsF5@@:ÍXÀÀ'5@”ÒXÀ@U%5@ €€ár[À pç<@­d[À@e‡>@ ­d[À@e‡>@€¨h[ÀÀîN>@€ár[Àt*>@@r[ÀÀ>@@|o[ÀÀAö=@€—o[ÀÀíß=@œk[ÀÀÌÌ=@@|g[À€ˆˆ=@Àj[ÀÀjr=@¬i[ÀØb=@@p[ÀÀ[=@ ~m[À*=@À g[À pç<@ ø­\ZÀ@, 8@@;¸YÀ[À9@9FZÀ@, 8@÷KZÀÀ“>8@€¹IZÀÀ‚M8@€MLZÀ€\8@ÀOJZÀÀîn8@öTZÀ@Â8@@ TZÀ€¢Ñ8@8WZÀmà8@­\ZÀ@e79@ÀËIZÀ€N‹9@€4FZÀ@ú„9@@d@ZÀ@ú”9@€@ .ZZÀà ç>@àúXZÀ€cÚ>@TZÀ Ñ>@hRZÀ úÔ>@ †PZÀ3Ì>@À·MZÀàäÏ>@@àCZÀ@°>@À×?ZÀ€0¯>@à)?ZÀà-¤>@à9ZÀ’>@€—6ZÀ`kd>@@3ZÀà^`>@à4ZÀ`¸Y>@ ÷,ZÀ  =>@@/+ZÀ€"&>@`“,ZÀ`«>@à(+ZÀÀÆè=@Àö$ZÀàÔÎ=@€A"ZÀ€ñ­=@@êZÀ€6™=@€*ZÀàôŒ=@` ZÀ ê{=@@… ZÀ@•f=@ ëZÀ ÿS=@ ^òYÀ kD=@#ñYÀ`ÿG=@àòYÀàÓ:=@ÀYïYÀ ø:=@ îYÀ@Í0=@à­áYÀ Š%=@@WÞYÀ`w=@`ØYÀ@8=@ yÕYÀã =@@ñÑYÀƒü<@ÀÑYÀ€è=@`ÒÉYÀàŠú<@=¿YÀ`Ü0=@`o·YÀ ¢:=@"ºYÀ€êD=@@ƒ¸YÀ€vZ=@Ÿ´YÀ ni=@ €³YÀ ·‡=@€I«YÀ€…¾=@ Î¨YÀ€z»=@`å¤YÀ@;Ç=@ S£YÀ@ß¿=@À2 YÀ É=@€ ˜YÀ ˜Ä=@ †—YÀàdØ=@àÁ”YÀ@Oá=@€„YÀ ÙÈ=@àJ~YÀ ›Ñ=@€&{YÀ@ÛÉ=@ ltYÀ€jÐ=@€ˆsYÀ®Ç=@•pYÀÀƒÉ=@`ðhYÀ ÈÁ=@ 7eYÀààÃ=@ ÐbYÀdÏ=@@tbYÀ UÃ=@ ^YÀ çÉ=@³\YÀÀµÂ=@€®YYÀ€Å=@`¡ZYÀÀÔ¾=@ ¸WYÀ@H©=@à“WYÀÀ;¨=@@“SYÀÀ§=@€ÅSYÀ€¶”=@ KPYÀÀõ =@@»PYÀdž=@ ODYÀÀ:y=@`”@YÀ _=@à3YÀ >=@à01YÀ`¤*=@ Í*YÀ =@ l)YÀ ì<@ ¿%YÀÀëä<@ÀÝYÀ€6©<@ ÍYÀÀø–<@ ÙYÀ P‹<@ !YÀ 5€<@YÀàˆz<@ €YÀ éd<@À¾YÀ R<@ YÀ@ÅG<@@MYÀ Ð=<@`³ YÀ²3<@4YÀ'<@`’ÿXÀÀâ<@`GüXÀ@¤ü;@ û÷XÀ 5Ì;@à4ôXÀ µÇ;@@ºíXÀà[©;@à%ãXÀ Õœ;@ ¶áXÀÀ;@@dßXÀ ¢};@ ÊâXÀ@“Q;@ÇÝXÀ E;@`úÛXÀ þ2;@ÀÝXÀ€U;@@"ÙXÀ`Üþ:@@þØXÀ`Vò:@FÒXÀ|Û:@:ÒXÀ` Û:@›´XÀ€í_:@ x´XÀ `:@c«XÀ`÷=:@àe¦XÀ ­B:@àCŸXÀ`˜3:@`XÀ 8:@œ˜XÀ ñ':@`8–XÀ@Ÿ(:@àü”XÀà”:@ ´’XÀÀÿ!:@à]‘XÀó:@@¯’XÀ`:@ ØŒXÀ -:@`S…XÀ€Õ:@àâ„XÀ@Ý:@€‚XÀ€4:@„wXÀ`e:@`xiXÀ€:@ :gXÀÀEö9@ÀËdXÀ Dô9@ÄeXÀ@èî9@`Ì[XÀà^Ø9@`®XXÀ iØ9@ bXXÀàÁê9@à{SXÀ@Lð9@@¨SXÀ`÷9@ÀKXÀ ^ô9@:ÒXÀ` Û:@ÀœÊXÀ s”:@ ËÊXÀà´‹:@€~ÆXÀà}:@ ÔÆXÀ`fk:@¼XÀ3e:@`+ºXÀ€>\:@›´XÀ€í_:@ @ÿZÀ@˜4@ ò«YÀÀÛ35@Àµ±YÀÀ>P4@@"®YÀ}B4@o±YÀ€g24@@ÿZÀÀÛ35@@*ZÀ@ &5@@–øYÀ€5@{øYÀ@5@€^ñYÀ@ï4@@žéYÀLí4@€°áYÀÀ7ÿ4@@áYÀ€º 5@@|ÛYÀ@5@@ÇÑYÀ;¼4@¤ÈYÀ€&ž4@9ÊYÀ€Ãt4@kÆYÀ€?h4@@·³YÀÀic4@€#±YÀuY4@Àµ±YÀÀ>P4@€âÁYÀ W4@€óÊYÀ@ÒG4@8×YÀdH4@AÛYÀ@#A4@!ËYÀÀP)4@“ÃYÀÀ24@`¹YÀ@ó*4@@׳YÀ@˜4@ ò«YÀ€N+4@àQ¬YÀÀi34@o±YÀ€g24@ @TžYÀ®Ç:@:ÒXÀ€ªê<@!@TžYÀÐé<@€¹™YÀ€ªê<@@¦–YÀà<@ÀˆYÀ€Ó¦<@·YÀ@<@Q…YÀ@n<@A{YÀŠ<@@tvYÀ€äw<@€†fYÀß\<@€E_YÀ|3<@À€WYÀ€ä'<@÷SYÀ®÷;@ÀPYÀ€ä÷;@@dHYÀ€ãØ;@ÀNCYÀ@5Ñ;@@ßÝYÀÀi7@#@ÿZÀÀÛ35@€‡ýYÀÀ«I5@€,ýYÀÀ\5@@töYÀÀö‡5@¬ñYÀ€½5@@òYÀ•í5@@èìYÀÀÕ6@€ëYÀ€6@€wïYÀ®76@€†îYÀ€ge6@AëYÀ@x6@8ëYÀ*›6@@däYÀ@Uµ6@ÀÊÞYÀ3ã6@À>ÝYÀuù6@ÎßYÀÀi7@€±\ZÀ@M¬5@À.WZÀ@®5@@TZÀÀ¹5@ÀORZÀ€ µ5@€^QZÀÀ5@ÀOZÀ@˜º5@ÀëMZÀ–Ì5@ DZÀ@Î5@Ö@ZÀй5@Q5ZÀ@eÇ5@ 4ZÀÀÅÒ5@½.ZÀÀaÚ5@Å'ZÀS·5@À!ZÀÀ«y5@@CZÀ@Ñx5@ÀãZÀèD5@ÖZÀ¦>5@€ZÀÀ‚-5@@ÿZÀÀÛ35@ÆÞ=XÀ@À2@rèWÀÀ³²2@5@i)XÀÀŸV2@@¾%XÀÀ@W2@÷+XÀ@g2@R$XÀ…k2@b"XÀÀ´a2@@}&XÀ€€_2@À¢XÀÈP2@àbXÀ–<2@@i)XÀÀŸV2@@¯&XÀ•M2@À)XÀÀL2@€†&XÀ€X22@€V XÀ@Ú 2@@3XÀÀ)2@0XÀ@À2@€±XÀÀq,2@€ÀXÀu92@@øXÀ@Ù12@àbXÀ–<2@Þ=XÀ€Ã¤2@€¹9XÀ@¨¬2@ï6XÀž•2@€˜2XÀÀ‹2@€42XÀy2@@}.XÀ@b2@@i)XÀÀŸV2@àbXÀ–<2@öXÀßL2@$XÀ`»62@€# XÀ &.2@@T XÀ@€/2@@ž XÀ€D$2@ÀXÀ *2@@vXÀ@‹)2@€MXÀ€p-2@BXÀ€>)2@€XÀ@82@ÀäÿWÀ@É/2@€áþWÀ€¢A2@@CýWÀÀö72@€vüWÀ@2@@•ùWÀ@¨<2@ÀúWÀ€ D2@îóWÀ}R2@jóWÀÀî^2@ðWÀ@P2@¤ðWÀK^2@@líWÀ€Ga2@bîWÀ@ò‹2@@–ìWÀЙ2@ÀxêWÀ¾™2@rèWÀ2¤2@ÀãèWÀÀ³²2@°@¯ö[À€ªÊ<@€§[ÀÀ¬8?@À©Ÿ[ÀÀ¬8?@€§[ÀÀ+?@@}ž[À€?@À_¤[À@#?@­[ÀÀ7Ï>@ÀÓª[À€¢±>@€®[À€>9>@@¥[À€FÒ=@@|£[À€ô™=@€†®[À€²ƒ=@@·[À@—K=@À·[ÀÈ0=@ÀѺ[À€%=@€¨Ä[À@¹=@ïÊ[À€O=@€¸Þ[Àøæ<@€±è[À@á<@€ò[À€ªÊ<@@¯ö[ÀÀƒÌ<@ÐÀÂýWÀ€W1@ÎÇWÀ¾™2@ÀxêWÀ¾™2@ÀyåWÀ€Wƒ2@À™åWÀðm2@€ âWÀ@ò[2@@àWÀ@M<2@À&ÞWÀ€ýA2@´ÚWÀ:-2@ÀWÏWÀÏ2@À%ÏWÀ€™ 2@@ÉWÀñ1@À ÊWÀ€ãÑ1@ÎÇWÀ€Ë1@€ÒÇWÀ€Ê¾1@€òÏWÀ€%Ÿ1@@\ÓWÀ€G1@‹ÚWÀÀHp1@ÀGåWÀ€ge1@îWÀ@À71@ÀyíWÀ@].1@@dðWÀ€º,1@@®óWÀ:1@ÀgõWÀ€W1@ÀÂýWÀè1@æþXÀ€‰·7@ÀYtXÀ@08@ æþXÀÀHð7@€óòXÀ8@@dôXÀ€_8@€°ñXÀ (8@€¨ìXÀÀj"8@@èèXÀÀ'-8@@×ãXÀ×#8@@dàXÀà+8@@ ÛXÀÀæ%8@€‡ÕXÀ@08@BÒXÀ€©+8@€âÑXÀ@8@À-ÌXÀ€y8@@:½XÀ8@Àp±XÀC8@î«XÀÀ@÷7@€À§XÀ€Ëý7@@•¥XÀÀíï7@@ñ XÀ ø7@@øžXÀÀ¼ê7@æžXÀ ø7@œXÀTö7@À.›XÀÀÄ8@8—XÀ€p 8@­XÀ–ü7@@XÀÖ7@@®XÀÀ‚Í7@À_ŒXÀ€‰·7@kŠXÀ€ÓÆ7@À¸‚XÀ¹7@Æ~XÀÏÊ7@ÀYtXÀ€¯È7@ ½ÚZÀA8@À^ZÀé9@  `ŸZÀ`³´8@€â™ZÀ€»8@€§‘ZÀÀõØ8@ÆŠZÀÚ8@€M€ZÀé9@`ŸZÀ`³´8@€#™ZÀ@¡8@Z•ZÀ@w§8@À-ŒZÀ®—8@@;ˆZÀÀІ8@€vZÀ}’8@½ÚZÀA8@@žÙZÀÀÌL8@À>ÑZÀ€‘`8@‹ÆZÀ@4r8@@2¼ZÀ@Uu8@Àì¼ZÀ€Ë}8@€ú¸ZÀ@e‡8@j³ZÀø†8@²ZÀ€>™8@€,­ZÀ€G¡8@Œ­ZÀ€š¨8@`ŸZÀ`³´8@€vZÀ}’8@BrZÀ€gµ8@@}rZÀ@wÇ8@@ÈxZÀŽó8@€vZÀ}’8@€fnZÀ@Ÿ¤8@€ gZÀ@~¡8@ÀºdZÀ¾‰8@À^ZÀ€_Œ8@( ¾aZÀ€àÐ5@À²ZÀÀj28@"@+*ZÀ€G18@Àü&ZÀÀj28@€U%ZÀ@Ú 8@€ZÀ@°8@€‡ZÀ€x8@ÀZÀ€‰8@€ÀZÀ¦î7@À‘ZÀ€¢á7@@ZÀ@†Ê7@À²ZÀ@‡¹7@@¾ZÀ"¢7@bZÀÀ›77@€4"ZÀÀI/7@“/ZÀ@<+7@€ó2ZÀ€º7@„@ZÀC7@@@ZÀ@‡Ù6@Àü:ZÀÀjÒ6@@:9ZÀ€Ë½6@ÀÊ:ZÀ@®6@Àh8ZÀž•6@@3;ZÀ@Ú€6@€ò?ZÀ¦~6@€˜BZÀ€%o6@€]BZÀÀ S6@ï:ZÀÀz6@€ŸZÀ€ýñ5@€—CZÀ@óú5@€~EZÀÀíï5@€—GZÀÀù5@ÀZZÀï5@Àº]ZÀÀj×5@ ¾aZÀ€àÐ5@Ày=YÀ@U%5@”ÒXÀÀæå5@Ày=YÀ@~Á5@¬9YÀ@Ò×5@€$4YÀÀæå5@À 0YÀ€&Þ5@€f.YÀ€ËÍ5@"YÀ@4Â5@ÀOYÀ@®5@€#YÀ@ £5@€EYÀ@Àw5@€÷XÀ@út5@€†îXÀ@ê‚5@ZéXÀ@áz5@@®ßXÀ@~Q5@ÛXÀ€ª*5@”ÒXÀ@U%5@ˆ@µÌXÀ@M¥5@«¥XÀÀ£6@@µÌXÀ@M¥5@€ÊXÀ•­5@œËXÀžµ5@öÈXÀ@ÉÏ5@οXÀ@#Ñ5@@ ÀXÀÀ›×5@À˽XÀèÔ5@€#½XÀ€Ü5@Àh´XÀÀaÚ5@@´XÀ€Gñ5@Àˆ°XÀ;ì5@°XÀ@ý5@)¨XÀÀ£6@«¥XÀ ªù5@°î WÀ€ï$0@€uÉVÀ€€ÿ0@î WÀ€€ÿ0@@àWÀ€¡â0@ÿVÀŽã0@ŒùVÀ@ Ö0@rôVÀ€ Ô0@€ÀóVÀÀ“Þ0@€±ðVÀ€Ûß0@€ÉçVÀÀ›Ç0@@ßäVÀ@Ÿ´0@ÀÃäVÀÀi“0@€âVÀ€†0@ÆÚVÀÀ|0@À™ÙVÀ€ºl0@€°ÕVÀ}b0@@ÐÕVÀÀjR0@@ŽÓVÀ€ÜN0@€†ÒVÀ@>0@€ÚÌVÀ€ 50@€uÉVÀ€ï$0@úÆWÀ ï¤0@ªVÀ@¨2@<7ÆWÀ@¨2@BWÀÀ8~2@À¢WÀ@h2@€¹WÀÀÄS2@Àê WÀ€—92@Î WÀ@]2@ÀÌWÀ§2@€ WÀ€‘2@sWÀÀŠö1@ _ÿVÀàté1@€ZÿVÀ@‡é1@ÖüVÀÀBå1@„üVÀàÎÚ1@ fúVÀà ã1@€±ôVÀ ã1@ÀXòVÀ`Û1@ÀvñVÀ€Æ1@ ÊòVÀº1@@¶ìVÀ@Ó¶1@`µìVÀ`̶1@À²çVÀ@½1@€êVÀÀ‹Å1@@·çVÀ È1@€nçVÀ@ Ó1@@mäVÀÀHÐ1@@SãVÀÀ7¿1@@ßàVÀ€pÍ1@@¯ÞVÀÀÅÂ1@@.ÛVÀÔÃ1@öÜVÀÀi³1@@ØVÀ׳1@@ÇÙVÀÀz¤1@æÖVÀ@e—1@€ÚVÀ¶1@@¶àVÀ@U•1@@ŽÛVÀ@}1@IàVÀÀq|1@à{àVÀ Cx1@`ÀßVÀwg1@JÛVÀ€c1@ÖØVÀ S1@ÜVÀ@¹=1@”ÖVÀÀ'-1@@¾ÑVÀ@§-1@ÎËVÀ 1@“ÇVÀ€¡1@ÀÄVÀ@ç0@¿VÀÀ8Þ0@ï¾VÀ€.ç0@€#½VÀÀ/æ0@Õ½VÀÀ7ß0@€óºVÀ€hÔ0@j³VÀ@Î0@À¶­VÀ@ù¹0@ªVÀ ï¤0@ÀÌWÀ§2@@:WÀ€%2@@lWÀß<2@¬ùVÀ@áZ2@æöVÀÀÝm2@ÈÀX¦[À@áŠ;@ÀGa[À pç<@À g[À pç<@@¿h[À€‘À<@@\c[ÀÀ«™<@€8z8¶p*0^˜ú€~XÚ¨†x06X’&(R`¶˜Rh¾h*(V@šHæˆrH¾8ú¨¦ˆ2€¶x2H~pòPF R( ~ˆ! 0!>H!Š@!ÎH"0"Nˆ"Ú@##²È$~È%JÀ&h&z(&¦`' @'N˜'ê8(&((R(æX)B`)¦ *J`*®@*ò(+Ð+òØ,ÎH-p-Ž˜.*`shapelib-1.6.1/tests/shape_eg_data/mexico/lakes.dbf0000664000175000017500000000032414573117335017207 00000000000000`a&AREAN NAMEC 331.810Presa Del Infiernillo 392.161Lake De Chapala 197.254Presa Miguel Aleman shapelib-1.6.1/tests/shape_eg_data/mexico/cities.sbx0000664000175000017500000000025414573117335017433 00000000000000' ÿÿþpV$À\ÒÔÀ@0¡[ ÀVë@@@ObàbO@@2¼òþ*B fn ~ shapelib-1.6.1/tests/shape_eg_data/mexico/lakes.sbn0000664000175000017500000000025414573117335017240 00000000000000' ÿÿþpVÀYÛA@2À@ÀXø@@4W W4@3Ñ óÿ&äÿ.M^shapelib-1.6.1/tests/shape_eg_data/mexico/roads_rt.shx0000664000175000017500000000050414573117335017774 00000000000000' ¢èàTB]À@Š$-@€ýµUÀ€óT@@2Æüjt €X Ü pÎ B.tön¬4V8’0ÆúÄ䬂2˜Ϊ|8¸Â`&Êôr"jð%^˜%úP&N&â@shapelib-1.6.1/tests/shape_eg_data/mexico/rivers.shx0000664000175000017500000000052414573117335017473 00000000000000' ªèà§Â\ÀÀ=á.@ªVÀ@D\@@3Ñ2€¶f Pt`Ø2 Р⸠ž˜ : ^Ô6€ºø¶"ÜðÐ(ü´´  æ2Ææ°šÐn Š !®("Ú#nˆ#ú°$®ú&¬Èshapelib-1.6.1/tests/shape_eg_data/mexico/roads_rt.sbx0000664000175000017500000000023414573117335017766 00000000000000' ÿÿþpNÀ]BTà@-$Š@ÀUµý€@@Tó€óT@@2,b †š¢¶Òshapelib-1.6.1/tests/shape_eg_data/mexico/roads.sbn0000664000175000017500000000355414573117335017257 00000000000000' ÿÿþp¶iÀ]BTà@-$Š@ÀUµý€@@Tó€óT@@l      $ytˆ™5yjˆu<|2J r˜ˆŸ$yU…uC€B—JS|!’3`sQ„VJrIQPŽq˜‚7—{™‚-œp¡ˆ9‡qš8 ƒ˜ŒÇ#•’%‡˜Ž"‘®•·œ’¯œ‡¥ '‘˜–,—ˆ+ÀÔ e¹ÁbÀÐgº/Ç2^ ñ7ûPVÝ9ßDÇ0ßDZúOÿ]LÞCé[RèXë[@êUÿ]D ÏÔhÏ×iÓ ×fË+ß:_ñ7ó8WÞ6ò;XÆ0È1\Ç0Ì1[ ¥>±UT–?—E–? E —G¦UŸT¦qF ‰\‹d?•Sš|H ‡jŠo;‰nr:˜p |‡c‹k= ƒS…VI„SŽVGŠTŽ]E–O—TM–D˜JQ–I˜POO—UN Ÿ:±@‘¹"dœ¹9 ¸ºc¹»0a°/»?]‘!•9 –8@ œ8 @ ”8—@ 9u?„49zA„0[yi†1Ry\2h{w†/q{xœ.4ãZò2™Lâ!X·eß XÞZçXæZñYðZóf›s± d°g¸KŽSš&h…sœ(`…k±)ƒ:õ* á3ÿ2á5å3ä5íûþèøûÿôü ÷ÿ þÿ>wA{3d>pbUo>rD[agz>qPtVKqCsQvtz|6sUzuAfUtbBo2}?Yshapelib-1.6.1/tests/shape_eg_data/mexico/rivers.sbn0000664000175000017500000000103414573117335017450 00000000000000' ÿÿþpÀ\§à@.á=ÀÀVª@@\D@D\@@3Ñ4    rD‚VX™»ò€F–X }µCzµ‚šª¢ƒ§¥Ç½'Ë1ï úëÿ0ÇÑ/ù ÿàñ,‘6£L¥[­a§G«W¢Bµe “T¥`c^q‚d~€™ <»PÑ 8ÆFä:™Xª U oÑO‚eŽ !Å0é.²:Çóÿ6Æ:ß dTzpshapelib-1.6.1/tests/shape_eg_data/mexico/rivers.dbf0000664000175000017500000000474014573117335017430 00000000000000`aQNAMEC(SYSTEMC( Amajac Balsas Balsas Bavispe Yaqui Colorado Colorado Conchos Rio Grande Cutzamala Rio Grande de Santiago Grijalva Usumacinta Lacantum Usumacinta Lerma Rio Grande de Santiago Moctezuma Panuco Moctezuma Yaqui Yaqui Nazas Papigochic Yaqui Pilon San Juan Rio Grande Rio Fuerte Rio Grande Rio Grande Rio Grande de Santiago Rio Grande de Santiago Rio Salado Rio Grande Rio Santiago Rio Grande de Santiago Rio Santo Domingo Rio Sonora Rio Trinidad San Fernando San Lorenzo San Pedro Santa Maria Tampaon Tzanconeja Usumacinta Usumacinta Usumacinta Yaqui Yaqui shapelib-1.6.1/tests/shape_eg_data/mexico/roads.dbf0000664000175000017500000003107214573117335017224 00000000000000`ixLENGTHN TYPEC(ADMN_CLASSCTOLL_RDCRTE_NUM1CRTE_NUM2CROUTEC( 1.172Paved Undivided Federal N 81 Federal Hwy 81 2.169Paved Undivided Federal N130 Federal Hwy 130 1.158Paved Divided Federal Y 54 Federal Hwy 54 1.141Multi-Lane Divided Federal Y150 Federal Hwy 150 0.411Multi-Lane Divided Federal Y 95 Federal Hwy 95 0.473Paved Divided Federal N 54 Federal Hwy 54 2.311Multi-Lane Divided Federal Y150 Federal Hwy 150 0.771Paved Undivided Federal N261 Federal Hwy 261 0.639Paved Undivided Federal N190 Federal Hwy 190 0.928Paved Undivided Federal N160 Federal Hwy 160 0.556Multi-Lane Divided Federal Y 95 Federal Hwy 95 2.075Paved Undivided Federal N 37 Federal Hwy 37 1.891Paved Divided Federal Y 95 Federal Hwy 95 4.742Paved Undivided Federal N190 Federal Hwy 190 0.064Paved Divided Federal N 5 Federal Hwy 5 1.573Paved Undivided Federal N 2 Federal Hwy 2 0.183Multi-Lane Divided Federal N 1 Federal Hwy 1 0.489Paved Divided Federal N 5 Federal Hwy 5 0.751Multi-Lane Divided Federal N 1 Federal Hwy 1 0.131Paved Divided Federal N 45 Federal Hwy 45 1.106Paved Undivided Federal N 5 Federal Hwy 5 0.754Paved Divided Federal N 45 Federal Hwy 45 0.586Paved Divided Federal N 15 Federal Hwy 15 5.537Paved Undivided Federal N 2 Federal Hwy 2 0.374Paved Divided Federal N 15 2Federal Hwy 15 5.175Paved Undivided Federal N 2 Federal Hwy 2 0.548Paved Divided Federal Y 45 Federal Hwy 45 3.475Paved Divided Federal N 45 Federal Hwy 45 0.552Paved Divided Federal Y 45 Federal Hwy 45 0.583Paved Divided Federal N 85 Federal Hwy 85 1.549Paved Undivided Federal N 85 Federal Hwy 85 2.167Paved Undivided Federal N 49 Federal Hwy 49 7.330Paved Divided Federal N 15 Federal Hwy 15 0.800Paved Divided Federal N 40 Federal Hwy 40 3.898Paved Undivided Federal N 57 Federal Hwy 57 2.769Paved Undivided Federal N 40 Federal Hwy 40 0.706Paved Divided Federal N 85 Federal Hwy 85 1.150Multi-Lane Divided State Y 1 15State Hwy 1 2.000Paved Undivided Federal N180 Federal Hwy 180 2.301Paved Undivided Federal N 40 Federal Hwy 40 4.221Paved Undivided Federal N 45 Federal Hwy 45 12.410Paved Undivided Federal N 1 Federal Hwy 1 0.847Paved Undivided Federal N101 Federal Hwy 101 1.815Paved Undivided Federal N 85 Federal Hwy 85 0.469Paved Undivided Federal N 85 Federal Hwy 85 2.712Paved Undivided Federal N 49 Federal Hwy 49 1.993Paved Undivided Federal N 45 Federal Hwy 45 1.109Paved Undivided Federal N 1 Federal Hwy 1 1.960Paved Undivided Federal N 40 Federal Hwy 40 1.931Paved Undivided Federal N 15 Federal Hwy 15 0.345Paved Divided Federal N 1 Federal Hwy 1 1.240Paved Undivided Federal N 19 Federal Hwy 19 3.235Paved Undivided Federal N 54 Federal Hwy 54 0.562Paved Undivided Federal N 49 45Federal Hwy 49 1.637Paved Undivided Federal N101 Federal Hwy 101 3.550Paved Undivided Federal N 57 Federal Hwy 57 1.867Paved Undivided Federal N180 Federal Hwy 180 1.016Paved Undivided Federal N 57 Federal Hwy 57 0.311Paved Divided Federal N 57 Federal Hwy 57 1.824Paved Undivided Federal N 49 Federal Hwy 49 0.615Paved Divided Federal N 57 Federal Hwy 57 2.321Paved Undivided Federal N 15 Federal Hwy 15 0.564Paved Undivided Federal N 57 Federal Hwy 57 0.368Paved Divided Federal Y180 Federal Hwy 180 2.567Paved Undivided Federal N 54 Federal Hwy 54 1.886Paved Undivided Federal N 90 15Federal Hwy 90 2.855Paved Undivided Federal N 45 Federal Hwy 45 2.537Paved Undivided Federal N180 Federal Hwy 180 0.772Paved Divided Federal N 57 Federal Hwy 57 2.251Paved Undivided Federal N180 Federal Hwy 180 1.185Multi-Lane Divided Federal N 45 Federal Hwy 45 3.507Paved Undivided Federal N 85 Federal Hwy 85 0.221Multi-Lane Divided Federal N 45 Federal Hwy 45 2.072Paved Undivided Federal N 90 Federal Hwy 90 0.461Paved Undivided Federal N 54 15Federal Hwy 54 1.163Paved Divided Federal N307 Federal Hwy 307 0.318Multi-Lane Divided Federal N 85 Federal Hwy 85 1.132Multi-Lane Divided Federal N 45 Federal Hwy 45 0.431Multi-Lane Divided Federal N 85 Federal Hwy 85 1.912Paved Undivided Federal N 15 Federal Hwy 15 0.603Multi-Lane Divided Federal N 85 Federal Hwy 85 2.316Paved Undivided Federal N180 Federal Hwy 180 3.039Paved Undivided Federal N 15 Federal Hwy 15 2.633Paved Undivided Federal N180 Federal Hwy 180 3.509Paved Undivided Federal N200 Federal Hwy 200 2.110Paved Undivided Federal N307 Federal Hwy 307 0.161Paved Undivided Federal N186 Federal Hwy 186 2.355Paved Undivided Federal N186 Federal Hwy 186 1.821Paved Undivided Federal N200 Federal Hwy 200 3.650Paved Undivided Federal N180 Federal Hwy 180 0.404Paved Divided Federal N186 Federal Hwy 186 0.209Paved Divided Federal N180 Federal Hwy 180 1.957Paved Undivided Federal N180 Federal Hwy 180 1.409Paved Undivided Federal N180 Federal Hwy 180 2.748Paved Undivided Federal N186 Federal Hwy 186 2.902Paved Undivided Federal N200 Federal Hwy 200 1.625Paved Undivided Federal N185 Federal Hwy 185 0.872Paved Undivided Federal N200190Federal Hwy 200 0.235Paved Undivided Federal N200190Federal Hwy 200 5.134Paved Undivided Federal N200 Federal Hwy 200 3.194Paved Undivided Federal N190 Federal Hwy 190 0.584Paved Undivided Federal N190 Federal Hwy 190 2.248Paved Undivided Federal N200 Federal Hwy 200 1.191Paved Undivided Federal N211 Federal Hwy 211 1.312Paved Undivided Federal N200 Federal Hwy 200 shapelib-1.6.1/tests/shape_eg_data/mexico/roads.shp0000664000175000017500000005643414573117335017274 00000000000000' .ŽèàTB]À@Š$-@€ýµUÀ€óT@@8ÀÀXÀS6@ÀèˆXÀ Q7@ÀèˆXÀS6@ ¥³XÀÀŽ=7@`<·XÀ€ÅH7@ÀÀXÀ Q7@˜àÿÆXÀ ¢3@ P^XÀÊ4@àÿÆXÀUÎ3@€¾XÀàxÅ3@@ø¾XÀàB®3@àºXÀ ¢3@@F¹XÀÀ׬3@@­²XÀ ·3@Àö§XÀ@ëÜ3@ §œXÀà 4@À;‘XÀà +4@àä†XÀÉ4@`r‚XÀ@W84@@±~XÀàš>4@€ï{XÀÀË^4@€EsXÀ`[r4@ ¦bXÀ €4@ P^XÀÊ4@x@cæYÀ qa3@@XÛYÀÀsF4@ eãYÀ qa3@ 6ßYÀ°t3@à¹áYÀàŽ3@¸àYÀ@£‰3@àÝYÀ Õ‡3@@XÛYÀ`æŸ3@`ÔÞYÀ`a©3@ ÏÞYÀ€Í3@ åàYÀ€Ú3@@cæYÀ`ã3@€ÕÛYÀO4@ ÛÜYÀÀsF4@H bÌXÀ Ñ3@`‹XÀÀßi3@`‹XÀ Ñ3@ ?§XÀ +Z3@À¡¬XÀ ïN3@`'»XÀÁK3@ ]ÄXÀ0i3@ bÌXÀÀßi3@8ÀåÏXÀ R 3@€ÊXÀÀßi3@ÀåÏXÀ R 3@€ÊXÀ€´93@àLÎXÀ >U3@ bÌXÀÀßi3@8 FóYÀ >3@eãYÀ qa3@ FóYÀ >3@èîYÀ@‰>3@À·æYÀ€'R3@eãYÀ qa3@x`‹XÀà¾2@!XÀ Ñ3@ `‹XÀ Ñ3@ ¯xXÀÀ¬ 3@àÑ_XÀ`õÑ2@ÊXXÀ Rã2@\JXÀ`¼Ñ2@ „þ2@ þ«VÀ`{Ý2@ B°VÀÀŒ©2@ ¯VÀà¡2@ @ÀIXÀ€û˜2@`‹XÀ Ñ3@`‹XÀ Ñ3@à_XÀ€ 3@@å”XÀC3@žœXÀ@>ç2@ÀIXÀ€û˜2@ 8ÀåÏXÀ€û˜2@ÀIXÀ R 3@ÀIXÀ€û˜2@€­¸XÀ"Â2@ÅÄXÀÀ»õ2@ÀåÏXÀ R 3@ H  ÚXÀ@F“2@ ¥ÎXÀ R 3@ÀåÏXÀ R 3@`?ÑXÀl3@ ¥ÎXÀ€gá2@€‘ÏXÀ@Ç2@àkÓXÀ€‡¦2@  ÚXÀ@F“2@ @’YÀ%2@—rYÀà“Ì3@—rYÀà“Ì3@àýuYÀ€{¹3@€huYÀ`k”3@€xYÀ€·}3@`€YÀ€Tv3@àƒYÀ`f3@ „YÀ€*3@`‰YÀ'Ô2@ YÀà´º2@àJ…YÀàòu2@Àc‡YÀ@ r2@ÀÚ†YÀ¶k2@@’YÀÀ)[2@€pYÀÀÀ72@ í‘YÀ%2@ ÀròXÀ ù0@  ÚXÀ@F“2@  ÚXÀ@F“2@@kÜXÀà[Œ2@À¿ÛXÀ _z2@`pâXÀ @\2@ wàXÀ@sM2@`‚ãXÀ s-2@@ãXÀà2@  æXÀÀ¶ò1@`™áXÀ…’1@ÀÀÝXÀ€5x1@ ¼ÞXÀ ¹L1@ÀMâXÀ ñ*1@`·åXÀÀ†-1@`æðXÀ€•1@ÀròXÀ ù0@ÀIXÀà Q0@€–ÎWÀ€û˜2@ ÀIXÀ€û˜2@ZŒXÀ';2@ =ˆXÀ@T92@à…XÀ@¸-2@à‹ƒXÀú42@€~XÀ$2@ µoXÀ@¦¿1@l^XÀà¦1@û[XÀ Š“1@À–NXÀ`Šr1@`ÜJXÀ U1@@FEXÀÀýM1@@·BXÀÀ€81@à=XÀ€ÿH1@€8XÀ€ÏG1@ p3XÀ;1@€¥.XÀ@÷1@@WXÀ–è0@`«XÀ‹°0@@ XÀÀ°0@€OXÀ@×0@€ÞXÀ€¶m0@ ð XÀ€ …0@à÷XÀ€ß{0@`}XÀàHŠ0@ %úWÀ Ù0@€‘ôWÀà‚e0@ ¡äWÀÀmh0@`­ßWÀ –q0@!ÛWÀ`‰m0@€½×WÀ€º\0@€–ÎWÀà Q0@( ýÞ\À`ßN@@`9Ü\À€óT@@ ýÞ\À€óT@@`9Ü\À`ßN@@p@°8]À€D8@@`9Ü\À`ßN@@ @°8]À€D8@@€Ë.]À`/<@@ Õ']À .I@@`*]ÀÅH@@ z]À@’<@@Àð]À`F@@@V]À LI@@`Èÿ\À@mE@@€€ê\À@ÄL@@`óä\À `L@@`9Ü\À`ßN@@(àTB]À€D8@@@°8]Àà‡E@@@°8]À€D8@@àTB]Àà‡E@@8`9Ü\À }@@RÓ\À`ßN@@RÓ\À }@@€-Ô\À`þ@@à‡Õ\À€´.@@`9Ü\À`ßN@@@@°8]ÀÀˆå?@à¨]À€D8@@à¨]ÀÀˆå?@ k]À ø?@à#5]À '@@ w8]À`K7@@@°8]À€D8@@( :ŸZÀ #¦?@àŠ›ZÀ >Ä?@ :ŸZÀ >Ä?@àŠ›ZÀ #¦?@@RÓ\À€$?@¥¿\À }@@¥¿\À€$?@tÄ\À¿u?@ÀžÈ\À`´¹?@ Î\À@@RÓ\À }@@@ ! ZÀ 'ê>@àŠ›ZÀ #¦?@àŠ›ZÀ #¦?@à5žZÀ@½‚?@€ZÀ`d?@ ! ZÀèH?@ ‘ZÀ 'ê>@8€f¾[Àà¾È>@i¶[À€îU?@@3¼[À€îU?@€f¾[ÀÀš3?@i¶[ÀØô>@`™¶[Àà¾È>@ `™¶[À`x»>@àŠ›ZÀÕ¶?@!`™¶[Àà¾È>@€­[À æ>@ G©[À@©à>@ ó£[À@Nÿ>@[Àà?@@ý‡[ÀÀï?@ ð„[À@ë(?@ÀÐ|[À 1/?@@Gt[À€ñD?@Àn[À@ËD?@`¤c[ÀR?@ÀgX[À@À:?@ ´V[À F ?@ S[À`?@ÀNN[À@GÓ>@àžI[Àà„Ü>@ ´C[À`x»>@ p@[À@ó¾>@À­@[ÀÀÉ>@À“;[ÀÀÕæ>@À [ÀœÁ>@ ‰[À`ÌÞ>@@9 [À ®ì>@ À[À€ ?@`ùZÀå+?@ ÉñZÀÀ»L?@µïZÀÀ'b?@'èZÀ  b?@@‰ÓZÀ`øz?@@—¹ZÀàŸŸ?@@ʶZÀ ¬?@ ¦ZÀÕ¶?@àŠ›ZÀ #¦?@02Ç[ÀÀŠŠ>@`™¶[Àà¾È>@2Ç[ÀÀŠŠ>@ ×¸[Àà®>@`™¶[Àà¾È>@ˆ`9Ü\ÀÀŠŠ>@2Ç[À`ßN@@`9Ü\À`ßN@@@Ò\À€™F@@@À\À€yB@@ ù‡\À å"@@ÀÈx\À@™@@ 7\Ààã?@@`7\À (¹?@€!\À€\E?@àA\À`*ø>@ÀÈ \À`õº>@ …\À 7®>@€õ[À D¶>@ §ã[À H™>@2Ç[ÀÀŠŠ>@0€Ú¡ZÀ2`>@ ‘ZÀ 'ê>@ ‘ZÀ 'ê>@@¡ZÀàtÀ>@€Ú¡ZÀ2`>@À€Ú¡ZÀÀÀ;@ ìFZÀ2`>@€Ú¡ZÀ2`>@ ×–ZÀ q÷=@ÀŘZÀ€Ý=@ ˜”ZÀ =@€˜ZÀ  ˆ=@ÀßšZÀ`—o=@ E•ZÀ`à=@€„ZÀ EÚ<@ 'ZÀÀ0É<@`WƒZÀà– <@€—}ZÀ`¸–<@€Ç{ZÀ€w„<@ ²mZÀvr<@`-_ZÀ€ýE<@@OWZÀ@¾><@àMWZÀ`-<@rRZÀà <@@”RZÀ û;@@JLZÀÀŠÚ;@€&JZÀÀ¬;@ ìFZÀÀÀ;@0 ìFZÀÀµ ;@ |;ZÀÀÀ;@ ìFZÀÀÀ;@V@" J[À@èx9@@8[ÀÜ~9@x4[À Ñ9@Â>[ÀàÚÎ9@À”C[À€ õ9@ A[À /:@ +A[ÀÀ]:@Ô5[À vG:@ ¶=[À@.~:@€öV[ÀÀlÏ:@à¢[[À€Þñ:@ÀÕ\[À`¿;@À«{[ÀM{;@@éz[ÀÀ!—;@ÀK}[Ààô;@à±…[À@e™;@ ï’[À }¤;@à’[ÀÀ;@À5—[À`‰ß;@€Í¢[ÀÀðó;@à‚¶[À E <@¾½[À W<@€ƒÂ[À`šG<@À3Ã[À@;†<@@L½[ÀÀfÑ<@€[½[À + =@Àɵ[Àü=@àµ[À`ê=@`!·[À€á#=@@–º[Àe=@ÅÃ[À€ãÎ=@`dÇ[À Îé=@€ÀÅ[À@Öm>@2Ç[ÀÀŠŠ>@"H ?YÀ@}l9@1YÀ*²9@ ?YÀ@}l9@€É9YÀ ¢“9@@)YÀ`y±9@àc!YÀ*²9@à1YÀ >¥9@1YÀ@Y©9@#¸€[YÀ@}l9@À€ YÀà°<@À€ YÀà°<@€&YÀ y“<@@{6YÀ€7`<@–5YÀ@¸W<@ÀNBYÀ ¼B<@`#GYÀàj(<@`KMYÀÀ'ð;@À™GYÀ`Ö;@@èKYÀÀ¯¦;@€oNYÀ€ò3;@€[YÀ@ç:@[YÀÀhÊ:@ WVYÀ@å–:@ ðVYÀ ­:@€þMYÀ@í9@ÀòIYÀ¿ë9@ ùFYÀæÆ9@À„FYÀ@¹›9@ÀQ?YÀ€T„9@ ?YÀ@}l9@$xÀšßYÀ@}l9@ ?YÀàÉ9@ ÀšßYÀ –9@@ðÔYÀà}Ä9@à>ÇYÀàÉ9@àè½YÀ±Á9@ ý·YÀ€Ú 9@•­YÀà/•9@`šYÀ ñ­9@ ‚€YÀÀª¥9@àdYÀRª9@@SYÀ€,r9@ ÖBYÀ1u9@ ?YÀ@}l9@%81YÀ`›.9@ ÓôXÀ@Y©9@1YÀ@Y©9@ÀÏYÀ@ÙK9@×ùXÀàÅ29@ ÓôXÀ`›.9@&@ J[À î«8@`ÒZÀ@èx9@`ÒZÀ î«8@@XäZÀ`‘ý8@ åøZÀ ’99@[üZÀÀÂU9@ J[À@èx9@'x€äžXÀÀ78@`(`XÀ€0â9@ `(`XÀ€0â9@@aXÀàòÑ9@€®jXÀÀJ9@ ?sXÀà5y9@àvXÀÀëg9@ÀÝwXÀ Z9@€@wXÀ áE9@S„XÀ õ9@`¸ˆXÀ`Ü8@à†XÀÀî»8@@¿“XÀ@‡8@€äžXÀÀ78@(¨ K*ZÀ@;8@ÀšßYÀ –9@ K*ZÀ@;8@À¡)ZÀàF8@€·$ZÀ€y8@ &ZÀ@½#8@@>ZÀ€Õ98@`ZÀàÎ]8@ ¼ZÀà¥8@ /ûYÀ€ –8@àýõYÀ`»8@VïYÀ þÇ8@àÌìYÀÀDÛ8@PíYÀÀï8@€_ñYÀ Þ9@€ñYÀ ­9@¨ìYÀ Ð19@ „çYÀ è<9@éëYÀÀ¤z9@ÀšßYÀ –9@)°`iZÀ@;8@ ZÀÀµ ;@ |;ZÀÀµ ;@`iZÀ`‰í:@@qfZÀ`‡á:@ ÆfZÀ`…Õ:@ÆbZÀ )°:@p_ZÀàÉr:@`ÃSZÀ€Æ^:@€lJZÀÀÃN:@`»$ZÀ€¢Š9@ ¼(ZÀàíO9@À%ZÀ >59@ eZÀ`‹9@ ZÀ ÚÛ8@@"ZÀ€€Â8@ ¼(ZÀ€'­8@À¼,ZÀ€sv8@À¼,ZÀ A8@,ZÀàc8@ K*ZÀ@;8@*8¯]ÀàÌÞ7@/[ÀÀˆå?@D/[ÀàÌÞ7@ 8”[ÀÀÌ$8@@,˜[À@ö8@ æ[À18@@­¤[ÀÀY 8@à"©[Àà 8@ -®[À’8@`^²[ÀÀ«$8@ Èº[À€J)8@@bÁ[À`Ø\8@à¹Ý[ÀàJ–8@@Œñ[À è?9@ ä[À )c9@ ¤Ù[À^”9@™Ï[À u¬9@`ÓÖ[À€‡Ð9@€Á×[À Éÿ9@ÀŒ×[ÀP:@``á[À °O:@÷ë[À@ù:@`Vð[Àï‰:@à©û[ÀÀv¹:@`ú[ÀàÙ:@`«\À Éê:@àø \ÀÀç$;@`t\ÀÀG1;@ \À ³K;@à‰\À@ýc;@À(\À@+j;@ N3\À æQ;@€¹C\À L;@ ÆP\À@çm;@ÀªX\À ƒ¨;@À]\À ˆ¹;@€6x\À€³è;@ÀOx\À <@@t\À€¶b<@`y\À€8‚<@à€\À€¡­<@@Æ\À UÎ<@ Ä†\À`ËÓ<@`Š\Ààëí<@@‰\Àà¥<=@ b˜\À5b=@àK«\À ɸ=@`‡®\À` ¼=@@?¸\À€å=@@·Ê\À )÷=@tÒ\ÀÀ‹>@ ‡Û\ÀÀ~>@@Ú\À Ê">@€QÛ\À@¶%>@@¾ä\À ²&>@ éè\À€N>@ lé\À@{P>@àõ\Àà^>@À÷\À tc>@Åú\À Æ>@ Ïû\À  Û>@ÀŸ]À€@?@@]À`$?@€Y ]ÀÀœD?@`n]À@qd?@ ½]À€Ù?@ Ö]ÀÀ¿‘?@¯]Àé°?@à<]À`sÒ?@à¨]ÀÀˆå?@+8MÈXÀ N»7@€äžXÀÀ78@€äžXÀÀ78@ “§XÀàü8@ÀµXÀàM8@MÈXÀ N»7@,p ÓôXÀ N»7@ dÆXÀ`›.9@ ÓôXÀ`›.9@ AëXÀÀVã8@À&ãXÀ€òÙ8@ óáXÀ@ ™8@WãXÀ€À8@€+ßXÀÀ²y8@à5àXÀ€œZ8@€û×XÀ ž38@ ÐÇXÀd8@ dÆXÀ`™Ý7@MÈXÀ N»7@-0MÈXÀ Q7@ ¾XÀ N»7@ÀÀXÀ Q7@ ¾XÀ Ø‚7@MÈXÀ N»7@.˜À÷ãYÀ .M7@ Ã»YÀ –9@@&½YÀ .M7@ Ã»YÀ`ñ™7@ ‰½YÀ€C¶7@ ¢ÍYÀ8@ùÙYÀ€ñG8@€pÙYÀ`a8@À•ÕYÀ€ö~8@`4ÖYÀ`&™8@à ÎYÀ ’¯8@ ÒYÀ Žº8@ºÑYÀàÉ8@ïÖYÀà—Ï8@ þÝYÀ@Ëû8@À÷ãYÀÀé 9@àßYÀ éZ9@ÀšßYÀ –9@/€ K*ZÀ .M7@@&½YÀ@;8@ K*ZÀ@;8@ÙZÀ€¯þ7@ °ZÀ@Uæ7@€?ZÀ`×7@v ZÀ Ö7@@ÐZÀ@zÀ7@†öYÀ@ׯ7@`½êYÀ`ܬ7@€·ÜYÀÀש7@ ©ÕYÀ@- 7@ÀÎYÀÀÏŒ7@ÀBÈYÀàŽˆ7@@&½YÀ .M7@0X/[À ¦K7@À£[[ÀàÌÞ7@/[ÀàÌÞ7@@Z‚[ÀÀäÐ7@à,x[À`K³7@ ¹l[À@±7@ÀÆj[À J|7@ ‰b[À`Àh7@À]_[ÀàõP7@À£[[À ¦K7@1¨@ÄŠZÀ€’97@ K*ZÀ@;8@@ÄŠZÀ€’97@ "ZÀ@?T7@ äyZÀxn7@ ;{ZÀ ¤w7@`WvZÀ Bˆ7@`ËwZÀŒ7@ –uZÀ@G7@`ìuZÀ Ñ¡7@`}pZÀ p¤7@€äjZÀ`ò»7@ MaZÀ@ À7@àý^ZÀ Î¹7@À‡OZÀÀÝ7@ ›AZÀ °á7@ p?ZÀ€.Ú7@ iÆZÀàfs8@`ÒZÀ î«8@30 k[À ð7@À£[[À ¦K7@À£[[À ¦K7@@‘a[Àà $7@ k[À ð7@4X/[À`ñ6@ k[ÀàÌÞ7@ k[À ð7@€èm[Ààqÿ6@ÀÅr[À`ñ6@@lx[À y7@€Ò~[ÀF`7@@)‚[À€Nt7@`’[Àà&£7@/[ÀàÌÞ7@5 Õ¦YÀ`eÜ6@ ?YÀ@}l9@ Õ¦YÀ`eÜ6@ÏYÀ õ]7@ÏoYÀ ½Ó7@@OkYÀ€?ú7@@¿eYÀ`¢8@@Å\YÀàÚ78@àåWYÀ@u8@àÙVYÀ 0–8@`nXYÀÀž8@`áJYÀ@¾8@ÀæDYÀ` Û8@`=DYÀ`Ö 9@€(GYÀ@*9@€ÉEYÀ€tE9@ ?YÀ@}l9@6(@&½YÀ`eÜ6@ Õ¦YÀ .M7@@&½YÀ .M7@ Õ¦YÀ`eÜ6@7` A YÀ '—6@MÈXÀ N»7@  A YÀ '—6@`#îXÀÀÿ6@à ìXÀà-*7@À±áXÀ ¡a7@ÀuØXÀ (j7@xÒXÀ€Ÿ7@¹ÌXÀâž7@€3ËXÀB¶7@MÈXÀ N»7@8˜ ?YÀ '—6@ A YÀ2n9@ ?YÀ@}l9@@-3YÀ2n9@àB2YÀ€sI9@àA4YÀ€y:9@ú YÀ 9@àŽYÀÍ8@ ÏYÀ€B–8@@„YÀÀÇ8@`1YÀ ¤a8@€(YÀ 8@`8)YÀÿ¦7@€6YÀÀ¨ö6@òYÀ Åí6@ ‚YÀ@ñ°6@x YÀ  ¦6@ A YÀ '—6@9h€äžXÀS6@€™€XÀÀ78@ ÀèˆXÀS6@@†XÀàß¶6@À“†XÀ ÃÔ6@àž‚XÀ@ß6@€Q„XÀÀ×é6@€™€XÀÀõ57@ úXÀ rv7@@øXÀz8@à^˜XÀ n8@€äžXÀÀ78@:hK1YÀ€±e6@ A YÀ¤6@ K1YÀ€±e6@À,YÀ ;q6@$)YÀ;‘6@ Ò!YÀà6 6@€YÀ ™š6@¿YÀ¤6@ßYÀàÓ6@ÀïYÀàÝn6@Ÿ YÀÀ |6@ A YÀ '—6@;(€Y=YÀ`k&6@K1YÀ€±e6@€Y=YÀ`k&6@K1YÀ€±e6@<@ Õ¦YÀ`k&6@€Y=YÀ`eÜ6@ Õ¦YÀ`eÜ6@djYÀ@­–6@Àã]YÀ`l6@€JYÀà†P6@€Y=YÀ`k&6@=H€Y=YÀ t¥5@`Æ+YÀ`k&6@€Y=YÀ`k&6@À†7YÀà6@Ÿ2YÀñä5@ Ò+YÀ`¯À5@`Æ+YÀ ü²5@@´.YÀ t¥5@>ˆ@ÄŠZÀ@C~5@ 9ZÀ€’97@@ÄŠZÀ€’97@GˆZÀ@õ/7@ ñ…ZÀ`s)7@@vZÀ`Dü6@ ¸rZÀ@-Ö6@ ¯fZÀ ý³6@@íeZÀ@S‘6@`|WZÀÀ½6@ ¡MZÀ ß6@€üMZÀÀæñ5@ ¨GZÀÕ5@ nCZÀà­5@`Œ>ZÀà©£5@ 9ZÀ@C~5@?Hà¹0YÀ€è'5@€%YÀ t¥5@@´.YÀ t¥5@à¹0YÀœ5@ <0YÀÀt‰5@@ø+YÀ€×`5@`½&YÀ`çS5@€%YÀ€è'5@@8 dVÀàrÞ4@àŒMVÀ ëõ4@ dVÀ ëõ4@`ê[VÀ`kç4@à=PVÀ`áâ4@àŒMVÀàrÞ4@A¨¬ÙYÀY©4@ Õ¦YÀ`eÜ6@¬ÙYÀY©4@€2ÒYÀà%¾4@ cÕYÀ`¤Ñ4@ÀÆÐYÀ dÖ4@`âËYÀÀ ÷4@`,ÌYÀî55@àSÆYÀÀÓu5@ÀíÆYÀ`†ƒ5@ ÛÃYÀ¤5@@ÀYÀÀí5@ ¿YÀf¥5@À’¾YÀ%É5@€a¹YÀ:â5@à¸YÀ`36@`Å´YÀ ª"6@þ¸YÀ€W6@`‹®YÀÀ£6@ Õ¦YÀ`eÜ6@Bˆ 9ZÀY©4@¬ÙYÀ@C~5@ 9ZÀ@C~5@ ®,ZÀà[5@`k*ZÀ €M5@`ï)ZÀàÔ25@`K"ZÀ`5@`õZÀà!5@ ½ZÀÀ5@`XþYÀ@[ê4@ ©õYÀ`êë4@`ÕõYÀä4@À@ñYÀ ¢Þ4@àGéYÀ ¯À4@ vßYÀ`Ø·4@¬ÙYÀY©4@C€ Õ¦YÀ`K¥4@`UYÀ`eÜ6@ …XYÀ`K¥4@`UYÀàÊÒ4@ÀžUYÀ *á4@€lYÀ?5@@@yYÀÀS[5@€Ó…YÀB5@ éYÀ` „5@ çYÀÀb¤5@àf’YÀ qT6@@˜YÀàY„6@ažYÀàVŠ6@ ­žYÀ q»6@ Õ¦YÀ`eÜ6@DxàŒMVÀ ¹ 4@ ð·UÀ I'5@ àŒMVÀàrÞ4@ ?5VÀ`n¶4@%VÀ “²4@à VÀ@ £4@UVÀ ¹ 4@ zVÀ Â³4@jûUÀ Qª4@ #éUÀ€Çá4@áàUÀ Ÿá4@`YÉUÀ@¦5@€×¼UÀà%5@ ð·UÀ I'5@EH€%YÀD’4@ ŸYÀ€è'5@€%YÀ€è'5@àqYÀ`µ5@JYÀ<ê4@`1YÀÀIÒ4@ ŸYÀ€‘±4@àBYÀD’4@FpÀèˆXÀÊ4@ P^XÀS6@ ÀèˆXÀS6@@†XÀÀ8€6@€UXÀ®x6@`ówXÀÀNV6@à‚sXÀà+,6@`jXÀ€¾‰5@@nXÀ ÀC5@ônXÀ~5@àÿkXÀ€•ñ4@à“cXÀ@Ï4@ P^XÀÊ4@GP …XYÀ ‚4@àBYÀ`§4@àBYÀD’4@@®YÀ ê˜4@¦(YÀ $†4@«@YÀ ‚4@ ™NYÀ`È–4@À•RYÀ`§4@ …XYÀ`K¥4@H@ùÕXÀàêz4@ྐྵXÀ Q7@ àÍXÀ æ{4@€LÒXÀàêz4@@9ÔXÀi†4@àìÕXÀà“4@@ùÕXÀľ4@àµÎXÀ†Û4@@1ÍXÀ€Áÿ4@ ÂXÀ ×5@€oÀXÀ@i 5@ýXÀ`"5@ÀN»XÀ€ B5@½XÀA5@ »¿XÀt^5@ Þ¾XÀ »i5@ྐྵXÀ€Än5@ õ¿XÀ€ƒ„5@ù»XÀ ß5@ ËÀXÀàƒþ5@àb¾XÀ`‰6@@ô½XÀ@¶+6@@vÅXÀk‹6@ ÁXÀ€Lž6@À(ÁXÀà±6@ °½XÀ¢º6@  ½XÀ‘Î6@ÁXÀ@+×6@€XÁXÀ€àð6@`yÇXÀàÆ7@@FÆXÀ ‚<7@ÀÀXÀ Q7@I( \`YÀà$v4@ …XYÀ`K¥4@ …XYÀ`K¥4@ \`YÀà$v4@Jˆ¬ÙYÀ ~W4@ \`YÀY©4@¬ÙYÀY©4@@rÕYÀ`‡¡4@@YÓYÀà"¦4@ /ÒYÀúš4@@MÍYÀ Õ4@ ÎÈYÀ‹‘4@`ÖÂYÀ€o 4@@À²YÀ ÄŠ4@€+¢YÀ r‰4@àÄšYÀÀŒ4@À\ˆYÀ@‘p4@ào†YÀ@^4@à%‚YÀ ~W4@ \`YÀà$v4@K0JãYÀÀsF4@¬ÙYÀY©4@¬ÙYÀY©4@JãYÀÀÉl4@ ÛÜYÀÀsF4@LHµÛUÀ ×>4@€ýµUÀà)(5@ ð·UÀ I'5@€ýµUÀà)(5@`5¹UÀ`üÔ4@ pÆUÀ€‚4@ÀõÑUÀ@Šz4@µÛUÀ ×>4@M@ ƒÎXÀ ”64@àÕÊXÀ æ{4@ ƒÎXÀ ”64@ aÌXÀ ‰?4@àlÍXÀ€a]4@àÕÊXÀ@>r4@ àÍXÀ æ{4@NHàBYÀ€I-4@ ƒÎXÀD’4@àBYÀD’4@€üïXÀàÓH4@@$æXÀ`Ç<4@À»àXÀÀ@4@ŠÖXÀ€I-4@ ƒÎXÀ ”64@O0 ƒÎXÀUÎ3@àÿÆXÀ ”64@àÿÆXÀUÎ3@.ÎXÀ 4@ ƒÎXÀ ”64@Pˆ ÛÜYÀà“Ì3@—rYÀÀsF4@ ÛÜYÀÀsF4@@1ÛYÀ`º84@€óÊYÀàú#4@–ÂYÀà¬*4@ 6¸YÀ€%4@ ;µYÀ x4@` ®YÀ`r4@ ÷­YÀÀ7ý3@`_£YÀ ñ4@`›YÀ hô3@ 4”YÀ€õ3@À’YÀà‘ý3@ Ð‹YÀ€ùÜ3@—rYÀà“Ì3@Q@ïÍXÀÀßi3@@«ÆXÀUÎ3@ bÌXÀÀßi3@@«ÆXÀÀÒ„3@ ÇÍXÀ€ÚŠ3@ïÍXÀ È3@àÿÆXÀUÎ3@R P¯VÀ@X3@ dVÀ ëõ4@ P¯VÀ@X3@ d¬VÀ §q3@ 3©VÀ ËÁ3@ “¢VÀ`TÖ3@ÊVÀ`ÏÚ3@ ˜VÀ€®Ð3@`VÀ ¾Ò3@€”ŽVÀÀŠ4@?ƒVÀà&R4@`ЄVÀà¶x4@ ¸‚VÀà#“4@ HyVÀH¥4@À;rVÀ€¾Ö4@ˆiVÀ $ô4@ dVÀ ëõ4@SÈ—rYÀ`íI3@ bÌXÀà“Ì3@—rYÀà“Ì3@`@^YÀ`ÕŸ3@àËNYÀàK´3@cAYÀ °3@@£=YÀ€Ú¥3@€–5YÀ œ®3@ x2YÀ`2¡3@ Ï.YÀÁ«3@À5-YÀ@’ 3@@|.YÀà7•3@ z+YÀ5ƒ3@àC#YÀ pp3@ÌYÀís3@À`YÀÀØ}3@@!YÀ 3@àOYÀÀEm3@`YÀ Ot3@àYÀ@Sf3@Àô÷XÀ l3@ÀÇíXÀ`íI3@ ×XÀ`M3@ bÌXÀÀßi3@TÈ P^XÀ`›3@`9XÀc–4@ P^XÀÊ4@ 9[XÀ¢†4@@:OXÀc–4@ ëJXÀ[Š4@@ÌJXÀà(y4@ VFXÀà÷t4@ ÝAXÀ Ô|4@@â>XÀ@,w4@!3XÀ·C4@àí'XÀ`4@`û'XÀàjÿ3@ ôXÀBÛ3@àXÀ ¸Ä3@@°XÀ€$e3@€¿XÀÀ\3@ÀXÀ`V3@ àXÀÀáN3@ÀmXÀ€ÌB3@€¹XÀ@ˆ23@`bXÀàx"3@`9XÀ`œ3@!XÀ`›3@UÀ 5KZÀ >3@ FóYÀ@C~5@ 9ZÀ@C~5@ ž9ZÀ`(b5@Àá;ZÀ`ZU5@ 39ZÀ@·55@À=ZÀ É%5@ò=ZÀÀ!'5@ JZÀ :Ø4@ §@ZÀ€®4@àÿBZÀ@΃4@ 5KZÀ€x4@ÀÜHZÀÀ=4@ #=ZÀ ‹Ê3@€9ZÀ ”Ñ3@ +3ZÀ ¬3@@Á"ZÀwx3@@NZÀ€3@`qZÀ@´e3@ZÀÀ%93@àgþYÀ +3@ 2öYÀ — 3@ FóYÀ >3@Vh ïVÀÀ؆2@µÛUÀ ×>4@ µÛUÀ ×>4@à`åUÀ]-4@ âèUÀÌ4@àñUÀ€ ò3@€ÓVÀ` ›3@€—VÀ@³v3@`yVÀ`@B3@+ VÀ`Äô2@À<VÀàÚ¼2@ ïVÀÀ؆2@W( ïVÀ µ2@àÂVÀÀ؆2@ ïVÀÀ؆2@àÂVÀ µ2@X` ¯VÀ@Ms2@ ïVÀ@\³2@ ¯VÀà¡2@*œVÀ`T’2@@V–VÀÀ|§2@àVÀ@\³2@ÞtVÀà‡ª2@ Ï\VÀ W2@cMVÀ@Ms2@@é,VÀàày2@ ïVÀÀ؆2@Y@ FóYÀ%2@ í‘YÀ >3@ FóYÀ >3@`ôæYÀ@§Ö2@`ëßYÀ •È2@`oÒYÀ v2@ í‘YÀ%2@Z˜ÀOYWÀ` 2@ P¯VÀ@X3@ {WWÀ` 2@@œVWÀ Ó 2@ÀOYWÀÀØ*2@`VWÀàœ;2@€¶MWÀà£F2@@ZGWÀÀXR2@ÀÌDWÀ`™h2@€¯*WÀÀÉl2@`¤WÀ §2@@$WÀàâ2@@óVÀ c^2@ÀÃÞVÀ`Jg2@ÀÿÊVÀ ¥2@€†ÇVÀàº3@ Q¶VÀ`+3@ P¯VÀ@X3@[8 {WWÀÒþ1@€U>WÀ2@ {WWÀ` 2@éNWÀ2@`æIWÀéþ1@€U>WÀÒþ1@\(€ÖdWÀwü1@ {WWÀ` 2@€ÖdWÀwü1@ {WWÀ` 2@]!XÀ@œð1@ FºWÀ`›3@ FºWÀ@œð1@ ´¼WÀ æ2@à—ÉWÀࢠ2@@ÑWÀ`ê32@@‚ÔWÀ@ 22@ fÖWÀ€RA2@€%ÚWÀ@>H2@àªÔWÀÀ9l2@@¸ÖWÀh2@àõÛWÀà‡w2@ÀÜWÀ€¨–2@€ÞáWÀÀ„¢2@@ÈäWÀ`ï¥2@@P÷WÀ ã²2@!XÀ`›3@^X FºWÀ –ï1@€ÖdWÀ€Î2@ FºWÀ@œð1@`n°WÀ –ï1@à„©WÀÀÃþ1@ ¼£WÀ`]ý1@`ÉœWÀ€Î2@ ¯ˆWÀ€²ý1@ÀÌtWÀ1ø1@€ÖdWÀwü1@_`€U>WÀÀe¯1@ ¯VÀàÏ£2@ €U>WÀÒþ1@@v6WÀ€xò1@`#WÀ`‘¯1@ HWÀÀe¯1@àLõVÀ`BË1@ÀþîVÀ`Åö1@àÆÐVÀ áU2@à“ÁVÀàÏ£2@ ¯VÀà¡2@`  í‘YÀ ù0@ÀròXÀ`Å&2@ í‘YÀ%2@ ™YÀÀ"2@€ˆYÀ`Å&2@@IrYÀ`¼2@ ˜\YÀ Ð1@`ÕIYÀÀ"¨1@@ÌBYÀ@¦‰1@`ï.@€¯WÀ´C.@` WÀ vq.@ ¶WÀ Iy.@ A WÀ€i„.@ WÀ@¼ž.@fWÀÀyã.@ WÀ Î /@`È WÀ{)/@À WÀÀR/@€¢WÀ jf/@À.WÀ \/@i` •WÀ@Š$-@ )éVÀ A.@  •WÀ A.@`oWÀÀuØ-@ WÀ ’Æ-@`Œ WÀúï-@`ÑWÀÀžÒ-@€;WÀà‡j-@ÀóVÀ@nc-@àfñVÀ@Š$-@ )éVÀ «%-@shapelib-1.6.1/tests/shape_eg_data/mexico/drainage.sbx0000664000175000017500000000020414573117335017720 00000000000000' ÿÿþpBÀ\§à@.á=ÀÀVª@@\D@D\@@3Ñ2 B RZshapelib-1.6.1/tests/shape_eg_data/mexico/cities.dbf0000664000175000017500000000644614573117335017403 00000000000000`$¡YNAMEC3CAPITALCSTATE_NAMECPOPULATIONN Monterrey YNuevo Leon 2015000 Mazatlan NSinaloa 199830 Guadalajara YJalisco 2325000 Tampico NTamaulipas 435000 Mexico City CDistrito Federal 14100000 Puebla de Zaragoza YPuebla 1055000 Veracruz NVeracruz-Llave 385000 Oaxaca YOaxaca 154223 Merida YYucatan 400142 Mexicali YBaja California Norte 365000 Aguascalientes YAguascalientes 293152 Campeche YCampeche 128434 La Paz YBaja California Sur 91453 Tuxtla Gutierrez YChiapas 131096 Chihuahua YChihuahua 385603 Saltillo YCoahuila De Zaragoza 284937 Colima YColima 86044 Durango YDurango 257915 Guanajuato YGuanajuato 48981 Chilpancingo YGuerrero 67498 Pachuca YHidalgo 110351 Morelia YMichoacan de Ocampo 297544 Toluca YMexico 199778 Cuernavaca YMorelos 192770 Tepic YNayarit 145741 Queretaro YQueretaro de Arteaga 215976 Chetumal YQuintana Roo 56709 San Luis Potosi YSan Luis Potosi 470000 Culiacan YSinaloa 304826 Hermosillo YSonora 297175 Villahermosa YTabasco 158216 Tlaxcala YTlaxcala 35384 Jalapa YVeracruz-Llave 204594 Zacatecas YZacatecas 80088 Ciudad Victoria YTamaulipas 140161 Acapulco NGuerrero 301902shapelib-1.6.1/tests/shape_eg_data/mexico/roads.sbx0000664000175000017500000000051414573117335017262 00000000000000' ÿÿþp¦iÀ]BTà@-$Š@ÀUµý€@@Tó€óT@@2l¢$ÊÞ  &: ^ nz†šº Ê Úî  .FNVb~†’®shapelib-1.6.1/tests/shape_eg_data/mexico/states.shx0000664000175000017500000000054414573117335017466 00000000000000' ²èÕG]À@á-@@ ¯UÀ€C\@@Ën2TŠ" °\ø Ðàüˆˆ˜$`ˆ”€ Ø ôØ!Ð0#š%¢ )Fr,¼ð-°Ø0Œ4 74@:xê?f˜CpGvèLb O†(S²(VÞ¸Zš°_Nshapelib-1.6.1/tests/shape_eg_data/CoHI_GCS12.prj0000664000175000017500000000024714600371435016303 00000000000000GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]]shapelib-1.6.1/tests/shape_eg_data/anno.shx0000664000175000017500000000325414656655411015637 00000000000000' Vè ±ÃAà: RA %.A›¼gš³-RA2@v@º@þ@B@†@Ê`.@r@¶@ú@>@‚@Æ@ @N`²@ö@:@~`â@&@j@®@ò@6@z@¾@@F@Š@Î@ ` v` Ú` >` ¢@ æ@ *@ n` ÒP &` ŠP Þ@ "` †@ Ê`.@r@¶@ú@>@‚@Æ@ @N@’`ö@:PŽ@Ò@@Z@ž@â@&`Š@Î@@V`º@þ`b@¦@ê@.@r@¶@ú@>@‚@Æ@ P^`ÂXPrPÆPPnPÂPPjP¾XPnPÂPPjP¾PPfPºPPbP¶P P ^P ²P!P!ZP!®P"P"VP"ªP"þ`#bP#¶P$ P$^P$²P%P%Z`%¾`&"X&~`&â`'FP'šP'îX(JP(ž@(â@)&@)j@)®@)ò@*6@*z@*¾`+"@+f`+Ê@,`,r@,¶@,ú@->@-‚@-Æ@. @.N@.’@.Ö@/@/^@/¢@/æ@0*@0n@0²@0ö@1:@1~@1Â@2@2J@2Ž@2Ò@3@3Z@3ž@3â@4&@4j@4®@4ò@56@5z@5¾@6@6F@6Š@6Î@7@7V@7š@7Þ@8"@8f@8ª@8î@92@9v@9º@9þ@:B@:†@:Ê@;@;R@shapelib-1.6.1/tests/shape_eg_data/mpatch3.shx0000664000175000017500000000745414573117335016245 00000000000000' –è`)54A€RYA ”N4A ¨YAð?@ÿÿÿÿÿÿïÿÿÿÿÿÿÿïÿ2N„š² Pö J lÒößfžåæíòöïì ‚ürý|ÆÿFúDN–¨†2ŠÀ† JN œš:&d rÒHj¶Ö¶5JZ6¨B&xÒ¢zxJ|Æ6~¢¦"…Ì^†.ƇøŒÎ”Ôr–Jœv¢Š¤œ>¦Þ¢¨„ºªB­\&¯†v°ò²öµvµ‚޶з¢¾»dR»º–½T&¿~ĈRÄÞöÆØÇî.Ë jËŽ¦Ì8>ÑzZÒØ^Ö:jÖ¨ "âÎNä æ&þé(2ë^öíX²îÂðÔZò2"õXúùVþüX¾’° & ÚZ8Z–~6v°:î´ò ª†#4R#Šf$ô& j,x®.*6/dº1"Z2€Z3Þþ6à:öJ=DR=š²>PæA:’CкEަF8†HžKdBOªjPVRrSˆzV YR\jz^èZ`F~aÈ"dîÒfÄVi†k¨VnnptRpÊÎsœ®uNvXÒx.º|ìR}B2x¶ˆ2º‰ð>Œ2ªŽà&‘ Þ’ì–NšXF¢ÞŸ„ Ž‚¡~¢–R¢ì ¥ú ©†®’R®èްʱԮ³†N´ØN¶*&¸Tƺ¾@j¾®ZÀ Â*^ÂŒºÄJÞÆ,È2>ÊtþÍvψ’Ó~Ô Ö¦ÆØpnÚâºÜ Þ¾òá´ ðÂÒò˜¶î¨Ò ~ D¢ ê~lІ®ÆÐ–Æ`¾">!dÒ#:f$¤Î'v¢,®-Φ1xN2Ê4Ð&6úº8¸Ò:Ž>¤š?BFBŒ^Bî²F¤²GZHp®J"öL–M¶~O8êQ&öS ®WÒv[LJ]šâa€VcÚBe æh ¦o´>qöŽrˆtŽZuìzê{ü^|^j|Ì„ÞÚ‡¼ÂŠ‚ºŒ@*n‚“ô^”VÖ•0 ˜>†šÈªvºŸ4Ú¢î¦f§nâ«T¢¬úê®èê°Öv´Pž¶òö¸ìƺ¶^¾–¿²Á¸æÇ¢ÆÉlöËfVÐÀ2Òö^ÖX~×Ú Úè*ÜNÝh–߂∆åè,îFzðÄ FüNý`–þú’b öê äú âbHšæž¢>äJ2Bxö#r^#Ôº%’'¤R-úæ0äî4Öf9@¢=æ¢?ŒŠAòDæFú^J\’OòzRpT‚ WÂZV"`|ÒbR®df Úhè¢jŽl ²mVzoÔÊs¢ºu`òxVztV|În@¶úÚ„ØÆ†¢ˆ¨ŽÂB”B˜dœzÚŸXj¢Æ¤Øv¥Rö§Lz©Ê«Ð®°‚n²ôÞ´Öη¨FºòҼȒ¿^æÂHvÅ¢Çh†ÉòjÍ`ÞÏBÞÑ$†Ó®ÖÔˆ FáÒ~ãT¦æþ 6ñ8®òê>õ,æøÒùìÆû¶–ýPjp¢ÂÜ‚ b® z’š0ÞâøÚÖìÖ%ÆÂ(Œî,~ê.lÊ/:~0¼b3"&5L9V¶<ª>¾’GT JbJL°ÆNz¢S ŽS²¢UXfVÂÞX¤ò[šn^ JcZ.fŒÞhnZiÌ"lòÂo¸2qît æyöî}èR>Î„Š…žÎˆp6Œªº‘h>–ªæ™”ö›Ž> ÐR¡&&£P>¨’¾¯T~°ÖвdòµZNº¬–¼F†¾ÐÞÀ²æÜ^Ãþ‚Ç„ÆÌN&ÎxÒÐNÒÕ$~Ö¦~Ø(Ý.^àšä.2ædbèÊ"ëð*óæöê÷öšû”žü6^ü˜þÿšÒpÆ:¾ün nº ,ö &rœâ‚2¸‚>`²6PnÂä6^€ú~Nshapelib-1.6.1/tests/shape_eg_data/CoHI_GCS12.shp0000664000175000017500000003065014600371435016303 00000000000000' ÔèñÿÿßÈdÀ ŽŽßê2@7âÉnæYcÀ—ht±;6@HFaE‚cÀ ŽŽßê2@7âÉnæYcÀRKs+„E4@æ«• ¿ÔcÀBÜÖ¾3@ã¬cÀvo ÀÁ3@Ö¦±½–cÀȳËÇ3@Ú¨N²€cÀæÙ¬ú\Í3@hÚV3€cÀ ÝAìLÑ3@NšEscÀ_Ô|•|Ø3@b™¹@cÀRD†U¼Ù3@þ³æÇß~cÀYéEíÚ3@@¢C`~cÀa‰”fÛ3@8€~ß?~cÀŽ={Ú3@6"~cÀ¨7©0Ú3@`Ç }cÀSž•´âÛ3@nmáy©}cÀÒJ¯ÍÆÞ3@ÍX4}cÀòÿÿÿÿß3@eM}cÀcn…°ã3@YM×Ý|cÀ„Mò#~é3@\Œuœ|cÀËJ“Rì3@ê#ð‡Ÿ|cÀ„Ç~Kí3@:³]¡|cÀì’8+¢î3@þ(ê̽{cÀD¾Dô3@¬Ä<+i{cÀÈ•ìØø3@НvçzcÀ ù†ú3@VíšÖzcÀt]1#¼ù3@š>;àºzcÀOXp?àù3@ iQŸzcÀxSt$—û3@ê›á†zcÀ]Ë+×Ûþ3@dWZFjzcÀú†D¤4@Y¤‰w€zcÀM~Œ 4@I€šZ6{cÀÏÍ©d4@oœæ½{cÀ×׉"4@h®ÓHK|cÀ ÙÎ÷S4@e§ÔÅ|cÀ}"nN%4@Á=þ|cÀ‹M+…44@>]ݱØ|cÀ`Òm‰\<4@;±O€|cÀŽ¡œhWA4@òí]ƒ>|cÀzÿ¬UC4@4I,)÷{cÀ.³ëÞŠD4@ü-N{cÀRKs+„E4@paÝx÷ycÀª~ÞT¤B4@QÛ†QycÀÝå"¾?4@TTýJçxcÀ8dé>4@4@&ŒæwcÀ µ¦y;4@® i‰•wcÀˆn½¦94@¬5”Ú‹wcÀOäõ`64@À´¨OrwcÀÜò‘”44@EÖJítcÀ™¨ÞØ*4@–?ß,tcÀUBwIœ%4@='½oüscÀp ]lZ%4@l³±sscÀíE´S#4@èÛ‚¥:scÀ‹Žg 4@¸#scÀ¨´Éá4@‰îY×èrcÀ¦Û ö[4@˜`rcÀ½:]¥4@ù‚0rcÀ¨©ek!4@÷tuÇâqcÀz"O’®!4@¦¶ÔÁpcÀ¶š®'º4@÷ª•‰pcÀ„™¶4@ØgÎúpcÀ¾¬C94@”¢•ûncÀ‡…$³4@’zOå4ncÀQ¸¬Âf4@Î'…ùlcÀ+×Ûf*4@"ýöuàlcÀ߬§V4@ÅTú glcÀ½ðõµ.4@ýÙ‘jcÀ W@Ü 4@èy’ticÀ‘Çš‘A4@ÖüøK icÀ¡†¨ÂŸ4@¼r½m¦hcÀ`ùé·4@Þp¹µgcÀÛaLú{ý3@­O9&‹fcÀì¹-ø3@ú`:fcÀkˆñšWõ3@ÌoÂecÀõ¼ ó3@S"‰^ÆdcÀàdâVAì3@£w*àždcÀF74e§ë3@æ"¾3dcÀØú>$è3@ÆOãÞüccÀä—ª´å3@7‰A`åccÀÀRb×â3@U¿ÒùpccÀÙÖOÿYß3@ñòt®(ccÀú˜Ü(Þ3@Z‚Œ€ ccÀÉÆƒ-Þ3@ºi3NÃbcÀÊmûÚ3@ †s ³bcÀá;jLˆÙ3@ƒf×½bcÀáòæp­Ö3@üà|êØbcÀÐ EºŸÓ3@I‚pccÀð.ñÐ3@+ÞÈ<òbcÀÔ w¦Ì3@çÑ=ëbcÀ3©¡ ÀÆ3@×]þbcÀ£.È–Å3@äÛ»ýbcÀc—á?ݼ3@“°«ÉbcÀ'Z_º3@xe¨ŠbcÀ…•ÑÈç¹3@ƒû bcÀ§ôMšº3@wºóÄsacÀ¼Ë e½3@&Þž4`cÀdèØA½3@¦`³é_cÀ…8„º3@ uXá–_cÀgn0Ôaµ3@I0e_cÀ¼ÅüÜа3@ ¹RÏ‚_cÀ¥H¾¬3@Ç{_cÀŠ“PúB¤3@Ñ#FÏ-_cÀdËòu¢3@ ÑŠØ^cÀhÎ¥¸ª 3@²GWi^cÀ&8ƒ¿_ 3@R×ÚûT^cÀ&‡ÙΟ3@”ú²´S^cÀeØ(ë7Ÿ3@8é´n^cÀ^žÎ3@ û=±N^cÀÊÂ×ך3@¤#Öâ]cÀK2rö˜3@zßøÚ³]cÀFzQ»—3@~6rÝ”]cÀæ^`V(–3@ÿ‘éÐé\cÀÉ`ŒH’3@\cÀÅ‚‰?ŠŽ3@d?‹¥H[cÀïàC‰–Œ3@2ƇÙËZcÀ·«W‘щ3@ÐѪ–tZcÀ¹z‡Û¡‰3@Ή=´ZcÀÎïmú³‡3@¿cxìçYcÀÅ.ú…3@7âÉnæYcÀÂÏñÑâ„3@ò´üÀUZcÀ\äIÒ5{3@.çR\ÕZcÀV û=±v3@’èeË[cÀ‡‰)p3@¦z2ÿh\cÀP2U0*m3@®€¸]cÀ bÕ Ìe3@ö vÃ6^cÀyé{ Áa3@5Cª(Þ^cÀÎéëùš]3@€›6c_cÀÉ"kY3@të5=¨`cÀß›ß0ÑT3@à†¯ùacÀ‡¼Q3@®ñ™ìŸccÀïÊeJ3@5ï8EGdcÀQul®F3@€ ܺecÀZX9´D3@øŒDh„ecÀz©¼áD3@flèfÿecÀX¢³Ì"D3@j0 ÃGfcÀ¿›§:äB3@BÐѪ–fcÀLÍÊB3@üL‡ÎgcÀÔúÍÄtE3@ÎÜCÂwhcÀW#»Ò2F3@N·ìicÀÕH„+D3@lŽË¸icÀ¯òYžC3@…±… jcÀ9,¾-@3@|eÞªëjcÀýÚúé;3@Ø.m8,kcÀ ‚rÛ¾73@ÝJŠkcÀB'½o|53@»`pÍlcÀ׸ÇÒ33@w0bŸ€lcÀAçQñ33@¨«;[mcÀÌJ>v03@8kð¾ªmcÀš ºö-3@Âü2×mcÀòìò­+3@φü3ƒncÀÕ†Sæ&3@¢~¶æncÀr°ÅnŸ%3@IIC+pcÀSÛMðM#3@->ÀxpcÀô¯å•ë!3@&ßlscpcÀ˜2âÐ 3@JB"mcpcÀ×ÜÑ3@¢);ý pcÀŠÐ³Yõ3@ò'*ÖpcÀX÷Èæª3@?ãÃìpcÀr:;3@Dþ oqcÀ©ƒ¤O3@ÜHÙ¢qcÀð‰ê°Â3@ºOŽÄqcÀ85Ð|Î 3@¤µûÕqcÀe#¯ë 3@fž\S rcÀ/óS3@ý¾srcÀ¦„ y3@8N óžrcÀ¿©H…±3@Ók³±scÀk*ý„³ÿ2@L5³scÀ±ú# û2@aR||BscÀ‰µMñ¸ø2@d[œ¥scÀ0¡lø2@ôÞtcÀ¿ZµkBö2@tcÀ‡Q<¾õ2@ â8ðjtcÀä.Âñ2@ö[;QucÀ62üÁì2@„‹[ucÀ ŽŽßê2@çD‚ÑucÀ83|€/ë2@GÓÆvcÀLŒ-aì2@Ô®<âvcÀö`Z¤î2@Ž.vcÀ‰«bZÇð2@¬‡¾;wcÀMˆò-ø2@P©eoxcÀ£m«Yû2@\¥ËycÀ"9`W“3@¾4E€S{cÀ+ã4D3@>yX¨5|cÀ7˜M€a 3@ªDÙ[J|cÀ@Ø)V 3@B%®c\|cÀÆlIF3@ù• ë|cÀÞD-Í­3@E>}cÀ€vÀuÅ3@¼È|}cÀ¾Ô]Ù3@=œÀtZ}cÀÙbð0í'3@qÆ0'è|cÀžTm7Á73@YúÐõ|cÀ¼Eîéê:3@t°þÏá|cÀIg™E(B3@3Mg§|cÀÙ4Ó½NF3@çüÇ|cÀaœ¿ …L3@ýh8e|cÀîrJ@LV3@…]=p|cÀ€þBY3@½pçÂ|cÀHi6Ã`3@oB@>}cÀH2Çò®f3@Çž=}cÀ õEB[j3@ѯ­Ÿ~}cÀòJY†8n3@œö”œ“}cÀ[®·ÍTp3@à+ºõš}cÀá (Ôw3@Ù?O†}cÀw @†z3@\®~l’}cÀrl={3@ ¥+ØÆ}cÀÅ$\È#|3@ùdÅð}cÀ—ÚR|3@ œl÷}cÀhÇF ^{3@v¦Ðy ~cÀrY¡H{3@(›r~cÀ¢¡c•|3@œnÙ!~~cÀS"}3@øŒDh„~cÀ¤Ü}Ž‚3@Û†Q¼~cÀÞ™—Ãî‹3@ÈCßÝÊ~cÀ¢žwcA3@ª×-ã~cÀ§ž°ÄŽ3@ŒJêcÀQÉV—SŽ3@Á”-cÀ£º€—–3@X«vMcÀ”ÄçN°›3@¶IEcícÀtXá–¤3@†Å¨kí€cÀê1‘Òl¦3@íc¿ cÀã°mQf§3@̱¼«cÀdJ$Ñ˨3@h°cÀ‹€C¨R«3@à€–®à€cÀ+à×H¬3@,µÞï€cÀ)þ(êÌ­3@Q¢%'cÀ®ÿåZ´°3@„ðhãˆcÀîË™í²3@¼X"§cÀóÜBW"´3@úÐõ­cÀã¶}ú·3@FaE‚cÀY{»3@«• ¿ÔcÀBÜÖ¾3@ˆõœô¾ñÈcÀß- øA5@ q¬‹Û´cÀlºóÄs¶5@Ž'ù¿âÈcÀèH„+”5@Éå?$ÈcÀçSÇ*•5@ìfF?ÆcÀñü¢ý•5@> ×£pÅcÀñuàœ•5@žACÿÄcÀ«Ið†4–5@ˆº@jÃcÀ´‹0E¹˜5@ùº ÿiÃcÀü³æÇ_š5@/Ý$ÃcÀç/»'›5@^c@vÃcÀ¿¾D„›5@¥ƒõŽÂcÀÄ•%:Ë 5@îëÀ9#ÂcÀhoð…ɤ5@i"ÂcÀvßÁÿ¦5@ÝFx ÂcÀ¹¯猨5@)í ¾0ÁcÀ$§èH.¯5@–”ÀcÀû«9@0³5@DúíëÀ¿cÀZ‘í|?µ5@xEð¿•¿cÀ‘˜¼f¶5@­¿%ÿ¾cÀlºóÄs¶5@ã3Ù?O¾cÀL^H‡‡°5@6^ºI ¾cÀ•C«5@O@aýcÀßVì/»§5@¡eÝ?–½cÀ ¶Øí³¦5@ö—Ý“‡½cÀJüs×¢5@oŽcÀr_Ρ5@p À?%½cÀß4}vœ5@´€Ñ¼cÀ#„G›5@©¤N@¼cÀ$}ZE“5@t'ؼcÀ2×¢h5@׿ë»cÀÊKÅÆ¼Ž5@ᜥ½»cÀIÁ¨¤N5@„™¶e»cÀ$³z‡5@ qá@H»cÀçÍ<¹Ž5@ qá@ȺcÀ»­»yª‡5@ÁR]À˺cÀ©Å§ƒ5@Ê‹LÀ/»cÀe¸u‚5@¯T³H»cÀ‡sþ5@ c A»cÀŸ<»|w5@kHÜcéºcÀnŠ­ u5@„™¶eºcÀIØ·“t5@2w-!ºcÀÁ¨¤N@s5@ÝFx ºcÀÅm4€·p5@ûËîɹcÀašn5@ œO+¹cÀl#žìfj5@Y˜€ô¸cÀsÖSÆÔj5@òÞVȸcÀl¦?ÀÝk5@Bå)ðµ¸cÀ¥yen5@z8̸cÀ©×^‘%t5@Bå)ðµ¸cÀÎ p‹.u5@¶ÞÈ_w¸cÀ…pŒv5@Ü+†º"¸cÀŽpŒv5@õžUš·cÀ› äÞ†u5@¥^†·j·cÀ©=Ǹt5@­k^ g·cÀY¤âºØq5@!…ÈÖ‹·cÀ#¦‹·cÀÏ"¼ß g5@"ÿݨ-·cÀ†k=j?g5@^ÐHR)·cÀq±Ú>g5@$1 (%·cÀÁ¿°Ü9g5@r¥ ·cÀ Ãë2g5@¶(O·cÀMq6^-g5@îÎV[·cÀ›_ë÷Îf5@þÅ·cÀFIiOHf5@£’:·cÀòAÏfe5@M„ O¯¶cÀ‰Žäòb5@œUŸ«­¶cÀg_Îa5@&䃞ͶcÀ‚~û:p^5@46<½¶cÀ¬ï§Æ[5@ôlV}®¶cÀh"lxZ5@UÁ¨¤N¶cÀè_vOV5@ྜ3¶cÀ Ö4ï8U5@§èH.µcÀª`TR'P5@ q¬‹Û´cÀä6À[P5@+yûUâ´cÀ{ů…O5@¦,Cë´cÀjd;ßOM5@§yÇ):¶cÀ×_vOF5@õJY†8¶cÀ@bX9D5@À}8g¶cÀî$•C5@?ÆÜµ¶cÀHPüC5@©ÐDضcÀB¯”eˆC5@´Yõ¹Ú¶cÀSbX9D5@ûËîÉöcÀƒÀÊ¡E5@†§WʶcÀ<•Ô H5@ q¬‹Û¶cÀK¶óýÔH5@[Ó¼ã·cÀá8EGrI5@‘~û:¸cÀ¶I +G5@®Gáz¸cÀ¾ÚŠýeG5@é·¯ç¸cÀÀt“F5@¥N@a¹cÀÓà “©B5@ïZB>è¹cÀß- øA5@Ü×sFºcÀqV}®¶B5@G”ö_ºcÀˆ…ZÓ¼C5@q¬‹ÛhºcÀo"lxzE5@\±¿ìžºcÀO;ßOG5@EGrù»cÀ ×£p=J5@®Gáz¼cÀT9´ÈvN5@Ÿñ‘㟼cÀ?€ûiÓQ5@æg}[ļcÀ}ÒcãÏS5@áŠIô¼cÀàLU–DT5@R˜Åñg½cÀǺQ5@È×›_½cÀfÒoùSP5@IRì#;½cÀžÚ—œO5@tÃM&½cÀ–ÿÔFN5@¢ÖÏïx¾cÀœ(´×xN5@Qœìnl¾cÀ²+žP5@pý–Ïu¾cÀê,x™Q5@?Qžù¾cÀÀ‹÷ãöS5@·BX%¿cÀ0ܹ0ÒS5@<…\©¿cÀ´¦@fgQ5@X9´ÈÀcÀ§èH.O5@³xllÁcÀª„¤ºVN5@”‡…ZÓÂcÀy $(~L5@©5Í;NÃcÀzz¥,CL5@LÈ=›ÃcÀˆ©‚QIM5@vq àÃcÀ8À[ Q5@R¸…ëÃcÀ;pΈR5@<º•ÃcÀo'ØS5@°ª^~§ÃcÀôzÄT5@Mh’XÒÃcÀpÏó§U5@¥¿—ÂÄcÀ¿ w.ŒT5@œPˆ€CÄcÀ‚~mýô[5@ôlV}ÄcÀ©>W[±_5@à€ÊÄcÀZ(Òýœb5@lë§ÿ,ÅcÀYþµ¼re5@/n£¼ÅcÀãÅm4€g5@¯³!ÿÌÅcÀ_—á?Ýh5@oƒÀÊÅcÀâîW¾k5@ÁUž@ØÅcÀwäCn5@?ªa¿'ÆcÀÄLÛ¿²r5@ð„^’ÆcÀúíyþ´u5@ž'ž³ÇcÀ“Pˆ€Cx5@ú~j¼tÇcÀœ‡…ZÓ|5@™¹ÀeÇcÀØÇ ~†5@#Ûù~jÇcÀ•ŸTûtˆ5@Ö߀ÇcÀ{ñ·=AŠ5@Èa0ÈcÀ`¬6ÿ¯Ž5@õœô¾ñÈcÀ§;Ouà5@ s‚6¹dÀ´}½pß5@%Ì´ý+dÀ»Xmþ_Ý5@ïÇí—dÀë:òÏØ5@Òk³±dÀV˜LŒÒ5@ñ¸¨‘dÀxÏ`ÿÉ5@ˆGâåidÀ¤ý°VÉ5@*ÖT–dÀ¨¤Ü}ŽÇ5@Ù"i7údÀí*¤È5@(¸XQƒdÀ[¦˜ƒ Ë5@%XÎüdÀs¼W­Ð5@K̳’ÖdÀ +TTÙ5@ñÿÿßÈdÀà«5@þÿÿ¢dÀþÿÿ¿‹«5@ñÿÿßbdÀìÿÿßȪ5@ `[dÀ è¥5@”dÀëÿÿß5¥5@ `»dÀ H¦5@ñÿÿßÈdÀà«5@ÎÆ-æçªcÀ_ s‚64@"¢˜¼cÀymS<.:5@>Ä4J¸ÀD‘cÀë!À¨‡4@æOÕi‘cÀ‘HZÖ…4@«Á`º™‘cÀÅP¤0…4@˜~‰xë‘cÀ4 жš…4@„µ1vÂ’cÀöú}ÿ‚4@Vü¦°R“cÀ$ðN>=†4@.ÎR2”cÀãMðMÓƒ4@àµKŽ”cÀ <÷‚4@Í*l¸”cÀ ÿÍ‹ƒ4@¨È!âf•cÀ_ s‚64@7Åã¢Ú•cÀ>n£¼4@~B=}„–cÀ»=ù†4@sôx–cÀå¸oµNˆ4@¶KK–cÀYðO©Š4@P@aÕcÀ^/¢í˜Ž4@ä„ £Ù”cÀ¼w)uÉ4@þÅlɪ“cÀø/‚ÆL–4@Ä‘"‹“cÀ™X‹O˜4@Xà+ºu’cÀ¼è+H›4@É&’cÀŒƒfÚš4@ê]¼·‘cÀûä(@˜4@€0ó‡`‘cÀÞ< g‚”4@þU ®^‘cÀ0ÅÿPÜ’4@NCü©‘cÀ P–‘4@ÿ\›ìÊ‘cÀŽ•ëŠ4@U~S²‘cÀYPˆèŠ4@üO¥9I‘cÀñXeÉäˆ4@4J¸ÀD‘cÀë!À¨‡4@‚SH^žcÀ‘×Jè.½4@sôøžcÀ•ñï3.¼4@°ú# ƒŸcÀ¥¢x•µÁ4@ f/ÛΟcÀ2¶IEcÉ4@íÑV¥ŸcÀÚŠXÄÐ4@ò!¨½ŸcÀŽÆAœÓ4@†…$3 cÀP• •Ù4@V…bY cÀŽ7kð¾Ú4@ÎýÕ㾡cÀn¤l‘à4@9aÂè¡cÀÿí²_wâ4@ÖµÂô¡cÀ8¬Å§ä4@~”¢cÀ5þ}Æ…ç4@Ì™dä¡cÀðïˆ Õé4@Ïù.%¡cÀQ×ÚûTí4@ªýíÑ cÀS·Œõí4@«ýíQ cÀ#:Žî4@úPŒ¬ŸcÀå·àŸî4@5•EaŸcÀÿÉmûí4@¥AÑ<žcÀÐÖÁÁÞì4@\ AñccÀFƒù+ì4@†?ÛµœcÀøë£SWê4@áFÊÉšcÀ™¤N@Ý4@`ÎlWhšcÀб¾ÉÙ4@ tí è™cÀQewÓ4@ŒZaúÞ™cÀðÄåxÒ4@M óç™cÀ÷ï³%Ï4@Àûª\(šcÀ–4LkË4@šÑ†ÓšcÀÔVì/»Ã4@=·Ð›cÀðbaˆœÂ4@LU?›cÀ ´Éá“Â4@"S>Õ›cÀ5B±4Á4@Y™ðK}œcÀ'C9Ñ®¾4@H 1cÀPáR½4@‚SH^žcÀ‘×Jè.½4@„ÛÚÂó’cÀB±ÜÒj5@ë ¯“’cÀšKþ)5@KÂ…<’cÀJF@…#5@N½n˜‘cÀ¦y«®C5@*cC7{‘cÀRÌÏ M5@ÆÇ'dçcÀ©y9ì¾÷4@š&l?™cÀä»”ºdô4@'ÅÇ'dcÀÎV ‡ó4@‡¥UcÀˆHM»ð4@Ò†ÃÒ@cÀE`Lð4@0 {½ûcÀ ˜2p@ï4@tFÞcÀ9†U¼‘í4@vª|ÏÈcÀºÆg²ê4@z’tÍdcÀÃL¢^ðå4@°ˆa‡1cÀ‰Äv÷å4@¢ †cÀ3¦`é4@9 {ZŒcÀ¡œ{hë4@¶¿³=ú‹cÀ?ÿ=xí4@·UÝ‹cÀ/þDeÃî4@ò>ŽæH‹cÀÿ‚ñ4@^›‹cÀ[ zo ñ4@rÉq§ôŠcÀš‹jQð4@°QÖo¦ŠcÀœLŒJò4@ àfñbŠcÀÈ.5B?ó4@°læÔ‰cÀæ©ÕWWñ4@Šù¹¡)‰cÀîbaˆœò4@gÓÀ͈cÀ´‹÷ãöï4@' __kˆcÀä25 Þð4@f´ÇcÀ-ò²&ð4@*„cÀÁÉÄ­‚Ü4@)wŸã#„cÀB臭öØ4@ã´ƒcÀ¬ò’ÿÉÓ4@zR&54ƒcÀ¹«µÔ4@ðƒó©ã‚cÀQu:õÔ4@/†ÈécÀ“¨ŒÏ4@: æ¯cÀi¹5éÎ4@«$ï€cÀó~MÖ¨Ë4@ã“N$€cÀ«ßLLÊ4@ñH¼<cÀä£ÌÆ4@"¢˜¼cÀÏ+žzÄ4@Ë`ŒH”cÀd.2Â4@´Ø€ˆcÀ6׆¾4@ÐBF—cÀVC7û¹4@éÛ‚¥ºcÀܨN²¶4@þš¬Q€cÀ̃‚R´²4@ g³ês€cÀ}>ʈ¯4@cP3¤€cÀX@ÜÕ¯4@€½Â‚û€cÀ,µ®4@v5yJcÀ¿eøO7¬4@ºÀå±fcÀ y7ª4@£uTµcÀyùƒ§4@ÑšécÀ[ì¦4@Fñ*k›‚cÀ…í è…§4@ ýÜ‚cÀªÕWW¦4@ÎIï߃cÀC÷.9¢4@ºÙ(„cÀÐ|êX¥ 4@©0¶„cÀ9ŸÈ“¤Ÿ4@šlw „cÀP¨§ÀŸ4@çÁ½„cÀ*þïˆ ¡4@¶¶F…cÀFI0¡4@¶¢Íqn…cÀS⬈š 4@` zoŒ…cÀoÅŸ4@ùüáç…cÀv«®C5¡4@ûPŒ,†cÀ{ ùœ»¡4@7ünº†cÀvò>Žæ 4@z‘ ø5‡cÀÄ^ïþxŸ4@¤ƒõއcÀ“ø1æ®4@:ÊÁl‚ˆcÀDS¯[š4@܈'»‰cÀÎtp³˜4@6á^™7‰cÀG@0G—4@,œ¤ùc‰cÀäp‘{º–4@X"§¯‰cÀ³ò=#–4@ΧŽUŠcÀ´0™–4@]¯éAA‹cÀ®»yªC–4@ò)‚‹cÀ9Öqü”4@èÙ¬úÜ‹cÀ°;ˆ)”4@~Í‘ŒcÀ˜¸Ê”4@P}>JcÀ÷7…• –4@|Ê1Y\cÀ ‰ jø–4@,.ŽÊMcÀŸb€D˜4@¥)œ^cÀ0´:9C™4@“þ^ŠcÀ¶›nÙ!š4@™°È¯cÀu­½O™4@Û:åÑcÀÑTOæ™4@ÒÁú?ŽcÀà¼8ñ™4@P°ÿ:7ŽcÀ»åx¢›4@ý,ŽcÀHéÒ¿$4@]¥»kŽcÀ=qh¤4@ro~ÃDŽcÀF6¦4@É#¸‘2ŽcÀA–¯Ëð§4@ðäÓc[ŽcÀE7mÆi´4@h>çnŽcÀçBV¸¹4@´°§~ŽcÀ„ýôŸ5»4@Ì'+†«ŽcÀ†¿_Ì–¼4@̼¯ÊŽcÀàÀŽÿÁ4@^ÛÛ-ÉŽcÀ|ÖŠ6ÇÅ4@ž´pÙŽcÀÈ\TÈ4@Ô~k'cÀ²7ünÊ4@ºðƒó©cÀ Øñ_Ì4@xþÓ cÀÒý¹hÈÌ4@žp]1cÀ³\o›©Ì4@Ô]ÙƒcÀ __ëRË4@Ê °ÎcÀ»“âãÇ4@x«®C5‘cÀàñ&¿EÇ4@ãù ¨7”cÀÑ*ÞÈ<Ò4@„~¦^·•cÀ¶ÓdÆÛÞ4@¥^· –cÀ¦Ö߀ã4@ÜÁˆ}–cÀ«äÕ9ä4@˜jf-–cÀŒJêè4@œ{h–cÀò÷ª•é4@Š´?Q–cÀâß—ê4@†™¶e–cÀÿ–W®ë4@rº,&6–cÀR£æ«äó4@ÛUHùÉ•cÀø‚Osòú4@ø äK•cÀNN{JÎ5@A‰Ïà”cÀ8ÜGnM5@~ŠãÀ«”cÀŠXİ5@z”cÀg”†5@3Å”cÀôN>=¶5@b.ä‘”cÀåìò­5@!‡ˆ›Ó“cÀ»*q5@L˜0š•“cÀì£SW5@ÖÀV –“cÀW]û5@ôò;Mf“cÀ3î°‰Ì5@„ÛÚÂó’cÀB±ÜÒj5@æÛ‚¥º§cÀ n¤l‘85@øª• ?§cÀÚN ^85@?Â0`ɦcÀä®ÐË85@ˆÙÎw¦cÀüêé#85@2oÕu(¦cÀã5=((55@˜UØ ð¥cÀþ)U¢45@PãÞü¥cÀaêwa35@ ×£p½¤cÀðÕ9d35@ÍcÍÈ ¤cÀ>¤ü¤Ú35@É‘E¤cÀ[‰²·”35@ôƒºH¡£cÀ> +‡25@›”"£cÀ07ê°25@ëI`s¢cÀ_uäHg05@Œ~4œ²¡cÀ0ý .R05@ö$°9‡¡cÀ_gEÔ05@{(Ñ’G¡cÀƒ‡iß05@F/7w cÀG†9'}/5@€%W±øŸcÀ¥ ¦.5@ô½†à¸ŸcÀ»W•}/5@!£Ë›ŸcÀpÙ=y05@ŒN–ZoŸcÀ ,î?255@Ü‚¥º€ŸcÀ‚S°Æ55@÷F­0}ŸcÀÇF®›R65@¢>+ŸcÀöÐï75@cw’ŸcÀ¹¤Ü}Ž75@¨ƒ¤ÏžcÀ»w›7N65@qãósžcÀ·âÅÂ15@ÎæmžcÀ•Ÿ;Á.5@:=ïFžcÀSNBé -5@þr¤IbcÀ¡°[+5@†a‡1éœcÀ*­£ª *5@Àƒf×½œcÀ(9 {*5@Þ^Ò­œcÀP­…Yh+5@ìÔ\n°œcÀÐÒ,5@MØ~2Æ›cÀ·‰“û*5@h’XRîšcÀé%Æ2ý*5@–ä€]MšcÀ ×1®¸,5@à@H°˜cÀú‹ô.5@zâ9[À—cÀéW\-5@y N} —cÀ B²€ ,5@>•Óž’—cÀYà¹÷p)5@iæÉ5—cÀbt@ö)5@®×gΖcÀ\Äé$[)5@¨ÅàaÚ–cÀj5Ïù&5@$ÚŽ©;—cÀkLOXâ!5@°Ý=@÷—cÀ’X¨5Í5@€[wóÔ˜cÀÈéëù5@ôEB[N™cÀŠŠª_é5@n’æi™cÀÜ*Ý]g5@Ê52»šcÀãßg\85@JA·—´›cÀ­Ü Ì5@’#œcÀW±¿ìž 5@ˆyVÒŠœcÀCëáËD 5@ˆKŽ;¥œcÀÆG5@\RµÝ„žcÀÄñîÈX5@¾0™* cÀgXøQ5@]ÄwbÖ cÀÚá¯É5@`<ƒ¡cÀ¥Ü¶ïQ5@p¤l‘4¡cÀªtw 5@é3 ÞŒ¢cÀ¦Å§5@|}­K £cÀ=š±h:5@þÿÿÿÿ£cÀË‘\þC5@©i—¤cÀN¿ïß¼5@ƈD!¨cÀ+ü‹ 15@%Ί¨‰©cÀ.mqÏ5@Æ-æçªcÀsczÂ5@lŒð’©cÀÉË»ê!5@7ã4D•©cÀ ,Ï"5@HM»˜f©cÀþ>”h%5@ôWÈ\©cÀºÇµ¡b(5@7†àبcÀd†8ÖÅ)5@àÓœ¼È¨cÀ;Ū)5@Ü›ß0Q¨cÀR㥛Ä,5@æ}“&¨cÀŒGT¨n.5@$Õ?¨cÀ'ó:â05@æoB!¨cÀ†b.55@SÆ¿Ï8¨cÀXäIÒ575@î Û]¨cÀfœ¡¸75@ŒÐÏÔk¨cÀ½‘"‹85@ Ž’W¨cÀë:7mÆ95@XiR :¨cÀymS<.:5@æÛ‚¥º§cÀ n¤l‘85@shapelib-1.6.1/tests/shape_eg_data/mpatch3.shp0000664000175000017500000303764014573117335016240 00000000000000' Ðè`)54A€RYA ”N4A ¨YAð?@ÿÿÿÿÿÿïÿÿÿÿÿÿÿïÿN 54A€YA@ÿ84A ¨YA™ 64A€¨YAà64AÀ¤YA64Aà¡YA@#64A€žYA 164A ›YAE64A€™YAàT64Aà–YA e64AÀ”YAÀx64AàYAà†64A`YA€‡64AYA ‹64A ŠYAÀŽ64Aà†YAàš64AÀYAÀœ64AÀ|YA ›64AÀyYAÀ¢64A€uYA€£64A@rYAÀ¥64A lYAà¦64A gYAà¨64A`YAÎ64AVYAÀå64AÀRYAàú64A`QYA 74AÀMYA@)74A€LYAàE74AàHYA@^74AEYA`o74A€CYAž74AKYAÀ¿74A OYA Ý74ARYA ð74A@SYA€ý74AÀRYA84A`QYA 84AHYA 84A€QYA984A`JYA@`84A@EYA`o84A@BYA ‰84A@=YA`©84A9YAÀÄ84A4YAÝ84A /YAàè84A ,YA ñ84A@)YA€û84A%YA@ü84A $YA€þ84A !YA@ÿ84A YAý84A YA õ84AàYA ò84A`YA€æ84AYAÀÕ84A  YA ¿84A  YA@³84AàYA §84A@YA@•84AYAÀ{84AÀYAÀ]84A€YA :84A€YA 884AàYA€ª74AYA`˜74A€YA€ˆ74AÀYA w74A YAàa74A`YA€W74A YAU74A YAÀS74A YA S74AÀ YAT74AàYA@U74AÀYAàX74AÀþYA@]74A@úYAa74A@öYA@c74AàòYA _74A`îYA€P74A@ëYA@F74AàèYAà=74A`çYA€674A€æYAÀ+74AÀäYA@&74A@âYAà%74AàÝYAÀ.74A ØYA 674A€ÓYAA74A ÏYA@I74A ÊYA`S74A ÆYA€^74AÀÃYA`m74Aà¿YA€x74Aà¼YAÀ†74A ¹YAàˆ74A ¸YA ‘74AÀ³YA`™74AÀ®YA@‘74A`«YA ‹74A@¥YA‚74A ŸYA€s74A@›YA i74A@˜YA ]74A@”YA Q74AÀYA@P74AÀŽYA Q74A†YA`\74A €YAc74AÀ~YAÀu74A@zYA ƒ74A vYA`’74A@qYA`Ÿ74A lYA@74A€jYAÀ”74A@hYA‹74AàaYA |74A \YA k74AUYA Q74A KYA@A74A BYAÀ674AÀ8YA ;74A`.YAà374A YA`74A€YA@ 74AYA`74A@YA ÿ64A  YA û64A`#YA@ø64A€%YA`ò64A`'YA å64A *YAÀÚ64A€+YA`Ó64A -YAÀÑ64A@0YA Ç64A€2YA Â64A€3YAà¸64AÀ5YA€¦64A@8YAÀ’64AÀ8YA Š64A 6YA „64A€3YA€v64A€1YAàb64A€/YAÀN64A€.YA =64A@.YAà%64Aà-YA64A-YA@ß54A +YA Æ54A -YAà”54A`0YA 54A 0YA@Þ54A ¨YA 64A€¨YA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 64AYA`Ä64A€¨YA 64A€¨YAà¡64A¨YA@¥64A@¥YA «64A ŸYA€·64A@™YA À64A€”YA`Ä64A ’YA€À64A€‘YA€¥64A ŽYA€‡64AYAà†64A`YAÀx64AàYA e64AÀ”YAàT64Aà–YAE64A€™YA 164A ›YA@#64A€žYA64Aà¡YAà64AÀ¤YA 64A€¨YA@@@@@@@@@@@@@@@@@@@@@@²à¡64A ’YA '74A¨YA à¡64A¨YA '74A€§YA@74A€£YA€ü64A`›YA ë64Aà—YA`Õ64AÀ”YA`Ä64A ’YA À64A€”YA€·64A@™YA «64A ŸYA@¥64A@¥YAà¡64A¨YA@@@@@@@@@@@@@@ö`Ä64AzYA`¿74A€§YA' '74A€§YA 74A@§YA`74AÀ¦YAƒ74A¡YAŽ74A šYA Ÿ74A@“YAÀ£74AÀYA°74A ‹YA`¿74AÀ‡YA€³74A †YAÀ£74AàƒYA`Ž74A@YAÀ‡74A €YAÀ„74AYAx74A„YA@n74A@†YA`Z74A`‰YAàK74AÀ‹YAÀ?74AŽYA`)74A`YAà74AàYAà74A YAÀ74A YA` 74A ŠYA 74A`…YA 74A ‚YA@74AÀ|YAÀ 74AzYA ý64A|YAè64A@YAÝ64A …YA Î64AÀ‹YAÀÈ64A`YA`Ä64A ’YA`Õ64AÀ”YA ë64Aà—YA€ü64A`›YA@74A€£YA '74A€§YA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 74AÀ‡YA O84A@§YA 74A@§YA@F84A ¦YAàJ84A`žYAI84A@—YAH84AàYA O84A@YA€H84AÀYA .84AYA84A`YAø74A`ŒYA@ç74Aà‹YA€Ô74A@ŠYA€Æ74AÀˆYA`¿74AÀ‡YA°74A ‹YAÀ£74AÀYA Ÿ74A@“YAŽ74A šYAƒ74A¡YA`74AÀ¦YA 74A@§YA@@@@@@@@@@@@@@@@@@@@@@@Òö 054A€RYA`ŽG4A ¦YAyžÀ[†¿åWvø#ˆ@F84A ¦YAP@4A ŸYA O@4A žYA€L@4A€YA€E@4A@›YAÀ;@4A —YAà1@4A`“YA`(@4A`YA@!@4A YA @4Aà‰YA€@4A‡YA€@4A ‚YAà@4A€€YA@4A`}YA@'@4A zYA@3@4AxYAD@4AàtYA`R@4A@rYAàl@4A@mYAàu@4A kYA@}@4A iYA€Œ@4A`cYA –@4A _YAàž@4A [YAà¥@4A WYA®@4AàQYA`·@4A€KYA ¼@4A€HYA¿@4A€DYA À@4A€>YA`Á@4A€8YA@Á@4A5YA€Â@4A1YAÀÃ@4A ,YA Ä@4A +YA`Ã@4A(YAÀÂ@4Aà%YA@À@4AÀ"YA Å@4A YAàÅ@4A YA ¸@4AàYA`²@4A@YA€¨@4A@YAà¢@4AÀYA •@4AYA@Š@4AYA †@4A€YA |@4AàYA u@4A`YA@j@4A YA ^@4AYAP@4AàYA M@4A@YA G@4A YA`A@4AàYA`:@4A`YA`0@4AÀYA &@4A YA @4AÀYA€@4AàYA@ @4A YA @4AàYA ú?4AàYA õ?4A YA ï?4A YA í?4AàYA@æ?4A YA€ß?4A !YAàØ?4AÀ#YA Í?4A &YA€Ã?4A 'YA¾?4A@'YA «?4A'YA§?4A€$YA`¢?4A`YAà ?4A YA¡?4A`YA Ÿ?4A YA ?4A  YAÀ›?4A YA€—?4AÀYA`”?4A YAàŠ?4AàYAÀ„?4AÀ YA@y?4A€ YA€r?4A@ YA€b?4AàYA ^?4A€YA Z?4AYAàT?4A`YA€P?4AYAÀP?4A€YA`S?4A€YAU?4A !YAàZ?4A %YA@\?4A(YA [?4A +YA]?4A€0YA@\?4A€3YAÀ[?4Aà7YA`\?4A :YA@b?4A>YA@i?4A @YA }?4A`BYA`Ž?4A€BYA š?4A€AYA³?4A€?YA Ç?4A€=YAàÙ?4A<YA@ì?4A@9YAÀø?4A@8YA@ý?4A`7YAÀ@4A€5YAÀ@4A 3YA€+@4A€1YA <@4A`1YA`M@4A@3YA`^@4A`7YA@j@4A`:YA@a@4A@?YA W@4AÀBYAK@4A@EYA:@4A GYA)@4AIYAÀ@4A`KYA` @4A€LYAà@4A@NYA€ð?4ARYAÀæ?4A TYAÀ×?4AÀWYA€Ï?4A€YYA`Ä?4A€\YA½?4A ^YA`²?4A`cYAà¥?4A`jYA@¡?4AÀpYA@ ?4AsYA`ž?4AÀwYAàœ?4A{YAÀ–?4AYA@Š?4Aà‚YAÀ?4A@…YA t?4A@†YAd?4A€…YA Z?4AÀ„YA`P?4AÀƒYAà9?4A€YAà+?4A@{YAÀ ?4A€uYAà?4AàqYA`?4A mYA€?4A iYA€ü>4A@eYA`ö>4AàbYA@ï>4A `YA ê>4A ^YA@Ú>4A@YYAÏ>4A UYA È>4AÀRYA@Â>4A`PYA€²>4A€MYAÀ¤>4AÀIYA€—>4AÀGYA€Š>4AàFYA@ƒ>4A`FYAàr>4A EYAf>4A`AYA _>4A€?YAÀT>4AÀ<YA€H>4A`;YA€<>4A`;YA *>4A =YA` >4Aà?YA€>4A BYA` >4A@FYA@>4A@IYA@>4A@KYA>4AKYA >4A€HYAÀò=4AEYA€è=4A BYA€Û=4A`>YA Õ=4A€;YA Î=4A8YA@Æ=4AÀ3YA¿=4A 0YA`¹=4A@-YA ³=4Aà*YA€°=4Aà&YA ª=4A "YA§=4A YA`§=4A YA °=4A€YAà¶=4AYA`À=4A YAàÊ=4A€YA€Ý=4A@üYA ë=4A@öYAÀó=4AàòYAà>4A@ñYA@>4A ïYA >4A@íYA`,>4AÀêYA=>4A€çYA`M>4AãYAà[>4A€àYA}>4AÀÙYA ƒ>4A€ØYA`‹>4A×YA ˜>4AÀÓYA€¥>4A€ÐYAÀ°>4AÀÍYAÀ>4A@ÈYAË>4AÀÄYAÀÓ>4AÂYA@á>4AÀ»YAê>4A ¶YAí>4A@²YA`î>4A@±YA`ô>4A­YAÀý>4A`¬YA ?4A`¬YA@?4A ­YA€?4A@­YA€?4A`°YA,?4AàµYA7?4AºYA P?4A ÂYAÀZ?4A€ÆYA`a?4A€ÇYAÀd?4A ÈYAŽ?4A ÊYA «?4A€ÉYAàÂ?4AÀÈYAÜ?4A€ÇYA@÷?4A ÈYA@4A ÊYA @4AÀÍYA@4AÀÑYA@4A ÔYAà@4A€ÕYA '@4A ÔYA <@4A ÔYA R@4A ÔYAo@4A@ÕYA Š@4AÀÔYAš@4A€ÕYA«@4AÀÖYA ¸@4AàÖYAÆ@4A@ÖYAÀâ@4A`ÕYA õ@4AÓYA€ÿ@4A@ÑYA A4A`ÏYAÀA4AÀËYAÀ%A4A@ÈYA`.A4A ÄYAà1A4AÃYA 5A4A`¿YA:A4AÀ½YAàMA4A ºYA WA4AÀ¹YA`eA4A€¹YA nA4A`¹YA`qA4A€¹YA@}A4A€¹YA`|A4A ¸YA`A4A ¸YA€†A4A µYA †A4A ³YA „A4A€¯YA€„A4AàªYA`†A4A ©YA A4A ¤YA€‘A4A YA“A4AÀœYA`•A4A€™YA šA4A •YA  A4A`‘YA ¢A4A YA ªA4Aà‰YA€¬A4A@…YAµA4A`YA¹A4A ~YA@ÀA4AÀxYA€ÇA4A`sYA ÉA4A`mYAàÈA4A€lYA`ÊA4A iYAÀÈA4A@fYA€ÉA4AàbYAÀÈA4A@`YA`½A4A@_YAÀºA4A _YAÀ³A4Aà^YA ªA4Aà^YAÀœA4A€_YAà”A4Aà_YA@ˆA4A`YA‚A4A`]YA~A4A@ZYA@}A4AÀWYA`{A4AÀSYAà|A4A`PYA ~A4A NYA ƒA4AÀKYA@ŽA4AGYAÀ—A4ADYA  A4A@AYA ªA4A€?YA µA4A€=YA ÁA4A <YAàÇA4A <YAÀÔA4A:YAãA4AÀ6YA éA4A`4YA@êA4Aà3YA ëA4A3YA ìA4A@.YA€êA4A@,YA€âA4A)YA`ßA4A &YA ÝA4A #YAÀÛA4Aà!YAÀáA4A YAÀëA4AYA ùA4A€YAÀB4A€YAÀ B4A`YA@B4A`YA`$B4A@YA2B4AàYAà;B4A!YA HB4Aà!YAVB4A`#YAàiB4A&YAÀrB4A &YAzB4Aà&YA ~B4A 'YAà…B4AÀ(YA B4Aà)YAà‘B4A ,YAÀšB4A`0YA`›B4A`5YAšB4A`9YA ”B4A>YA`‘B4AÀBYA€’B4AÀFYAÀ–B4AÀHYAÀšB4AÀJYAžB4AàMYAÀžB4AàPYA¢B4A TYA@¢B4AÀWYA ŸB4A ZYAB4A\YA@“B4A`^YAà‰B4Aà^YA ‚B4Aà^YA eB4A``YA XB4A `YA NB4AÀ`YAà>B4A aYA 3B4Aà`YAà.B4AÀ`YA B4Aà`YA B4A`bYA`B4A€dYAB4A@gYA€B4A€jYAàB4A@nYA B4ArYAB4A vYA€B4A€{YA@ B4A }YAàB4A€YAÀB4A@…YAB4AÀ‡YA€)B4A ‹YAà1B4AÀŒYA 7B4A YA€@B4A YA JB4A ŽYA`TB4AÀYA ^B4A “YAÀiB4A@–YA€pB4A€—YA`€B4A@šYAÀ‡B4A@›YA ’B4A@›YAàžB4A šYA ¢B4A`šYAÀ®B4A ˜YAÀµB4A@—YAà¼B4A —YAÀÉB4Aà—YA`ÕB4A€™YAÀâB4AÀ›YAîB4A ŸYA õB4A¢YA úB4Aà¤YA€ÿB4A`¨YA  C4A€ªYAÀ C4A`ªYA€C4A@ªYA€C4AªYAÀ'C4AÀ©YA`*C4AÀ©YAà5C4A©YA YA qC4AàBYA rC4A FYAÀxC4A€JYA ƒC4AÀJYA C4A@JYAà•C4A`CYA`›C4A=YA©C4AÀ7YA°C4Aà6YA€µC4AÀ6YA¿C4A€<YA ÇC4AÀ>YA@ÐC4A€AYA ÜC4AàEYAåC4A€GYA íC4A HYAàñC4AàGYA D4A EYA D4A@BYA D4A`>YA +D4AÀ;YA`G4A ŒYA UG4A ‰YAàmG4A „YA G4AYA`ŽG4AÀ~YA†G4A yYAG4A vYA mG4AàrYAeG4A rYATG4A@qYA JG4A`mYAEG4AiYA CG4AdYA`CG4Aà_YA CG4A YYAàBG4A`UYAÀ;G4AÀRYA@,G4A@QYAà G4A@PYA€G4AàMYAàG4AÀNYA G4A QYA@ïF4A@UYA@ÛF4AàWYAÈF4A`ZYAà²F4AÀ[YA`¬F4A`\YA`§F4A]YA€F4A`^YA`yF4AaYAÀtF4A@aYA cF4A€bYAàSF4A`cYA ?F4AcYAà2F4AàaYA`*F4A@]YA@'F4A`WYA (F4ARYA)F4A OYA.F4AJYAà3F4A@EYA`CF4A @YAàKF4Aà?YAÀaF4A@>YA`xF4A <YA@F4Aà;YA ŠF4A :YA ˜F4A 9YA ¦F4A 6YA«F4Aà5YAµF4A4YAÀÀF4A 0YA ÌF4A@-YAàÓF4A€*YA`ÛF4Aà%YA@ßF4AÀ"YA àF4AÀ!YAàâF4A YA€çF4AÀYAàèF4A€YAàâF4A@YAÝF4A`YA ÑF4A€YA ËF4A YA€ÀF4A YA ·F4A€YA€¢F4AYAÀF4AàYA@F4A`YAÀtF4A@YAàpF4AÀYAÀbF4A`YAàVF4AYA LF4A`YAÀAF4A`YA`8F4AYAà*F4A@YA #F4AÀYA€F4AYA F4A YA üE4A YA`ôE4AàYAÀëE4AYA æE4AYAÀßE4A YA ÓE4A@YA ËE4A@YA@¾E4Aà YA`³E4Aà YAà­E4A@ YAÀ¬E4A YAÀ¨E4AYA@¦E4A€þYA€¬E4A`ûYA ³E4AàúYA ¾E4A úYA ¹E4AÀùYA`±E4A€øYA€¬E4A@õYAÀ E4A ïYAàE4A`îYA`E4A@èYAà‰E4AåYAE4AÀáYA@pE4A`ÞYAiE4AÞYA€[E4A`ÛYA@RE4A@ÙYA AE4Aà×YA5E4A@×YA,E4A`ÖYA #E4AÀÕYAE4A ÕYAàE4AÀÔYAàúD4A`ÔYA@ëD4A ÒYA ÜD4A ÑYA ÇD4A€ÎYAÀ¹D4AÌYA ¶D4A€ÊYA€±D4AÀÇYA ®D4A@ÆYA §D4AÄYA€¢D4AÀÂYA›D4A€ÁYAà’D4A ÀYA ‹D4A`ÀYAà‚D4A€ÀYA@~D4AÁYA xD4A€ÃYAÀrD4A ÅYA@hD4AÈYAÀcD4AÉYA `D4A@ÉYA TD4AàËYAàID4A€ÍYA :D4A ÎYA (D4A@ÎYA€ D4A ÍYA D4AÀËYAD4A ÌYAÀD4A€ÎYAD4A`ÏYAÀD4A ÐYA üC4A@ÔYA÷C4A ÙYA@òC4AÀÛYA`éC4A@ÞYA`×C4A âYA€ÆC4A èYA ¾C4AëYA ´C4A€ðYA«C4A@õYA`¦C4AÀøYA`œC4A üYA`‰C4A`YAàwC4A@YA@aC4AàYA€NC4AYA€>C4AÀYA`5C4A€YA A4A\YADA4A`_YA IA4AàbYA€GA4A fYA€BA4AÀhYA`5A4A`jYAà'A4A@jYAàA4AàiYAàA4A kYA€A4A@oYAàA4A rYA A4A vYA@A4AyYA`(A4A~YA3A4AàYA`7A4A`†YA`8A4A@ŠYA€7A4AàŒYA 6A4A@YA?A4AàYA DA4A`‘YA@KA4A’YAà]A4A€“YA€iA4A •YAnA4A—YAàA4A`˜YA`’A4A –YA@¢A4A“YA°A4AàYA`¸A4AÀ‰YA@ÄA4A`†YA ÑA4AÀƒYA`âA4A€YA ùA4A {YA B4AÀxYA`B4AàvYA &B4AvYA`eB4AÀoYA`ƒB4AÀnYA`•B4A pYA «B4A tYA µB4A{YA½B4AÀ~YA@ÍB4Aà‚YA ØB4AˆYAÀÚB4A€ŽYA@ÕB4AYA ÄB4A`YA@²B4Aà‹YA B4A€ŒYAà…B4AàŒYA@qB4A YA ^B4A@YA@?B4AÀYA@&B4A@YA B4A`‘YA€B4A“YAàA4A —YA ÏA4A šYA ÂA4AÀ£YA€ÄA4A ªYA€ÊA4A ¯YA ÓA4A€·YA@×A4Aà½YA ÙA4AàÃYA`ÝA4AàËYA@áA4A€ÔYA@ãA4A ÛYA äA4A áYAâA4A éYA ÕA4A`ðYA@ÍA4A ôYA€ÀA4A ÷YA ®A4A`úYAà‡A4AYA oA4A€YA VA4A`YA=A4AYA(A4AÀYAàA4AàYA ø@4A@ YAàá@4A@ YAÀÈ@4A  YAÀ¾@4AÀYA@»@4A€YA ´@4A YA@¨@4AàYA€¢@4A@ YA`@4Aà!YA€@4A@&YA@m@4A€)YA^@4A,YA€J@4A 0YAà6@4A4YA $@4A€8YA @4AÀ<YAÀü?4A @YA ×?4AÀFYAÂ?4A IYA€«?4AÀKYA@”?4A NYA€q?4AÀQYA`\?4A`SYAÀB?4A UYAÀ+?4A@VYA ?4A@VYA ÿ>4A SYAÀ÷>4A@OYA€ÿ>4A€HYA€ú>4A GYA ÷>4AÀFYAàí>4A`EYA ç>4A CYA`ä>4A€BYA€Ý>4A€@YA@×>4A@>YAàÒ>4A€<YAÀÌ>4A`:YA@É>4A@9YAàÃ>4A7YAÀÁ>4A`6YA ¾>4A€5YA ¼>4AÀ4YAÀ¶>4Aà2YA ¬>4A@3YA Ÿ>4A€3YA˜>4Aà3YAÀ‘>4A`4YA@…>4A5YA@z>4AÀ5YAÀt>4A 6YA€h>4A 7YA e>4Aà7YAd>4AÀ8YA[>4Aà:YAY>4A <YA V>4A ?YAÀY>4AàAYAÀ\>4A@DYA@a>4A@FYA g>4A HYA i>4AÀHYAÀp>4A JYAÀ>4A NYAÀƒ>4AÀRYA`…>4A YYAà„>4Aà\YAÀ|>4A bYA t>4A€gYA@h>4AàkYA \>4A€nYA K>4A pYA D>4A@pYA@?>4A`pYA->4A€pYA >4AànYA€>4AàlYA@ý=4A jYAÀë=4AÀgYA`ß=4AfYAàÑ=4A@cYA€Ë=4A@`YA É=4A€_YA`Ä=4AÀ]YA ¾=4A [YAà·=4A€XYA€µ=4A€RYA€³=4A@QYA °=4APYAà£=4A RYA •=4A€UYA †=4AYYAà|=4A [YAàp=4Aà]YAÀd=4A `YA@P=4Aà`YA D=4A``YA@9=4A`[YA@7=4A YYA2=4AUYA@+=4AÀPYA` =4AÀKYA@=4AÀIYA€=4AGYA@=4A EYAÀ=4A`EYA€%=4A AYA 1=4A@YA`==4A€>YA S=4A`<YA@c=4A@:YAo=4A@9YA €=4A@2YA =4A@-YA |=4A(YAÀy=4A@ YAy=4A`YA`w=4A`YA@|=4A@ YA`=4A`YA@‹=4AÀYA¤=4AÀYA@¶=4A YAÍ=4A`YA ß=4A YA ê=4AÀ YA€ó=4A YAø=4AYA€ú=4A€%YA ú=4AÀ(YA>4A (YAÀ>4A€'YA` >4A`%YA>4Aà#YA>4Aà!YA >4A` YA>4A@YA '>4AÀYAÀ.>4A YAÀ6>4A YA`@>4AàYAàE>4AàYAÀG>4Aà YA E>4A YAB>4A`YA@>4A YA@;>4AYA`8>4AYA€5>4A ÿYAà7>4A€üYA€7>4AàúYA@6>4A ùYAÀ6>4Aà÷YA6>4A€õYA 7>4A€óYA€7>4A òYA@8>4AÀîYA8>4A@ëYA8>4A@èYA@7>4A€åYA`;>4AæYA€D>4A`çYAI>4AàèYA S>4A ëYA Y>4AíYAf>4A ðYA m>4AòYAà|>4A€õYA`Š>4A øYA Ÿ>4A`ûYA ®>4AàýYA Á>4A€YA Ë>4AàYA@Þ>4A YA@æ>4A`YA@ù>4AàYA ?4A`YA ?4AYA@0?4A€YAà3?4A YAB?4A YA T?4A`YA [?4A YA@j?4Aà YAÀs?4A` YAy?4A@YAà?4A YAÀ?4AYA Œ?4A`YA •?4A@YA ›?4AÀYA¢?4AàYAà«?4AYA °?4A`YA µ?4A@YA€À?4A`YAÀÇ?4AÀYA Õ?4A@YA Ú?4AàYA`à?4A`YAàè?4AàYA€ñ?4A@YAþ?4A€YAÀ@4A`YA@ @4A€YA @4AYA @4A YAÀ@4AÀYAà4@4A`YAÀ8@4A YA€<@4Aà YAÀM@4A YA@R@4A YA Z@4A€YAà]@4AYA€e@4A€YA n@4A YA q@4A`YA@w@4A€YA€w@4A ÿYA€v@4AÀûYA u@4AÀöYA t@4A@óYA`m@4AÀîYA`f@4A éYA]@4AäYAÀV@4A€ÞYA€R@4A ÚYAL@4A ×YA`F@4A ÔYAÀ?@4A@ÐYA :@4AÀÏYAà@4AÀÏYAàâ?4A@ËYA€Ð?4AÈYAÉ?4A€ÆYA`¿?4A`ÃYA@¾?4A@¿YA@À?4AÀºYA Å?4A`¸YAàÚ?4A ³YA ô?4A€¯YAà@4A «YA 4@4AÀ©YA I@4A¨YA Y@4A€¦YA k@4A@¥YA }@4Aà£YAª@4A ¥YA²@4A€¨YA€¹@4AÀ©YA@Â@4A ©YAÜ@4A€§YA`õ@4AªYAÀÿ@4A­YA€A4AÀ®YA A4A ¯YA &A4A€¯YAà+A4A ®YA 9A4A`ªYA :A4A@¨YA 6A4A ¤YA`,A4A€žYA (A4A šYA`A4Aà–YA`A4A`•YAA4AÀ“YA A4A`’YA A4A@‘YA€#A4A`YA€A4A€ŽYA@A4A ‹YA€A4A †YA A4AÀ„YAÀý@4A`‚YA@í@4A }YA@å@4AàyYA`Ý@4A@wYA€Ð@4AtYA`Ë@4A€rYA Ã@4A pYA ¹@4A nYA ³@4A mYA`®@4A@kYA ¡@4A`hYA@4A eYA€…@4AÀaYAàw@4A ^YA@l@4A`\YA``@4AàYYAÀZ@4A VYA@U@4AàSYA S@4A@RYA c@4A€RYA€j@4AàRYAÀu@4A@SYA€@4A TYA ‹@4A TYA`˜@4AàTYA@¥@4A@UYA ²@4AÀUYAº@4A UYAàÅ@4A@UYAÐ@4A`TYA ×@4A@SYAÙ@4A€RYA Ø@4A`OYA Õ@4AÀKYA`Ð@4A`GYAàË@4AEYAàÄ@4ACYA¿@4AÀ>YA€¹@4A@<YA ±@4A`9YA@¬@4A 7YA ¥@4A@4YAÀž@4A@1YA š@4Aà.YA`•@4A@,YAà@4A€)YAÀ@4A`'YAàŒ@4A@$YAÀ’@4A`YAÀ˜@4AàYA ¤@4A YA ¯@4A@YA@Ë@4A€"YA`Ù@4A $YAÀé@4A`&YA í@4A 'YA@ò@4A (YA`ÿ@4AÀ)YA A4A`+YA€ A4A@+YA 1A4A+YAÀ9A4A`*YA;A4A &YAÀ7A4A`#YAà+A4AÀYA A4A YAàA4A@YAA4A YAÀA4A` YAÀA4A YA@'A4A€YA€/A4A þYA=A4A`ûYA@LA4A ùYA€QA4AøYA€ZA4AôYAÀQA4AóYA€CA4A ðYA 9A4A`íYA 2A4AàêYA`)A4AàçYA !A4A åYA`A4A áYA A4AÞYA`ù@4A ÛYA ä@4A@ÕYA Ò@4A€ÑYA`É@4AÏYA@Å@4AàÍYAà»@4AÀËYA`±@4A`ÈYAà§@4A ÅYAà¦@4AÀÄYAÀ£@4AàÄYA @4AÀÅYA ~@4A ÆYA u@4A@ÆYA n@4AÀÆYAàk@4AÉYAàj@4A@ÌYAj@4A@ÏYAàk@4AàÕYA n@4A@ÛYA€n@4AÀßYAàm@4A€ãYA@n@4AàçYAp@4A@îYA@q@4AóYA u@4A@øYAÀl@4AýYAÀa@4A ýYAÀU@4AýYAK@4AÀûYAà;@4AÀøYAÀ3@4A õYAÀ)@4A@ðYA@!@4A@ëYA@4A èYA€@4A äYA @4A áYA@@4AÀÝYA`@4AÙYA ý?4A€ÔYA`÷?4A@ÏYAô?4A@ËYA@ò?4A ÇYA€ð?4A`ÁYAÀí?4A½YA`í?4A ¸YA î?4A€´YA@î?4A@³YAàí?4AÀ±YA@ê?4A°YAç?4AÀ¬YA€ß?4AªYAÙ?4A«YA€Ð?4A@¬YAÀÉ?4Aà­YA€Ä?4AÀ®YAÀ½?4A@°YAà°?4A ²YA€¥?4A`µYA€¤?4A ¶YA£?4A ¶YA`¡?4A ºYAà¢?4Aà¼YAà¨?4A€¾YA`®?4A ÁYA µ?4A ÄYAà¸?4AÀÇYA`¹?4A ÌYA º?4A@ÏYA`¹?4A@ÒYA€º?4A`ÖYA€¹?4AÜYA€·?4AàYAà±?4AãYA`­?4AàæYA¥?4A@ëYA¤?4AàëYA@ ?4A@îYAÀž?4A`ôYA ¤?4AÀøYA€¬?4A`ûYA@±?4A@üYAàº?4A@þYA`Â?4A ÿYAÊ?4A€YA€Ô?4AÀYA á?4A@YAàë?4AàYA€ü?4A€ YA€@4AÀYA@@4A€YA @4A YA@4A YA`ü?4A YA€ñ?4AÀ YA ç?4AÀ"YA@ä?4AÀ#YAÀØ?4A` YA Ï?4AYA`Æ?4A`YA@¼?4A YA€³?4AYA­?4AàYAà¨?4AàYA€¢?4A@ YAÀ ?4A`"YA œ?4A $YAà”?4AÀ%YA@?4A€%YA`‰?4A@$YAà|?4A@"YAv?4A` YAào?4A YAÀl?4A YAÀn?4A@YA€}?4A€YAÀƒ?4A@YAÀŠ?4AÀYA€Ž?4AàYA ’?4A YA`’?4A`YAÀ?4A€YA€‹?4AÀYA ˆ?4AYAà„?4A€YAà?4A YA€x?4AàYA`p?4A€YAàf?4A YA@[?4A YA€S?4AÀYAI?4AÀYA€A?4AàYA ;?4A`YA 9?4AYA5?4A@YA`,?4AYA`!?4A`YA ?4A@YAÀ?4A@YA?4A€YA` ?4A YAÀ?4AàYA ?4A"YA ?4A@#YA€?4A€%YAÿ>4A€'YAàü>4AÀ(YA€ù>4Aà*YA õ>4AÀ,YA@ò>4AÀ-YA@î>4A -YAÀç>4A *YA€ã>4A &YA á>4A #YA`à>4A  YAÀß>4AYA€Ü>4AàYA Ø>4A`YA@×>4AYAàÖ>4A YA@Ö>4A YA@Ý>4AÀYA@è>4A€YA ë>4A@YA@í>4A YA ï>4A@ YAò>4A YAàò>4A YAàô>4AYA ù>4A ÿYAàý>4AàüYA ?4A@úYA ?4A`÷YA@?4A ôYA@ ?4AÀòYA ?4A ñYA ?4A@ðYA?4AðYA€)?4A ðYA@/?4A€ñYA6?4AóYA?4A õYA E?4A@÷YA J?4A`øYAÀN?4A ùYAàV?4AÀùYAÀ^?4A ùYA a?4A øYA€d?4A ÷YA@g?4A€õYAÀg?4A@ôYA g?4A òYAf?4AàðYAd?4A`ïYA@`?4A@íYA@^?4AÀëYA Z?4A êYAP?4AéYA€K?4AÀèYAà??4A@èYA`3?4A`æYAà'?4A€äYA ?4AàâYA`?4A áYAà?4AßYA@?4A ÝYAÀü>4A`ÛYA@÷>4A€ØYA€õ>4AÕYAÀô>4A€ÒYA`õ>4AàÎYA÷>4AÌYA€ù>4A@ÉYA ÿ>4A€ÅYA`?4A@ÃYA ?4AÀÀYA@?4A€¾YA ?4Aà»YA@?4AÀ¹YA`!?4Aà·YAÀ*?4A€´YAà.?4A²YA 3?4A°YA`7?4Aà­YA>?4A¬YA€E?4A@ªYAÀJ?4A@©YAO?4A`§YAÀN?4A`¦YA K?4A`¤YA@C?4A¢YA ??4A€žYA >?4A`œYA@@?4Aà™YA@B?4A@˜YA€I?4A •YA P?4A “YA\?4A@YAÀg?4AÀŒYAào?4A ŠYA`w?4A ˆYAÀ~?4A€†YA`‹?4A ƒYA@—?4AàYA€¤?4Aà{YA€¯?4A€xYA »?4A tYA Æ?4AÀpYA`Ô?4A€mYAä?4A€iYA€í?4A€fYA`ü?4AÀbYA @4A``YAà@4A@^YA€#@4Aà\YA /@4A ZYA€<@4A`XYA@C@4A WYA I@4AWYAÀS@4AÀUYA@_@4A`TYA m@4A RYAà{@4A@QYAà†@4A€PYAà”@4AÀQYAà—@4AÀNYA@™@4AÀMYA€Ÿ@4A€JYA`«@4A`DYA ®@4AÀBYA °@4A@AYAà¢@4A@BYA Œ@4A€CYAÀ~@4A`DYAÀs@4AEYA o@4A@EYA^@4AÀFYA J@4AàHYA <@4AàJYA &@4A NYA€@4A€QYAÀÿ?4A€TYAÀð?4AÀWYA`é?4A ZYA Õ?4A ^YA`Á?4A@bYAàµ?4A cYA «?4A eYA€¢?4A€eYA`¡?4A`gYA@’?4A jYAÀŠ?4A`lYA@ƒ?4AàmYA š?4AÀuYAà4?4A „YAà&?4A ~YA ?4A €YAà?4A`YAÀ?4A€‚YA  ?4AàƒYA ÿ>4A€…YA`ô>4A ‡YA í>4AÀ‰YAÀï>4A@ŠYA`ö>4A ‹YA?4AàŽYA ?4A’YAÀ?4A`“YA@?4A`—YAà?4A`›YAÀ?4A ŸYA ?4A ¢YA ?4A ¤YA ?4AÀ¦YA ô>4A`¨YAàë>4AÀ¨YAàÚ>4A ªYA`Ú>4A`®YA€Ø>4A@°YA€Ó>4A`²YA`Ê>4A@´YA Â>4AÀµYA€´>4Aà¸YA€«>4A ºYA Ÿ>4AÀ»YA€“>4A@½YA€„>4A ½YA€o>4A ¼YA j>4A¹YA`e>4A€´YA ^>4A °YA@V>4A «YA@Q>4A¨YAÀE>4A€£YA€>>4A@ YA 9>4AŸYA`3>4A`YA ó=4A`žYAÀè=4A ŸYAÀâ=4A€ŸYA â=4AÀªYAÀà=4Aà¬YAÀÛ=4A ¯YAÓ=4A²YAàÈ=4Aà²YAº=4A€³YA ª=4AÀ³YA@ž=4A ´YAà=4Aà´YA }=4A@µYA@m=4A€µYA b=4A µYA€Q=4AÀµYA F=4A ¶YA€?=4A@·YA@6=4A ¸YA,=4A@¸YA=4A ¸YA`=4AÀ·YA=4Aà¶YA@ù<4A`¶YA€ì<4A¶YA@ì<4A€µYAî<4Aà²YAò<4A@°YA`ô<4A­YA ò<4A`©YAàñ<4A ¦YAñ<4A`£YA€î<4A YAí<4A YA ë<4A€›YA@ê<4Aà˜YA ç<4A@•YA€ä<4A€’YA@â<4AYAàà<4AÀYA@à<4A`‹YA€Þ<4Aà‡YA Ü<4A …YA@Û<4AÀYA@Ú<4A`~YAä<4A |YAÀí<4AÀyYA õ<4A wYAàú<4A uYA=4A`qYAÀ =4A oYA€=4A€kYA@=4A`iYAà(=4AÀeYA@1=4A dYAÀ6=4AdYA@?=4A@cYAN=4AbYA`W=4A`aYA`f=4AÀ`YA x=4A``YA ‰=4Aà_YA@š=4A`^YA@¥=4A ]YAÀ²=4A€]YAà½=4AÀ]YA Æ=4Aà\YAÀÉ=4A ZYA Ò=4AXYA€Ý=4AÀVYA é=4A`UYAð=4A€TYA >4A RYA >4AàOYA  >4AàNYAÀ->4A`MYAà:>4ALYA€F>4A€JYA`S>4A KYA Z>4A KYAÀj>4A LYA r>4AàKYA`}>4A LYAŒ>4A€KYA@˜>4A IYA¢>4A€GYA ­>4A@FYAÀÉ>4A AYA Ï>4A€?YA ã>4AÀ<YAàë>4A@;YAù>4A`9YA`?4A 7YA@ ?4A@6YA?4A5YA`?4A 2YA`?4A€0YA?4A€.YA€?4A,YA@%?4AÀ)YA ,?4A`'YAÀ8?4A%YA€G?4A$YAà[?4A "YA k?4AÀ!YA`~?4AÀ YA`?4AàYAŸ?4A YA`°?4A@YA ½?4A@YA€É?4A YA@Ù?4A`YA`ë?4A@YA€û?4A YA€ @4A`YA@@4A YA€@4A€ YA $@4A@ YA@1@4A€YA <@4AÀYAN@4A YA`W@4A`YA h@4A€YAÀs@4A€YA @4A@YA ‰@4A YA ‘@4AYAà˜@4A`YA¤@4A@YAà¯@4AÀYA ·@4A YA@»@4A€YA¹@4A@YAµ@4A`YA¬@4A@YA ¥@4A`YA`˜@4AÀYA@4AàYAŠ@4A`YAÀ€@4A  YAv@4A YAh@4A€ YA@T@4AYA`J@4AàYAà;@4A YA )@4A€YA€@4A YA@@4A@YA @4AÀYA ö?4AYA€ç?4A@YAÀÖ?4A YAàÎ?4A`YA€Á?4AYA ´?4A YAÀŸ?4AYAàŒ?4A€YA€~?4A YA€u?4AÀYAÀj?4AYA€f?4AYA`?4A`YA`S?4A@YA€O?4A`ÿYA K?4AÀYAàC?4A` YAàA?4A YA D?4A`YA@??4AYA =?4AàYA+?4A`YA ?4AYA?4AYA@?4A@ YA ü>4AÀ!YAð>4A$YA`é>4A&YAà×>4A)YA`Ó>4A*YA@Ë>4A ,YA Ã>4A€.YA »>4A 1YAµ>4A`2YAà¦>4A`3YAÀœ>4A4YA>4A€4YA@ƒ>4Aà3YAs>4AÀ2YA a>4A@1YAÀQ>4A`0YAÀD>4A`/YAà:>4A@.YA@->4Aà-YA >4A@.YA >4A`/YAàð=4A`1YA€á=4A`3YAÓ=4Aà5YA`È=4Aà7YA ·=4A`:YA@¨=4A <YAÀœ=4A>YAà=4A`@YA }=4AÀ@YAÀx=4A`@YA _=4A AYA@K=4ACYAà3=4AàDYA@ =4AÀEYA  =4AGYAàù<4A HYA€î<4A JYA€Ü<4A NYA€Î<4A`RYAÀ¾<4A VYAà¯<4A ZYA@¬<4A`[YAÀ¡<4A^YAà•<4A aYA€†<4AÀeYAà}<4AjYA ~<4A mYAÀˆ<4A nYA—<4AÀmYA ¦<4A mYA@°<4AmYA€¶<4AÀoYA`°<4A vYAÀ§<4AzYA€Ÿ<4AÀ~YA€—<4AàYA`˜<4AÀ„YA`š<4A`‰YA`ž<4A`ŒYAÀ¡<4A YA ¦<4A@“YA@§<4A •YAà§<4A˜YA ¦<4A€šYA€£<4A œYAàž<4A YA ”<4A@YAŒ<4A›YA@}<4A –YAàq<4AÀ’YA j<4A€YAÀ^<4A ŒYA U<4A@‰YAàH<4A@…YA`?<4A€‚YA€2<4A YA )<4AÀ|YAÀ!<4A{YA`<4AÀyYA€ <4A wYA þ;4A€uYA ï;4A@tYAÞ;4AsYA@Ì;4AÀqYA@»;4AqYA§;4A`oYA`”;4A`nYA@€;4AÀmYA@s;4A`lYA g;4AàjYA€k;4A`jYA`s;4A@gYA z;4A`eYA ‚;4A bYA ˆ;4A€`YA ‹;4A€_YAà;4AÀ]YA ‘;4A [YA€“;4A`YYA —;4AàVYA€;4A@UYAà¤;4A SYA`©;4ARYA ³;4A OYA`º;4AàLYA¾;4AàHYA€¼;4AFYA¿;4AÀCYA@Ã;4A AYA É;4A@YA€Ð;4A =YA@â;4A€;YA õ;4A`<YA <4A`<YA@<4A <YA <4A@=YA`'<4Aà=YA :<4AÀ>YA€H<4A ?YA€T<4A@@YA `<4A @YA`m<4AÀ@YA{<4Aà@YA@‰<4AAYA`›<4A @YA ¨<4A@?YAàµ<4Aà=YAÀ¼<4A =YA€Î<4AÀ:YAÀÜ<4AÀ7YAàé<4A6YA ô<4AÀ4YA@ù<4Aà3YA`=4A@1YA =4A .YA  =4A ,YA€ =4A`)YA@ =4A(YAÀ =4A &YA=4AÀ%YA@=4A@$YA 1=4AÀ"YA€?=4Aà"YAàI=4A`#YAÀ^=4AÀ#YA@d=4A #YA€r=4A`#YAà€=4A`#YA€‰=4A#YA ™=4A !YA¤=4A !YA ¯=4Aà YA ½=4A`!YA`Ê=4A`!YA`Ö=4A€!YA@ë=4A`"YAàü=4A "YA@ >4AÀ"YAà>4A #YA@'>4A@#YAÀ8>4A€#YAÀH>4A #YA@V>4A`#YA `>4Aà YAh>4A€YA n>4A YA@t>4AÀYA€w>4AÀYA@w>4A@YA@v>4A€YA u>4AYA@u>4A YAàt>4A YA t>4A  YA€q>4A€ YA€k>4AÀ YA`c>4A€ YAà[>4Aà YA@X>4A` YAÀS>4A YA@P>4AYA@J>4AÀYA A>4A@YA 9>4AàYA/>4AàYAÀ$>4A`YAà>4A`YA` >4A€YA`>4A`YAÀø=4A YAÀô=4A@YA€ë=4A@YAàà=4A@YA`Ù=4A`YAÒ=4A`YAÍ=4A YA`Ì=4A€YA Ô=4A€ YAÀÝ=4AÀ YA`ê=4A`YA€õ=4A`YA€>4A YAÀ >4AàÿYA€>4AÀýYA >4AàüYA (>4A úYA`3>4A úYAà6>4AÀûYA ;>4AýYA @>4AàýYA`D>4A þYAàI>4A€þYA`Q>4AÀüYA`S>4A`ûYAàU>4AÀøYAÀW>4AÀöYAàX>4AàôYAàY>4AÀòYA@Z>4A`ñYA@[>4A ïYAà^>4A íYAàd>4A`ìYA`j>4A ìYA t>4AÀëYA{>4AÀëYAƒ>4A@ìYA€Š>4A@íYAÀ“>4A ïYA ˜>4AÀðYAàœ>4A@óYAà¢>4AõYA@§>4A€öYAÀ­>4AÀöYA@¶>4A@öYA€Ã>4AõYA Ò>4A óYA€Ý>4A ñYA@ç>4AïYAí>4A€ìYAò>4A@êYAÀö>4A€çYA ú>4AàäYA ü>4A âYA€?4AâYA` ?4A`àYA?4A`àYA ?4A ßYA ?4A ÝYAà ?4AàÜYA ?4A@ÚYA ?4A`ÖYA@ ?4A ÔYAà ?4A`ÎYA ?4A`ÌYA?4A`ÈYA`?4A ÄYA ?4Aà¿YA ?4A€¼YA?4A€¹YA`?4A€´YA@?4A€±YA ?4A€¯YA ?4A®YA ?4A ®YA€ ?4A`®YA@þ>4A@­YAà÷>4A`­YA@ç>4AÀªYAàá>4A`¨YAàá>4A€¥YA@â>4A@¡YAã>4A žYA`å>4A ˜YAæ>4A`”YA@ç>4AàYAàç>4A@YA€ë>4A@‹YA ë>4AÀ†YA ë>4A„YA€ì>4A`€YAàð>4AÀ~YA€ú>4AÀ{YA þ>4A€|YA€?4A€~YA€ ?4A@€YA€?4A@‚YA`?4Aà„YAà"?4A ‡YA )?4A ‰YA /?4A@‹YAà5?4AÀŒYAÀ>?4AYA M?4A ŒYAN?4A@ŠYA`M?4Aà‡YA@J?4A@…YA`I?4A@‚YA G?4AàYA F?4AÀ}YA€A?4A yYA ;?4A`uYA @?4A€qYA E?4A pYA Î=4A@lYA Ï=4AÀlYAÀ×=4A`rYAÀß=4A`xYAÞ=4AÀ}YA ß=4AàYAÀÙ=4AÀ…YAÀg=4AˆYA`5=4A ŠYA€*=4A‹YAÀ=4AÀ‹YA@=4AÀŒYA€=4A@ŽYA =4A YA ü<4A`’YAú<4Aà•YAà÷<4A ˜YAÀó<4A`šYA ï<4A YAàé<4A`ŸYAàä<4A@¡YAÀß<4Aà¢YA Ú<4A ¤YA`Õ<4Aà¥YAÀÊ<4A §YAÀÀ<4A©YA º<4AªYAà³<4A€«YA`´<4A€­YAÀ¶<4A °YA`»<4A ²YA À<4A€´YAàÉ<4A ¶YA Ñ<4A`¸YA Ô<4A»YA Ñ<4A`¼YA`Í<4A ½YA€Ç<4A ¿YA@Â<4A`ÀYA¼<4A ÁYA@´<4A€ÁYA ª<4A ÁYA€ <4A@ÂYA€ž<4A ÃYA@›<4A@ÆYA–<4AÀÇYAÀ‹<4AÈYA €<4AÈYA z<4A€ÇYA n<4A`ÆYA`b<4A ÅYA@Z<4A`ÄYAÀQ<4A ÂYA€H<4A ÀYAÀC<4A¾YA€A<4A@»YA€9<4A`¸YA@/<4A`µYA &<4A`³YAÀ<4A ±YA )<4AÀ YA€.<4A›YA@/<4A —YA`<4A`—YAà<4A —YAàù;4A˜YA@å;4A˜YA Ä;4A`˜YAàœ;4A€˜YA€b;4A@šYA T;4A€šYA@D;4A šYA@9;4AÀšYAÀ.;4A šYA ";4A›YA€;4A`›YA@;4A œYAþ:4A€œYA€ð:4AàœYA å:4AàYA@Û:4AàYAàÐ:4A YA`Ç:4A YA½:4AàYA`·:4A`YAÀ«:4AÀ›YAàŸ:4A@™YA :4A€–YAÀ™:4A”YA —:4A’YA ”:4AàYAÀ“:4A€YAà”:4A€YA€”:4A ŒYAš:4AŒYA`¥:4AÀŒYA€²:4A ŽYA@¸:4AàŽYAÀÁ:4A ŽYA@Ë:4AÀŽYA Ó:4A`ŽYAÀÛ:4A YA ã:4A€YA ì:4A@ŒYA@í:4AÀŠYA è:4A`ˆYAä:4Aà…YA â:4A…YA è:4A ƒYAÀì:4AƒYAàõ:4A`YAý:4A€YA ;4A ‚YA@ ;4AÀƒYA`;4A@†YA`;4Aà‡YA`!;4A ‰YAÀ*;4A ‹YAÀ7;4A€ŒYAàC;4A@YA€Q;4A YAà[;4A€YA€l;4A YAÀy;4A@ŒYAÀˆ;4A ‹YA ˜;4AÀ‰YA Ÿ;4A@‰YA€¬;4A ˆYAÀº;4A`ˆYA`È;4AÀˆYAàÕ;4A ˆYAá;4A€ˆYAÀê;4A@‰YA@ú;4A€ŠYA <4A@‹YA <4A ŒYA`"<4A ŽYAà:<4AŽYA€><4A ŒYA`G<4A ŠYA`M<4A ˆYA@Q<4A …YAT<4AÀƒYAÀV<4A ‚YAÀW<4AàYA€Y<4Aà}YA€Z<4AÀ{YA€Z<4A€xYA€Z<4A€uYA X<4A qYA S<4A€pYA@F<4A nYAÀ:<4AàlYA€5<4A kYA@7<4A€gYAàÿ;4AàfYA ý;4A gYA`÷;4A@kYAàð;4AÀmYA€ê;4A€pYA à;4A`sYA Ô;4AuYA`Ã;4A vYAà¶;4AÀvYAÀž;4AvYA ;4A€tYA€y;4AàpYA q;4AàmYAÀi;4A€kYA^;4A@iYA@N;4AàfYAÀA;4A dYA¯64AWYAÀ²64AYYAÀµ64A [YAÀ¼64A`]YAàÄ64A@^YA@Ì64A _YA@Ï64A`aYA Î64A@cYA Í64AeYAË64A fYA@Ä64AÀgYAÀ¾64AàgYA@¸64A gYA ²64A gYA ¬64AgYA ¤64AÀfYA@Ÿ64A@fYA ˜64A@eYAà‘64AÀcYA Ž64A aYA‹64Aà^YA€‡64A@[YAÀ†64A@XYA`†64A€VYA`154A€RYA 054A@kYA`754A@lYA€A54A@nYA€G54AàoYA€T54AàpYAàW54A qYA`a54AtYA€k54A@vYA@t54AyYA|54A {YA ƒ54A ~YA`„54A€YA ‰54AÀYAÀ•54A€YA ž54A€YA`¥54A@YAàª54AàƒYA€ª54A`…YA€µ54A …YA »54A…YA`Á54Aà„YA`Å54A…YA`É54A…YAË54Aà„YAÚ54A „YAÀæ54A`„YAñ54A@„YA€þ54A„YA` 64AÀƒYA 64Aà‚YA@,64A€‚YAà<64A‚YA@J64AÀYA@S64A`YAÀR64Aà€YA@R64Aà~YA€R64Aà|YA V64A@{YA W64A@yYA`Y64A uYA Y64A sYAY64A€qYA€X64A€oYA`X64A lYA@X64AÀkYA€V64A@hYA€U64A`gYA T64A@eYAÀW64AdYA[64AdYAÀ`64A dYA€o64A fYA x64AÀgYA@64AàhYAÀ‡64A€jYA@64AàkYA —64A€mYA`£64A€oYAà®64AàpYAÀ¸64A rYAàÀ64AsYA@É64A`tYA`Á64AÀtYA ¸64AàtYA`·64A vYA@³64A€xYA ¯64A{YA®64A |YA¬64A@~YA@©64A YAà¢64A`‚YA š64A€…YA€’64A †YAÀŽ64AÀ‡YA‹64A`ˆYA }64A@‰YA x64A@‰YAÀm64A@‰YA@k64A‰YAÀ\64A`ˆYAàW64Aà‡YA`R64AˆYAàN64Aà‰YA L64A€‹YA€I64A€YA`E64AÀ’YA`>64A€™YA€<64A@›YA@764A€ŸYA@564A¡YAÀ464A`¢YA 664A@¤YA764A€§YA264A`©YAà564A ©YAÀ=64AÀ¨YA€J64Aà¨YA U64Aà©YA€_64Aà©YA@m64AàªYA@u64A «YAƒ64Aà«YAÀŒ64A ¬YA€–64A€­YAÀ¢64A ®YA«64A€¯YA€²64AÀ°YAàº64A ²YA`Ã64A ´YAÏ64A ¶YA€Õ64Aà¶YA â64A¸YA`ô64A¹YA ÿ64A@¹YAÀ74A`ºYA`74A@»YA &74A@¼YA`474A@½YA€A74A`¾YA`J74AÀ¾YA R74Aà¾YAÀ^74AàºYA b74A@ºYAàb74A@¸YA`e74A¶YAf74A µYAÀj74A@²YA n74A ¯YA p74A@®YAÀo74A@­YA`r74AàªYA t74A`ªYA x74AÀ©YA z74A@ªYAÀ‚74AÀ¬YA ‡74A®YAàŽ74A€°YA –74A€²YA`˜74A³YA`Ÿ74A`µYA`¥74A·YA ­74A@¹YA`²74AàºYA ¸74A`½YAÀ¾74A ¿YAÀÄ74A ÂYAÈ74A@ÂYA@Õ74A@ÃYAàã74A€ÄYA`î74AàÄYA 84A@ÆYA84A`ÆYA@ 84AÀÆYAÀ&84A@ÇYA`-84A ÅYA`784A ÂYA€484A ÂYA.84A ÁYAÀ-84A ½YA@,84A ¸YA€+84A`µYA`+84A ²YA`*84A@®YA(84A «YA@#84AÀ¨YA 84A¦YA@84Aà¤YA 84A€£YA€84A`¢YA` 84A€œYA84A ›YAà84AàšYA@84AšYA`84A ˜YA€84A —YA@084Aà”YAà984A`’YAE84A`YA L84AàŠYA€O84Aà†YA N84AÀƒYAÀJ84A@{YAàM84AxYA€U84A€vYAÀj84AàuYAà~84A€vYA`‘84A`zYAàŸ84A~YAàª84A †YA`²84A ŠYA@½84A`YA`Ë84A€”YAÀÛ84Aà˜YAé84AàYA€94Aà©YAà94AÀ¬YA@94Aà´YA 94A€¸YA€94A€ºYAàý84A ¿YAàÞ84A€¿YAÓ84A`¿YA€¾84A`ÀYAÀ¯84A ÁYA ©84AàÃYAà¨84AàËYA€ª84AÀÎYA`¦84A ÐYA€­84AàÐYA€º84AàÑYAÀË84A ÔYA Ø84A€ÕYAàæ84A×YAÀô84A`ÛYAàï84AÀÝYAàê84A àYAç84A€æYAÀä84A êYAàè84A@êYAÀð84AàéYA@94A èYA 94AèYAÀ94A€çYA 94AàæYAà94A€åYA "94A@äYA@+94A€âYA294AáYA894AàßYA@D94AÞYAO94A@ÜYAàX94AàÚYA c94A ÙYAàl94AØYA€x94AàÖYA‚94A ÖYA`‹94AÖYA@—94AÀÕYA€¥94AÀÕYA€²94A€ÖYA@½94AØYA@Ç94A€ÙYA€Ï94AÀÚYAÀØ94A€ÜYAàß94A`ßYA ã94A áYA`ì94A€äYAò94AÀçYA`ø94A`êYA ü94AÀìYAÀ:4AïYAÀ:4A`ñYA€:4AàòYA  :4A@öYA`:4A ÷YA@:4A úYA€:4AûYA@:4A€üYAà:4A`ýYA`:4A€þYA` :4AàÿYA #:4A@YA@(:4AÀYA ,:4AYA 0:4A YA`1:4AYA *:4A YA !:4AàYA€:4A` YA :4A€ YA@:4A YAÀ:4A  YA ù94A YAó94Aà YA í94A€ YA@ç94A`YA ç94AYA€ç94A@YA@è94AYA è94A€YAàé94A YAÀê94A YA€î94A YAð94A !YA ö94A@#YA€ù94Aà#YA€þ94A%YA:4A€&YAÀ:4A@(YA :4AÀ)YAÀ :4A@+YA@:4A@-YA€:4A@.YA:4A`/YAà$:4A`1YA ):4A 4YA +:4Aà5YA`/:4AÀ7YAà0:4A :YA€4:4Aà;YA€5:4Aà<YA6:4A >YA€5:4A ?YA 3:4AàBYA 3:4A`DYA 2:4AÀFYA@/:4AàHYA -:4A JYA*:4A@KYAÀ,:4A€KYAÀW:4A€NYA[:4AÀNYAo:4A`OYA}:4A QYAÀ‹:4A@RYA`ž:4A€SYA °:4A TYA@¾:4A@UYA@Ã:4A TYA Ç:4A TYA€Ï:4ASYA Õ:4AàQYA€Ü:4AQYAàá:4A PYA€ï:4A MYAû:4A LYAà;4A€JYA ;4A@IYAà ;4A€HYAà ;4A FYA;4A DYA@;4ABYA`ÿ:4AÀ>YA@ù:4A`<YAÀï:4Aà9YA@ç:4AÀ7YA€à:4A 6YA`Ö:4A 4YAÀÎ:4A€2YA@Â:4A€0YA@¶:4A`-YA`°:4A ,YA`¥:4AÀ)YAÀ¡:4AÀ'YA ¡:4A %YAÀ¢:4A#YA€¥:4A@!YA€¨:4AÀYA@«:4A YAà®:4A€YAà³:4A`YA ¹:4A@YA ¾:4AYA`Ç:4A YA€×:4AÀYAàç:4A`YA`ô:4AÀYAÿ:4A`YAÀ ;4Aà!YA@;4A $YA€ ;4AÀ%YA,;4Aà&YA 6;4A@(YA€A;4Aà)YA@O;4A *YA`S;4A@+YA`];4A -YA`c;4A`.YAàc;4A€0YAÀd;4AÀ3YAh;4A7YA u;4A@5YA {;4AÀ2YA`;4Aà0YAÀƒ;4A`0YA ‡;4A@0YA †;4A@5YA;4A;YA`};4A ?YA@{;4A CYA r;4A€FYAÀh;4A@KYA€b;4A NYA a;4A€NYA`[;4AàQYAàQ;4AUYA J;4A€WYAà=;4A€ZYA 4;4Aà\YA€/;4A``YA`&;4A bYA ;4AàcYA;4AdYA ;4AàcYA;4A@fYAà;4A@gYA ;4A hYA;4A`iYAà;4A@jYAù:4A jYAÀî:4AkYA å:4AkYAà×:4AàkYA€Î:4AàlYA Â:4AàmYAà·:4A@nYAÀ¬:4A`nYA@¦:4A nYAÀ˜:4AnYA@Ž:4A mYA€:4A mYA v:4A lYA`i:4A€lYA`\:4AÀkYA`Q:4AàkYA@G:4A mYA€@:4A nYAÀ<:4A€oYA 6:4A`qYA@4:4A@sYAÀ0:4A@uYA@*:4A`wYA@$:4AàxYA€:4A€zYA :4A |YA@ :4AÀ|YA€:4Aà|YAü94A}YAàô94A }YA`ë94A€}YAÀÞ94A ~YA×94A ~YA Ï94AÀ~YAàÃ94A`~YA€¹94A`~YA ª94A }YA€£94AÀ|YA ž94A@|YA—94A zYA`“94A yYAÀ94A`wYAÀ‰94AÀuYA ˆ94A`tYA ‰94A`sYAà94A pYA€94A€mYA“94AàkYA œ94AàiYAà¥94AàgYA€®94A gYA ·94A eYA€Á94A@dYA`Ë94A€bYA Ó94A€aYA@Ü94AÀ_YA é94A`]YA ó94A\YA`ø94AàZYA@:4AYYA€ :4A@WYA :4A€UYA:4A RYAà:4A`PYA#:4AàMYA*:4A@KYA€:4A€IYA ÷94A€DYAÜ94A@AYA`Á94A=YAÀ©94A8YA ‹94A4YA p94A0YA V94A@,YA B94Aà(YA #94A%YA 94A`"YAÀ94A "YA€þ84A #YA ÷84A %YAÀò84AÀ&YAàï84A(YAàí84A@)YA ã84AÀ,YAÀà84Aà-YA€Ö84A`.YAÍ84A .YA€¿84A`.YAà®84Aà.YA ¦84A /YAž84A1YA@š84A 2YA›84A5YA€›84Aà6YA ¢84A 7YA ¦84A`9YAà±84A=YAà³84A€>YAÀ¶84A@CYA ¸84A`GYAà¹84AàHYAà¼84ANYA€¾84A QYA`À84A XYA Ä84A`\YA Ç84A€_YAÀÅ84A@cYA`Æ84AàeYA€È84A`jYA€É84A`kYA Ë84A@pYAÉ84A€uYA€¿84A xYA@²84A |YA¦84A@~YA 84A€YA {84A`€YA@h84A`‚YA`]84A€ƒYAàS84AàƒYA€@84A€…YA`/84A‡YA 84A ‡YA`84AˆYA@84A ˆYAø74A ˆYA€í74AÀ‡YA Ý74A †YA`Ð74A`ƒYAÀÄ74A`YA¾74AàYA@¬74AYAÀž74A YA`œ74A ‚YA`œ74A@…YAà›74A †YA€›74A ‡YA™74A€ŠYA ›74A`ŒYA@š74AàŽYAàš74A`‘YA`›74A`“YA™74A –YA “74Aà™YA`“74A`šYA`…74A`šYA|74AàšYA u74A›YA@p74A@›YAi74A@›YA f74A ›YA d74AšYA€b74A€šYA R74Aà›YA D74A@YA 774A@žYA`74A¡YA 74A`¡YA@74A`¢YA 74A€¢YA 74AÀ¤YA 74A ¦YA74A ¨YA@74A`©YAÀ#74AÀ©YA /74AªYA`<74Aà©YAàI74A ©YA`W74A`©YAd74A@©YAàk74A©YA`y74A ¨YA„74A@¨YA`‚74A€©YA`‚74Aà©YAà…74A ªYAà†74A`«YA ˆ74A@¬YA€‹74A®YAÀŽ74A±YAÀ‘74A@³YA •74A ¶YA š74Aà¹YA€ž74A ¼YA`Ÿ74Aà¼YA©74AÀ¼YA°74A€¼YA€½74A@¼YA@Æ74A@¼YA Ë74A`¼YA€×74A`»YA@ß74A ºYA`é74A ¹YAñ74A ¸YA õ74AàµYAà÷74A@±YA€ù74A ®YAàú74A ­YA`84A ¬YAà84A «YA 84Aà«YA`84A`¬YAÀ(84AÀ¬YA484A­YAÀ@84A ­YAàL84A€­YA Q84AÀ­YAà\84A ®YA`_84A`®YA@k84A ±YAp84A´YA@r84A€¶YA w84AÀ¸YA 84Aà»YA †84Aà½YA 84Aà¿YA™84A€ÁYAœ84A ÃYA ›84A@ÅYAÀ’84A ÇYA€‹84A ÊYA`†84AÀËYA€84AàÌYA`y84AÀÍYA`}84A ÎYA@ƒ84A@ÏYA€Š84A@ÒYA`84AÕYAà—84A€×YA@84AÚYA ¥84A ÛYAÀ«84AÀÝYA²84AàYA`»84A`âYA€Å84A`äYA Î84AæYA`Û84AÀèYA@ó84A€ôYA ù84AàøYA€ý84AýYA 94A€YA 94A YA 94A` YAÀ94AYA€94A`YAÀ94AÀYA #94A@YA %94AÀYAÀ&94A`YA€/94A@YA 494AÀYAÀ>94AàYA@C94A€YA`H94A@YA R94A YA€Y94A  YA@c94A`YA@l94A€YAàw94A€YAÀ‚94A€YA€Œ94AàYAà”94AÀYA 94AÀYA £94A@ YA`¨94A YA@®94A@ YAÀº94AYAÀÃ94A@YA Ê94A@YA€Ò94AÀ YA@Ù94A YA€Þ94Aà YAã94Aà YA ë94AÀYAî94A@YA€÷94A YA þ94AYA:4A ýYA:4AûYA@:4A øYA :4AÀöYA ":4AàôYA`,:4AÀòYAÀ9:4A@òYA D:4A@òYA@L:4AÀòYAàN:4AàóYA M:4AàôYAK:4AàöYAI:4A`øYA€D:4AÀùYA€B:4AàúYAà<:4AÀýYAÀ8:4AYA 2:4A@YA +:4AYA`(:4A@YAÀ#:4Aà YA:4A YA@:4AYAà:4AÀYA :4A YA :4A`YA@:4AÀYAÀ:4A€YAà':4A@ YA -:4AÀ YA 7:4A`YA<:4AYAB:4AÀYA€F:4A YA€S:4A€YA€_:4AYA k:4A YAÀv:4A YA t:4A YA …:4A`YA@˜:4AàYAà›:4A  YA¡:4AÀ YA¦:4A  YA`¦:4A YA ¦:4A@YAÀ§:4A@YA ¬:4AYA@²:4A ÿYAÀµ:4A@ýYAàµ:4AÀúYA³:4AÀøYA@²:4A`öYAÀ±:4A`ôYAà®:4A€òYAÀ°:4A ðYA@´:4AàîYA·:4A`íYA`¸:4A`ìYAàº:4AêYA@¶:4A€çYAµ:4AÀåYA`³:4AãYA ¯:4A áYA ¤:4A áYA :4AÀáYAÀ•:4AàáYAàŒ:4A€áYA@‚:4A àYAt:4A áYA h:4AàYAàa:4AàÞYA `:4A ÛYA [:4A`ÚYAàT:4AÀ×YA P:4AàÖYA@I:4AÀÕYA€E:4AàÓYA€?:4A`ÒYA€3:4A@ÒYA`.:4A€ÐYAà):4AÏYAÀ":4A@ÌYA :4A`ÊYA :4A ÈYA :4AÀÆYAý94AÅYAø94AÄYA`ð94A`ÂYA@ë94AàÀYAÀå94A@¾YAå94A »YA ä94A ºYAÀì94AÀ·YA€û94A@¶YAà:4A€´YA :4A ´YA`:4AÀ³YA€&:4A`³YA0:4A€³YA@8:4A@´YAB:4A@µYA€M:4A`¶YA W:4A ¸YA€_:4A@»YA@c:4A`½YA q:4A ½YA@:4A¾YA`ˆ:4A`¿YA :4A@ÁYA ›:4A ÃYA :4AÄYA¥:4AÅYA@®:4AàÃYA ¾:4AÀÃYA`Í:4A ÄYA`Ù:4A€ÄYAàá:4A€ÆYAé:4A ÉYA@ï:4AàËYAö:4A@ÐYAàû:4A`ÔYA@ÿ:4AØYA@;4A@ÝYA` ;4AâYA ;4AÀâYAà;4A`ãYA ,;4AÀäYA<;4A äYAÀP;4A äYA \;4A äYA€e;4AàäYA u;4AÀãYA@z;4A âYA€€;4AßYA ƒ;4AÀÜYA@ˆ;4A ØYA ˆ;4AÀÔYAˆ;4A`ÑYAÀˆ;4A@ÎYAÀ‡;4A ÊYAàƒ;4AÀÇYA`;4A`ÄYA@ƒ;4AÀÂYA€…;4A ¿YA ˆ;4A ¼YA€‹;4Aà·YA;4A`´YA`;4A€±YAÀ”;4Aà­YA€˜;4AªYA€ž;4A€¥YAÀŸ;4A`¡YA £;4A ›YA@©;4A •YA ´;4A@YA ¿;4AÀYA@È;4A€YAàÎ;4A`YA€Ò;4AÀ‘YA€Ó;4A€’YA`Õ;4A “YAàÙ;4A€•YAàÚ;4A€–YAÀÞ;4A™YA@â;4A šYAæ;4A€œYAé;4A`žYA€ñ;4A  YA ù;4A ¡YAÀ<4A@ YA  <4A YA@<4A ¡YA %<4Aà¢YAà+<4A`¤YA1<4A¦YA 8<4A §YAÀ><4A`©YA E<4A «YAàJ<4A@­YAÀM<4A¯YA Q<4A °YAàS<4A ±YA@Y<4A ³YA@]<4A@¶YA b<4AÀ¸YA g<4A€ºYAàm<4Aà»YA€u<4A`½YA y<4A ¾YAà~<4AÀ¿YA€†<4A ÁYA<4A ÂYA‘<4A@ÂYA<4A`ÂYA ª<4A€ÂYAÀ¶<4A€ÃYA¿<4A`ÄYAÀÆ<4AÀÆYA É<4A€ÈYA Ê<4A€ÊYAàÉ<4A€ÌYA È<4AàÎYAàÂ<4AÀÒYA °<4AÝYA ¨<4AÀâYAœ<4AàçYAÀ<4AàìYA`Š<4A`ðYA †<4A@òYA@ƒ<4AàóYA }<4A ôYAà{<4AàòYA{<4A ïYAw<4AÀïYA€o<4A€ñYA`k<4A€óYA€l<4A õYA n<4AàöYA€n<4A@ùYAÀl<4AàûYA k<4A`þYA`h<4A@YA@a<4A YA [<4AYAÀN<4A YA H<4A  YAÀ@<4AÀ YAà6<4A@ YA.<4Aà YA`(<4AÀ YAà<4A YAÀ<4AÀ YAÀ <4A YA<4A@ YAÀý;4A` YAø;4A YA@ó;4A€YA ä;4A YAàÞ;4A YA€Ö;4A€YAàÏ;4A@YAàÅ;4AàYA À;4A YA ·;4A`YAà°;4A`YAÀ¨;4AÀYAÀ ;4AàYA˜;4A YA€;4A YAàƒ;4AàYAÀ|;4A`YA r;4A YA f;4A€YA a;4A€YA@^;4A YA€Z;4A YAÀW;4A  YA V;4A@ YAàT;4A YA R;4A@YAÀN;4A€YA`J;4A YAF;4A`YAÀ=;4A`YA@6;4A@YA€,;4A€YAÀ(;4A YA` ;4AàYA`;4AYA`;4A€YA ;4A`!YA@;4A€"YAàû:4A $YA€ñ:4Aà&YAê:4AÀ(YA`â:4Aà)YAàÕ:4AÀ*YAÎ:4Aà*YAÀÃ:4A@+YA»:4A +YA€®:4A`,YAà¥:4A ,YA œ:4A,YA@:4A +YA „:4A`+YAÀ|:4A+YA€v:4A +YA l:4A@+YA f:4A`+YA [:4AÀ+YA@S:4A€,YA€P:4A /YAàI:4A@1YAàC:4A€2YA >:4Aà4YA 7:4A`7YA`8:4A :YA 6:4A ?YAà6:4Aà?YA A:4Aà>YAD:4A >YAÀM:4A€?YA Y:4A AYAÀ^:4A€@YAp:4A <YAà:4A 9YA:4A 7YA@£:4AÀ4YA`µ:4A@4YA Æ:4A`4YA`Õ:4Aà4YAÀâ:4A7YA€ø:4AÀ:YAÿ:4A <YAÀ;4AÀ;YA %;4Aà9YA€5;4A 9YA M;4AÀ8YA`f;4A 8YA€v;4A9YA€‰;4A@;YA ™;4A`=YA`¢;4A@?YA@ª;4A AYA®;4AÀCYAÀ°;4A@EYA ±;4A@HYA€°;4A@JYA`±;4A PYA¯;4A@SYA «;4AàVYA «;4A YYAà«;4A`\YA£;4A _YA@–;4AàaYA€Œ;4A dYA`‚;4AhYA`€;4A€lYAÀ|;4A€pYA};4A tYA };4A yYAÀ~;4AÀ}YA@;4AÀYA ~;4A€YA`|;4A@„YAà{;4Aà„YA@{;4A€ˆYA};4A@ŒYAà};4A YA €;4A€œYA ˆ;4A ŸYA”;4AÀšYA`Ÿ;4AÀ•YA¯;4A€‘YAÀ·;4A`ŽYAàÂ;4A ‹YA Ô;4A@‰YAÀç;4A€‰YA 3<4A€YA`:<4A€”YAà1<4A`˜YA€(<4A`œYAà&<4A ¢YA <4A@¦YA@ <4A€¬YA@<4A€²YA ÿ;4A ·YA`þ;4Aà¹YA ý;4A ¾YA@<4AÀ¼YA <4A@»YA`<4A ¹YA€<4A ¸YA !<4A ¶YA+<4A`´YA€8<4A@´YAD<4A µYA I<4AÀ¶YA T<4A ¸YA€Z<4A`¶YAg<4A ²YA`v<4A`°YA`‹<4AÀ®YA  <4A¯YA ´<4A@®YA Æ<4Aà¬YAàÒ<4Aà­YAæ<4Aà°YAÀù<4A`³YAÀ=4A ¶YAà$=4Aà¶YAÀ==4A ·YA P=4A ¸YA€_=4AÀ¸YA n=4AÀ¼YA@w=4A ÁYA@=4A`ÎYA@Ÿ=4AÀÖYA«=4AàáYAà¬=4A åYA@¨=4A€éYAà¤=4AÀëYA`=4A@íYA Ž=4AàîYA@=4A ïYAÀl=4A ðYAà]=4AñYAÀG=4A`ñYA`5=4A ñYA #=4A€îYAÀ =4AàìYA`ô<4A`ìYA ã<4A@ìYA`Ñ<4A`ìYA@¿<4A íYA ¯<4A`îYA€™<4AÀîYA@<4A`ìYA ƒ<4A èYAà{<4A@åYA`u<4AâYA o<4A@ÞYA€i<4A@ÙYA d<4AÖYAàR<4A ÕYA`@<4A@ÔYAà2<4A€ÔYA@<4A`ÕYA`<4A`ÔYAÀ<4AàÔYA <4A`ÕYA <4AÚYA@<4AàÛYA@ <4A ßYA<4AãYA <4A äYA`ú;4A@æYA@î;4AàåYAÀã;4AåYA Ø;4A€ãYA Ë;4A€âYA€¼;4A áYAà±;4AàYA  ;4A`ÞYA@”;4A€ÜYA‹;4AÀÚYA ‰;4A ÙYA „;4A ×YA€…;4AàÔYAÀƒ;4AÀÑYAÀ„;4A`ÏYA`†;4AÀÌYA …;4A ÉYAà€;4AÀÆYAàt;4A€ÃYA p;4AÁYA@h;4A@¾YAd;4A@½YA`\;4A€¸YA`U;4A¶YAàJ;4Aà²YA@M;4A ¯YAF;4A ¯YA€;;4AÀ®YAÀ+;4A€¯YA;4A€±YA ;4A µYAû:4A€ºYA ï:4A ½YA ä:4AÁYAÎ:4AÀÊYA ·:4A@ÔYA  :4A€ÜYAÀŠ:4AäYAÀz:4A`ìYAàv:4A@îYAl:4A óYA R:4AýYAÀ::4AYAà8:4AàYA€*:4AÀ YAà:4A YA@ :4A@YA :4AYAàö94AYA€ã94A YA Ú94AYAÖ94A€YAàÍ94AàýYA€Ê94A€ýYA@Â94AàþYA ­94AYA 94AàYAàŠ94A YA|94A YAàx94Aà YA m94AàYA c94AYA@Y94AYA U94A@YA€O94AàYA ^94AYA€o94A€YAÀ…94A€YA`˜94AÀ YA ¯94A@"YA À94A`#YA`Û94A $YAÀÞ94Aà$YA@Ò94AÀ(YA Æ94A-YAÀ¼94A`1YA ¶94A€3YA@²94A 4YA ²94A@5YA@®94AÀ9YA€§94A@>YAàž94AÀAYAà‘94A€FYA‹94AàJYA@€94A@OYA€r94ATYAf94AXYA X94A`\YAÀJ94A@`YAà?94AdYAà994A€eYA@894A`hYA 694A kYAÀ494A€lYA 294AànYA€594AÀoYA794A€rYA=94A tYAE94A`tYAàS94A sYA_94A sYAàj94A sYA`r94A tYAàv94A@vYA }94AàxYAà€94AàzYA„94AÀ}YA ‹94AàYA 94A€€YA ”94A`YAÀ 94AÀ€YA ª94A€YA ¼94A YAË94A~YA`×94A |YAÀë94A`ŠYAå94AŒYA Ö94AàŽYAàÍ94A`‘YA@Ä94A@”YAÀº94A`—YA ­94AœYA`£94A@ŸYA`ž94A ¡YA€¡94A@¤YA@£94A §YA ¤94A`ªYAà¤94AÀªYAà´94Aà­YA`¸94A@°YA º94AÀ±YAÇ94A¶YA`Ñ94A€¹YA Ý94A ½YAàÝ94A`¾YA à94AàÀYAàä94A ÃYA€ê94A ÆYA ò94A ÊYA ø94A ÍYA ü94AàÏYA :4AÒYAÀ:4A ÔYA€:4A@ÕYAà:4A@ØYA þ94A ÜYA€ý94AàÝYAü94A€ÞYAü94A`áYA :4AÀåYAÀ÷94A`ìYA€:4A`÷YA`:4A YA€1:4A` YA@W:4A`YA€.:4AÀYAà:4A€YA`ã94A€YA€y94A %YAw94A &YA`a94A *YA€Q94A`3YAÀB94A;YA394A@AYA #94A€GYA@94A€JYAÀ94A@NYAó84AàQYA`à84A VYA Ñ84A@[YA`Ê84A ]YA@Å84A`_YA¼84A€fYA¹84A mYA`®84A rYA œ84A{YA 84AàƒYAÀ}84A`‰YA€i84A ŽYA O84A@YAH84AàYAI84A@—YAàJ84A`žYA@F84A ¦YA ª@4Aà–YA@§@4A –YA ¥@4A`“YAÀ¥@4AÀYAàª@4A YA@·@4AàYA Ê@4AYA@Û@4A@‹YAç@4AàŠYA€÷@4AŠYA A4A ‡YA€#A4A „YAà6A4A ‚YA KA4A@YA@]A4A €YA kA4AàYAÀnA4A ƒYAlA4A@…YAeA4A€ˆYAàUA4A ‹YAÀIA4AŽYACA4A€YA`6A4Aà’YA&A4A—YA@A4AÀ™YA A4A YA A4AŸYA@ò@4A ¢YA€à@4AÀ¤YAÀÔ@4A`¥YA`É@4AÀ¤YAÀÀ@4A ¢YA ¹@4A` YAÀ¯@4A žYA «@4A šYAÀª@4A€—YA ª@4Aà–YA`RF4A@{YA€bF4A@YAàbF4A€€YAcF4AàƒYA cF4A`ŠYAàbF4A@YA€cF4AÀ”YA`cF4A šYA dF4AàœYAà^F4A žYA@SF4A`ŸYA NF4AÀ£YA NF4AÀ¦YAKF4Aà©YA@GF4A ­YA@?F4A`°YAà-F4Aà°YA@F4AÀ°YA F4A ­YAàF4A`¨YAÀF4A`¢YA€ F4A œYAF4A@—YA€ F4AÀYAúE4A`ŠYA ñE4AÀ…YAàðE4AƒYA€÷E4A YAàF4A YAF4AÀ~YA$F4A€}YA@8F4AÀ{YA EF4A@{YA`RF4A@{YA`(=4A€àYA€%=4A@ÞYA@=4A@ÛYA@=4A@ØYA  =4A@ÕYAÀ=4A ÑYA ö<4AàÌYAàï<4A`ÈYA€è<4A ÄYAà<4A ¿YAÀØ<4A`¼YA Ï<4AÀ·YA`Ë<4A ´YA Æ<4A±YA`Â<4A ­YAÀº<4AÀ¥YA ¹<4A€¡YAº<4AYA@º<4A˜YA½<4A@“YA`Â<4A€YA Ç<4A€‹YAÀÉ<4A ‡YA Ê<4A …YA€Ë<4A ‚YA Ð<4A ~YAÝ<4A|YA ã<4A@{YAë<4A{YA€ô<4AÀzYAø<4A |YAÀþ<4A }YA@ =4A YA`=4AàƒYA =4AÀ…YA`%=4AˆYAÀ1=4A`‰YAI=4AàŒYAS=4A€ŽYA Y=4AÀYA@e=4A€‘YA€v=4A`“YA ‚=4A`•YA`ˆ=4A —YA ’=4A@›YA@•=4A žYA —=4A ¢YAÀ™=4A¦YA š=4A §YA ›=4Aà¬YAà›=4Aà°YA —=4AÀµYA •=4A »YA “=4A€¿YAàŽ=4A`ÇYAÀŽ=4AàÉYA€Š=4AàÎYA@Š=4AÀÓYAÀ„=4A ×YA }=4A@ÛYAÀv=4A`ÞYAào=4A€ßYAàb=4A@áYA U=4A âYA J=4AÀâYA`@=4A`ãYA@5=4A ãYA`(=4A€àYA€®:4A‘YA@¨:4A`YA „:4AÀˆYA ,:4A@{YA^:4A`jYA`]:4A iYAàZ:4AÀeYAV:4A bYA M:4Aà`YA`G:4A`^YA E:4Aà]YA@8:4A`XYA€/:4A€UYAÀ):4AÀPYA":4AàLYAà:4AFYA€:4A@BYA :4A€=YA :4A€7YA:4A2YA :4A +YA@:4A@(YAÀ :4A$YA û94AÀYA€ò94A YA ù94A`YAÀ:4AYA@ :4AYA€:4AYA+:4A@YAà<:4AÀYA J:4A€!YA ^:4Aà#YA@r:4A€%YAÀ€:4A@&YA`’:4AÀ&YA¦:4A€(YAà¸:4A€*YAÀ¼:4A@-YAàÂ:4A`/YAàÓ:4A 3YA€â:4A@7YA€ò:4A :YAà;4A=YA;4A@?YAÀ";4A@BYA );4A€DYA€4;4A@IYA 7;4AÀKYA€=;4A@PYAÀB;4AàTYA@D;4AàVYA@E;4A@XYA@Z;4A_YA `;4A@cYAÀ_;4AÀgYAÀ_;4AÀmYA`_;4A@rYA ];4A@wYA_;4A`|YAÀc;4A`YA p;4Aà‚YA@t;4AÀ„YAÀv;4Aà‡YAÀs;4A€‹YA@o;4A ŒYA h;4A€ŽYAà_;4A€‘YA T;4A”YA€I;4A—YAàF;4A`œYAàG;4AÀŸYA J;4A ¤YA O;4A ¨YA`P;4AÀªYA >;4Aà¬YA@3;4A¬YAÀ#;4A€ªYAà;4A ¨YA` ;4A@¥YA þ:4A ¢YAÀî:4A YA@æ:4AžYAÀØ:4A@›YA`Ê:4Aà—YAÀ»:4A@”YA€®:4A‘YA <4A  YAÀ<4A YA<4A`YA <4AÀYA<4A YA $<4AàYA@,<4AÀYA@=<4A  YAàM<4A€ YA`\<4A@ YAàf<4A  YA€p<4A YA <4AàYA ˆ<4A YAà’<4A€YAÀ›<4AÀYA <4AYA ¤<4A YAÀ§<4A@YAà¦<4A YA€§<4AÀYA€¦<4A@YA€¤<4AàYAà <4A YA ™<4A YAàŽ<4A YA@…<4A YA }<4A`YAÀu<4A YA@l<4A€YAÀa<4AYAÀ]<4AàYA`W<4AYAQ<4A YA H<4A@YAÀA<4A` YA@=<4A@!YA 7<4A`"YAà4<4A#YA@1<4A $YA &<4A@$YAà<4A€"YA <4A  YA@gC4A (YAàgC4A@&YA iC4Aà#YAàrC4A YAÀvC4AÀYA`|C4AYAÀC4A€YA€šC4A€YA`£C4AYA@°C4A€YA ºC4AÀ YA ÃC4A€ YA ÆC4A@ YA`ÒC4A`YAêC4A YA ôC4A`YAàD4A  YA`D4AÀ YA "D4A€ YA 5D4A YA GD4A@ YA€WD4Aà YA`nD4Aà YA €D4A YA@‘D4A` YA@™D4A YAžD4A`YA  D4A€YAÀ¦D4A@YA@­D4AÀ"YAà³D4AÀ&YAÀ´D4AÀ)YA`²D4A-YA€¬D4A€.YA ŸD4A /YA D4A@,YAà€D4A€)YA@sD4A &YA€fD4A@#YA€XD4A@!YAFD4A  YAà-D4A€YA`D4AYA ÿC4A`YAÀåC4A  YAàÓC4A€"YA ÆC4A`$YA`»C4A &YAà°C4A€(YA ¤C4A`+YA ˜C4A-YA@‹C4AÀ-YAàxC4A`-YA pC4A€,YAàiC4A *YAhC4A@)YA@gC4A (YA@Ÿ?4A€öYA™?4AàõYA•?4A@õYA?4A`ôYA@„?4AòYA y?4AàðYA@j?4AàïYAP?4A@íYAÀA?4A`êYAà5?4AÀçYA'?4AàâYA ?4A ÛYAà?4A`ÙYA?4AÖYA?4AÀÓYA?4AÀÐYA€?4A ÏYA@-?4A€ÍYA€3?4A`ÍYAà:?4A ÎYA`L?4AÎYA`W?4A ÍYA a?4AÎYAÀl?4AÐYAàu?4A ÑYA`‡?4AÔYA ”?4A`×YA ?4A ÚYA ¬?4A ÝYAà¿?4AàåYA Á?4A`çYA`Æ?4A€ìYA ½?4A`òYA ·?4A óYAÀ³?4A ôYA€¤?4A€ôYA Ÿ?4A ôYA@Ÿ?4A€öYA@õD4A` YAÀøD4A YAÀøD4A YA`úD4AÀYAE4A ýYA E4A@ûYA E4A€øYAÀE4AÀõYAàE4AÀñYA€E4AàîYAÀE4AìYA@$E4AÀëYA@0E4AïYA =E4AÀïYA€OE4AÀïYA@XE4AÀïYAÀXE4A ñYA UE4AùYA`QE4A üYA@JE4AàÿYA CE4AàYA`7E4A`YAÀ.E4A YA€&E4AÀ YAÀE4A€YAÀE4A@YA€ÿD4AÀYA ÷D4A YA@õD4A` YA ·>4AÀãYA °>4A ãYAÀ›>4AãYA`‹>4A áYA`x>4AàÞYA h>4A ÜYA€R>4AÚYAÀE>4A€ØYA5>4AàÖYA !>4AÖYAà>4A ÕYAÀü=4A ÕYAàï=4A`ÔYAàê=4AàÐYA æ=4AÀÌYA@â=4A@ÈYA Ü=4A`ÃYA`Ù=4A ¿YA€Ù=4A€¼YA Ý=4A€¸YA`à=4A µYA í=4A€¯YAàð=4Aà«YAò=4A@§YAàð=4A £YAî=4A`žYAê=4A ˜YAæ=4A•YAã=4A YA ä=4A€‹YA ë=4A ‡YA ð=4AÀ…YA€>4A@„YA >4A@„YA`>4A€ƒYA€!>4Aà‚YA@->4A ‚YA6>4A ‚YAÀ?>4AÀ‚YA`O>4A`„YAàV>4A …YA@a>4AàˆYA€f>4AÀŠYA@t>4A@ŽYAàz>4A`YA >4A YA`…>4AàYA’>4AÀYA£>4A YA@·>4AŒYAàÁ>4A ŠYAàÒ>4A ˆYA@à>4A€ŠYA€â>4AàŒYAÀä>4A ’YA€å>4A`•YAä>4A€˜YAâ>4AÀ™YA@â>4AàYAàÞ>4A YA`Ø>4A ¢YAÖ>4A€¥YA Ï>4A`©YA É>4Aà¬YA Â>4A °YA€À>4A ±YA€¹>4A ´YA ±>4A`¹YAÀª>4A@¼YA¥>4A ¾YA >4A€ÁYA –>4AÄYA >4A€ÆYAàŠ>4AÀÊYAà‰>4A ÍYAàŠ>4AàÐYA€Ž>4A@ÒYAÀ•>4A€ÕYA@¢>4A ×YAÀ¯>4AÀÚYAà·>4A ÛYA À>4AÜYAàÆ>4AÀÝYA Ç>4A ÞYA ·>4AÀãYAàN?4A¬YA P?4A@«YA`L?4A ªYA`B?4Aà¨YA :?4A ¦YAÀ2?4A¤YA@.?4A ¢YA -?4A žYA.?4A`›YA /?4A`™YA€2?4A —YA =?4A`‘YAàD?4AàŽYAàM?4A ŒYA P?4AŒYA\?4Aà‹YA `?4A@ŽYA€q?4A ‘YA x?4A ”YA@?4A€˜YA@†?4AàšYA ‘?4A žYA ”?4AÀ YA ’?4A`¥YA‹?4A@©YAà…?4A@«YAàw?4A@¯YA`n?4A ¯YA`j?4A€¯YA`]?4A€®YAàN?4A¬YA@E=4A@xYA >=4A xYAà+=4A@xYAÀ=4A wYA` =4AÀuYAàú<4A sYA õ<4A pYA í<4AÀkYA`Ð<4AàTYA`É<4A€XYA@Ç<4A€PYAàÇ<4A JYA@É<4A€CYA Ë<4A =YAÇ<4Aà4YA Ç<4A€,YA€Î<4A€$YA Ô<4AYAÀä<4A`YA@ô<4A YA€ =4AYA=4A`YA@%=4Aà YA€6=4A YAÀF=4A`YA K=4AÀYA :=4A`YAà!=4A€YAà=4A þYA`=4AÀýYA`ø<4A ûYAÀø<4AÀúYA`ú<4A€øYA ö<4A€öYAà÷<4A`òYA ò<4A@ðYA õ<4AîYA =4AëYAà =4A èYAà =4AàåYA =4AäYAÀ=4AàáYA=4AàÜYA@=4AÀ×YA€=4AÀÔYA`=4AÀÎYA =4AàÊYA =4A`ËYAà'=4A ÌYAà6=4A ÏYA A=4A ÑYAÀO=4A€ÕYA ^=4AàØYAàr=4A@ÜYAÀz=4AÀÞYAà‰=4A áYA ‘=4AàäYA`™=4AàèYA`™=4AàëYA`–=4AïYA •=4AàïYAÀ=4AóYAÀ‹=4A ÷YA@ˆ=4A@üYA`„=4A ÿYA`†=4AÀYA€Š=4A€YA`‹=4AYA`=4A€ YA@ž=4Aà YA@©=4A YA¸=4AàYA`Ç=4AYAàè=4A YAù=4A YA >4AàYAZ>4Aà YA g>4A $YAÀm>4A@)YAàn>4AÀ-YAÀi>4A2YA d>4Aà4YAàV>4A 6YA@K>4Aà6YA>>4A 8YA`.>4A@9YAÀ >4Aà8YA >4A`5YAà>4A 2YA@÷=4A ,YAê=4A 'YA@Ù=4A $YA@Ë=4A@ YA@À=4A€YA€°=4A`YA€Ÿ=4A€YA@=4AYA@”=4AàYAÀ‰=4A€YA €=4A YA`u=4A`#YA@m=4AÀ%YA e=4A@(YA€Y=4A€,YAÀU=4Aà/YA`T=4A@3YA`S=4A 6YAX=4A`;YA ]=4A ?YA a=4A€DYAÀr=4A@FYAÀ†=4A@IYAÀ•=4AàKYAÀ¤=4A@MYA ª=4AÀMYA ½=4A OYAàÏ=4AÀNYA å=4APYA`ò=4AàRYAÀý=4AÀVYAà>4A@\YA`ÿ=4A`bYA ó=4A iYA á=4A`nYAÅ=4A@sYA@£=4A@uYA …=4A@wYA@i=4A`xYAS=4A€xYA@E=4A@xYA@?4A`YA`Ž?4AYAÀœ?4A YAÀ¦?4A YA ±?4AYAÀ¸?4A YAà¿?4AÀ YA Ç?4A YA`Ó?4A` YA Ø?4A@ YAàà?4A` YA@ç?4A@ YA ó?4A YA€ý?4A YA€@4A@ YA`@4A` YA` @4A` YAÀ+@4A`YAÀ4@4AYA <@4AàYA@A@4A YAÀH@4A€YA J@4A€YA€L@4A€YA`K@4A€YAC@4A YA 9@4A`YA`3@4AÀYAà,@4A@YAÀ @4A€YAÀ@4A YA@4A@YA€ÿ?4A@YA€ö?4A€YA@ï?4AYA ä?4AYA€Ü?4A€YA Ö?4A€YA Ì?4A YAÀ¼?4AàYAµ?4A€YA¥?4A YA@?4A`YAà|74A`£YA w74A¤YAàs74A ¤YAq74A ¦YAàl74A`¦YA d74A §YAÀ\74A€§YAàM74A`¨YAÀF74A€¨YA >74A@¨YA 274A §YAÀ%74A@§YAà74Aà¦YAà74A ¥YA74AÀ¤YA ù64Aà£YAÀí64A £YA ä64Aà¢YA@Û64A€¢YA Í64A`¢YAàÀ64A ¢YA`¯64A@¢YA€¦64Aà¡YA›64A  YA —64A YA ”64A`žYAÀ“64A@YA`Ž64A ›YA64A`šYA`”64A€™YA@˜64A`™YA ž64A@™YAà¨64Aà˜YA`²64AÀ˜YA@º64A ˜YA¿64A ˜YA`Ä64A —YA`Ï64A —YA Ø64A—YAÀà64A€–YAàê64A€•YAÿ64A€“YA74A€“YA 74A “YA74A”YA€74A@•YA@74A@–YAÀ74A –YA€"74A˜YA &74A ˜YA@+74A@˜YA /74A —YAà274A—YA 574A€–YAà874A€•YA`<74A”YA`?74A“YAD74A ’YA€H74A`‘YA`K74A`YAR74A€ŽYAÀU74A`YAÀ[74A ŒYA`_74AàŠYA€`74A ‰YA `74A ‰YA``74A ˆYA`74A@‡YA _74A †YA`_74Aà„YA€\74A`ƒYA€[74A ‚YA`Z74AYA Z74A€YAÀ\74AYA`a74A€ƒYAÀf74A€…YAàq74A€ˆYA€t74A@‰YA74A@ŠYAÀˆ74A ŠYA`•74A€ŠYA ¢74A@ŠYA@®74A‹YA»74A ‹YAÀÇ74A`‹YAàÏ74AŒYA€Ü74A@ŽYAàß74A@YA`æ74A@’YA€ç74Aà–YAàà74A€˜YAÚ74A ™YA`Õ74A`šYA€Ç74AÀ›YA´74A€YA ¦74AŸYA`—74A` YA‹74A¢YA €74A£YAà|74A`£YA æ64AàvYA`å64A`xYA Ï64A@uYA Ù64A vYA æ64AàvYA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@žà@4A YA€¤B4A ŸYAuP@4A ŸYA€¤B4A YA £B4A`œYA “B4A™YA B4A˜YAÀ‰B4A •YA†B4AÀ“YA {B4Aà’YAÀlB4Aà“YA ^B4A ”YA€KB4A`”YA =B4A`”YA`-B4A ”YA "B4A ”YA B4Aà”YAÀôA4A`”YA àA4Aà”YA ÉA4Aà”YA@¸A4A`”YAÀ¥A4A”YAÀ™A4A “YA`‹A4A@“YA kA4A ’YAÀSA4AÀYADA4A`ŽYA`7A4Aà‹YA@4A4A`‰YA 1A4A@†YA€0A4A@„YA 3A4AYA@7A4AÀYA >A4A€{YA@=A4A`xYA€?A4AàtYAÀAA4A€qYA`EA4A@mYA GA4A iYA`RA4A@eYA€]A4A bYA€hA4A€^YA rA4A \YAàxA4A@ZYA@}A4AÀXYA`„A4AàUYA@‡A4A TYA`ŒA4A SYA@’A4A€QYA`•A4A`PYA‘A4A€OYA “A4A€NYA –A4AJYA€œA4A@BYA A4A@=YAà A4Aà7YAÀ™A4AÀ1YA ”A4AÀ-YAàŒA4A +YA`{A4Aà(YA sA4A`'YA€bA4Aà$YA`YA4AÀ#YA EA4A@"YA€6A4A !YA.A4A@ YA+A4A YAà'A4A YAÀ$A4A YA`A4A@YAÀA4A`YA`A4A`YA€ A4A YA`ö@4AÀYAàñ@4AàYAÀí@4AàYA è@4A YA`ã@4AàYA Þ@4A YAÀÖ@4A` YAàÉ@4A YA Å@4A YA@À@4AÀ"YAÀÂ@4Aà%YA`Ã@4A(YA Ä@4A +YAÀÃ@4A ,YA€Â@4A1YA@Á@4A5YA`Á@4A€8YA À@4A€>YA¿@4A€DYA ¼@4A€HYA`·@4A€KYA®@4AàQYAà¥@4A WYAàž@4A [YA –@4A _YA€Œ@4A`cYA@}@4A iYAàu@4A kYAàl@4A@mYA`R@4A@rYAD@4AàtYA@3@4AxYA@'@4A zYA@4A`}YAà@4A€€YA€@4A ‚YA€@4A‡YA @4Aà‰YA@!@4A YA`(@4A`YAà1@4A`“YAÀ;@4A —YA€E@4A@›YA€L@4A€YA O@4A žYAP@4A ŸYA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@æ`A4AíYAÀõB4A YA»€¤B4A YAÀõB4A YAÀôB4A œYA ñB4A€—YAàìB4A`“YA ìB4A YA`îB4A YA óB4A YAàòB4A@YA@óB4AàYA€òB4AàŠYAÀîB4A ˆYA@ëB4A€„YA`êB4A€YAÀåB4Aà{YAÀãB4A€wYA`ÜB4AÀsYAÀÔB4A oYAÈB4A`iYA ¿B4AÀeYAÀ³B4A@bYAÀ§B4A_YA€šB4AÀYYA ŽB4A`UYA€‚B4A SYA`pB4A@QYAàcB4A@OYA€WB4A€MYA€DB4AKYA =B4A`GYA€FB4AàFYATB4A FYA€bB4A GYAtB4A@GYAàB4A@GYAÀžB4A`FYAÀ©B4AàEYAÀ¿B4AàDYAàÊB4A DYA ÐB4A€CYA€ÔB4A AYA ÚB4A>YA ÊB4AÀ8YA ÅB4Aà6YA ÁB4A4YAÀ¼B4Aà0YA»B4Aà,YA ¸B4A *YA€´B4A€&YA`³B4A`"YA´B4AYA€³B4AYAà®B4A€YAÀªB4AYA §B4A€YA ¦B4AàYA žB4AàYAà—B4A YAà€B4A YA€vB4A YAÀoB4A YAànB4A€YA lB4AàYAoB4AÀ"YAÀqB4A@'YA@sB4Aà)YA rB4A .YA@qB4A@1YA@nB4A 4YAcB4A€7YA@\B4AÀ8YAàRB4AÀ9YAGB4A:YA?B4A€9YAà3B4Aà6YA€.B4A 4YA (B4A`1YA`"B4A .YAàB4A@+YAÀB4Aà'YA`B4A`%YAÀ B4A #YAB4AÀ!YAÀB4A YAÀÿA4AÀYA`þA4AÀYA ÷A4A YA`îA4AYA@çA4A YAÀÙA4A`YAÀÑA4A`YAàÁA4A YA²A4AÀYAÀ¢A4A`YA`“A4A€YA`‚A4A`YAvA4A€YA`hA4A`YA``A4A`YA`[A4A  YAYA4AÀ YA@XA4AYA@ZA4A€YA ^A4AàYAàbA4AàÿYAÀgA4A ýYA lA4A€úYA pA4Aà÷YAÀrA4AÀöYA`uA4AòYA tA4A@ïYA`pA4A îYA€nA4AîYA€gA4A íYA ^A4AíYA@UA4A íYA@HA4AàïYA€=A4A`ñYAÀ6A4AàòYA 0A4AàôYA'A4A öYA@#A4A€÷YA A4A€ùYA A4AÀüYA€A4AÀýYAàA4AÀYA`A4A€YA`A4A@YA€ A4AÀYAÀA4A` YAàA4A YA`$A4AYA $A4A@YAà'A4A YAÀ*A4A YA/A4AYA 3A4A YA.A4A@ YA€6A4A !YA EA4A@"YA`YA4AÀ#YA€bA4Aà$YA sA4A`'YA`{A4Aà(YAàŒA4A +YA ”A4AÀ-YAÀ™A4AÀ1YAà A4Aà7YA A4A@=YA€œA4A@BYA –A4AJYA “A4A€NYA‘A4A€OYA`•A4A`PYA€˜A4AQYA€ªA4A RYAÀ¾A4AàSYAÏA4A`UYA`ÛA4AàVYA`êA4A@YYA ôA4A@ZYA B4AÀ^YAÀ'B4A _YA 0B4AaYA :B4A€bYA DB4A@dYA LB4A@fYAQB4A jYAUB4AàmYAàcB4AÀuYA`iB4A`xYAÀqB4A}YAuB4A €YA€yB4AÀ„YA {B4A ˆYAÀ|B4A ‹YA@~B4A YA€~B4A ŽYA`B4A`YA B4A`‘YA€„B4A “YA†B4AÀ“YAÀ‰B4A •YA B4A˜YA “B4A™YA £B4A`œYA€¤B4A YA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ ö ìB4A`}YA ºC4A YA'ÀõB4A YAÀ‘C4AÀœYAàC4A€—YA@©C4A€’YA²C4AÀŒYAà¸C4AÀ…YA ºC4A@ƒYAà¹C4A`€YA °C4A€~YA`¤C4A`}YAà–C4A }YA ŒC4AÀ~YA`~C4AYAuC4A‚YAÀlC4AÀƒYA dC4A „YA`_C4A„YA ]C4Aà„YA`YC4A …YA RC4A@‡YA€PC4A@ˆYA JC4Aà‰YAà?C4A€‹YA`:C4AŒYA€3C4AÀŒYA +C4A@YA`&C4A ŽYAàC4AÀŽYAC4A€YA C4AàYA C4AYA€õB4AYA óB4A YA`îB4A YA ìB4A YAàìB4A`“YA ñB4A€—YAÀôB4A œYAÀõB4A YAð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð? ‚àõB4A@ÞYA`YF4AÀœYAÀ‘C4AÀœYA ßC4A€œYAáC4A`›YAÀéC4A€˜YA ðC4A •YAàóC4AÀŽYA ÷C4A ŒYA üC4AŠYA@D4A€‡YA@ D4AÀ…YA€D4AÀ…YA@D4A€‰YA D4A YA D4A‘YAÀD4A`“YA D4Aà•YA D4Aà˜YA#D4A`›YA@%D4A@œYA@3D4A@œYA`5D4A ›YAà9D4A`šYAÀÀóK4A`•YA@ÃL4A ”YAÀÁL4A€’YA€ÂL4A YAÀÄL4A@ŒYA`ÏL4A ŠYA`ÖL4A`‰YA`àL4A@ˆYA íL4A ‡YAÀòL4A€†YAðL4A „YA€îL4A`YA€ìL4A}YAàêL4AàyYA`êL4AxYA éL4A uYAàèL4AÀrYA èL4A qYA@àL4A@mYA@ÙL4AÀjYA@ÎL4A`hYAÀÁL4A@fYA€´L4A€dYAÀ¨L4A bYAžL4A€`YA ”L4A€^YA ŽL4A@]YA`ŒL4A€]YAL4AÀ]YAÀzL4Aà\YA`rL4A [YA fL4A@YYA`]L4A`WYAàVL4AàVYA JL4AÀUYA =L4AÀTYA,L4A TYAÀL4AàSYAÀ L4ATYA ýK4A SYA îK4AàSYAâK4A@TYA`ÑK4A TYA`ÅK4A@WYAÃK4A@ZYA@ÁK4Aà\YA€¼K4AÀ_YAÀ¶K4AeYA ¸K4A@jYA »K4A`lYA »K4A@nYA ¼K4AsYA€»K4AÀvYA@¼K4A yYA ÅK4Aà~YA@ËK4AÀYA`ÕK4A „YAàãK4A ‡YAêK4A€ŒYA`ðK4A€YA óK4A“YAÀóK4A`•YA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Ò@ÙH4A€nYA `I4A•YA$@ÙH4A YA ÙH4A ŽYA@ÛH4AàŽYA€áH4A€‘YA@êH4A ”YA`òH4A•YA@I4A€”YA`I4A€“YAÀ+I4A’YAÀ5I4A YA€=I4A@YA GI4A€‰YA@OI4AˆYA `I4A@‡YA`^I4Aà„YA`_I4A€YA`^I4A|YA€^I4A€zYA€]I4A@zYAàWI4A€xYAÀVI4A tYA YI4AÀqYA PI4A oYAàBI4A nYA 3I4A€nYA€1I4A nYA`"I4A`oYAI4A`qYA`I4AÀuYAÀI4A zYAÀI4A`YAI4AàƒYA€ I4Aà†YA ùH4A€ŠYA`ïH4AÀŒYA@ÙH4A YA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@j€0A4A`PYA†B4Aà”YAF†B4AÀ“YA€„B4A “YA B4A`‘YA`B4A`YA€~B4A ŽYA@~B4A YAÀ|B4A ‹YA {B4A ˆYA€yB4AÀ„YAuB4A €YAÀqB4A}YA`iB4A`xYAàcB4AÀuYAUB4AàmYAQB4A jYA LB4A@fYA DB4A@dYA :B4A€bYA 0B4AaYAÀ'B4A _YA B4AÀ^YA ôA4A@ZYA`êA4A@YYA`ÛA4AàVYAÏA4A`UYAÀ¾A4AàSYA€ªA4A RYA€˜A4AQYA`•A4A`PYA@’A4A€QYA`ŒA4A SYA@‡A4A TYA`„A4AàUYA@}A4AÀXYAàxA4A@ZYA rA4A \YA€hA4A€^YA€]A4A bYA`RA4A@eYA GA4A iYA`EA4A@mYAÀAA4A€qYA€?A4AàtYA@=A4A`xYA >A4A€{YA@7A4AÀYA 3A4AYA€0A4A@„YA 1A4A@†YA@4A4A`‰YA`7A4Aà‹YADA4A`ŽYAÀSA4AÀYA kA4A ’YA`‹A4A@“YAÀ™A4A “YAÀ¥A4A”YA@¸A4A`”YA ÉA4Aà”YA àA4Aà”YAÀôA4A`”YA B4Aà”YA "B4A ”YA`-B4A ”YA =B4A`”YA€KB4A`”YA ^B4A ”YAÀlB4Aà“YA {B4Aà’YA†B4AÀ“YA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ÖÀÁL4A€†YA M4A ”YA@ÃL4A ”YA M4A`”YA€M4A YA@üL4A@‹YA öL4A‰YA ôL4A ‡YAÀòL4A€†YA íL4A ‡YA`àL4A@ˆYA`ÖL4A`‰YA`ÏL4A ŠYAÀÄL4A@ŒYA€ÂL4A YAÀÁL4A€’YA@ÃL4A ”YA@@@@@@@@@@@@@@@@@¶€D4A`YA„N4A`”YA÷ M4A`”YA€zN4A“YA„N4A“YA„N4A@’YA zN4A YA jN4A YA`N4A ‹YA€KN4AàˆYA :N4A†YA`3N4Aà„YAÀ1N4A „YA€,N4A ƒYA€)N4AÀ€YAà&N4Aà|YA %N4A`xYAà$N4A uYA`#N4A oYA€"N4AÀlYAÀ!N4AÀiYAÀ N4AfYAà N4A`cYA€ N4A@bYAN4Aà^YAÀN4A\YA@N4AàZYAN4A@YYA`ûM4A WYAàóM4A`VYA`æM4A`SYAÀÕM4AÀPYAÀÄM4AàLYA€¼M4AàHYA µM4AàCYA¨M4AÀ@YA`M4Aà7YA€M4A 1YAàtM4A`.YA`eM4Aà)YA YM4AÀ'YA@HM4Aà$YA 9M4A"YAà.M4AÀYAÀM4A YA M4AYAòL4A`YAäL4A YA ÔL4A€YA¿L4AàYA`±L4A YA€¨L4A YA@™L4AàYA‘L4A YAà‰L4AÀYA‰L4AÀYAÀ”L4AÀ YA ¢L4A` YA ¦L4A@YA¤L4AÀYA€L4A YA yL4AYAÀ_L4A@YA€ML4AàþYAÀI4A ?YA YA@)I4Aà:YAI4A€7YA€ñH4AÀ4YAàçH4A4YAÚH4A3YA€·H4A 2YA ¡H4A@-YA ›H4A,YA ƒH4A )YA _H4A %YA€KH4A !YA€2H4AàYA $H4A YA H4A YAH4A€YAàìG4AÀYAÀÖG4A YA`µG4AÀYA€™G4AYAŠG4A YA`‡G4AÀ YA`sG4A YA ]G4A`YA`DG4AYA -G4A€YAàG4AÿYA@G4A€ûYAG4A`ùYA`G4AàøYAÀ G4A øYAG4A€öYA`üF4A ôYAÀñF4AÀòYAÀäF4AÀðYA`ÖF4A`îYA ÊF4A€ìYA@ÁF4A êYA@¾F4A éYA@¾F4A@èYA€¸F4AàèYA@—F4A@ãYA@‹F4A àYA€wF4A€ÝYA@\F4AÚYA DF4AàÕYA &F4A ÑYA`F4AàÍYA ùE4A`ÈYAààE4A@ÂYA`ÁE4A½YA ¾E4A€¼YA ¶E4A@»YA€«E4A€¹YAàŠE4A`³YA@vE4A ­YA kE4A¨YA€_E4A` YAÀ[E4A€˜YA ]E4A@‘YAà_E4Aà‰YA`hE4A€YA`nE4AyYAà|E4A mYAà}E4A bYA`uE4A€WYA€tE4A TYA`nE4A`LYA@eE4A`BYA@[E4Aà7YA PE4AÀ.YAÀ@E4A`"YAÀ7E4A YA 3E4A YA@,E4A`YA@E4A YA€E4AÀúYA€ E4AàöYA E4A ðYAÿD4A`ëYAàþD4AàêYA€üD4AàáYAþD4A ÏYAàýD4AàÍYA€ýD4AàÄYA`E4A¹YAÀE4A€µYA  E4A@­YAÀE4A`¥YA E4A€YAàE4A`–YAàE4AÀŒYA $E4AÀ…YA@&E4A`|YAÀ'E4A uYAÀ*E4AàhYA€(E4A `YAà)E4ATYA (E4A LYA *E4A`DYA *E4ABYA 2E4A -YA€4E4AàYA€3E4AYAÀ2E4A@YAà7E4A ôYA@9E4A@êYA€3E4AàÔYA ,E4A`ÈYAàE4A€»YA E4A€¶YAÀE4A ®YAÀîD4A ¤YAÜD4AYA ÊD4AÀ—YA@¹D4A€’YAà¬D4A YA@œD4A ˆYAÀ’D4A€…YA D4A`YA€‹D4A@‚YA`‰D4A@†YA€†D4A ŠYA€„D4AÀŽYA€D4A€’YAà…D4A`–YA`‹D4A œYA@˜D4A ¢YAÀ£D4A §YA ©D4A@¬YAÀ®D4A@¯YA`»D4AµYA ÇD4AÀ»YAÀ×D4AÀÈYA àD4A ÎYA€èD4A€×YA ëD4A ÞYAðD4A`çYAëD4A ïYA€ìD4A ýYA€íD4AàYA@îD4A YA`íD4A YAàìD4A`YA@ìD4A€YA`çD4A`YA éD4A "YAìD4A€(YA@ëD4A€.YAëD4A 3YAêD4A 8YA`èD4A >YA æD4A BYAåD4AàCYA`åD4AHYA`æD4A€KYA€íD4A`QYA@õD4AÀVYA@÷D4A [YA€ùD4A `YA`ûD4A€dYA üD4AàkYA€ýD4A`rYAàüD4AvYAüD4A@yYA@ûD4A {YA óD4A„YAàïD4A€‰YA`îD4AàŒYA èD4A ’YA áD4A •YAàÚD4A šYA@ÎD4AÀ YA`ÈD4A ¥YAÁD4A ªYA ºD4A ®YA`´D4A±YAÀ¯D4A³YA@¨D4A@¶YA€¡D4AÀºYA žD4A€¿YA€D4A@ÆYAšD4AàÍYA€™D4A@ÏYA`œD4AÔYAÀžD4AÀÙYA`£D4A ßYA@°D4A èYAÀÌD4A€ÿYAÀ×D4A YA àD4AYA çD4A YA`ïD4A YA ûD4A &YA` E4A`1YAà E4A ?YAÀ$E4A`EYA )E4A KYA`.E4A@QYA€2E4A€WYA@6E4Aà_YA6E4A dYA2E4AhYAà E4A ˆYA E4A@ŠYAàE4Aà‹YA`E4AYA@E4AÀ”YAE4Aà–YA€E4A@šYA E4A@ŸYAàE4A ¢YA`E4A`¥YAÀE4A@¦YA@E4A ªYA€#E4A ®YA .E4A ²YA 3E4A ´YA 9E4A€¶YAàEE4A@ºYA NE4A@½YA`[E4A ÀYA€eE4A`ÂYA`tE4A€ÄYA ŽE4A€ÈYA ™E4AàÊYA€¨E4A ÎYA·E4A ÒYA€ÆE4AÀÖYA ÑE4AÀÙYA ÞE4AÀÛYA@èE4AàÝYAÀñE4A àYA`øE4A áYA@F4A`äYA€F4A`çYA F4A éYA`F4AÀéYA 5F4AíYAQF4A`ñYA[F4AóYA rF4A öYAà}F4A øYA€ŠF4AÀúYA`•F4A üYAÀªF4A€ÿYAÀµF4A YAàÃF4AÀYA`ÕF4AÀYAàÝF4AàYAÀöF4A` YA G4AYA`5G4A€YA IG4AYA WG4A YA hG4A`YAzG4AYA@‹G4A YA@G4AÀ!YAÀ©G4A #YA@ÄG4A`'YAØG4A*YA åG4A@+YA`ñG4A€,YA€þG4Aà-YAà H4A`/YA`H4A 1YA 'H4Aà2YAYA€¬H4A@AYA€ÁH4A BYA€ÊH4A€CYA€ÚH4AÀFYA âH4A`HYAÀõH4AÀJYAÀüH4A€LYA` I4A€OYA I4A€PYA@"I4ASYA@,I4A UYAà0I4AàVYA 8I4A YYAàCI4A€\YAàVI4AàaYAbI4AeYA`lI4AàgYAuI4A@jYA@zI4A lYA‡I4A oYAœI4A€sYA «I4A vYA °I4A€wYA ³I4A`xYA ¿I4A`{YAÀÆI4A ~YA ÎI4AÀ€YA ÜI4A€…YA€çI4A@ŠYA ðI4AàŒYA ùI4AÀYA J4AÀ“YAJ4Aà•YA J4AÀ—YA@J4A ˜YA J4AÀ™YA€3J4AÀYAà;J4A`ŸYA@SJ4A £YA@WJ4A¤YA aJ4A@¦YA@iJ4Aà§YA oJ4Aà¨YA€‰J4A ¬YA •J4A°YA@£J4A€³YA ªJ4A€µYA`µJ4AÀ¸YAà¸J4A ¹YAÇJ4A ¼YA@ØJ4AÀÀYA æJ4AàÃYA ïJ4A ÆYA øJ4AàÈYA K4AÀÊYAK4A`ÎYA@K4AÀÐYA@)K4AÕYA@1K4AØYA€6K4AÚYAÀ=K4AàÜYA@CK4A ßYAFK4AààYA`JK4A âYA cK4AàèYA uK4AÀíYA@{K4A`ïYAŠK4AàóYAÀ˜K4AÀøYA@§K4A üYAµK4AYAàÓK4A YAàáK4A  YA ëK4A€YA öK4A@YA@L4AÀYA€ L4A YA`L4A@YAàL4AYA€$L4AÀ YA€3L4A#YAàFL4A'YAUL4A )YA@`L4AÀ,YA@bL4A.YAcL4A@1YA€aL4A`4YA@`L4A7YA`^L4A :YA ^L4A <YA`_L4AAYA gL4A HYAÀjL4A JYAÀoL4A€NYA€uL4A`RYAàyL4AàVYA€ƒL4A ZYA ŽL4A@]YA ”L4A€^YAžL4A€`YAÀ¨L4A bYA€´L4A€dYAÀÁL4A@fYA@ÎL4A`hYA@ÙL4AÀjYA@àL4A@mYA èL4A qYAàèL4AÀrYA éL4A uYA`êL4AxYAàêL4AàyYA€ìL4A}YA€îL4A`YAðL4A „YAÀòL4A€†YA ôL4A ‡YA öL4A‰YA@üL4A@‹YA€M4A YA M4A`”YA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Z`ßG4AàpYAÀMH4A “YAàáG4Aà„YAâG4A€…YA ãG4Aà‹YAÀèG4AÀYA€íG4AÀ’YA ôG4A “YA`ýG4AÀ’YA€ H4AàYA@!H4AàŒYAÀ1H4A‰YA`EH4A@…YAÀMH4A`„YAÀIH4A ƒYA5H4A€€YA #H4A ~YAH4A|YAàH4A@yYA`ûG4A vYA@ñG4A`tYAàæG4A`qYAÀáG4AàpYA`áG4A€qYA€àG4A@wYA`ßG4A yYA@àG4AYAàáG4Aà„YA@@@@@@@@@@@@@@@@@@@@@@@@@@@@B&`=F4A ‡YA ”N4A@’YA }À×ñ Ip•æQ`3N4Aà„YA :N4A†YA€KN4AàˆYA`N4A ‹YA jN4A YA zN4A YA„N4A@’YA@‡N4A@RYA N4A PYA xN4AÀOYAÀrN4A NYA pN4A€MYA nN4A LYAÀmN4A JYAàrN4AàHYA@|N4A HYAÀ‡N4AÀGYA@‰N4A*YA`tN4Aà*YAUN4Aà,YA DN4A/YA )N4A€/YA N4Aà0YAÀN4A€1YAàN4A3YA ûM4A 3YAÀçM4Aà4YA@âM4A 5YA àM4A 3YAáM4A`0YA`ìM4A .YA`óM4Aà-YA ýM4AÀ+YAN4A*YA N4A€(YA N4AÀ&YA üM4AÀ#YA`N4A@YA@N4A YAN4AÀYAàN4AYAÀN4A YAà$N4AYA 0N4A YA>N4AÀYA FN4AYA€HN4AÀYA ?N4AYA@0N4A YA &N4AàYAN4A ÿYA N4A ùYAÀûM4A`ôYA€ïM4AðYAàçM4A ëYA€äM4AàçYA@ãM4A`ãYA€óM4A€áYAà N4A€àYA`%N4A àYAÀ7N4AààYA NN4AáYA `N4A€áYA€~N4A ãYA ‰N4A éYA€ŒN4AëYA ”N4A€XYAÀ“N4A WYA`ˆN4A'YA €N4A`(YA`oN4AÀ(YAiN4Aà(YAÀ^N4A@)YA`XN4A`)YA€TN4Aà)YAàFN4A)YA€CN4AÀ(YA 5N4A (YAà"N4AÀ(YAN4A)YAN4A (YAN4A€(YAÀûM4A@(YAàîM4AÀ'YA ßM4A`'YA ÌM4A€'YAÀ¹M4A@(YAÀ©M4A`(YAžM4AÀ(YA`ˆM4A`(YA@…M4A€(YA M4A€(YA dM4A )YA€SM4A*YA =M4A*YA 2M4A ,YA@*M4A -YA M4A€/YA€M4A 1YA@M4A@5YA M4AÀ8YA@M4AÀ;YAÀM4AÀ<YA€ùL4AÀDYA`õL4AàFYAðL4AàJYA æL4A€NYA@ÛL4A€PYA ÍL4A@QYA@ÉL4A QYA`ÁL4AàQYAÀ£L4AQYAà—L4A@QYAàˆL4AÀQYA€€L4A€PYA`|L4APYAàqL4A`OYA`gL4AÀNYAZL4A€LYA@SL4AKYAàML4AàHYA@GL4AàDYA BL4A BYA 4L4A 9YA`/L4A6YA )L4A`2YAÀ$L4A /YA@L4Aà+YAÀL4Aà)YAÀL4A $YAÀöK4A@YAÀöK4A YA`õK4AÀYAàîK4A`YAàèK4Aà YA`äK4AYA ãK4A YAÜK4AÀþYA`ÖK4A`ûYA ÍK4A ìYAÊK4A`èYAÀÅK4A@äYA€¸K4A€ÜYA€¯K4AÀÕYA@©K4A ÐYA £K4AÍYA€¡K4AàÊYAÀ”K4AÅYA€™K4A ÂYA@ K4A`ÀYA´K4Aà¿YAÍK4A@ÁYAàÙK4AÀÁYA€æK4AàÀYA@ëK4A¾YA ðK4A`»YA úK4A@ºYAàL4A ¸YAà L4A ¶YA@L4A@´YAà L4A ±YA@ùK4A ®YAàïK4A€«YAåK4Aà©YA@ÒK4A@¨YA ²K4A@§YA@¤K4A¦YA`K4AÀ¥YAà‚K4A¦YA@rK4A€¦YAàdK4A §YAWK4AÀ¥YA RK4A€¤YAVK4Aà¡YAà^K4A€ŸYAàhK4A žYAÀyK4AœYA K4Aà™YA žK4AÀ–YA ¬K4A “YA»K4AÀYAÀÆK4A`ŒYA ÖK4A@ŠYA€àK4A@ŠYA íK4Aà‹YA`L4A`YA€ L4AÀ“YAàL4A€˜YA@L4A€šYA "L4A€šYA -L4AÀ™YA 2L4A€—YAà4L4A@–YA@5L4A€‘YAÀ6L4A@ŽYA`6L4A ŠYA@3L4A@„YAÀ*L4A`YA€%L4A€zYAÀL4A wYA@L4A€rYA L4A oYA@ùK4A jYAÀóK4A@dYA€ýK4A@_YAÀL4AÀ\YA@L4A@ZYA@#L4A WYA@,L4A`UYAÀ+L4A€SYA )L4A QYA€#L4A€OYAÀL4A`NYA€L4A`NYAàõK4AÀNYA`ÞK4APYAÈK4AÀOYAÀ·K4A€TYA`¬K4A€VYA¤K4A@XYAÀK4A@[YA K4A ^YAàuK4A dYAÀrK4AgYAuK4A€oYA€wK4AÀrYAÀlK4A`wYAÀ`K4A zYAÀ[K4A`|YAÀJK4Aà€YA`=K4AÀYA*K4A€€YA`K4A@~YA K4A zYA€þJ4AÀuYAàùJ4AÀsYA@èJ4A pYAàÛJ4A€nYA@ÌJ4A`lYAÀ½J4AàkYA ¨J4A€kYAÀ‹J4A`iYA€wJ4A@hYA@oJ4A gYAQJ4A`dYAàTJ4Aà`YAÀaJ4A@[YAÀoJ4A€TYA`|J4AàPYAŽJ4A NYA€™J4AMYA ˜J4A GYA ‚J4A GYAànJ4A`HYAà`J4A IYA@KJ4AàKYA@BJ4ANYA@3J4A€NYAÀJ4A NYAàJ4A OYA æI4AàPYAÑI4A@SYA€ÄI4AWYA`¾I4AÀZYAà¸I4A^YA@¶I4A@`YAà¯I4A`cYA ªI4A`dYAÀœI4Aà_YA ™I4A`^YA€ŒI4AYYA@€I4AÀTYA@uI4A`RYA@lI4AÀNYA€_I4AàEYA€XI4A`=YA€LI4A@7YAàGI4A/YA`JI4A@,YA UI4A+YA[I4A)YAàlI4A 'YA€}I4A`'YA`‡I4A %YAàI4A@$YAà”I4A "YA`”I4A` YA€ŽI4A@YA ‚I4A€YAÀvI4AÀYA II4A YAÀ2I4AÀYA +I4A@ YA@%I4A@YA`I4A€YA@I4AÀùYA@"I4AàõYA .I4A ñYAà;I4A íYA HI4AìYA VI4A`êYA _I4A@çYAàcI4A€åYA eI4A`äYA bI4AâYA YI4A@ÞYA QI4A ÛYA`HI4A ØYA`II4AÖYA OI4A€ÕYA@]I4A ÕYA`lI4A€ÕYAÀvI4AÀÕYA…I4A ÕYAàœI4A`ÕYA`¦I4A@ÕYA@®I4A ÕYA€ÑI4AàÕYA ØI4AÀÕYAààI4A ÖYAÀJ4A€ÖYA` J4A@ÙYA€J4A ÜYA€J4AàÞYAÀ J4A ãYA@J4AÀåYAJ4AêYA`J4A€îYAJ4A ðYAJ4A ôYAÀ#J4AúYA`$J4A`üYA` J4A@ÿYA J4AàÿYA@çI4A YA`òI4AÀYAÀûI4AYAÀJ4Aà YA J4Aà YAàJ4Aà YAÀ!J4A€ YA`2J4A@ YA9J4Aà YA€@J4A  YA€NJ4A@YAàTJ4A YA`J4AYA hJ4A` YA€kJ4Aà YA mJ4A€ YA€mJ4A YA`kJ4A@ YAÀkJ4A`YAlJ4A€YA`kJ4A ýYAÀlJ4A€ùYA lJ4A ÷YAàjJ4A õYA`hJ4A ìYA \J4A åYA`TJ4AàYA EJ4AÀÙYA`>J4A@ÕYA 9J4A`ÒYA@8J4A@ÍYA8J4A€ÉYA M4A bYA€YAíH4A FYA€öH4AIYAüH4A QYA`I4AÀXYA€I4AcYA@I4A€gYA€I4AkYAÀI4AlYAà'I4A`lYA *I4AÀjYAÀ7I4A€lYAà=I4A`nYA II4A pYA GI4AàrYAà@I4A vYA ?I4A`wYA`3I4A`|YAÀ#I4A €YA`I4A@„YA@ I4A@‡YA`øH4A ‹YA@ïH4AÀŒYA@åH4AàYAßH4A ”YA`ßH4A`šYA€ßH4A œYA ãH4A` YA`òH4Aà£YAüH4A ¦YA€I4A ©YA@!I4A€¯YA 2I4A€³YA DI4A ·YAcI4A`»YA€pI4A½YAŽI4A@½YA`´I4AàÀYA ÔI4A@ÂYA õI4AàÄYAþI4A@ÈYA J4AàÍYA J4A ÔYA J4A`ÕYAÀ8J4A@ÜYA CJ4A@àYA IJ4AàâYA@ZJ4AèYAÀ\J4AàèYA kJ4AÀðYA€J4A@öYA€”J4A€ýYA¡J4A€YA€—J4A  YA`‘J4A`YA€J4AYA J4A€YA ‹J4A€YA`ˆJ4A &YAˆJ4Aà&YA`…J4Aà,YAÀ†J4A 4YAà„J4A ;YAÀ„J4A<YA …J4A`?YAJ4A@CYA •J4A`EYA œJ4A HYA ¬J4A`LYA€¸J4A QYAÂJ4AàVYA€ÍJ4AàZYA ÙJ4A ]YA`ÞJ4AÀ[YAàâJ4A€ZYA òJ4A XYA K4AàVYAà K4A VYA€$K4AàRYA`8K4AÀOYA@GK4A LYA UK4A@GYA _K4ACYA jK4A`?YA`qK4A=YA |K4A ;YAÀƒK4A =YAàŒK4A`>YA@•K4A@YA ŸK4A AYA «K4A€CYAàµK4A FYA`¾K4AHYAÀºK4A`IYAÀ®K4AÀKYAÀ¨K4A@MYA`¢K4A@PYA€K4AàTYA…K4A€VYA xK4AÀWYA dK4A ZYA ZK4A \YAÀUK4A€^YA`NK4A``YA`EK4A`bYA :K4A dYAÀ7K4A`eYA€,K4AhYA`#K4A`iYAÀK4A€jYA`K4A@kYA K4A lYA K4A sYA`K4AÀwYAÀK4A€zYAK4A`|YA€K4A€~YAÀúJ4A €YA€ìJ4A`„YA@ØJ4A ˆYAÀÊJ4A ‹YA ÀJ4AàYA°J4A YAàJ4A “YAàšJ4A ”YAÀ‘J4A–YAÀJ4A™YA`´J4A  YA ÙJ4A ¨YAñJ4A€¬YA€K4A ±YAà(K4A@¶YAàLK4A ¼YA gK4A ÄYAÀ}K4AÀÈYA ˆK4A€ÅYAàK4A@ÄYA“K4A€ÂYA –K4A@ÁYA ŸK4A`¿YA §K4A`½YA °K4A€»YA¹K4A ¹YAÀÂK4A·YA€ÉK4A€µYAÀÍK4A`´YA€ÐK4Aà´YA äK4A€µYA L4A¸YAÀ#L4A ¹YA€%L4A ÀYA@)L4AÂYA`(L4A€ÇYA@&L4A€ËYA@!L4A ÐYAL4AÔYA  L4A`×YA€L4A@ÛYAÀÿK4A ßYA`L4A áYA@L4A äYAà L4A åYA L4A€èYA "L4A`êYA .L4AìYAà4L4A@íYA@OL4A@ðYA cL4A`òYA |L4A€ôYA@–L4A÷YAÀ¸L4A ûYA ÎL4A@ÿYAÀïL4AYA`M4A YA€'M4Aà YA>M4AàYA@UM4A`YAàeM4AYA {M4AàYAÀ‹M4A€YA ˜M4A#YA@M4A@'YA`¥M4A .YAà®M4A 3YA€»M4A@9YAàÊM4Aà?YAÀÙM4A EYA ïM4AÀGYAN4A@JYA!N4A€OYA 3N4A`QYA@EN4AWYAVN4A \YA`ZN4A`aYA€[N4A€eYAZN4A kYA\N4A@pYAàaN4A@tYAÀgN4A€uYA`jN4A€yYAÀhN4A |YA€aN4A ~YA RN4A €YAÀIN4A‚YA?N4AÀƒYAà4N4A€„YA`3N4Aà„YAÀ«M4AýYAÀ¬M4A€ûYA ­M4A ûYA€«M4A ÷YAàªM4A õYA ªM4AÀòYA€¬M4A ïYAà°M4A@îYA€½M4AîYA@ÌM4A€ïYAàÕM4AÀïYAâM4A@ðYA çM4A ñYAëM4A@ôYA@íM4AàöYAÀëM4AúYA€åM4A ýYAßM4A ÿYAÀÑM4A YA ÅM4A@YA`¾M4AYA²M4A@þYAÀ«M4AýYA 2M4A ëYA 0M4A€ìYA /M4AðYA .M4A`òYAà&M4A öYAà M4A ÷YA M4AàùYA M4AûYAàM4A`ûYAûL4A øYA€òL4A öYAàêL4AÀôYA åL4A`ñYAèL4A ðYAîL4AÀîYAõL4A@îYAàûL4A íYA@M4A@ìYA M4AëYA  M4A êYA`M4A€éYA@ M4A éYA@(M4A éYAÀ1M4A`éYA€3M4A êYA 2M4A ëYA@¿M4AÀÖYAÀ¹M4AàÖYA ¬M4A€ÕYAM4A ÓYAàM4A€ÓYAÀ{M4A ÑYAÀkM4A ÎYAàdM4A ÉYA`cM4A ÃYA@jM4A€¿YA yM4A¼YAà„M4A»YA@M4A@·YA¬M4A µYA ·M4A`´YA€¼M4A ´YAà½M4AÀ¹YA`ÀM4A`½YAÄM4AÅYA`ÍM4A ÍYA@ÏM4AàÓYA@ÎM4A×YA ÎM4A`×YA@ÅM4AàÖYA ÁM4AÀÖYA@¿M4AÀÖYArK4A`YA€mK4A œYA \K4A€˜YA KK4A`”YA9K4A@YA@*K4Aà‹YA !K4A`‡YA€K4A ƒYAK4AàYA $K4Aà€YAÀ)K4AYA`.K4A€€YA 9K4AÀ€YAàGK4A€€YAÀZK4A€YA€jK4AYA {K4A€~YA@‹K4A€|YAžK4A`{YA°K4A@zYAÀÅK4AàwYAÀÚK4A€vYAàïK4AàtYA`L4A€sYA`L4AÀqYAà,L4AqYA@AL4A`oYA`RL4A nYAà^L4A@mYA iL4AàkYA{L4A@kYA@„L4AjYA€L4A iYAÀ‰L4A jYA ~L4AàmYA yL4A oYA€qL4A€qYAÀjL4AàrYA@`L4A@uYA`ZL4A wYAÀTL4AzYAàFL4A`~YAà?L4A`YA:L4AÀ€YAÀ0L4A`‚YA@#L4A@…YA` L4A`†YAàL4AÀˆYAÀL4A€ŒYA`øK4A@ŽYA êK4AÀYA€ÞK4AÀ’YAàÓK4AÀ”YA`ÄK4A –YA ºK4A€˜YAÀ¯K4AÀ™YAÀ¬K4A@šYA K4A ›YA@†K4A@œYAà|K4AàœYAÀuK4A@YArK4A`YA šJ4Aà´YAšJ4Aà³YAÀ“J4Aà³YA€‡J4A@µYA@J4AÀµYA@wJ4A`·YAàkJ4A ¶YA \J4A¶YA QJ4A€´YAIJ4A±YA CJ4AÀ®YAÀAJ4AàªYAà@J4A §YAà?J4AÀ£YA@EJ4A@ YA€RJ4A@œYA€^J4A€™YAàdJ4A`™YAÀwJ4A ˜YA@J4A`˜YAÀ†J4A ˜YA€J4A`™YAà•J4A@›YA`J4A@œYA`¢J4A YA ©J4A€žYA`µJ4A ŸYA`½J4A£YA€ÅJ4A€¦YAÀÉJ4A ªYA ÌJ4A@¬YAÀÍJ4A@­YAÀÊJ4A ®YA ÇJ4A ¯YA ÁJ4Aà¯YAà¶J4A@±YA¯J4A`±YA`¤J4A€³YA šJ4Aà´YAà’I4A@ÌYA@‹I4A`ÌYA „I4A€ÌYAI4AËYAÀvI4A@ÊYA`oI4A`ÉYA`fI4A`ÈYA€]I4A ÈYAÀWI4A`ÇYA WI4AàÆYA@XI4AÆYAàZI4A ÄYAà]I4A ÃYA`iI4AàÁYAàmI4A ÀYA@{I4AÀYA ‡I4AÀ¿YA ‘I4A ¾YA@I4A@¿YA€«I4A¿YA@¸I4Aà¾YAàÅI4A@¿YAÀÏI4A ÀYA€×I4AÀÂYA àI4A ÅYA`áI4AÀÆYAààI4A ÈYA ÛI4A`ÉYA ÕI4A€ÊYA ÊI4A ÌYA ÄI4A ÌYA ¹I4AÀÌYA´I4AàÌYA«I4AàËYAÀ£I4AÀËYAÀ“I4A@ËYAà’I4A@ÌYA`$J4A ‚YA%J4A„YA J4A€„YAÀJ4A ƒYA  J4Aà„YA üI4AÀƒYAñI4A YAáI4A@~YA×I4A |YAÐI4A`zYA ÌI4AàwYAÀ¹I4AÀtYA¯I4A@sYA`œI4A@oYAÀ•I4AnYAÀ‹I4A`lYA †I4A`iYA ~I4A@fYA uI4A`_YA€qI4A ]YA€lI4A ]YA€hI4A]YA TI4A]YA SI4A`_YA PI4AÀbYA€JI4A€fYAÀCI4A`hYAÀ:I4A jYA &I4A€iYAÀI4AhYA I4A@eYA I4AàbYAÀÿH4Aà`YAÀôH4AÀ^YA ëH4A€]YAàÎH4AZYA ÅH4A@UYA½H4A OYA »H4A€KYAÀ¹H4A FYA€¹H4A BYAÀ»H4A@?YA€ÁH4A =YAàÐH4Aà:YAàßH4A :YA`ïH4A 9YAàI4A 7YA I4Aà6YA`/I4A`4YA 9I4A1YA€KI4A@/YAàZI4A-YA€mI4A€+YA`‚I4A ,YA€‘I4A,YA ¨I4A`-YAÀI4A 0YA`àI4A@5YA`ôI4AÀ8YA@J4A<YA`J4A@@YA`J4AÀBYAà'J4A€FYA€?J4A KYA RJ4A`OYA€cJ4AUYA wJ4AZYA |J4A@\YA€J4A`aYA@J4A@cYAàtJ4AfYA nJ4AàgYA gJ4A`jYA ]J4A€nYA RJ4AàrYAÀCJ4AàxYA ?J4A |YA 5J4A`YAÀ2J4A €YA`1J4A YA`$J4A ‚YAÀ(H4A`7YA`+H4A€8YA 2H4A`;YAÀ8H4A`=YA FH4AàAYA€NH4A DYA`QH4A FYA RH4AàHYA`LH4A`KYA@DH4AàMYA`5H4AÀNYAÀ$H4AOYAH4A@NYA H4AÀLYAàöG4A MYA@ñG4AàLYA áG4A`IYA ÛG4A€FYA€ÚG4A€BYA@áG4A @YAàìG4AÀ?YAÀ÷G4A`>YAÀH4A;YAà H4Aà8YAàH4A8YAÀ(H4A`7YA`oL4A ÄYA sL4A ÅYA€yL4A`ÉYAàL4AÎYA@†L4A@ÒYAà‡L4A`ØYA€}L4A@ÞYA oL4AÀâYAcL4A`æYAQL4AêYA DL4A ëYA`:L4AÀîYA 0L4A`òYA &L4A@øYA@$L4A þYA@%L4AàYA@)L4A YA +L4AYA€*L4A`YA %L4AYAàL4A YAÀL4A!YAàL4A #YAÀðK4AÀ%YA ãK4A`'YAÙK4A`)YAàÎK4A -YA ÁK4A 1YA µK4A 3YA€žK4A 6YA@ŽK4A`8YAà€K4AÀ8YAqK4A 9YAXK4A8YAÀOK4AÀ6YAÀIK4A@5YA€NK4A@2YAàXK4A/YA@gK4A`,YAàsK4AÀ(YA€ƒK4Aà$YAàŽK4Aà"YA@™K4AÀYAÀŸK4A YAÀ¥K4A YA@§K4AYA€¢K4AàYA ”K4AÀYA ‚K4AàYA€uK4A YA hK4A YA XK4A YANK4AÀYA`EK4A YA@>K4AÀþYAà9K4AúYA`8K4AÀôYAà7K4AÀòYA`;K4AàíYA@EK4A`éYARK4A`æYA aK4A@ãYA@mK4AààYA`vK4A`ßYA †K4AàÝYA K4A€ÛYAÀ«K4AÀÙYAÀK4Aà×YA€ÒK4AàÕYA@âK4A@ÕYA@ðK4AÀÓYAÀùK4A ÓYA` L4A ÒYA L4A@ÐYAÀ)L4A ÎYAà;L4A@ËYA DL4A`ÉYAàJL4A`ÇYA@aL4AàÄYA fL4A`ÄYA`oL4A ÄYA ^H4AÀ­YAÀ^H4A@­YA `H4A€¬YA dH4A@«YA hH4A ªYA vH4A §YA~H4AÀ¦YA@ˆH4A ¦YAÀŽH4A ¦YA™H4A€¦YA¡H4AÀ¦YA`©H4A ¨YA ®H4Aà©YA`±H4A@«YA`´H4AÀ­YA€¶H4A€¯YA€ºH4A`²YAÁH4AàµYAÉH4A¹YA@ÓH4A »YAÀÚH4A ½YA äH4A€¿YAàìH4A ÂYA òH4AÀÅYA öH4A ÏYA€öH4A`ÑYAàëH4A@ÓYA`ÙH4A`ÕYA ÆH4A ÖYAà¸H4A ÖYAÀ¦H4A ÓYAàžH4AàÐYAà—H4A ËYA@•H4A ÈYA`‘H4A ÂYA€H4Aà¿YA ‰H4A »YAàƒH4A€¹YA vH4AÀ·YAàkH4A@¶YA€cH4AÀ´YAÀ_H4A€²YA ]H4A€°YA ^H4AÀ­YA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@¢€‡64A€LYA€)74A ’YA €‡64AYA€¥64A ŽYA€À64A€‘YA`Ä64A ’YAÀÈ64A`YA Î64AÀ‹YAÝ64A …YAè64A@YA ý64A|YAÀ 74AzYA€ 74AÀxYA 74A sYA€74AÀkYA€74A@eYA 74A`YA€)74A PYA@)74A€LYA 74AÀMYAàú64A`QYAÀå64AÀRYAÎ64AVYAà¨64A`YAà¦64A gYAÀ¥64A lYA€£64A@rYAÀ¢64A€uYA ›64AÀyYAÀœ64AÀ|YAàš64AÀYAÀŽ64Aà†YA ‹64A ŠYA€‡64AYA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@J€bJ4A WYA K4A ‘YA. bJ4AÀ…YA€bJ4A ‡YA dJ4A@‰YA dJ4A@ŒYA@cJ4A@YAeJ4A ‘YA€gJ4A‘YA`€J4AàŽYAà™J4Aà‹YA€³J4A ‰YA ÉJ4A†YA@åJ4A`‚YA€úJ4A`YA K4AÀ}YA K4A€|YA€K4A wYAàK4A€uYA K4AÀoYA`K4AmYA K4A€hYA€ÿJ4A`gYAûJ4A eYA óJ4A€dYAçJ4AbYAàØJ4Aà_YA€ËJ4A€]YA@ÇJ4A`\YA ¼J4AàYYA€´J4A@XYAà¯J4A WYA@«J4A YYAÀ©J4A`\YA ¥J4Aà^YA¤J4A dYA@£J4AÀgYAÀœJ4A€jYA@J4A€mYAƒJ4A`oYAàzJ4A€qYA sJ4A`tYA€tJ4A`wYA tJ4AÀzYA pJ4AÀ~YA jJ4A‚YAÀbJ4A …YA bJ4AÀ…YA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@6@74A€yYAÀ‡74AàYAÀ 74AzYA@74AÀ|YA 74A ‚YA 74A`…YA` 74A ŠYAÀ74A YAà74A YAà74AàYA`)74A`YAÀ?74AŽYAàK74AÀ‹YA`Z74A`‰YA@n74A@†YAx74A„YAÀ„74AYAÀ‡74A €YA€ƒ74A€YA o74Aà}YA€T74A |YA ;74A`{YA%74A@zYA74A€yYAÀ 74AzYA@@@@@@@@@@@@@@@@@@@@@@@@@ ¢`¿74A@BYA@Å84A@YA `¿74AÀ‡YA€Æ74AÀˆYA€Ô74A@ŠYA@ç74Aà‹YAø74A`ŒYA84A`YA .84AYA€H84AÀYA O84A@YA€i84A ŽYAÀ}84A`‰YA 84AàƒYA œ84A{YA`®84A rYA¹84A mYA¼84A€fYA@Å84A`_YAàÄ84A\YA`o84A@BYA@`84A@EYA984A`JYA 84A€QYA 84A@^YA 84A€bYA`84A€hYAÀ84AàlYA  84A€qYAû74AÀvYA ê74A|YA Þ74A €YA Ñ74A„YA`¿74AÀ‡YA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@!" =B4A ûYA`nC4A YA€ óB4A YA€õB4AYA C4AYA C4AàYAC4A€YAàC4AÀŽYA`&C4A ŽYA +C4A@YA€3C4AÀŒYA`:C4AŒYAà?C4A€‹YA JC4Aà‰YA€PC4A@ˆYA RC4A@‡YA`YC4A …YA ]C4Aà„YA`_C4A„YA€ZC4AàƒYA PC4A ‚YA`FC4A €YA;C4A€|YAÀ1C4A@zYA@"C4AvYAàC4A€qYA€ C4AÀmYA C4A€iYA C4A eYAàÿB4AaYA úB4A YYAÀúB4AÀVYA€úB4ASYAÀùB4A@PYA@ùB4A NYAàõB4A`JYAøB4AÀFYA@ùB4A@BYA`üB4A ?YA C4A :YAà C4A`6YAàC4A`3YA@$C4AÀ0YA+C4A@/YAÀ5C4A -YAAC4A +YA€HC4A`)YAÀQC4A`%YA@ZC4A€YA`[C4AÀYA€]C4AàYA ]C4A€YA€^C4A€YA`_C4AYAÀ_C4A` YAà`C4AÀ YA@`C4A YA€aC4AYA fC4A`ÿYA€hC4A€ýYA`nC4A ûYAÀfC4AýYA€]C4A@þYA WC4AþYADC4AþYA ;C4AÀýYA/C4A ýYAà#C4A ýYA€C4A þYA C4A€YA`üB4A@YA@õB4A`YAÀàB4A YA ÖB4AYA@ÂB4AàYAÀ³B4A`YA¦B4A€YA ¦B4AYA§B4A@YA@£B4A@ YA ¤B4A YA ¦B4AàYA §B4A€YAÀªB4AYAà®B4A€YA€³B4AYA´B4AYA`³B4A`"YA€´B4A€&YA ¸B4A *YA»B4Aà,YAÀ¼B4Aà0YA ÁB4A4YA ÅB4Aà6YA ÊB4AÀ8YA ÚB4A>YA€ÔB4A AYA ÐB4A€CYAàÊB4A DYAÀ¿B4AàDYAÀ©B4AàEYAÀžB4A`FYAàB4A@GYAtB4A@GYA€bB4A GYATB4A FYA€FB4AàFYA =B4A`GYA€DB4AKYA€WB4A€MYAàcB4A@OYA`pB4A@QYA€‚B4A SYA ŽB4A`UYA€šB4AÀYYAÀ§B4A_YAÀ³B4A@bYA ¿B4AÀeYAÈB4A`iYAÀÔB4A oYA`ÜB4AÀsYAÀãB4A€wYAÀåB4Aà{YA`êB4A€YA@ëB4A€„YAÀîB4A ˆYA€òB4AàŠYA@óB4AàYAàòB4A@YA óB4A YA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@"^€ÐH4A YA ÙH4A ŽYA€ÐH4A@YAÀÓH4A YA ÙH4A ŽYA@ÙH4A YA€ÐH4A@YAð?ð?ð?ð?ð?ð?ð?#Æ °H4AÀ_YA€1I4A YA# °H4A`sYAà²H4AàtYA`»H4AwYA ¾H4A`xYA@ÇH4AÀ|YA ÊH4A`~YAàÌH4A€YA€ÏH4AÀƒYA ÒH4A@†YAÀÔH4A@ˆYAà×H4A‹YAÙH4A ŒYA@ÙH4A YA`ïH4AÀŒYA ùH4A€ŠYA€ I4Aà†YAI4AàƒYAÀI4A`YAÀI4A zYA`I4AÀuYAI4A`qYA`"I4A`oYA€1I4A nYA.I4AkYA€+I4AÀgYA@"I4A cYA I4A€`YA I4AÀ_YA I4A`aYA ïH4A@eYA@ÖH4A@jYAÀÊH4A mYAÃH4ApYA ³H4AàrYA °H4A`sYA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@$àYD4AÀ_YAF4A@ŠYASàZD4A@ŠYA ^D4A@ŠYAÀjD4AŠYA`~D4AàˆYA ‘D4A€†YA@¬D4A „YAàÈD4AÀYA`ÜD4A€YA ñD4A`YAÀE4A€~YA€E4A@}YAÀ0E4A }YA€HE4Aà|YAàOE4A`|YA@TE4A|YA@fE4AàzYA sE4A€zYA@€E4A yYAÀE4A xYA`žE4A`vYA€®E4A@tYA ¸E4A€sYA`ÃE4A rYA ÐE4AqYAàÞE4A`pYAàéE4A pYA óE4ApYA üE4A jYAF4A€gYAÀÿE4AàeYA÷E4AàeYA`íE4A eYA`âE4AÀeYA€ÖE4AfYA@ËE4AfYA ¾E4A€fYA€·E4A fYAÀ«E4A@gYA ¥E4AàgYA  E4A@hYA€—E4A€hYA “E4AàhYAÀE4A@iYA`ƒE4AÀjYA {E4A kYAÀmE4A@mYA€dE4A@nYA€YE4AoYA LE4A oYABE4A@pYA/E4AqYA E4A€rYAÀE4AtYA E4AÀtYA€öD4AÀvYA€éD4A xYA`ßD4A yYAÀÐD4A@{YA`¿D4AÀ{YA€³D4A|YAà¬D4A {YA€§D4A@yYA€ D4A vYA ˜D4A tYA@’D4A qYA@‰D4A@mYAÀƒD4A jYAà{D4AÀgYA vD4A dYA rD4A@aYA pD4AÀ_YA€jD4A€bYAÀeD4A`eYAÀ`D4A€jYA`aD4AàlYA bD4AÀoYA`aD4AsYAà]D4AÀwYA \D4A|YA€ZD4A YAà[D4AÀ„YAàYD4A`†YAàZD4A@ŠYA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%Î@9I4A€ YAà”K4A ˆYA¹ J4AàjYA J4AàlYA` J4A@rYA@ J4A@uYA€J4AÀxYA@J4A@|YA J4A€YAÀ"J4A`„YAÀ(J4AÀ…YA1J4A †YA€8J4A ˆYAEJ4A@‡YAàLJ4Aà†YA UJ4AÀ†YA`]J4A†YA bJ4AÀ…YAÀbJ4A …YA jJ4A‚YA pJ4AÀ~YA tJ4AÀzYA€tJ4A`wYA sJ4A`tYAàzJ4A€qYAƒJ4A`oYA@J4A€mYAÀœJ4A€jYA@£J4AÀgYA¤J4A dYA ¥J4Aà^YAÀ©J4A`\YA@«J4A YYAà¯J4A WYA€­J4A€UYA€§J4A QYA€¤J4ALYA £J4AàHYA ¢J4AàDYAà¦J4A@@YA©J4A<YA ¸J4A;YAàÆJ4AÀ:YA ÚJ4A`:YAèJ4AÀ9YA òJ4AÀ8YA üJ4A 6YAàýJ4A 5YAK4A 1YA`K4AÀ,YA`K4A )YA K4Aà%YAà K4A€#YA@K4A`"YAàK4A€"YAà,K4A &YA 7K4A)YAHK4A€,YAàTK4A 0YA@bK4A€2YA jK4A4YA€sK4A`4YA€}K4AÀ4YAà€K4AÀ3YAŠK4A2YA`K4A /YA`“K4A +YA@’K4A`'YA’K4AÀ YA@‘K4AàYAà”K4A YA ”K4Aà YA€K4A`YA ŠK4A YA yK4A þYA@pK4A üYA€dK4AÀùYAàTK4A ÷YAàHK4A€÷YA EK4A€÷YAÀ7K4A ùYA$K4A€ùYAàK4AÀùYAK4A@ùYA úJ4A€öYAÀíJ4A`óYAàëJ4AóYA€ÚJ4A ïYAÒJ4AàíYAàËJ4AàìYA@ÂJ4A@ëYAà¦J4A@çYA@ŸJ4AçYAÀŠJ4A€æYAàiJ4AÀâYA SJ4AÀàYA`4A  YA@j@4A@†YAx@Â>4A`PYA È>4AÀRYAÏ>4A UYA@Ú>4A@YYA ê>4A ^YA@ï>4A `YA`ö>4AàbYA€ü>4A@eYA€?4A iYA`?4A mYAà?4AàqYAÀ ?4A€uYAà+?4A@{YAà9?4A€YA`P?4AÀƒYA Z?4AÀ„YAd?4A€…YA t?4A@†YAÀ?4A@…YA@Š?4Aà‚YAÀ–?4AYAàœ?4A{YA`ž?4AÀwYA@ ?4AsYA@¡?4AÀpYAà¥?4A`jYA`²?4A`cYA½?4A ^YA`Ä?4A€\YA€Ï?4A€YYAÀ×?4AÀWYAÀæ?4A TYA€ð?4ARYAà@4A@NYA` @4A€LYAÀ@4A`KYA)@4AIYA:@4A GYAK@4A@EYA W@4AÀBYA@a@4A@?YA@j@4A`:YA`^@4A`7YA`M@4A@3YA <@4A`1YA€+@4A€1YAÀ@4A 3YAÀ@4A€5YA@ý?4A`7YAÀø?4A@8YA@ì?4A@9YAàÙ?4A<YA Ç?4A€=YA³?4A€?YA š?4A€AYA`Ž?4A€BYA }?4A`BYA@i?4A @YA@b?4A>YA`\?4A :YAÀ[?4Aà7YA@\?4A€3YA]?4A€0YA [?4A +YA@\?4A(YAàZ?4A %YAU?4A !YA`S?4A€YAÀP?4A€YA€P?4AYAàT?4A`YA Z?4AYA ^?4A€YA[?4A@YA`P?4A@YA J?4AYAà8?4AàYA 1?4A`YA`)?4A  YA !?4A` YA€?4Aà YA` ?4A` YA ù>4A  YAí>4Aà YA€ß>4A YAÖ>4A€ YA È>4AÀ YAÀ¾>4AÀ YA µ>4AYA ³>4AÀYA±>4AÀYA ±>4AYA ³>4A€YA€¹>4AÀYAÀÀ>4A@YA@Ã>4A`YA€Ê>4AàYAàÖ>4A`YAÀà>4AÀYA è>4A@YA`ë>4A`YAø>4Aà!YA`ú>4A@"YA@?4A€$YA ?4A(YA€ ?4A€+YA ?4A/YA?4AÀ2YA ?4A`6YA` ?4A`9YAÀ?4A<YA€ý>4A ?YAÀì>4AEYAæ>4AGYA Þ>4A IYA Ô>4A@KYAàË>4A`MYAÆ>4AàNYA Ä>4AÀOYA@Â>4A`PYA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@(vÀ}K4A`´YA`jN4Aà„YA‡À}K4AÀÈYA`ƒK4AÊYA€K4A ÎYA@¤K4A ÓYA`ÆK4AÀÞYA èK4AàçYAÀL4AîYA L4A@òYA 0L4A@øYAÀM4AàYA€'M4Aà YA`M4A YAÀïL4AYA ÎL4A@ÿYAÀ¸L4A ûYA@–L4A÷YA |L4A€ôYA cL4A`òYA@OL4A@ðYAà4L4A@íYA .L4AìYA "L4A`êYA L4A€èYAà L4A åYA@L4A äYA`L4A áYAÀÿK4A ßYA€L4A@ÛYA  L4A`×YAL4AÔYA@!L4A ÐYA@&L4A€ËYA`(L4A€ÇYA@)L4AÂYA€%L4A ÀYAÀ#L4A ¹YA L4A¸YA äK4A€µYA€ÐK4Aà´YAÀÍK4A`´YA€ÉK4A€µYAÀÂK4A·YA¹K4A ¹YA °K4A€»YA §K4A`½YA ŸK4A`¿YA –K4A@ÁYA“K4A€ÂYAàK4A@ÄYA ˆK4A€ÅYAÀ}K4AÀÈYAð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?)ÀáG4A@HYAÀÊH4A`„YA)ÀMH4A`„YAÀQH4AàƒYAà^H4A€‚YAàqH4Aà~YA`ƒH4Aà{YA@™H4A@wYA °H4A`sYA ³H4AàrYAÃH4ApYAÀÊH4A mYAÄH4AÀjYA`¿H4A@hYA`²H4A`dYA ¦H4A`YA`•H4A`ZYA‹H4AWYAÀuH4A@RYA eH4A`NYA NH4AàIYAÀGH4A@HYAÀ:H4AÀKYA@H4AàRYA@H4A€UYAÀïG4A@WYAàæG4A€WYA çG4A YYA éG4AÀ]YA éG4A`YAàèG4A aYA`åG4AàeYAäG4A€lYAÀáG4AàpYAàæG4A`qYA@ñG4A`tYA`ûG4A vYAàH4A@yYAH4A|YA #H4A ~YA5H4A€€YAÀIH4A ƒYAÀMH4A`„YA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*>€ F4A UYA`èF4A ƒYA-€ F4A yYAà F4A€yYAàF4A}YA 'F4AÀ€YAà2F4A ƒYAÀ9F4AÀ‚YAàHF4Aà‚YA`VF4A ƒYA ^F4AàYA`yF4A YA`œF4A |YA`ÏF4AàyYA`èF4AÀwYAÀçF4A uYAÀæF4AàtYAäF4A€sYAàáF4AÀqYA àF4ApYA€ÝF4A mYA€ÖF4AàgYAÖF4A fYAÀÕF4AàdYAÀÒF4AÀbYA@ÒF4AaYA ÄF4AàZYAàÃF4AÀWYA ÄF4AVYA€ÃF4A UYAà¹F4A VYA F4AÀXYAÀyF4A€ZYA [F4A@\YA`MF4A@^YA E4AàGYAÀ7E4A@DYAà0E4A ?YA@&E4A ;YA€$E4A:YAàE4Aà<YA` E4A ?YAàÿD4A @YAàøD4A AYA`ðD4A€BYAêD4A BYA€äD4AÀBYAÀ×D4AÀBYAàËD4ACYAÁD4ADYA`¹D4A`EYA ¯D4A€GYA€§D4A IYA D4A`LYA`—D4A NYAàD4A`QYA€ŠD4A TYA‚D4A@XYAàwD4A\YA pD4AÀ_YAð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?.&àêE4ADYA`0F4A`{YA+àêE4A{YA@óE4A`{YA€F4A@zYA€ F4A yYA@F4AàxYA F4AàvYA F4A uYAàF4AÀqYA€F4A@pYA@F4A`mYA "F4AÀjYA(F4A gYAà-F4A€bYA ,F4A aYAÀ-F4A@_YA@,F4A`\YA (F4AàXYA (F4A@VYA€+F4A PYA€-F4A@LYAà/F4A`IYA`0F4A`EYA€.F4ADYA€*F4A DYA (F4A@DYA€(F4A EYAÀ(F4A`LYA@#F4AÀRYAÀF4A YYAF4A ^YA F4A@bYA@F4A dYAF4AàeYAF4A€gYA`F4A iYAàF4AÀlYA`F4AÀnYAþE4AàoYA`ùE4A€qYAàìE4A@tYAàëE4AÀtYA@ìE4AàxYAàêE4A{YA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@/v`äE4AÀtYA@ìE4A{YAàêE4A{YA@ìE4AàxYAàëE4AÀtYA çE4A`vYA`äE4AyYA@çE4AàzYAàêE4A{YA@@@@@@@@@0ò I4Aà,YAÀcJ4A@zYA<€1I4A nYA 3I4A€nYAàBI4A nYA PI4A oYA YI4AÀqYAÀVI4A tYAàWI4A€xYA€]I4A@zYA iI4AàwYAÀtI4A vYAàzI4AàuYAÀ‚I4A@uYA€‘I4A tYA€ I4A sYAà°I4A`rYA`ÀI4AÀpYAÀÔI4A€oYAàåI4A@nYA@öI4AmYA@J4A kYA J4A`kYA@J4AkYA J4AàjYA`J4AhYA`$J4AÀcYAà$J4AÀ_YA€'J4AÀZYAÀ)J4A`WYA`-J4A SYA.J4A OYAÀ2J4A€IYA`=J4A`DYAÀIJ4A@YA@SJ4A=YA [J4A ;YAÀcJ4A 9YA``J4A€5YA@YJ4A /YA OJ4A`-YA`IJ4Aà,YA€:J4AÀ-YA1J4AÀ-YA€&J4A€3YAÀJ4A€5YA€ôI4A:YA ÝI4AÀ>YA ÂI4AAYA¢I4AJYA‹I4AMYA@qI4ARYA QI4AÀUYA€YA€…G4AAYA@hG4AàDYA @G4A@HYAà'G4A@KYA€G4A OYA€ãF4A`QYA€ÃF4A UYA ÄF4AVYAàÃF4AÀWYA ÄF4AàZYA@ÒF4AaYAÀÒF4AÀbYAÀÕF4AàdYAÖF4A fYA€ÖF4AàgYA€ÝF4A mYA àF4ApYAàáF4AÀqYAäF4A€sYAÀæF4AàtYAÀçF4A uYA`èF4AÀwYA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@2vàìE4AàoYAþE4A@tYA óE4ApYA òE4AqYAàìE4A@tYA`ùE4A€qYAþE4AàoYA`÷E4AàoYA óE4ApYAð?ð?ð?ð?ð?ð?ð?ð?ð?3Ž óE4A€gYAàF4ApYA  óE4ApYA`÷E4AàoYAþE4AàoYA`F4AÀnYAàF4AÀlYA`F4A iYAF4A€gYA üE4A jYA óE4ApYA@@@@@@@@@@@4ŠÀGH4A 4YA I4A mYAÀÊH4A mYA@ÖH4A@jYA ïH4A@eYA I4A`aYA I4AÀ_YA` I4A^YAÀöH4A [YAàäH4AWYAÔH4A€SYAàÈH4A€PYAºH4A@KYA ­H4A GYAÀŸH4A BYA ’H4A@>YA`ˆH4Aà8YAÀxH4A 4YA`rH4AÀ6YA`cH4A`=YATH4AEYAÀGH4A@HYA NH4AàIYA eH4A`NYAÀuH4A@RYA‹H4AWYA`•H4A`ZYA ¦H4A`YA`²H4A`dYA`¿H4A@hYAÄH4AÀjYAÀÊH4A mYA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@5¾€$E4AYAà+F4AàhYAM “E4AàhYA€—E4A€hYA  E4A@hYA ¥E4AàgYAÀ«E4A@gYA€·E4A fYA ¾E4A€fYA@ËE4AfYA€ÖE4AfYA`âE4AÀeYA`íE4A eYA÷E4AàeYAÀÿE4AàeYAàöE4A@bYAñE4A`^YAàéE4A`[YA`ãE4AàWYAäE4A`WYA@ãE4A€TYA åE4AÀQYA`éE4AàPYA ðE4A`OYA€øE4AÀMYAàüE4A LYAÀþE4A€JYA ÿE4A€HYA F4A@FYA F4AàDYAF4AàDYA F4A@DYAàF4A@CYA  F4A CYAÀ'F4ACYA€'F4ABYA€*F4A€8YAà+F4A`6YA %F4A6YAF4AÀ4YA F4A 2YA`F4A€/YA F4A`,YA F4A`)YAàF4Aà%YAÀF4A "YA@ûE4A€YA@ðE4A`YAàîE4AYA èE4A€YAÀÞE4A@ YAÀÑE4A "YAàÆE4A#YA ¼E4A $YAà¬E4A@'YA  E4Aà)YA`›E4A`*YA ’E4A€+YAÀ†E4A€-YAàyE4A0YAàhE4Aà1YAVE4AÀ2YA HE4A@3YA=E4A€4YAÀ1E4Aà6YA€$E4A:YA@&E4A ;YAà0E4A ?YAÀ7E4A@DYA@>E4AàGYA€GE4AàLYAÀNE4AàOYA\E4AUYA`gE4AÀXYAqE4AÀ[YA€{E4A`_YAÀ†E4AÀbYAÀŽE4AÀeYA “E4AàhYA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@6RÀÿE4AàeYAF4A€gYAÀÿE4AàeYAF4A€gYAF4AàeYAÀÿE4AàeYAð?ð?ð?ð?ð?ð?7–@ãE4ACYAÀ(F4AàeYAÀÿE4AàeYAF4AàeYA@F4A dYA F4A@bYAF4A ^YAÀF4A YYA@#F4AÀRYAÀ(F4A`LYA€(F4A EYA (F4A@DYAÀ'F4ACYA  F4A CYAàF4A@CYA F4A@DYAF4AàDYA F4AàDYA F4A@FYA ÿE4A€HYAÀþE4A€JYAàüE4A LYA€øE4AÀMYA ðE4A`OYA`éE4AàPYA åE4AÀQYA@ãE4A€TYAäE4A`WYA`ãE4AàWYAàéE4A`[YAñE4A`^YAàöE4A@bYAÀÿE4AàeYA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@8& (F4A@YA`ÓG4A aYA+ ,F4A aYA YAà·G4AÀ;YA`ÓG4A 6YAÑG4Aà4YAËG4A@0YA ¾G4AÀ(YAà´G4A"YAà¯G4A@YAÀ£G4A@ YA €G4Aà"YA@gG4A`&YA`?G4Aà+YAÀ%G4A€.YA€ G4A€1YA@æF4A@5YAÁF4A€8YA@™F4A ;YA@dF4Aà?YA@AF4ACYA€.F4ADYA`0F4A`EYAà/F4A`IYA€-F4A@LYA€+F4A PYA (F4A@VYA (F4AàXYA@,F4A`\YAÀ-F4A@_YA ,F4A aYA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@9ÀxH4AYA1J4AÀ_YAhNÀxH4A 4YA`ˆH4Aà8YA ’H4A@>YAÀŸH4A BYA ­H4A GYAºH4A@KYAàÈH4A€PYAÔH4A€SYAàäH4AWYAÀöH4A [YA` I4A^YA I4AÀ_YAàI4A€^YA@&I4A ]YA€YA€ôI4A:YAÀJ4A€5YA€&J4A€3YA1J4AÀ-YA€*J4AÀ-YA€'J4A`+YAÀJ4A`(YA@J4A`$YAJ4A`"YA úI4A€!YA€êI4AÀ YA€ßI4A`YA€ÅI4A YA`ªI4AÀYAà˜I4A YA@|I4A@YA hI4A@YAàYI4AàYA@QI4A YA JI4A€YA`EI4AÀ YA`DI4AYADI4A€YAàEI4AYA€>I4AYAà&I4AYA I4AYA€òH4A`YAàÛH4A YA`ØH4A  YAÑH4A YA`¿H4A`YAÀ©H4A"YA@­H4A@"YA ·H4A"YAÀÂH4Aà!YAÀÐH4AÀ YA€ÙH4A  YAàâH4A@#YA`çH4Aà'YAèH4A€*YA åH4A€.YA`äH4A 1YA`áH4A 8YA ßH4A =YA€ØH4AÀ@YA ÓH4A€AYA`ÂH4AAYAàµH4A@?YA ¯H4A :YA`§H4AÀ5YA£H4A 1YAÀ¡H4AÀ,YAà™H4AÀ)YAà—H4A)YA ŽH4A€-YAÀxH4A 4YA@ÿH4AÀ8YAÀI4Aà7YA`I4A@6YA@I4A4YAÀI4A@0YAà!I4A`/YA 0I4Aà-YA ;I4AÀ.YA€@I4AÀ0YA€GI4A3YA@PI4A6YAàXI4A 8YAÀcI4A :YA kI4Aà<YA@lI4A€?YAÀhI4A AYA`dI4AÀBYA`aI4A`FYA@WI4AGYA@KI4AGYA I4AYAàEI4AYA HI4AYA@FI4A€ÿYAj€ý74AHYA 84AÀRYA€ý74AÀRYA€ 84ARYA 84A€QYA 84AHYA84A`QYA€ý74AÀRYAð?ð?ð?ð?ð?ð?ð?ð??¦ÀmN4AÀGYAÀ‡N4A@RYA @‡N4A@RYAÀ‡N4AÀGYA@|N4A HYAàrN4AàHYAÀmN4A JYA nN4A LYA pN4A€MYAÀrN4A NYA xN4AÀOYA N4A PYA@‡N4A@RYA@@@@@@@@@@@@@@>§=4A€ØYA ?4A`PYAm@Â>4A`PYA Ä>4AÀOYAÆ>4AàNYAàË>4A`MYA Ô>4A@KYA Þ>4A IYAæ>4AGYAÀì>4AEYA€ý>4A ?YAÀ?4A<YA` ?4A`9YA ?4A`6YA?4AÀ2YA ?4A/YA€ ?4A€+YA ?4A(YA@?4A€$YA`ú>4A@"YAø>4Aà!YA`ë>4A`YA è>4A@YAÀà>4AÀYAàÖ>4A`YA€Ê>4AàYA@Ã>4A`YAÀÀ>4A@YA€¹>4AÀYA ³>4A€YA ±>4AYA±>4AÀYA ³>4AÀYA µ>4AYAà¸>4A  YA¹>4A YAÀ½>4AàYAÀÂ>4AÀYAÍ>4A`YA Ó>4A ÿYA Ù>4A`üYAá>4A ùYAàí>4A€öYA`õ>4AÀôYA ÷>4A€ôYA@ð>4A óYA@ç>4A òYAàÞ>4AñYA€Ú>4A ïYAÔ>4AïYA€Ï>4AîYAÅ>4A€ìYA À>4A`ìYA µ>4A ëYA€°>4A€êYA ¬>4AÀèYAà¦>4A çYA`¡>4A äYAœ>4A âYA€—>4A€àYA@‘>4AÀÝYA‹>4A€ÛYA ƒ>4A€ØYA}>4AÀÙYAà[>4A€àYA`M>4AãYA=>4A€çYA`,>4AÀêYA >4A@íYA@>4A ïYAà>4A@ñYAÀó=4AàòYA ë=4A@öYA€Ý=4A@üYAàÊ=4A€YA`À=4A YAà¶=4AYA °=4A€YA`§=4A YA§=4A YA ª=4A "YA€°=4Aà&YA ³=4Aà*YA`¹=4A@-YA¿=4A 0YA@Æ=4AÀ3YA Î=4A8YA Õ=4A€;YA€Û=4A`>YA€è=4A BYAÀò=4AEYA >4A€HYA>4AKYA@>4A@KYA@>4A@IYA` >4A@FYA€>4A BYA` >4Aà?YA *>4A =YA€<>4A`;YA€H>4A`;YAÀT>4AÀ<YA _>4A€?YAf>4A`AYAàr>4A EYA@ƒ>4A`FYA€Š>4AàFYA€—>4AÀGYAÀ¤>4AÀIYA€²>4A€MYA@Â>4A`PYA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AZ@ÿH4Aà-YA@lI4AGYAÀI4Aà7YA@ÿH4AÀ8YA  I4A <YA@I4A ?YA€#I4AAYAÀ0I4A CYA H4A ÜYAà/H4A€ßYA@H4A âYA H4A ãYAH4AãYA`H4AÀâYA@ýG4A€ãYAÀîG4AÀåYAåG4AèYA€ÚG4A`êYA`ÊG4AàìYA¿G4AÀîYA€¯G4A€ðYA  G4A`òYA@’G4AôYA@„G4A@õYA€lG4A õYA]G4A€÷YA QG4A€ùYA`HG4A€úYAÀ?G4AûYA@8G4AÀüYAà,G4A ÿYA`G4A YAÀG4AYA€ G4A YAG4AàYA ùF4A  YA îF4A YAàáF4A@YA@ÕF4A YA€ËF4AÀYAÀ¿F4A YA€´F4AÀYAÀ­F4A€YA`¢F4A YA —F4A!YA F4AÀ!YA ‡F4Aà!YAÀxF4A !YA tF4Aà YAkF4A YAeF4A@YA@bF4AYA bF4A@YA@bF4AàYA`bF4AÀYA`YF4A@YAÀRF4A YA€HF4A YA BF4AYAÀ@F4AàYA :F4A`$YA@7F4A€)YAà1F4A@-YA€.F4A`2YAà+F4A`6YA€*F4A€8YA€'F4ABYAÀ'F4ACYA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ENà—H4A  YAèH4A€AYAÀ©H4A"YA¢H4A`$YAà—H4A)YAà™H4AÀ)YAÀ¡H4AÀ,YA£H4A 1YA`§H4AÀ5YA ¯H4A :YAàµH4A@?YA`ÂH4AAYA ÓH4A€AYA€ØH4AÀ@YA ßH4A =YA`áH4A 8YA`äH4A 1YA åH4A€.YAèH4A€*YA`çH4Aà'YAàâH4A@#YA€ÙH4A  YAÀÐH4AÀ YAÀÂH4Aà!YA ·H4A"YA@­H4A@"YAÀ©H4A"YA@@@@@@@@@@@@@@@@@@@@@@@@@@@F`ÙK4A€YAcL4A?YA(àëK4A`5YAàíK4A`6YA`õK4AÀ7YAàùK4A€9YA L4AÀ<YA  L4AÀ=YA L4A?YA *L4A =YA`.L4A€9YA4L4A7YA`9L4Aà5YA€CL4A`5YAML4A 5YA ZL4A€5YA@`L4A7YA€aL4A`4YAcL4A@1YA@bL4A.YA@`L4AÀ,YAUL4A )YAàFL4A'YA€3L4A#YA€$L4AÀ YAàL4AYA`L4A@YA L4AYA€ùK4AàYA@íK4AÀYAåK4AÀYA€ÛK4A€YA`ÙK4AÀYA ÞK4A`YAÀâK4Aà!YA êK4AÀ"YA€ëK4Aà$YAêK4Aà'YA€äK4A +YA€åK4Aà.YA@çK4A 2YAàëK4A`5YA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Gþ`þA4A òYA§B4A:YA=`þA4AÀYAÀÿA4AÀYAÀB4A YAB4AÀ!YAÀ B4A #YA`B4A`%YAÀB4Aà'YAàB4A@+YA`"B4A .YA (B4A`1YA€.B4A 4YAà3B4Aà6YA?B4A€9YAGB4A:YAàRB4AÀ9YA@\B4AÀ8YAcB4A€7YA@nB4A 4YA@qB4A@1YA rB4A .YA@sB4Aà)YAÀqB4A@'YAoB4AÀ"YA lB4AàYAànB4A€YAÀoB4A YA€vB4A YAà€B4A YAà—B4A YA žB4AàYA ¦B4AàYA ¤B4A YA@£B4A@ YA§B4A@YA ¦B4AYA¦B4A€YA`¤B4A@YA`–B4A€YAB4A€þYA‚B4AüYA sB4A øYAàfB4AÀõYAÀWB4AóYA JB4A òYA N4AÀYA 0N4A YAà$N4AYAÀN4A YAàN4AYAN4AÀYA@N4A YA`N4A@YA üM4AÀ#YA N4AÀ&YA N4A€(YAN4A*YA ýM4AÀ+YA`óM4Aà-YA`ìM4A .YAáM4A`0YA àM4A 3YA@âM4A 5YAÀçM4Aà4YA ûM4A 3YAàN4A3YAÀN4A€1YA N4Aà0YA )N4A€/YA DN4A/YAUN4Aà,YA`tN4Aà*YA@‰N4A*YA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@J²À[N4A`YA@ŠN4A€)YA `hN4A YAÀ[N4AYAàfN4A€YA@lN4AÀ!YA€vN4A`$YA „N4A@'YA@‰N4A€)YA@ŠN4A`YAˆN4A€YA@}N4AÀYA`rN4AÀYA`hN4A YA@@@@@@@@@@@@@@K x?4A`èYA @4A@'YA8À›?4A YA ?4A  YA Ÿ?4A YA¡?4A`YAà ?4A YA`¢?4A`YA§?4A€$YA «?4A'YA¾?4A@'YA€Ã?4A 'YA Í?4A &YAàØ?4AÀ#YA€ß?4A !YA@æ?4A YA í?4AàYA ï?4A YA`î?4AàYA€í?4A€YA€í?4AÀYA î?4AàYAàñ?4A@YA€ö?4A` YAù?4A@ YAú?4AYAÀü?4A`YAàÿ?4A YAÀ@4A€ýYA @4AúYAà@4A öYA@@4AôYA@4A îYA€ÿ?4AàìYAà@4A€êYA @4AÀéYAà@4A éYAàó?4A`èYAàÚ?4AàéYAÀÔ?4AàêYA@Â?4AàìYA€³?4A€îYA@ ?4AàðYA@™?4A`ñYA@Œ?4A`óYA ƒ?4AÀóYA€}?4AàôYA x?4A@÷YA ?4AÀöYA€„?4A ÷YAŠ?4AúYAà?4A@ÿYA ‘?4A YAÀ”?4A YA –?4A€YAÀ™?4AYAÀ›?4A€ YAÀ›?4A YA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@LZ 94A`ìYA@W:4A &YA 94AÀ YAà94A€ YA€#94AàYA694A`YA@K94A€YAà\94AYAÀf94A!YAw94A &YA€y94A %YA`ã94A€YAà:4A€YA€.:4AÀYA@W:4A`YA€1:4A` YA`:4A YA€:4A`÷YAÀ÷94A`ìYA 94AÀ÷YAh94A@ùYA@O94AÀûYA K94A`üYA=94AÿYA`094A`YA !94AàYA`94A@ YA 94AÀ YA@@@@@@@@@@@@@@@@@@@@@@@@@@@@M"@ŸD4A@øYA`ÇE4AÀ#YA@@ŸD4AÀYA ©D4AàYAÀ¬D4AYA`´D4A@YA€¹D4A YA`½D4AYA ¾D4AÀYAàÂD4A€YAÉD4AÀ YA ÐD4A`"YAÝD4AÀ#YA€âD4A #YA íD4A !YA÷D4A YA E4AàYAà E4A€!YAÀE4A€"YA *E4A€"YAÀ8E4A !YA`CE4AàYA`KE4A YA SE4AàYA XE4AYA€oE4AYAuE4AàYA ƒE4A@YA€ŒE4A`YAÀ™E4A@YAàŸE4A@YA ¦E4AÀYAÀ®E4A€YA ¶E4A`YAÀ¼E4A` YA@ÂE4A YA`ÇE4A@ YAÀÆE4A@YA ÂE4AÀYA€¾E4A YAà»E4A YA ­E4A`YA`¬E4A ÿYAà¦E4A ÿYA`œE4A€þYA`‘E4A`üYA`ŽE4A ûYAà‡E4A€üYA€|E4A`þYA€nE4AYA VE4AYA HE4AàYA`8E4A ÿYAà#E4AÀýYA`E4A`ûYAÀþD4A€øYA@ýD4A@øYAÀïD4A üYA`âD4AÀÿYA ÑD4AàYA@ÅD4AàYAàºD4AÀ YA`´D4A@ YA«D4A YAÀ D4A@YA@ŸD4AÀYA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Nú`YF4A ÉYA`H4Aà!YAR ¿F4AàîYAà·F4A@ðYA £F4AõYA œF4A€ùYA`›F4A€üYA™F4A€ÿYA`ŒF4AàYAÀ…F4A YA€xF4A YA`mF4A YAÀaF4A`YA`YF4A@YA`bF4AÀYA@bF4AàYA bF4A@YA@bF4AYAeF4A@YAkF4A YA tF4Aà YAÀxF4A !YA ‡F4Aà!YA F4AÀ!YA —F4A!YA`¢F4A YAÀ­F4A€YA€´F4AÀYAÀ¿F4A YA€ËF4AÀYA@ÕF4A YAàáF4A@YA îF4A YA ùF4A  YAG4AàYA€ G4A YAÀG4AYA`G4A YAà,G4A ÿYA@8G4AÀüYAÀ?G4AûYA`HG4A€úYA QG4A€ùYA]G4A€÷YA€lG4A õYA@„G4A@õYA@’G4AôYA  G4A`òYA€¯G4A€ðYA¿G4AÀîYA`ÊG4AàìYA€ÚG4A`êYAåG4AèYAÀîG4AÀåYA@ýG4A€ãYA`H4AÀâYA úG4AáYAàíG4AàÜYA€çG4A ÙYA@àG4A ÖYAàÙG4AÀÓYA ØG4AÓYA`ÓG4AàÏYAÀÎG4A ÍYAàÆG4A ËYAÆG4A ÉYAÀ¾G4A`ÊYA ´G4A€ËYAÀªG4AàÌYA  G4AàÎYA€‘G4AàÐYA~G4A`ÒYA`vG4A`ÓYA mG4AÀÔYA@_G4A ÖYADG4A ØYA 4G4AàÛYAà"G4A ßYA G4AààYA`þF4AãYA çF4A@çYA€ÕF4AàêYA€ÅF4A íYA ¿F4AàîYA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Oþ M@4AëYAàñ@4A` YA= Å@4A YAàÉ@4A YAÀÖ@4A` YA Þ@4A YA`ã@4AàYA è@4A YAÀí@4AàYAàñ@4AàYAàï@4A YA ï@4A YAàî@4A€YA`í@4AÀYA@ê@4AàYAÀç@4A€YAàâ@4A@ YAÝ@4A`YA Ù@4AàYA€Ó@4A YA Í@4A`þYA Ç@4A úYA Ä@4A øYA Á@4A öYA ¿@4AÀôYA`»@4A òYA@¹@4AñYA@´@4AðYA@³@4A`ïYA ¯@4A€ìYAà–@4A€íYAÀw@4A@íYA Z@4A€ëYAàR@4AëYA`S@4A îYAÀQ@4AÀðYAÀR@4A€ôYA@S@4A€öYA T@4A ùYA@U@4A ýYA@V@4A`YAT@4AYAS@4A`YAàQ@4A YA R@4A YA€R@4A YA O@4A  YAàM@4AÀYA M@4A@YAP@4AàYA ^@4AYA@j@4A YA u@4A`YA |@4AàYA †@4A€YA@Š@4AYA •@4AYAà¢@4AÀYA€¨@4A@YA`²@4A@YA ¸@4AàYAàÅ@4A YA Å@4A YA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@P¾@³@4AÀèYA rA4A@ YAMàñ@4AàYA`ö@4AÀYA€ A4A YA`A4A`YAÀA4A`YA`A4A@YAÀ$A4A YAà'A4A YA+A4A YA.A4A@ YA 3A4A YA/A4AYAÀ*A4A YAà'A4A YA $A4A@YA`$A4AYAàA4A YAÀA4A` YA€ A4AÀYA`A4A@YA`A4A€YAàA4AÀYA€A4AÀýYA A4AÀüYA A4A€ùYA@#A4A€÷YA'A4A öYA 0A4AàôYAÀ6A4AàòYA€=A4A`ñYA@HA4AàïYA@UA4A íYA ^A4AíYA€gA4A íYA€nA4AîYA rA4AÀêYAàoA4A`éYAoA4AéYA hA4A éYA€YA4AéYA€MA4AÀèYA AA4AàèYA-A4A@éYAÀA4A êYA A4A@êYAà A4A`êYA`A4A êYA ø@4AëYA`ð@4A€ëYA€ä@4AÀëYA â@4AÀëYA Û@4A ìYA Î@4A€íYA@Ì@4AÀíYA€Ç@4AàíYAÀ¿@4A`îYAà»@4A îYA@³@4A`ïYA@´@4AðYA@¹@4AñYA`»@4A òYA ¿@4AÀôYA Á@4A öYA Ä@4A øYA Ç@4A úYA Í@4A`þYA€Ó@4A YA Ù@4AàYAÝ@4A`YAàâ@4A@ YAÀç@4A€YA@ê@4AàYA`í@4AÀYAàî@4A€YA ï@4A YAàï@4A YAàñ@4AàYA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Q’€í?4AÀçYA@V@4A YA4 ï?4A YA õ?4A YA ú?4AàYA @4AàYA@ @4A YA€@4AàYA @4AÀYA &@4A YA`0@4AÀYA`:@4A`YA`A@4AàYA G@4A YA M@4A@YAàM@4AÀYA O@4A  YA€R@4A YA R@4A YAàQ@4A YAS@4A`YAT@4AYA@V@4A`YA@U@4A ýYA T@4A ùYA@S@4A€öYAÀR@4A€ôYAÀQ@4AÀðYA`S@4A îYAàR@4AëYAÀ<@4A éYA+@4AÀèYA @4A èYA @4A èYA@ @4AÀçYA @4AÀéYAà@4A€êYA€ÿ?4AàìYA@4A îYA@@4AôYAà@4A öYA @4AúYAÀ@4A€ýYAàÿ?4A YAÀü?4A`YAú?4AYAù?4A@ YA€ö?4A` YAàñ?4A@YA î?4AàYA€í?4AÀYA€í?4A€YA`î?4AàYA ï?4A YA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@R & Æ54A@üYAÆ74AÀYAë`˜74A€YA@“74A`YA@‘74AàYA 74AYAÀ‹74A@ YA@ˆ74A YA ‡74AÀYA†74AàYA@‚74AÀûYAà74A@÷YA „74AàöYAàƒ74A õYA ƒ74AóYA 74A€ðYAà}74A îYA@w74A€êYA q74A€çYA`k74AÀäYA@i74AäYA e74A`âYA@c74A ÞYA b74AàÙYAÀg74A`ÔYA o74A@ÏYAÀx74A€ÉYA`74AÆYAà74A@ÂYAà74A`¼YA@ª74A`¸YAàµ74A´YAÀº74A ®YA º74A`«YA@¸74A«YA`¶74A ªYAà°74A ¤YA`§74AŸYAÀ¥74Aà›YA¤74A ˜YA ˜74A ”YA‘74AÀ’YA@Œ74A YA@Œ74A YA€Ž74A€‰YA“74A`…YA ¡74A €YA€§74AÀ~YA ­74AàzYAÀ¯74AwYA€²74A rYA º74A`jYAÁ74A`jYAÀÀ74A`iYA ¼74AàeYAÀ¸74A@cYA ¾74A`_YA Á74AÀZYAÆ74A VYA ·74A`TYA`Ÿ74ARYAà“74A€PYAàˆ74A NYA ~74A€IYA`s74A?YA f74A@<YA`a74A 7YAÀ^74Aà3YA@]74A`.YA@\74A`*YA@[74Aà&YA@Z74Aà"YAX74AÀYA X74AYA@Z74A@YAàY74AàYAàX74Aà YA W74A`YA€U74A YAàG74A YA A74A YA`<74A@YAà974A€YAÀ,74AÀYAà 74A`YA 74A@YA` 74A`YAàþ64AYA€ò64A@YA@ê64A@YA á64AYA@Ô64A YAÀÊ64AÀYA@¾64A YAà¶64A€YA °64AYA€©64A YA` 64AÀ YA`›64AÀYAÀ“64A`YA64AàYA ‰64A YA ‚64AÀYA|64A YAÀn64A YA d64A YA`\64AàÿYA@X64A ÿYA Q64AþYA@I64AàüYAÀA64A@üYAG64A@YAÀO64A YA€R64A` YA [64AÀYAÀj64AÀYA€{64AàYA …64A YAàŠ64AÀYA@š64A€YA@ª64AYA·64AYA`Ä64A€YA@Ì64A YA Ô64A`YA`Ò64AàYA@Ï64A!YAÀÏ64A@#YA@Ñ64A %YA€Ö64A€'YA Ô64A€)YA€Ò64A *YA Ë64A@+YA ¿64A€,YA€²64AÀ,YA`£64A ,YA€–64A@,YA€Š64A,YA {64Aà*YA`o64A)YAÀb64A@&YA [64A`#YA€U64A@!YA€J64Aà!YAà:64AÀ"YA@.64A #YA !64Aà#YA64A$YA`64A`%YAõ54Aà&YAàä54Aà(YA`Ò54A+YA Æ54A -YA@ß54A +YA64A-YAà%64Aà-YA =64A@.YAÀN64A€.YAàb64A€/YA€v64A€1YA „64A€3YA Š64A 6YAÀ’64AÀ8YA€¦64A@8YAà¸64AÀ5YA Â64A€3YA Ç64A€2YAÀÑ64A@0YA`Ó64A -YAÀÚ64A€+YA å64A *YA`ò64A`'YA@ø64A€%YA û64A`#YA ÿ64A  YA`74A@YA@ 74AYA`74A€YAà374A YA ;74A`.YAÀ674AÀ8YA@A74A BYA Q74A KYA k74AUYA |74A \YA‹74AàaYAÀ”74A@hYA@74A€jYA`Ÿ74A lYA`’74A@qYA ƒ74A vYAÀu74A@zYAc74AÀ~YA`\74A €YA Q74A†YA@P74AÀŽYA Q74AÀYA ]74A@”YA i74A@˜YA€s74A@›YA‚74A ŸYA ‹74A@¥YA@‘74A`«YA`™74AÀ®YA ‘74AÀ³YAàˆ74A ¸YAÀ†74A ¹YA€x74Aà¼YA`m74Aà¿YA€^74AÀÃYA`S74A ÆYA@I74A ÊYAA74A ÏYA 674A€ÓYAÀ.74A ØYAà%74AàÝYA@&74A@âYAÀ+74AÀäYA€674A€æYAà=74A`çYA@F74AàèYA€P74A@ëYA _74A`îYA@c74AàòYAa74A@öYA@]74A@úYAàX74AÀþYA@U74AÀYAT74AàYA S74AÀ YAÀS74A YAU74A YA€W74A YAàa74A`YA w74A YA€ˆ74AÀYA`˜74A€YA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@SZ@XA4AàåYAà¨B4AÀYAZ`þA4AÀYAB4A`YAÀ B4A YA`B4A YAÀB4AYA`B4AÀ YA€B4A` YA`B4AÀYAàB4AYAB4A YA B4A@ÿYA B4A ýYA B4AàùYAàB4A ÷YA #B4A õYAà-B4A ôYA B4A çYAà/B4AàæYAÀB4AæYA  B4A æYAÀøA4AàåYA€âA4A@æYA`ÐA4AÀæYAà¾A4A çYA ¶A4A çYA`­A4AçYA@£A4AàçYAÀ™A4A@èYA`ŒA4A€èYA@„A4A@èYAÀ~A4A èYA`|A4A@èYAoA4AéYAàoA4A`éYA rA4AÀêYA€nA4AîYA`pA4A îYA tA4A@ïYA`uA4AòYAÀrA4AÀöYA pA4Aà÷YA lA4A€úYAÀgA4A ýYAàbA4AàÿYA ^A4AàYA@ZA4A€YA@XA4AYAYA4AÀ YA`[A4A  YA``A4A`YA`hA4A`YAvA4A€YA`‚A4A`YA`“A4A€YAÀ¢A4A`YA²A4AÀYAàÁA4A YAÀÑA4A`YAÀÙA4A`YA@çA4A YA`îA4AYA ÷A4A YA`þA4AÀYA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@TZà74AÀçYA 884A€YA`˜74A€YA€ª74AYA 884AàYA@384A YA€+84A@ýYA $84AàóYA`!84A ìYA€ 84A êYA84AÀçYAàâ74AÀíYA`Î74A€îYA`¼74AðYA@«74A ñYA€Ÿ74A òYAà‹74AàõYA „74AàöYAà74A@÷YA@‚74AÀûYA†74AàYA ‡74AÀYA@ˆ74A YAÀ‹74A@ YA 74AYA@‘74AàYA@“74A`YA`˜74A€YA@@@@@@@@@@@@@@@@@@@@@@@@@@@@U~@ãM4A€àYA€ŒN4A YAÀ[N4AYA`hN4A YA`rN4AÀYA@}N4AÀYAˆN4A€YA@ŠN4A`YA€ŒN4AëYA ‰N4A éYA€~N4A ãYA `N4A€áYA NN4AáYAÀ7N4AààYA`%N4A àYAà N4A€àYA€óM4A€áYA@ãM4A`ãYA€äM4AàçYAàçM4A ëYA€ïM4AðYAÀûM4A`ôYA N4A ùYAN4A ÿYA &N4AàYA@0N4A YA ?N4AYA€HN4AÀYA MN4A`YA YN4AÀYAÀ[N4AYA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@V€[D4A@çYA@ýD4AÀYA*À‘D4A YAà˜D4A`YA@ŸD4AÀYAÀ D4A@YA«D4A YA`´D4A@ YAàºD4AÀ YA@ÅD4AàYA ÑD4AàYA`âD4AÀÿYAÀïD4A üYA@ýD4A@øYA@íD4A õYAÀßD4AàòYA ÒD4A ïYA@ÃD4AÀêYAàºD4A èYA`³D4AÀçYAà±D4A@çYA §D4A éYAà—D4A@ìYAÀŠD4AàíYA€uD4AÀîYA@eD4A ðYAÀ]D4A ðYAà`D4AòYA aD4AÀõYA`D4A`÷YA``D4A ûYA`D4A`ýYA \D4AÀYA`\D4A`YA \D4A`YA@\D4Aà YA€[D4A YAÀ\D4A YAÀbD4A`YAàlD4A`YA@uD4AYA@€D4A`YA@ˆD4AÀYAÀ‘D4A YA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WvÀ‘D4AÀYAÀ¬D4A YAÀ‘D4A YA€ŸD4A YAÀ¬D4AYA ©D4AàYA@ŸD4AÀYAà˜D4A`YAÀ‘D4A YA@@@@@@@@@X:@i74A ËYA 94AàYAB õ84AàYA ý84AYAà 94A YA 94AÀ YAà94A` YA÷84A`YAð84AYAé84AÀúYA€ç84A@õYA`ä84A òYA â84A ëYA€à84AÀæYAÀâ84AåYA à84A€åYA`Ô84A`æYAÆ84AãYA ¹84A@ÞYAà²84AÚYA ¦84AàÖYAà’84A€ÓYA`‡84A ÏYA €84A ËYA |84AÌYAh84A`ÎYA`R84A€ÐYA@A84AÒYAà*84A ÔYA€84A ×YA ú74A ØYA€å74AÚYA€Ì74A ÛYA@¸74A ÝYA¤74A`ßYA`‘74A áYA`ƒ74A âYA w74AÀâYA@i74AäYA`k74AÀäYA q74A€çYA@w74A€êYAà}74A îYA 74A€ðYA ƒ74AóYAàƒ74A õYA „74AàöYAà‹74AàõYA€Ÿ74A òYA@«74A ñYA`¼74AðYA`Î74A€îYAàâ74AÀíYA84AÀçYA€ 84A êYA@:84A@íYAÀK84AðYAÀ]84AòYAàs84A`ôYAà‚84AÀöYA ™84A@ûYAÀª84A YA@³84AàYA ¿84A  YAÀÕ84A  YA€æ84AYA ò84A`YA õ84AàYA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@YÂ`ÇE4A`îYA ¿F4A YA8@üE4A YAF4A@YAàF4A YA`"F4A€YA@-F4A€YA 6F4AÀYAÀFF4A YA NF4A YA@WF4AÀYA`YF4A@YAÀaF4A`YA`mF4A YA€xF4A YAÀ…F4A YA`ŒF4AàYA™F4A€ÿYA`›F4A€üYA œF4A€ùYA £F4AõYAà·F4A@ðYA ¿F4AàîYAÀ±F4A`îYA ¡F4A îYAÀF4AïYA`~F4AÀïYAÀqF4AàïYA JF4A òYA>F4AàòYAÀ;F4A€óYAà,F4A ôYA %F4A õYAÀF4A öYAàF4A óYA F4A@õYAàþE4AÀ÷YAÀóE4A`ùYAÀöE4A€úYAàF4A ûYAàF4AàþYA F4A€þYA F4A`YA F4A€YA€F4AÀYA@ýE4A€YAôE4AàYA íE4AÀYAÀãE4A` YA`ÇE4A@ YAÀÈE4A€ YAÀËE4AÀ YA ÓE4AÀ YA`ßE4AYA îE4A€YA@÷E4AÀYA þE4A YA@üE4A YA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Zò µ>4A€ôYAÀ›?4A€YA< µ>4AYAÀ¾>4AÀ YA È>4AÀ YAÖ>4A€ YA€ß>4A YAí>4Aà YA ù>4A  YA` ?4A` YA€?4Aà YA !?4A` YA`)?4A  YA 1?4A`YAà8?4AàYA J?4AYA`P?4A@YA[?4A@YA ^?4A€YA€b?4AàYA€r?4A@ YA@y?4A€ YAÀ„?4AÀ YAàŠ?4AàYA`”?4A YA€—?4AÀYAÀ›?4A YAÀ›?4A€ YAÀ™?4AYA –?4A€YAÀ”?4A YA ‘?4A YAà?4A@ÿYAŠ?4AúYA€„?4A ÷YA ?4AÀöYA x?4A@÷YA@v?4A`÷YAÀp?4A ÷YA€f?4AøYA`[?4A`øYA€O?4A øYA C?4A øYA 3?4A`øYA*?4A øYA"?4Aà÷YA ?4A`÷YAà ?4A€öYA`?4AàõYAàú>4A ôYA ÷>4A€ôYA`õ>4AÀôYAàí>4A€öYAá>4A ùYA Ù>4A`üYA Ó>4A ÿYAÍ>4A`YAÀÂ>4AÀYAÀ½>4AàYA¹>4A YAà¸>4A  YA µ>4AYAð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?[†€à84A@°YAÀ:4AÀ YA3 94AÀ YA`94A@ YA !94AàYA`094A`YA=94AÿYA K94A`üYA€K94AúYAÀQ94A@öYA€Y94A òYAÀ`94A@íYA@l94AÀèYA`}94AäYA Š94AàYA™94A ÝYA­94A ÚYAÂ94A ØYAÀÛ94A×YA:4A ÔYAÀ:4A ÔYA :4AÒYA ü94AàÏYA ø94A ÍYA ò94A ÊYA€ê94A ÆYAàä94A ÃYA à94AàÀYAàÝ94A`¾YA Ý94A ½YA`Ñ94A€¹YAÇ94A¶YA º94AÀ±YA`¸94A@°YAÀ´94A€°YA %94AÀ¼YA 94A ¾YA@ 94A ÅYAÀ94A ËYAý84AÀÑYA@ö84AÖYA í84A`ÜYAÀå84A âYAÀâ84AåYA€à84AÀæYA â84A ëYA`ä84A òYA€ç84A@õYAé84AÀúYAð84AYA÷84A`YAà94A` YA 94AÀ YA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\R@ÂE4A@ YAÀÈE4A€ YA@ÂE4A YAÀÈE4A€ YA`ÇE4A@ YA@ÂE4A YAð?ð?ð?ð?ð?ð?]f`¬E4A`ùYA F4A` YA`¬E4A ÿYA ­E4A`YAà»E4A YA€¾E4A YA ÂE4AÀYAÀÆE4A@YA`ÇE4A@ YAÀãE4A` YA íE4AÀYAôE4AàYA@ýE4A€YA€F4AÀYA F4A€YA F4A`YA F4A€þYAàF4AàþYAàF4A ûYAÀöE4A€úYAÀóE4A`ùYAÀñE4A ùYA€æE4AÀûYA áE4A üYAÀÔE4AàýYA€ÇE4A ÿYA ¿E4A@ÿYA ³E4A ÿYA`¬E4A ÿYA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@^€ 84A êYA@³84AàYA 884AàYA :84A€YAÀ]84A€YAÀ{84AÀYA@•84AYA §84A@YA@³84AàYAÀª84A YA ™84A@ûYAà‚84AÀöYAàs84A`ôYAÀ]84AòYAÀK84AðYA@:84A@íYA€ 84A êYA`!84A ìYA $84AàóYA€+84A@ýYA@384A YA 884AàYA@@@@@@@@@@@@@@@@@@@@@@_jÀB4Aà¾YAà±D4AàYA†¦B4A€YAÀ³B4A`YA@ÂB4AàYA ÖB4AYAÀàB4A YA@õB4A`YA`üB4A@YA C4A€YA€C4A þYAà#C4A ýYA/C4A ýYA ;C4AÀýYADC4AþYA WC4AþYA€]C4A@þYAÀfC4AýYA`nC4A ûYA€sC4AàùYAwC4AùYAàzC4AøYAà‡C4AÀõYA`C4AõYA –C4A€õYA —C4A€öYA›C4AùYA@¢C4A@üYAªC4A@þYA ¶C4A ÿYA ÆC4A ÿYAàÒC4A`ÿYA ÞC4AÀþYA`ðC4AàüYA@÷C4AÀûYA€øC4A€úYA`öC4A øYAàîC4A ÷YA€íC4A õYAñC4A óYA úC4AÀðYAàüC4AàïYA ÿC4A@îYA ÿC4A@ëYA ûC4A`èYAàúC4A`åYA@ûC4AäYA ûC4A âYAàD4AÀàYAà D4A`ßYA D4A@ÞYA (D4A@ßYAÀ3D4AáYAÀ=D4A âYAÀDD4AàäYAàQD4A@éYA XD4AìYA ZD4A ïYAÀ]D4A ðYA@eD4A ðYA€uD4AÀîYAÀŠD4AàíYAà—D4A@ìYA §D4A éYAà±D4A@çYA€©D4A ãYA`ŸD4A€ÞYA`”D4A€ÙYA ˆD4A ÔYA€D4AÀÏYA wD4A`ÍYAfD4AàÉYA`YD4A`ÇYAMD4A`ÅYA`AD4AÄYA 7D4A ÃYA€%D4Aà¾YA`D4A€ÂYA€D4A ÇYA D4AÊYA` D4A€ËYA` D4A€ÌYA`D4AÎYA` D4A`ÑYA ÿC4AÔYAÀöC4A@ÖYAàìC4A ØYAÀáC4A ÛYA@àC4A ÜYAÀàC4A ÝYAÛC4A ßYA`ÔC4AÀáYAÀÏC4A@âYA@ËC4A`ãYA½C4A€æYA@¹C4A`çYA€²C4AÀèYAÀžC4A€éYAàšC4AÀéYAC4AëYA oC4A€ëYA gC4A ëYA€TC4A`ëYA EC4A€êYAà-C4AÀéYA C4A éYAàC4A@éYAÀ C4A éYA`C4A@éYA`C4A`éYAúB4A€éYA€ðB4A éYA`íB4AÀéYAàâB4A éYA ×B4AÀèYA`ÌB4A`èYA`ÀB4A`èYAºB4A@èYA §B4AèYAŸB4A èYA€›B4A èYA ˜B4AÀèYAÀB4A@èYAàB4AéYAÀ‘B4A éYA@–B4AÀëYA›B4A`îYA@œB4AðYA@žB4A€ñYA€¥B4AÀôYAà¨B4A øYA@§B4A€ûYA ¦B4A üYA@§B4A@þYAÀ¦B4A ÿYA¦B4A€YA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@`®àºD4AàÝYA`ŽE4AYA!@ýD4A@øYAÀþD4A€øYA`E4A`ûYAà#E4AÀýYA`8E4A ÿYA HE4AàYA VE4AYA€nE4AYA€|E4A`þYAà‡E4A€üYA`ŽE4A ûYA ŒE4A@úYA †E4A ÷YA`…E4AóYA`E4AÀîYA@~E4A€êYAÀ}E4A€åYA`{E4A`âYA@cE4AßYA NE4AßYA`6E4AàÝYAE4AÞYA@úD4A ßYAãD4A áYAàÓD4A€äYAàÐD4AàäYAÁD4A`èYAàºD4A èYA@ÃD4AÀêYA ÒD4A ïYAÀßD4AàòYA@íD4A õYA@ýD4A@øYA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@a6 ªM4AîYA@íM4A YAÀ¬M4A€ûYAÀ«M4AýYA²M4A@þYA`¾M4AYA ÅM4A@YAÀÑM4A YAßM4A ÿYA€åM4A ýYAÀëM4AúYA@íM4AàöYAëM4A@ôYA çM4A ñYAâM4A@ðYAàÕM4AÀïYA@ÌM4A€ïYA€½M4AîYAà°M4A@îYA€¬M4A ïYA ªM4AÀòYAàªM4A õYA€«M4A ÷YA ­M4A ûYAÀ¬M4A€ûYA@@@@@@@@@@@@@@@@@@@@@@@@@bº`{E4A€àYAàF4A@ÿYA"`ŽE4A ûYA`‘E4A`üYA`œE4A€þYAà¦E4A ÿYA`¬E4A ÿYA ³E4A ÿYA ¿E4A@ÿYA€ÇE4A ÿYAÀÔE4AàýYA áE4A üYA€æE4AÀûYAÀñE4A ùYAÀóE4A`ùYAàþE4AÀ÷YA F4A@õYAàF4A óYAà F4AóYA`F4A óYAàïE4A@òYAàÞE4A€îYAÓE4AÀèYA€ÈE4A`åYA@¼E4A`áYAÀ©E4A€àYA€˜E4A áYA@E4A@âYA`{E4A`âYAÀ}E4A€åYA@~E4A€êYA`E4AÀîYA`…E4AóYA †E4A ÷YA ŒE4A@úYA`ŽE4A ûYA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@cZ K94A ÔYA€:4A`üYA K94A`üYA@O94AÀûYAh94A@ùYA 94AÀ÷YAÀ÷94A`ìYA :4AÀåYAü94A`áYAü94A€ÞYA€ý94AàÝYA þ94A ÜYAà:4A@ØYA€:4A@ÕYAÀ:4A ÔYA:4A ÔYAÀÛ94A×YAÂ94A ØYA­94A ÚYA™94A ÝYA Š94AàYA`}94AäYA@l94AÀèYAÀ`94A@íYA€Y94A òYAÀQ94A@öYA€K94AúYA K94A`üYA@@@@@@@@@@@@@@@@@@@@@@@@@@@@dZ åL4A éYA€3M4A`ûYA 0M4A€ìYA 2M4A ëYA€3M4A êYAÀ1M4A`éYA@(M4A éYA@ M4A éYA`M4A€éYA  M4A êYA M4AëYA@M4A@ìYAàûL4A íYAõL4A@îYAîL4AÀîYAèL4A ðYA åL4A`ñYAàêL4AÀôYA€òL4A öYAûL4A øYAàM4A`ûYA M4AûYA M4AàùYAà M4A ÷YAà&M4A öYA .M4A`òYA /M4AðYA 0M4A€ìYA@@@@@@@@@@@@@@@@@@@@@@@@@@@@eþ ÷>4A€ÇYAà@4A øYA= ÷>4A€ôYAàú>4A ôYA`?4AàõYAà ?4A€öYA ?4A`÷YA"?4Aà÷YA*?4A øYA 3?4A`øYA C?4A øYA€O?4A øYA`[?4A`øYA€f?4AøYAÀp?4A ÷YA@v?4A`÷YA x?4A@÷YA€}?4AàôYA ƒ?4AÀóYA@Œ?4A`óYA@™?4A`ñYA@ ?4AàðYA€³?4A€îYA@Â?4AàìYAÀÔ?4AàêYAàÚ?4AàéYAàó?4A`èYAà@4A éYA @4AÀéYA@ @4AÀçYAÀ@4A æYAà@4AâYA€@4AÀÝYA @4A€ÙYA @4A€ÖYAà@4A€ÕYA@4A ÔYA@4AÀÑYA @4AÀÍYA@4A ÊYA@÷?4A ÈYAÜ?4A€ÇYAàÂ?4AÀÈYA «?4A€ÉYAŽ?4A ÊYAÀd?4A ÈYA`a?4A€ÇYAY?4A ÉYAÀP?4AËYA@F?4A ÍYA >?4A€ÏYA ;?4AÒYA@4A óYA ÷>4A€ôYA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@fàF4Aà§YAÆG4A öYATF4AóYAàF4A óYAÀF4A öYA %F4A õYAà,F4A ôYAÀ;F4A€óYA>F4AàòYA JF4A òYAÀqF4AàïYA`~F4AÀïYAÀF4AïYA ¡F4A îYAÀ±F4A`îYA ¿F4AàîYA€ÅF4A íYA€ÕF4AàêYA çF4A@çYA`þF4AãYA G4AààYAà"G4A ßYA 4G4AàÛYADG4A ØYA@_G4A ÖYA mG4AÀÔYA`vG4A`ÓYA~G4A`ÒYA€‘G4AàÐYA  G4AàÎYAÀªG4AàÌYA ´G4A€ËYAÀ¾G4A`ÊYAÆG4A ÉYA ÅG4A`ÇYAÀÄG4AÆYA@ÄG4A@ÄYA ÃG4AàÁYA@ÃG4AÀÀYA€ÄG4A€¼YAÄG4A€ºYA`ÃG4A¸YAàÁG4A`µYA ÁG4A€´YAÀG4A€±YA ¿G4A ®YA½G4A@©YA ¼G4Aà§YA@·G4AÀ¨YA «G4AÀ©YAà™G4Aà¨YAÀŽG4A ©YA@~G4AªYA oG4Aà«YAÀoG4A¯YA pG4A`²YAÀaG4A@³YA`MG4A`´YA4G4A ´YA@G4A€´YA G4Aà´YA ñF4A ´YAÀÞF4AÀ´YA ËF4A µYA€°F4A@·YA ¡F4AàµYA  F4A€·YA ¢F4A@ºYAÀ©F4AÀ¾YA€¨F4AàÅYA€£F4AÈYA ›F4A@ËYA`F4AàÐYA‹F4AÀÔYAÀ†F4A@ÜYAàƒF4A€àYA@|F4AÀçYA pF4AÀëYAÀmF4AíYAÀYF4A`ïYA@MF4A@ðYA@:F4AñYA@$F4AòYA€F4AÀòYAF4AóYAF4AóYA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@gJ€Ï>4AºYA`a?4A€ôYA.€Ï>4AîYAÔ>4AïYA€Ú>4A ïYAàÞ>4AñYA@ç>4A òYA@ð>4A óYA ÷>4A€ôYA@ü>4A óYA`?4AÀòYA`?4AàðYA?4A€íYA ?4A€êYA"?4A€æYA`*?4AàáYA@1?4A ÝYA@7?4A`ÙYA@?4A€ÏYA@F?4A ÍYAÀP?4AËYAY?4A ÉYA`a?4A€ÇYAÀZ?4A€ÆYA P?4A ÂYA7?4AºYA ,?4AÀ½YAÀ)?4Aà¾YA &?4A€¿YA #?4AàÀYAÀ?4AÃYAÀ?4A`ÄYA?4A`ÅYA` ?4A@ÈYA`?4A ËYAÀÿ>4A ÎYA@ø>4A ÓYA`ó>4AàÕYA€î>4A€ØYA@é>4A`ÜYA å>4AßYA@à>4AÀáYA Û>4A åYA`Ø>4A çYA@Ò>4A€ëYA€Ï>4AîYA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@hRà F4AóYAF4A óYAà F4AóYAàF4A óYAF4AóYAà F4AóYAð?ð?ð?ð?ð?ð?i²àËJ4AÚYA`JK4AóYA àËJ4AàìYAÒJ4AàíYA€ÚJ4A ïYAàëJ4AóYA õJ4A@ñYA`JK4A âYAFK4AààYA@CK4A ßYAÀ=K4AàÜYA€6K4AÚYA@-K4AàÚYAàËJ4AàìYA@@@@@@@@@@@@@@jæ ¯@4A`¹YA@}A4A`ïYA; ¯@4A€ìYA@³@4A`ïYAà»@4A îYAÀ¿@4A`îYA€Ç@4AàíYA@Ì@4AÀíYA Î@4A€íYA Û@4A ìYA â@4AÀëYA€ä@4AÀëYA`ð@4A€ëYA ø@4AëYA`A4A êYAà A4A`êYA A4A@êYAÀA4A êYA-A4A@éYA AA4AàèYA€MA4AÀèYA€YA4AéYA hA4A éYAoA4AéYA`|A4A@èYApA4A ãYA€mA4A€àYA mA4AàÞYAhA4Aà×YAgA4AàÓYA dA4AÑYA fA4A ÌYAÀkA4AàÇYA€rA4A ÃYA€tA4A@ÂYA yA4A€¾YAà|A4AàºYA@}A4A€¹YA`qA4A€¹YA nA4A`¹YA`eA4A€¹YA WA4AÀ¹YAàMA4A ºYA:A4AÀ½YA 5A4A`¿YAà1A4AÃYA`.A4A ÄYAÀ%A4A@ÈYAÀA4AÀËYA A4A`ÏYA€ÿ@4A@ÑYA õ@4AÓYAÀâ@4A`ÕYA`è@4A ÙYAÀè@4AÞYA ç@4AáYAÀä@4AÀãYA`Ý@4A@æYA€Ê@4AÀéYA`À@4AëYA ¯@4A€ìYA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@k’ ƒ>4A`¬YA7?4AîYA4 ƒ>4A€ØYA‹>4A€ÛYA@‘>4AÀÝYA€—>4A€àYAœ>4A âYA`¡>4A äYAà¦>4A çYA ¬>4AÀèYA€°>4A€êYA µ>4A ëYA À>4A`ìYAÅ>4A€ìYA€Ï>4AîYA@Ò>4A€ëYA`Ø>4A çYA Û>4A åYA@à>4AÀáYA å>4AßYA@é>4A`ÜYA€î>4A€ØYA`ó>4AàÕYA@ø>4A ÓYAÀÿ>4A ÎYA`?4A ËYA` ?4A@ÈYA?4A`ÅYAÀ?4A`ÄYAÀ?4AÃYA #?4AàÀYA &?4A€¿YAÀ)?4Aà¾YA ,?4AÀ½YA7?4AºYA,?4AàµYA€?4A`°YA€?4A@­YA@?4A ­YA ?4A`¬YAÀý>4A`¬YA`ô>4A­YA`î>4A@±YAí>4A@²YAê>4A ¶YA@á>4AÀ»YAÀÓ>4AÂYAË>4AÀÄYAÀ>4A@ÈYAÀ°>4AÀÍYA€¥>4A€ÐYA ˜>4AÀÓYA`‹>4A×YA ƒ>4A€ØYA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@lºà@4A ÔYAÀè@4A€íYA"àR@4AëYA Z@4A€ëYAÀw@4A@íYAà–@4A€íYA ¯@4A€ìYA`À@4AëYA€Ê@4AÀéYA`Ý@4A@æYAÀä@4AÀãYA ç@4AáYAÀè@4AÞYA`è@4A ÙYAÀâ@4A`ÕYAÆ@4A@ÖYA ¸@4AàÖYA«@4AÀÖYAš@4A€ÕYA Š@4AÀÔYAo@4A@ÕYA R@4A ÔYA <@4A ÔYA '@4A ÔYAà@4A€ÕYA @4A€ÖYA @4A€ÙYA€@4AÀÝYAà@4AâYAÀ@4A æYA@ @4AÀçYA @4A èYA @4A èYA+@4AÀèYAÀ<@4A éYAàR@4AëYA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@m¦@ŸJ4AÀÐYA€6K4AàìYA @ŸJ4AçYAà¦J4A@çYA@ÂJ4A@ëYAàËJ4AàìYA@-K4AàÚYA€6K4AÚYA@1K4AØYA@)K4AÕYA@K4AÀÐYA€K4AÑYA@ŸJ4AçYA@@@@@@@@@@@@@n†@ôB4A`ÅYAÀàC4A ëYA3ÀC4AàèYA`C4A@éYAÀ C4A éYAàC4A@éYA C4A éYAà-C4AÀéYA EC4A€êYA€TC4A`ëYA gC4A ëYA oC4A€ëYAC4AëYAàšC4AÀéYAÀžC4A€éYA€²C4AÀèYA@¹C4A`çYA½C4A€æYA@ËC4A`ãYAÀÏC4A@âYA`ÔC4AÀáYAÛC4A ßYAÀàC4A ÝYA@àC4A ÜYA`ØC4A€ÛYA`ËC4A ÚYA ¿C4A`ÙYA`¬C4AÀ×YAà¥C4A@×YA —C4AÖYAàŠC4AàÔYAàC4AÔYA`qC4AàÑYA dC4AÀÏYA@ZC4A ÎYAÀNC4A@ÍYA DC4A`ËYA >C4A€ÊYA 2C4A`ÉYA`)C4A`ÇYAà!C4A@ÆYA€C4A`ÅYAàC4AÀÆYAàC4A`ÇYA þB4A@ËYA@ôB4AÀÌYA÷B4A`ÏYA@úB4AàÒYA ýB4A`ÖYA@C4A€ÜYA`C4A ÞYAàC4A€âYAÀC4AàèYA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ož@WB4A ÄYAàC4AÀéYA5`C4A@éYAÀC4AàèYAàC4A€âYA`C4A ÞYA@C4A€ÜYA ýB4A`ÖYA@úB4AàÒYA÷B4A`ÏYA@ôB4AÀÌYAÀóB4A@ÌYA`ìB4A`ÈYA çB4AÆYA äB4A€ÅYAàáB4A@ÅYA@ØB4A ÄYA ÑB4AÅYA»B4AÀÅYA ªB4A ÆYA`¤B4A ÇYAà“B4A ÈYAà…B4A ÉYA€tB4AàÉYA kB4A`ÊYAÀbB4AÀËYA \B4AÍYAYB4A ÎYA@WB4A€ÎYA[B4A€ÏYAdB4A€ÐYAàkB4A ÓYA qB4AÕYA`xB4AØYA`~B4AàÙYA„B4AÝYAÀ†B4A ÞYA`‹B4A àYAB4A ãYAÀ’B4A äYAÀ”B4AÀåYA šB4A@èYA€›B4A èYAŸB4A èYA §B4AèYAºB4A@èYA`ÀB4A`èYA`ÌB4A`èYA ×B4AÀèYAàâB4A éYA`íB4AÀéYA€ðB4A éYAúB4A€éYA`C4A`éYA`C4A@éYA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@pB dA4A ¸YA€›B4AéYAXàB4AéYAÀB4A@èYA ˜B4AÀèYA€›B4A èYA šB4A@èYAÀ”B4AÀåYAÀ’B4A äYAB4A ãYA`‹B4A àYAÀ†B4A ÞYA„B4AÝYA`~B4AàÙYA`xB4AØYA qB4AÕYAàkB4A ÓYAdB4A€ÐYA[B4A€ÏYA@WB4A€ÎYA TB4A ÍYAÀOB4A ÌYA`KB4AÀÊYAÀGB4A@ÉYAAB4AÈYA =B4AàÆYA€8B4A ÅYA`3B4AÃYA€/B4AÃYA`-B4AÃYAà'B4A ÃYA !B4A ÃYAÀB4AÀÃYA€B4AÀÃYAÀ B4A ÃYAB4A€ÃYA ýA4AàÂYA€õA4A@ÂYA îA4AÀÁYAÀæA4AàÀYAÝA4A ÀYAÔA4A ¿YA ÎA4A¾YA@ÄA4A½YA€¾A4A@¼YA@·A4A¼YA€±A4A`»YA ®A4A»YA«A4A ºYA ¦A4A ºYAžA4AÀ¹YA@•A4A ¹YA’A4AÀ¹YA@…A4A`¹YA`A4A ¸YA@}A4A€¹YAà|A4AàºYA yA4A€¾YA€tA4A@ÂYA€rA4A ÃYAÀkA4AàÇYA fA4A ÌYA dA4AÑYAgA4AàÓYAhA4Aà×YA mA4AàÞYA€mA4A€àYApA4A ãYA`|A4A@èYAÀ~A4A èYA@„A4A@èYA`ŒA4A€èYAÀ™A4A@èYA@£A4AàçYA`­A4AçYA ¶A4A çYAà¾A4A çYA`ÐA4AÀæYA€âA4A@æYAÀøA4AàåYA  B4A æYAÀB4AæYAà/B4AàæYA@>B4A çYA`QB4AàæYA@fB4A çYA€uB4A`èYA€B4A èYA€†B4AéYAàB4AéYA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@qjà±D4A åYAàºD4A èYAà±D4A@çYA`³D4AÀçYAàºD4A èYA ·D4AçYA@µD4A åYAà±D4A@çYAð?ð?ð?ð?ð?ð?ð?ð?rV ÖI4A¤YA@K4AçYA/@ŸJ4AçYA€K4AÑYA@K4AÀÐYAK4A`ÎYA K4AÀÊYA øJ4AàÈYA ïJ4A ÆYA æJ4AàÃYA@ØJ4AÀÀYAÇJ4A ¼YAà¸J4A ¹YA`µJ4AÀ¸YA ªJ4A€µYA@£J4A€³YA •J4A°YA€‰J4A ¬YA oJ4Aà¨YA@iJ4Aà§YA aJ4A@¦YA@WJ4A¤YAàRJ4A ¤YA PJ4A`¥YA€HJ4A §YA`@J4AÀ©YAà2J4A@­YAÀ&J4A@¯YAàJ4A@³YA` J4A`µYA J4AÀ·YAÀùI4A`¹YAÀåI4A ¼YA ÙI4A€¿YA ÖI4Aà¿YA ÞI4A`ÂYAìI4A€ÄYA ùI4AÆYA ýI4AÉYAÀJ4A ÍYA@J4A ÑYA J4A€ÕYA@J4A€×YA@'J4A€ÚYA`ÆG4A ÉYAàÆG4A ËYAÀÎG4A ÍYA`ÓG4AàÏYA ØG4AÓYAàÙG4AÀÓYA@àG4A ÖYA€çG4A ÙYAàíG4AàÜYA úG4AáYA`H4AÀâYAH4AãYA H4A ãYA@H4A âYAà/H4A€ßYA@>H4A ÜYA`UH4AÝYAàhH4A@ÞYA@zH4AàÝYAà†H4A@ÝYA@’H4A@ØYA›H4A`ÕYA«H4AàÒYA`¶H4A€ÐYAÁH4A€ÎYA`ÌH4A`ÌYAÖH4AÀÉYA ØH4AÀÇYA@àH4A ÃYA íH4AÀYA òH4A¿YA ýH4A`»YAÀI4A€·YA I4A ¶YA þH4A`³YA óH4Aà¯YA âH4AÀ®YAÕH4A ®YAÇH4A ¯YA¾H4A ´YA€¿H4A`ºYA ÁH4A@¿YAÀÂH4A@ÃYA`´H4A@ÆYAàŸH4AÀÆYA ŒH4A€ÆYA €H4AÃYAsH4Aà¼YA`fH4A ºYA`\H4Aà·YA RH4A¹YA€IH4A€¹YAÀ:H4AÀºYA -H4AÀºYA 'H4Aà»YA@H4A ¾YAàH4A@ÁYA€ûG4A ÂYA ïG4A ÄYA`ÝG4AÆYAÒG4AÈYAÆG4A ÉYA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@vR ¹<4AÀzYAà›=4A`ãYAD`(=4A€àYA@5=4A ãYA`@=4A`ãYA J=4AÀâYA U=4A âYAàb=4A@áYAào=4A€ßYAÀv=4A`ÞYA }=4A@ÛYAÀ„=4A ×YA@Š=4AÀÓYA€Š=4AàÎYAÀŽ=4AàÉYAàŽ=4A`ÇYA “=4A€¿YA •=4A »YA —=4AÀµYAà›=4Aà°YA ›=4Aà¬YA š=4A §YAÀ™=4A¦YA —=4A ¢YA@•=4A žYA ’=4A@›YA`ˆ=4A —YA ‚=4A`•YA€v=4A`“YA@e=4A€‘YA Y=4AÀYAS=4A€ŽYAI=4AàŒYAÀ1=4A`‰YA`%=4AˆYA =4AÀ…YA`=4AàƒYA@ =4A YAÀþ<4A }YAø<4A |YA€ô<4AÀzYAë<4A{YA ã<4A@{YAÝ<4A|YA Ð<4A ~YA€Ë<4A ‚YA Ê<4A …YAÀÉ<4A ‡YA Ç<4A€‹YA`Â<4A€YA½<4A@“YA@º<4A˜YAº<4AYA ¹<4A€¡YAÀº<4AÀ¥YA`Â<4A ­YA Æ<4A±YA`Ë<4A ´YA Ï<4AÀ·YAÀØ<4A`¼YAà<4A ¿YA€è<4A ÄYAàï<4A`ÈYA ö<4AàÌYAÀ=4A ÑYA  =4A@ÕYA@=4A@ØYA@=4A@ÛYA€%=4A@ÞYA`(=4A€àYA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@wz€C4A`´YA ÿC4A ÜYA2@àC4A ÜYAÀáC4A ÛYAàìC4A ØYAÀöC4A@ÖYA ÿC4AÔYAàùC4A@ÓYAøC4A@ÒYA ôC4A€ÏYAòC4A ÍYAÀïC4A@ÊYAàæC4A`ÊYA@ØC4A€ÉYA@ÀC4A ÆYA ®C4AÀÃYA`£C4A€ÂYA ˜C4AÀÀYA@‡C4A€¾YA vC4AÀ¼YAÀiC4A`»YA ^C4A ¹YAÀQC4A ¸YAÀGC4A@¶YAÀ>C4A€µYAÀ6C4AµYA 0C4A`´YA ,C4A€´YAÀ+C4A ¸YAà)C4AàºYA#C4A€ÁYAÀ!C4AÀÂYAÀC4A@ÄYA€C4A`ÅYAà!C4A@ÆYA`)C4A`ÇYA 2C4A`ÉYA >C4A€ÊYA DC4A`ËYAÀNC4A@ÍYA@ZC4A ÎYA dC4AÀÏYA`qC4AàÑYAàC4AÔYAàŠC4AàÔYA —C4AÖYAà¥C4A@×YA`¬C4AÀ×YA ¿C4A`ÙYA`ËC4A ÚYA`ØC4A€ÛYA@àC4A ÜYA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@xZ`cM4A`´YA@ÏM4A`×YA@¿M4AÀÖYA ÁM4AÀÖYA@ÅM4AàÖYA ÎM4A`×YA@ÎM4A×YA@ÏM4AàÓYA`ÍM4A ÍYAÄM4AÅYA`ÀM4A`½YAà½M4AÀ¹YA€¼M4A ´YA ·M4A`´YA¬M4A µYA@M4A@·YAà„M4A»YA yM4A¼YA@jM4A€¿YA`cM4A ÃYAàdM4A ÉYAÀkM4A ÎYAÀ{M4A ÑYAàM4A€ÓYAM4A ÓYA ¬M4A€ÕYAÀ¹M4AàÖYA@¿M4AÀÖYA@@@@@@@@@@@@@@@@@@@@@@@@@@@@y~`ìC4A`¶YA€%D4AÔYAÀïC4A@ÊYAòC4A ÍYA ôC4A€ÏYAøC4A@ÒYAàùC4A@ÓYA ÿC4AÔYA` D4A`ÑYA`D4AÎYA` D4A€ÌYA` D4A€ËYA D4AÊYA€D4A ÇYA`D4A€ÂYA€%D4Aà¾YA $D4A ¾YA€D4A ¼YA@ D4A ºYA üC4AÀ·YAôC4A`¶YAàðC4AÀ·YA@ðC4A ¹YA€ïC4A`»YAÀîC4A ¾YAíC4AÀÀYA ìC4A ÂYA`ìC4A€ÄYAíC4AàÆYA`ïC4A ÉYAÀïC4A@ÊYA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@z"`3B4A —YA  C4A€ÎYA@@WB4A€ÎYAYB4A ÎYA \B4AÍYAÀbB4AÀËYA kB4A`ÊYA€tB4AàÉYAà…B4A ÉYAà“B4A ÈYA`¤B4A ÇYA ªB4A ÆYA»B4AÀÅYA ÑB4AÅYA@ØB4A ÄYAàáB4A@ÅYA äB4A€ÅYAàãB4AàÃYAàäB4A`ÁYA€êB4A€¾YAëB4A€½YA`ïB4A ¹YAÀòB4Aà¶YA@öB4AµYAùB4A ³YAþB4A@±YA€C4A ­YAÀC4A€ªYA  C4A€ªYA€ÿB4A`¨YA úB4Aà¤YA õB4A¢YAîB4A ŸYAÀâB4AÀ›YA`ÕB4A€™YAÀÉB4Aà—YAà¼B4A —YAÀµB4A@—YAÀ®B4A ˜YA ¢B4A`šYAàžB4A šYA B4A@œYA@¥B4A žYA ©B4AÀ YA«B4AÀ¡YA «B4A`¤YAà«B4A ¥YA šB4AÀ¨YA@ŠB4A@­YA}B4A ±YA€oB4A€´YA cB4AÀ·YAWB4AÀºYA€OB4A`¼YA€FB4AÀ¾YA;B4A`ÀYA 8B4A@ÁYA`3B4AÃYA€8B4A ÅYA =B4AàÆYAAB4AÈYAÀGB4A@ÉYA`KB4AÀÊYAÀOB4A ÌYA TB4A ÍYA@WB4A€ÎYA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@{ÒàãB4AÀ©YA ,C4AÀÌYA$ äB4A€ÅYA çB4AÆYA`ìB4A`ÈYAÀóB4A@ÌYA@ôB4AÀÌYA þB4A@ËYAàC4A`ÇYAàC4AÀÆYA€C4A`ÅYAÀC4A@ÄYAÀ!C4AÀÂYA#C4A€ÁYAà)C4AàºYAÀ+C4A ¸YA ,C4A€´YA,C4A °YAÀ+C4Aà¬YA +C4A€ªYA`*C4AÀ©YAÀ'C4AÀ©YA€C4AªYA€C4A@ªYAÀ C4A`ªYA  C4A€ªYAÀC4A€ªYA€C4A ­YAþB4A@±YAùB4A ³YA@öB4AµYAÀòB4Aà¶YA`ïB4A ¹YAëB4A€½YA€êB4A€¾YAàäB4A`ÁYAàãB4AàÃYA äB4A€ÅYA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@|V`û74A`˜YA294A ËYA/ €84A ËYA š84AàÉYA ¼84AÇYA 94A ¾YA 94A»YA #94A ¶YAÀ%94A ±YA@.94A€­YA294A ªYA€-94AÀªYA94A «YA  94A ¬YAú84AÀ«YA@ï84A ªYA Ú84Aà¨YA È84A §YA ¼84A€£YA€»84A ¡YAà²84A ¢YA@Ÿ84A£YA ‰84A ¢YAÀo84AÀ YA`j84A žYAd84AÀ›YAY84A`˜YA@W84A ˜YAÀA84A€›YA`-84AÀœYAÀ84A`ŸYA€84A€¢YA`û74A`£YA ü74A@¦YAÀÿ74A¨YA  84Aà«YA 84A ®YA@$84A°YA 184A€²YAD84A µYAÀI84A€¶YA@U84A ·YAW84A@¸YA [84A€ºYAàc84AÀ¾YA`j84A`ÂYAàq84A`ÆYA@}84A`ÊYA €84A ËYA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@}†`*C4A`¨YA@ðC4A`ÊYA3ÀïC4A@ÊYA`ïC4A ÉYAíC4AàÆYA`ìC4A€ÄYA ìC4A ÂYAíC4AÀÀYAÀîC4A ¾YA€ïC4A`»YA@ðC4A ¹YA ìC4A€¹YAÀçC4A ¹YA ÞC4Aà¸YA ÖC4Aà¸YA ¶C4A·YA ²C4Aà¶YAÀ¨C4AÀµYA`œC4A`´YA€’C4A³YA€ˆC4A€±YA€C4A€°YA€qC4AÀ®YAÀcC4A®YA@TC4A€¬YAQC4A@¬YA€NC4Aà«YA`JC4A`«YA CC4A ©YA >C4A©YA C4A€µYAÀGC4A@¶YAÀQC4A ¸YA ^C4A ¹YAÀiC4A`»YA vC4AÀ¼YA@‡C4A€¾YA ˜C4AÀÀYA`£C4A€ÂYA ®C4AÀÃYA@ÀC4A ÆYA@ØC4A€ÉYAàæC4A`ÊYAÀïC4A@ÊYA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@~V ¼G4A ¢YA`\H4A ÉYA/ÆG4A ÉYAÒG4AÈYA`ÝG4AÆYA ïG4A ÄYA€ûG4A ÂYAàH4A@ÁYA@H4A ¾YA 'H4Aà»YA -H4AÀºYAÀ:H4AÀºYA€IH4A€¹YA RH4A¹YA`\H4Aà·YA YH4A@·YASH4A€³YA€BH4A·YA 8H4A@·YA ,H4Aà³YA€!H4Aà¯YA€H4A­YAH4A ©YA H4A §YAÀ&H4AÀ¢YA(H4A ¢YA%H4A`¢YAH4A ¤YAÀH4A ¥YAàöG4A ¥YAàçG4A¦YAàÛG4Aà¥YAàÏG4AÀ¥YA€ÃG4AÀ¦YA ¼G4Aà§YA½G4A@©YA ¿G4A ®YAÀG4A€±YA ÁG4A€´YAàÁG4A`µYA`ÃG4A¸YAÄG4A€ºYA€ÄG4A€¼YA@ÃG4AÀÀYA ÃG4AàÁYA@ÄG4A@ÄYAÀÄG4AÆYA ÅG4A`ÇYAÆG4A ÉYA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@n ®A4A`§YA C4A©YA CC4A ©YA`JC4A`«YA€NC4Aà«YAQC4A@¬YA@TC4A€¬YAÀcC4A®YA€qC4AÀ®YA€C4A€°YA€ˆC4A€±YA€’C4A³YA`œC4A`´YAÀ¨C4AÀµYA ²C4Aà¶YA ¶C4A·YA ÖC4Aà¸YA ÞC4Aà¸YAÀçC4A ¹YA ìC4A€¹YA@ðC4A ¹YA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@†R`|A4A ¸YA`A4A€¹YA@}A4A€¹YA`A4A ¸YA`|A4A ¸YA@}A4A€¹YAð?ð?ð?ð?ð?ð?‡2ŒF4AÀ~YA ¼G4A@·YA, ¡F4AàµYA€°F4A@·YA ËF4A µYAÀÞF4AÀ´YA ñF4A ´YA G4Aà´YA@G4A€´YA4G4A ´YA`MG4A`´YAÀaG4A@³YA pG4A`²YAÀoG4A¯YA oG4Aà«YA@~G4AªYAÀŽG4A ©YAà™G4Aà¨YA «G4AÀ©YA@·G4AÀ¨YA ¼G4Aà§YA@ºG4Aà¤YAÀ´G4A€ŸYAÀ±G4A šYA ®G4A€•YA ©G4A YA`¢G4A€ŠYAÀžG4AàˆYA “G4A@„YA`ŽG4AÀ~YA G4AYAàmG4A „YA UG4A ‰YA >G4A ŒYA 'G4A‘YA G4A•YAÀùF4AÀ™YAÀßF4AÀYA@ÄF4Aà¡YA`³F4A ¤YA`œF4AÀ§YA F4A€«YAŒF4A¯YA ’F4Aà²YA€žF4A µYA ¡F4AàµYA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ˆ¶ ¾E4A`çYAÀõH4A@·YA·(H4A ¢YAÀ&H4AÀ¢YA H4A §YAH4A ©YA€H4A­YA€!H4Aà¯YA ,H4Aà³YA 8H4A@·YA€BH4A·YASH4A€³YA@ZH4A±YA ^H4A ¬YAÀ^H4Aà©YA€]H4A@¥YA€YH4A¢YAXH4A€œYAÀVH4A ˜YA XH4A`”YA[H4A`YA `H4A`YAhH4A`‹YA`qH4A€ŠYAàvH4A€ŠYAà‚H4A`ŠYAàŒH4AŒYAàH4A@YAÀ©H4A“YA »H4A@—YA ÄH4A ˜YAÀÏH4A ˜YA@ØH4A—YA ÞH4A”YA`ÚH4A“YAÏH4A`YAàÁH4AàŠYA ´H4A`‡YA¥H4A@„YAÀšH4A ~YA€™H4AÀ|YAÀ™H4AÀzYA@œH4A€xYA`ŸH4A uYA¦H4A`pYA`¬H4A€mYA€³H4A`jYA ÀH4AÀeYA ÉH4A `YA`ÏH4A`^YAÕH4AÀ[YA æH4ASYA€êH4AÀOYAðH4AÀLYAàòH4A@KYAÀõH4AÀJYA âH4A`HYA€ÚH4AÀFYA€ÊH4A€CYA€ÁH4A BYA€¬H4A@AYA—H4A€>YA@…H4A`=YA‚H4A =YA wH4A@;YAjH4AÀ9YA€YH4A 7YAàIH4A6YAÀDI4A€wYA@J4A@¯YA- MI4A€ YAÀQI4A ¡YA€eI4A@¡YAà~I4AÀ YA I4A ¡YAŸI4AÀ¤YAÀ«I4AÀ§YA€¿I4A ­YAÃI4A@¯YA@ÏI4A ¬YA`ØI4AàªYAæI4A@¨YA óI4A ¥YA üI4A £YA J4A ¡YA J4AžYA@J4AÀœYA J4AÀ—YAJ4Aà•YA J4AÀ“YA ùI4AÀYA ðI4AàŒYA€çI4A@ŠYA ÜI4A€…YA ÎI4AÀ€YAÀÆI4A ~YA ¿I4A`{YA ³I4A`xYA °I4A€wYA€¬I4A yYAÀ©I4AzYAÀœI4A |YAàI4A ~YA@…I4A €YA€zI4A‚YA`kI4A „YAà\I4A‡YA`OI4A ŠYAEI4A ‹YAÀDI4AYA@EI4A—YA€FI4A€›YA@II4A€ŸYA€PI4AàžYA MI4A€ YA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@‹ª€®:4AàVYAÀv;4Aà¬YA6 ¯:4A`uYA€±:4AwYAà²:4A@|YAà°:4A €YA ¯:4AÀ…YAà®:4A€YA€®:4A‘YAÀ»:4A@”YA`Ê:4Aà—YAÀØ:4A@›YA@æ:4AžYAÀî:4A YA þ:4A ¢YA` ;4A@¥YAà;4A ¨YAÀ#;4A€ªYA@3;4A¬YA >;4Aà¬YA`P;4AÀªYA O;4A ¨YA J;4A ¤YAàG;4AÀŸYAàF;4A`œYA€I;4A—YA T;4A”YAà_;4A€‘YA h;4A€ŽYA@o;4A ŒYAÀs;4A€‹YAÀv;4Aà‡YA@t;4AÀ„YA p;4Aà‚YAÀc;4A`YA_;4A`|YA ];4A@wYA`_;4A@rYAÀ_;4AÀmYAÀ_;4AÀgYA `;4A@cYA@Z;4A_YA@E;4A@XYA@D;4AàVYA€;;4A WYAà;4AÀXYA;4A \YA;4A€`YA€ù:4A@cYA õ:4AdYAàö:4A@hYAâ:4AàmYA€Í:4A qYA¿:4A sYAµ:4AuYA ¯:4A`uYA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Œ&294A |YAÀë94A`¬YA+294A ªYA@=94A@ªYA I94A «YA€Z94A`¬YAÀp94A`¬YA †94Aà«YA@Ÿ94A ªYA ¤94A`ªYA@£94A §YA€¡94A@¤YA`ž94A ¡YA`£94A@ŸYA ­94AœYAÀº94A`—YA@Ä94A@”YAàÍ94A`‘YA Ö94AàŽYAå94AŒYAÀë94A`ŠYA`×94A |YAË94A~YA ¼94A YA ª94A€YAÀ 94AÀ€YA ”94A`YA 94A€€YA ‹94AàYAÀˆ94A€€YAw94A€‚YA`d94A@„YA T94A…YA€B94A€…YA @94A€…YAC94A@‡YA`E94A`ŠYAK94A YA€M94A‘YA€N94A€”YA€G94A@˜YAE94AàYA =94AÀ¢YAÀ494A€¨YA294A ªYA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ÞÀº84A ‚YA€N94A ¬YA%€»84A ¡YA ¼84A€£YA È84A §YA Ú84Aà¨YA@ï84A ªYAú84AÀ«YA  94A ¬YA94A «YA€-94AÀªYA294A ªYAÀ494A€¨YA =94AÀ¢YAE94AàYA€G94A@˜YA€N94A€”YA€M94A‘YAK94A YA`E94A`ŠYAC94A@‡YA @94A€…YAÀ594A€…YA€*94A`…YA 94A`„YA€ 94A ƒYA`94A`‚YA`ý84A ‚YA ó84A …YAàì84Aà†YAÀæ84A€ŠYAàä84A ‹YAàã84A€‹YAÀÛ84A ŽYA`Ñ84AàYAàÈ84A@•YA ¿84AšYAÀº84AÀžYA€»84A ¡YA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Ž@Œ74A`jYA /94A«YA?@¸74A«YAÇ74AªYAØ74Aà§YAì74A`¥YA`û74A`£YA€84A€¢YAÀ84A`ŸYA`-84AÀœYAÀA84A€›YA@W84A ˜YAY84A`˜YA l84A@•YA †84A€‘YA¦84A€YAÀÂ84A YAàã84A€‹YAàä84A ‹YAÀæ84A€ŠYAàì84Aà†YA ó84A …YA`ý84A ‚YAÀ94Aà~YA 94A€|YA94A`yYA€94AÀvYA€94AàsYA '94A`qYA*94A`pYA ,94A@oYA /94A nYA 94A€nYA`ö84AànYAÀÔ84A@nYA ³84A€mYAà84AmYA@z84A`lYA l84AlYA O84AlYA 184A€lYA 84A mYA 84AàkYA`ã74AÀjYA`á74AÀjYA Î74A`jYAÁ74A`jYA º74A`jYA€²74A rYAÀ¯74AwYA ­74AàzYA€§74AÀ~YA ¡74A €YA“74A`…YA€Ž74A€‰YA@Œ74A YA@Œ74A YA‘74AÀ’YA ˜74A ”YA¤74A ˜YAÀ¥74Aà›YA`§74AŸYAà°74A ¤YA`¶74A ªYA@¸74A«YA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@NÀG4A`(YA€0H4Aà§YAY ¼G4Aà§YA€ÃG4AÀ¦YAàÏG4AÀ¥YAàÛG4Aà¥YAàçG4A¦YAàöG4A ¥YAÀH4A ¥YAH4A ¤YA%H4A`¢YA(H4A ¢YA@,H4AàŸYA .H4AàœYAà/H4A šYA€0H4A ™YA/H4A –YAÀ-H4A@–YAÀ'H4A•YA H4A ’YAà H4A`‘YA@H4A YAàÿG4A‰YA`÷G4A„YAàíG4A@~YA æG4A{YAàÛG4A€vYA€ÕG4A@sYAàËG4A@pYAàÀG4AàmYAºG4AÀkYA¶G4A hYA€°G4A@cYAà°G4Aà[YAÀ±G4A@YYAà¯G4AUYA€«G4A€MYA«G4AàKYA ¬G4AàFYAÀ«G4A€EYA¬G4A CYAÀ­G4A`AYA ­G4A?YAÀ¨G4AÀ:YAàG4AÀ5YA ™G4Aà2YAÀ’G4A0YA€ŒG4A€-YA „G4Aà*YAyG4AÀ(YAwG4A`(YA kG4AÀ*YAÀ_G4A€,YA [G4A`-YA GG4A€1YA@?G4Aà2YAÀ0G4A`5YAà"G4A 7YAàG4Aà:YA€G4Aà=YA`G4A BYA€G4ACYAÀG4AàCYAÀG4A`EYA`G4AÀFYAG4AJYA€G4AàMYAà G4A@PYA@,G4A@QYAÀ;G4AÀRYAàBG4A`UYA CG4A YYA`CG4Aà_YA CG4AdYAEG4AiYA JG4A`mYATG4A@qYAeG4A rYA mG4AàrYAG4A vYA†G4A yYA`ŽG4AÀ~YA “G4A@„YAÀžG4AàˆYA`¢G4A€ŠYA ©G4A YA ®G4A€•YAÀ±G4A šYAÀ´G4A€ŸYA@ºG4Aà¤YA ¼G4Aà§YA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@F`•A4AàUYA 7B4A€¥YAC`•A4A€™YA A4A€šYA@¨A4AœYA ¶A4A žYAÀÃA4A@ YAÐA4A`¡YAÞA4A £YAàëA4A€¤YA€òA4A€¥YA÷A4A ¤YA€þA4A€¢YAB4A`ŸYA B4A ›YAàB4A€–YA@(B4A€’YA /B4A YAà6B4A YA 7B4A YAà1B4AÀŒYA€)B4A ‹YAB4AÀ‡YAÀB4A@…YAàB4A€YA@ B4A }YA€B4A€{YAB4A vYA B4ArYAàB4A@nYA€B4A€jYAB4A@gYA`B4A€dYA B4A`bYA€B4A€`YA B4Aà_YAB4A€]YA B4A \YA€B4A`ZYA B4AXYA`ÿA4AàUYAà÷A4A WYA`òA4AXYA ìA4A€XYA€ãA4AYYA ÛA4A`YYA€ÍA4A@ZYA ÄA4AÀZYA ÁA4AàZYA`½A4A@\YAÀ½A4A€]YAÀºA4A _YA`½A4A@_YAÀÈA4A@`YA€ÉA4AàbYAÀÈA4A@fYA`ÊA4A iYAàÈA4A€lYA ÉA4A`mYA€ÇA4A`sYA@ÀA4AÀxYA¹A4A ~YAµA4A`YA€¬A4A@…YA ªA4Aà‰YA ¢A4A YA  A4A`‘YA šA4A •YA`•A4A€™YA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@‘Þ ¥@4A €YAÀnA4A`¥YA% ª@4Aà–YAÀª@4A€—YA «@4A šYAÀ¯@4A žYA ¹@4A` YAÀÀ@4A ¢YA`É@4AÀ¤YAÀÔ@4A`¥YA€à@4AÀ¤YA@ò@4A ¢YA A4AŸYA A4A YA@A4AÀ™YA&A4A—YA`6A4Aà’YACA4A€YAÀIA4AŽYAàUA4A ‹YAeA4A€ˆYAlA4A@…YAÀnA4A ƒYA kA4AàYA@]A4A €YA KA4A@YAà6A4A ‚YA€#A4A „YA A4A ‡YA€÷@4AŠYAç@4AàŠYA@Û@4A@‹YA Ê@4AYA@·@4AàYAàª@4A YAÀ¥@4AÀYA ¥@4A`“YA@§@4A –YA ª@4Aà–YA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@’Y84A€‹YAàã84A£YAY84A`˜YAd84AÀ›YA`j84A žYAÀo84AÀ YA ‰84A ¢YA@Ÿ84A£YAà²84A ¢YA€»84A ¡YAÀº84AÀžYA ¿84AšYAàÈ84A@•YA`Ñ84AàYAÀÛ84A ŽYAàã84A€‹YAÀÂ84A YA¦84A€YA †84A€‘YA l84A@•YAY84A`˜YA@@@@@@@@@@@@@@@@@@@@@“‚(H4A šYA 1H4A ¢YA(H4A ¢YA /H4A`¡YAà0H4AŸYA 1H4AYAà/H4A šYA .H4AàœYA@,H4AàŸYA(H4A ¢YAð?ð?ð?ð?ð?ð?ð?ð?ð?ð?”~€æH4A€hYA@II4A`¡YA@II4A€ŸYA€FI4A€›YA@EI4A—YAÀDI4AYAEI4A ‹YA EI4A ‡YA;I4A€‚YAà-I4A{YA€%I4AàsYA@I4A@mYA I4A€hYAà I4AÀhYA€I4A`iYAùH4AàjYA öH4A`nYA€òH4A sYA@íH4A wYA éH4A zYA€æH4A@YA ëH4A€„YA@üH4A‰YA@I4Aà‹YA`I4A€YA`!I4AÀ–YA€%I4A@šYA@,I4A`žYA 6I4A`¡YAà@I4A`¡YA@II4A€ŸYAð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?•R@II4AàžYA€PI4A€ YA@II4A€ŸYA MI4A€ YA€PI4AàžYA@II4A€ŸYAð?ð?ð?ð?ð?ð?– K4A iYA€L4A`YA>K4AàYA€K4A ƒYA !K4A`‡YA@*K4Aà‹YA9K4A@YA KK4A`”YA \K4A€˜YA€mK4A œYArK4A`YAÀuK4A@YAà|K4AàœYA@†K4A@œYA K4A ›YAÀ¬K4A@šYAÀ¯K4AÀ™YA ºK4A€˜YA`ÄK4A –YAàÓK4AÀ”YA€ÞK4AÀ’YA êK4AÀYA`øK4A@ŽYAÀL4A€ŒYAàL4AÀˆYA` L4A`†YA@#L4A@…YAÀ0L4A`‚YA:L4AÀ€YAà?L4A`YAàFL4A`~YAÀTL4AzYA`ZL4A wYA@`L4A@uYAÀjL4AàrYA€qL4A€qYA yL4A oYA ~L4AàmYAÀ‰L4A jYA€L4A iYA@„L4AjYA{L4A@kYA iL4AàkYAà^L4A@mYA`RL4A nYA@AL4A`oYAà,L4AqYA`L4AÀqYA`L4A€sYAàïK4AàtYAÀÚK4A€vYAÀÅK4AàwYA°K4A@zYAžK4A`{YA@‹K4A€|YA {K4A€~YA€jK4AYAÀZK4A€YAàGK4A€€YA 9K4AÀ€YA`.K4A€€YAÀ)K4AYA $K4Aà€YAK4AàYA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@—  hD4A@oYAÀE4A`šYA>~D4A€qYAàzD4A qYA€qD4A`rYAàkD4A uYA€jD4A xYA iD4A€|YA`iD4A €YA hD4A`†YA€iD4Aà‰YAàkD4Aà‰YA`wD4A ‹YA`…D4AYA “D4A€’YA ¤D4AÀ”YAÀ³D4A –YA ½D4A€—YAÀÉD4A@˜YAÜD4A@˜YAÀéD4A™YAàõD4A ™YA`ÿD4A ™YA E4A@šYA E4A`šYAE4A`—YA "E4A€•YA ,E4A@”YAYA D4A@BYA D4A EYAàñC4AàGYA íC4A HYAåC4A€GYA ÜC4AàEYA@ÐC4A€AYA ÇC4AÀ>YA¿C4A€<YA€µC4AÀ6YA°C4Aà6YA©C4AÀ7YA`›C4A=YAà•C4A`CYA C4A@JYA ƒC4AÀJYAÀxC4A€JYA rC4A FYA qC4AàBYA€iC4A@>YAÀ[C4A`=YA@VC4A`=YAMC4A AYA 9C4A FYA€*C4AÀIYAÀC4A`NYA C4A QYA C4AàRYAC4A`TYA@C4A`UYA@C4AWYAàC4A XYA'C4A@ZYA€9C4Aà]YA`NC4A€aYA ^C4AÀcYA kC4AàdYA rC4A fYAà€C4A`hYA ŒC4A fYA€›C4A@dYA`ªC4A cYA@¹C4A@bYAÆC4A bYAÞC4AàbYA€éC4A@dYAàôC4AÀdYA`ÿC4A eYA@D4A€gYA D4A`iYA€D4A lYA D4A@pYAD4A tYA D4A@yYA D4A |YAÀ D4AYA D4A…YAÀD4AÀˆYA D4A`YA D4AàYA D4Aà”YA@D4A€˜YAÀD4A šYA`%D4A ™YA€/D4A ™YA€8D4A —YA@DD4A€“YA QD4AàYA[D4A`ŒYA€^D4A€ŠYAhD4AŠYA€iD4Aà‰YA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@™R/H4A –YAà1H4A ™YA€0H4A ™YAà1H4A@—YA/H4A –YA€0H4A ™YAð?ð?ð?ð?ð?ð?šÞ€_J4A _YA K4A–YA%€_J4A}YAàaJ4AÀ}YA`hJ4A`YA€mJ4A …YA€tJ4AàŠYA€~J4A YA@J4A@•YAÀ‘J4A–YAàšJ4A ”YAàJ4A “YA°J4A YA ÀJ4AàYAÀÊJ4A ‹YA@ØJ4A ˆYA€ìJ4A`„YAÀúJ4A €YA€K4A€~YAK4A`|YAÀK4A€zYA`K4AÀwYA K4A sYA K4A lYA`K4A@kYAK4A@iYA K4A dYA€öJ4A`bYA@äJ4A _YAÀÙJ4AbYA@ÌJ4A eYAÅJ4A€gYA ¹J4A jYA@¤J4A@mYA`•J4A qYA‡J4AÀsYA@uJ4AÀxYA@hJ4A{YA€_J4A}YA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@› ,:4A@jYAà²:4A‘YA€®:4A‘YAà®:4A€YA ¯:4AÀ…YAà°:4A €YAà²:4A@|YA€±:4AwYA ¯:4A`uYA`¬:4A`rYA ©:4A@oYA@Ÿ:4A@nYA‡:4AàlYA€x:4A`lYAàh:4A@jYAa:4A jYA^:4A`jYA ,:4A@{YA „:4AÀˆYA@¨:4A`YA€®:4A‘YA@@@@@@@@@@@@@@@@@@@@@œ® I4A UYA °I4A ‹YA!EI4A ‹YA`OI4A ŠYAà\I4A‡YA`kI4A „YA€zI4A‚YA@…I4A €YAàI4A ~YAÀœI4A |YAÀ©I4AzYA€¬I4A yYA °I4A€wYA «I4A vYAœI4A€sYA‡I4A oYA@zI4A lYAuI4A@jYA`lI4AàgYAbI4AeYAàVI4AàaYAàCI4A€\YA 8I4A YYAà0I4AàVYA@,I4A UYA@%I4AXYA@I4A`\YAàI4AàaYA I4A€hYA@I4A@mYA€%I4AàsYAà-I4A{YA;I4A€‚YA EI4A ‡YAEI4A ‹YA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@N`ý84AànYA @94A€…YA`ý84A ‚YA`94A`‚YA€ 94A ƒYA 94A`„YA€*94A`…YAÀ594A€…YA @94A€…YA=94Aà‚YA =94A@€YAà;94Aà~YA 894A€{YA@:94AÀxYA 594A€vYA794A€rYA€594AÀoYA 294AànYA`194A`oYA*94A`pYA '94A`qYA€94AàsYA€94AÀvYA94A`yYA 94A€|YAÀ94Aà~YA`ý84A ‚YA@@@@@@@@@@@@@@@@@@@@@@@@@@@žN 594A€rYA ‹94A€…YA @94A€…YA€B94A€…YA T94A…YA`d94A@„YAw94A€‚YAÀˆ94A€€YA ‹94AàYA„94AÀ}YAà€94AàzYA }94AàxYAàv94A@vYA`r94A tYAàj94A sYA_94A sYAàS94A sYAE94A`tYA=94A tYA794A€rYA 594A€vYA@:94AÀxYA 894A€{YAà;94Aà~YA =94A@€YA=94Aà‚YA @94A€…YAð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ÿ&`J4A ;YA@äJ4A}YA+`J4AÀlYAÀJ4A€oYA )J4A@qYA`2J4A sYADJ4A€vYA`RJ4A@yYA€_J4A}YA@hJ4A{YA@uJ4AÀxYA‡J4AÀsYA`•J4A qYA@¤J4A@mYA ¹J4A jYAÅJ4A€gYA@ÌJ4A eYAÀÙJ4AbYA@äJ4A _YAÜJ4A`^YA ÙJ4A ]YA€ÍJ4AàZYAÂJ4AàVYA€¸J4A QYA ¬J4A`LYA œJ4A HYA •J4A`EYAJ4A@CYA …J4A`?YAÀ„J4A<YAà„J4A ;YA@‚J4Aà;YA`sJ4A€?YAlJ4AàAYA@[J4A€GYA`NJ4AàLYA`CJ4A€PYA =J4A TYA`1J4A€ZYA .J4A`\YA€#J4A bYA J4AdYAÀJ4AhYA J4A@kYA`J4AÀlYA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ ÆÀ):4AÀPYAàö:4A`uYA#^:4A`jYAa:4A jYAàh:4A@jYA€x:4A`lYA‡:4AàlYA@Ÿ:4A@nYA ©:4A@oYA`¬:4A`rYA ¯:4A`uYAµ:4AuYA¿:4A sYA€Í:4A qYAâ:4AàmYAàö:4A@hYA õ:4AdYA ï:4A eYA ×:4A cYAà»:4A€_YA€ž:4Aà\YAÀŠ:4A@ZYA@u:4A@WYAd:4A`UYA N:4ASYA@B:4A@QYA@2:4AÀPYAÀ):4AÀPYA€/:4A€UYA@8:4A`XYA E:4Aà]YA`G:4A`^YA M:4Aà`YAV:4A bYAàZ:4AÀeYA`]:4A iYA^:4A`jYA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@¡ °=4A€üYA o>4A€pYAU °=4APYA€³=4A@QYA€µ=4A€RYAà·=4A€XYA ¾=4A [YA`Ä=4AÀ]YA É=4A€_YA€Ë=4A@`YAàÑ=4A@cYA`ß=4AfYAÀë=4AÀgYA@ý=4A jYA€>4AàlYA >4AànYA->4A€pYA@?>4A`pYA D>4A@pYA€D>4A@oYA@D>4A kYA€C>4A`hYA`D>4AÀeYAàD>4AbYA`E>4A ]YA€F>4AYYA K>4A UYA€M>4A`RYA€S>4A@NYA@Y>4AÀKYA@\>4A KYA g>4A HYA@a>4A@FYAÀ\>4A@DYAÀY>4AàAYA V>4A ?YAY>4A <YA[>4Aà:YAd>4AÀ8YA e>4Aà7YA k>4A 4YA o>4A /YA€n>4A *YAÀk>4A &YAàg>4A  YA€b>4A YA@_>4A`YA@[>4A@YA€W>4A YAÀV>4A`YA@\>4A YA _>4Aà YAa>4A  YAà`>4A` YA€[>4A`YA€T>4A YAÀM>4A`YAÀE>4A`YAà:>4AàýYAà7>4A€üYA€5>4A ÿYA`8>4AYA@;>4AYA@>4A YAB>4A`YA E>4A YAÀG>4Aà YAàE>4AàYA`@>4AàYAÀ6>4A YAÀ.>4A YA '>4AÀYA>4A@YA >4A` YA>4Aà!YA>4Aà#YA` >4A`%YAÀ>4A€'YA>4A (YA ú=4AÀ(YAÀú=4A`,YA@õ=4A@2YA`î=4A`6YAß=4A€>YAàË=4A€GYAÂ=4ALYA °=4APYA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@¢j*94A nYA 294A`pYA*94A`pYA`194A`oYA 294AànYA /94A nYA ,94A@oYA*94A`pYAð?ð?ð?ð?ð?ð?ð?ð?£Z€C>4A HYA`…>4A@pYA D>4A@pYA K>4A pYA \>4A€nYA@h>4AàkYA t>4A€gYAÀ|>4A bYAà„>4Aà\YA`…>4A YYAÀƒ>4AÀRYAÀ>4A NYAÀp>4A JYA i>4AÀHYA g>4A HYA@\>4A KYA@Y>4AÀKYA€S>4A@NYA€M>4A`RYA K>4A UYA€F>4AYYA`E>4A ]YAàD>4AbYA`D>4AÀeYA€C>4A`hYA@D>4A kYA€D>4A@oYA D>4A@pYA@@@@@@@@@@@@@@@@@@@@@@@@@@@@¤`Ô84A€1YA ²94AànYA*ÀÔ84A@nYA`ö84AànYA 94A€nYA /94A nYA 094A mYAÀ494A€lYA 694A kYA@894A`hYAà994A€eYAà?94AdYAÀJ94A@`YA X94A`\YAf94AXYA€r94ATYA@€94A@OYA‹94AàJYAà‘94A€FYAàž94AÀAYA€§94A@>YA@®94AÀ9YA ²94A@5YA@²94A 4YAÀŒ94A`3YAàt94A 3YA`94A3YA I94A€2YA`294A 2YAÀ,94A2YA`!94A€1YA€"94A`2YA`!94AÀ6YAà94A 7YA@94A`AYA 94AÀHYAÀ94AàNYA@þ84ATYAàñ84A€XYA æ84Aà]YAàÞ84A`aYA`Ô84AÀfYA Õ84AÀiYAÀÔ84A@nYA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@¥^ /94A€lYAÀ494AànYA /94A nYA 294AànYAÀ494A€lYA 094A mYA /94A nYAð?ð?ð?ð?ð?ð?ð?¦º@y84A@/YA€"94A@nYA"@z84A`lYAà84AmYA ³84A€mYAÀÔ84A@nYA Õ84AÀiYA`Ô84AÀfYAàÞ84A`aYA æ84Aà]YAàñ84A€XYA@þ84ATYAÀ94AàNYA 94AÀHYA@94A`AYAà94A 7YA`!94AÀ6YA€"94A`2YA`!94A€1YA`94AÀ0YAàþ84A0YAê84A@/YA@Þ84Aà/YA€Í84A0YAº84A@/YA ¹84Aà/YA ´84A >YA ¬84AEYAà¤84A€JYAà–84A€NYA 84ATYAÀˆ84A[YA@84A`YA |84A`cYA@y84A hYA@z84A`lYA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@§Þ`á74A@)YAº84A mYA%`á74AÀjYA`ã74AÀjYA 84AàkYA 84A mYA 184A€lYA O84AlYA l84AlYA@z84A`lYA@y84A hYA |84A`cYA@84A`YAÀˆ84A[YA 84ATYAà–84A€NYAà¤84A€JYA ¬84AEYA ´84A >YA ¹84Aà/YAº84A@/YA³84A/YA¢84AÀ-YA€Ž84A`,YA`y84A+YAq84A@)YAÀk84AÀ*YA P84A€1YA>84A5YA€884A;YA@184A @YAÀ&84A@FYA`84AàKYA 84AàPYA`ÿ74A`VYA@ò74A[YA`ê74A`aYAàæ74A fYA`á74AÀjYA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@¨ ÓI4Aà&YAˆJ4AÀlYA( ÓI4A`gYAêI4A€jYA@óI4A lYA€J4A`lYA`J4AÀlYA J4A@kYAÀJ4AhYA J4AdYA€#J4A bYA .J4A`\YA`1J4A€ZYA =J4A TYA`CJ4A€PYA`NJ4AàLYA@[J4A€GYAlJ4AàAYA`sJ4A€?YA@‚J4Aà;YAà„J4A ;YAÀ†J4A 4YA`…J4Aà,YAˆJ4Aà&YAÀ‚J4A)YAàzJ4A ,YA rJ4A@.YA€kJ4A 1YA aJ4Aà3YA@[J4Aà5YA JJ4A@:YAÀBJ4A <YA 7J4A`@YAà*J4A EYAÀJ4A KYAàJ4A NYAJ4A@SYAÀJ4AXYAôI4A@]YA€èI4AÀaYAàÚI4A`dYA ÓI4A`gYA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@©> ÙJ4A ;YA`¾K4A@kYA-@äJ4A _YA€öJ4A`bYA K4A dYAK4A@iYA`K4A@kYAÀK4A€jYA`#K4A`iYA€,K4AhYAÀ7K4A`eYA :K4A dYA`EK4A`bYA`NK4A``YAÀUK4A€^YA ZK4A \YA dK4A ZYA xK4AÀWYA…K4A€VYA€K4AàTYA`¢K4A@PYAÀ¨K4A@MYAÀ®K4AÀKYAÀºK4A`IYA`¾K4AHYAàµK4A FYA «K4A€CYA ŸK4A AYA@•K4A@YAàŒK4A`>YAÀƒK4A =YA |K4A ;YA`qK4A=YA jK4A`?YA _K4ACYA UK4A@GYA@GK4A LYA`8K4AÀOYA€$K4AàRYAà K4A VYA K4AàVYA òJ4A XYAàâJ4A€ZYA`ÞJ4AÀ[YA ÙJ4A ]YAÜJ4A`^YA@äJ4A _YA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ªþ`s74A YAq84AÀjYA=Á74A`jYA Î74A`jYA`á74AÀjYAàæ74A fYA`ê74A`aYA@ò74A[YA`ÿ74A`VYA 84AàPYA`84AàKYAÀ&84A@FYA@184A @YA€884A;YA>84A5YA P84A€1YAÀk84AÀ*YAq84A@)YA m84A (YA€^84Aà%YA€M84Aà!YA€=84A`YA`-84AàYA  84AÀYA84A YA84A`YA Ý74A YAàÙ74A@YA`Ö74A YA`Ò74A€"YAÏ74A %YA Ê74A`'YA@Ä74A€)YA ½74A`+YA€¼74AÀ+YA`Á74A@-YA@Ã74A€.YA€È74A`0YAàÎ74A`3YA Ñ74A 8YA Í74AÀ8YAÀÄ74A:YA@»74A@:YAà¬74A :YA@£74AÀ9YA œ74A 8YAà”74A 9YA€ˆ74A;YA€|74A€=YA`v74A€>YA`s74A?YA ~74A€IYAàˆ74A NYAà“74A€PYA`Ÿ74ARYA ·74A`TYAÆ74A VYA Á74AÀZYA ¾74A`_YAÀ¸74A@cYA ¼74AàeYAÀÀ74A`iYAÁ74A`jYA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@«`I4AÀ#YA aJ4A`gYA)`I4A@UYA@žI4A@XYA@ºI4A ^YA€ËI4A@fYA ÓI4A`gYAàÚI4A`dYA€èI4AÀaYAôI4A@]YAÀJ4AXYAJ4A@SYAàJ4A NYAÀJ4A KYAà*J4A EYA 7J4A`@YAÀBJ4A <YA JJ4A@:YA@[J4Aà5YA aJ4Aà3YA XJ4A 3YAÀUJ4A 3YAPJ4A 2YA€HJ4A`1YA EJ4A 0YA@J4A@/YA`YAÌI4ABYA€¼I4A@FYA­I4A KYA@œI4AàPYA`I4A@UYA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@¬’€ò94AYA@D;4A eYAI8 õ:4AdYA€ù:4A@cYA;4A€`YA;4A \YAà;4AÀXYA€;;4A WYA@D;4AàVYAÀB;4AàTYA€=;4A@PYA 7;4AÀKYA€4;4A@IYA );4A€DYAÀ";4A@BYA;4A@?YAà;4A=YA€ò:4A :YA€â:4A@7YAàÓ:4A 3YAàÂ:4A`/YAÀ¼:4A@-YAà¸:4A€*YA¦:4A€(YA`’:4AÀ&YAÀ€:4A@&YA@r:4A€%YA ^:4Aà#YA J:4A€!YAà<:4AÀYA+:4A@YA€:4AYA@ :4AYAÀ:4AYA ù94A`YA€ò94A YA û94AÀYAÀ :4A$YA@:4A@(YA :4A +YA:4A2YA :4A€7YA :4A€=YA€:4A@BYAà:4AFYA":4AàLYAÀ):4AÀPYA@2:4AÀPYA@B:4A@QYA N:4ASYAd:4A`UYA@u:4A@WYAÀŠ:4A@ZYA€ž:4Aà\YAà»:4A€_YA ×:4A cYA ï:4A eYA õ:4AdYAN:4A`FYA€S:4A`DYA@Z:4AàBYAÀ^:4AàAYAÀj:4AÀAYA`w:4A AYA@‚:4A`CYA ‰:4A@DYA :4A€EYA Œ:4A€GYA ‡:4A HYAà€:4A`JYA y:4AKYA@m:4A KYA _:4AÀJYA`V:4A IYAN:4A`FYA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@­~@'F4Aà?YAÀtF4A`cYAÀtF4A@aYAÀsF4A€`YAÀqF4Aà^YA€oF4AÀ\YA kF4AàYYA`hF4AWYAÀeF4ASYA dF4AÀOYAaF4AMYAà]F4A€JYAà[F4A IYA`WF4AGYA€TF4A EYA€SF4A@DYANF4AàAYAÀMF4AAYAàKF4Aà?YA`CF4A @YAà3F4A@EYA.F4AJYA)F4A OYA (F4ARYA@'F4A`WYA`*F4A@]YAà2F4AàaYA ?F4AcYAàSF4A`cYA cF4A€bYAÀtF4A@aYA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@®`ÿA4AÀHYA@¢B4A`bYA(`ÿA4AàUYA B4AXYA€B4A`ZYA B4A \YAB4A€]YA B4Aà_YA€B4A€`YA B4A`bYA B4Aà`YAà.B4AÀ`YA 3B4Aà`YAà>B4A aYA NB4AÀ`YA XB4A `YA eB4A``YA ‚B4Aà^YAà‰B4Aà^YA@“B4A`^YAB4A\YA ŸB4A ZYA@¢B4AÀWYA¢B4A TYAÀžB4AàPYAžB4AàMYAÀšB4AÀJYAÀ–B4AÀHYA`’B4A`IYA ƒB4AÀJYA {B4A€JYA uB4A@JYA€gB4A€IYA ^B4A€IYANB4AÀIYAàCB4A`JYA 5B4AàJYA`"B4A`MYAÀB4A OYAÀ B4AÀQYA€B4A@UYA`ÿA4AàUYA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@¯ÆàKF4Aà;YA`¬F4A@aYA#ÀtF4A@aYA`yF4AaYA€F4A`^YA`§F4A]YA`¬F4A`\YAÀªF4AÀZYA`©F4AÀXYA ¤F4AàRYA`¡F4APYAàŸF4A@MYAÀ˜F4A JYA “F4A@GYA ‹F4A CYAà…F4A`?YA ‚F4A =YA@F4Aà;YA`xF4A <YAÀaF4A@>YAàKF4Aà?YAÀMF4AAYANF4AàAYA€SF4A@DYA€TF4A EYA`WF4AGYAà[F4A IYAà]F4A€JYAaF4AMYA dF4AÀOYAÀeF4ASYA`hF4AWYA kF4AàYYA€oF4AÀ\YAÀqF4Aà^YAÀsF4A€`YAÀtF4A@aYA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@°n@=4A YAÀú=4Aà`YA1@=4A EYA€=4AGYA@=4AÀIYA` =4AÀKYA@+=4AÀPYA2=4AUYA@7=4A YYA@9=4A`[YA D=4A``YA@P=4Aà`YAÀd=4A `YAàp=4Aà]YAà|=4A [YA †=4AYYA •=4A€UYAà£=4A RYA °=4APYAÂ=4ALYAàË=4A€GYAß=4A€>YA`î=4A`6YA@õ=4A@2YAÀú=4A`,YA ú=4AÀ(YA€ú=4A€%YAø=4AYA€ó=4A YA ê=4AÀ YA ß=4A YAÍ=4A`YA@¶=4A YA¤=4AÀYA@‹=4AÀYA`=4A`YA@|=4A@ YA`w=4A`YAy=4A`YAÀy=4A@ YA |=4A(YA =4A@-YA €=4A@2YAo=4A@9YA@c=4A@:YA S=4A`<YA`==4A€>YA 1=4A@YA€%=4A AYAÀ=4A`EYA@=4A EYA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@±º`{A4A€?YA âA4A`YA"ÀºA4A _YAÀ½A4A€]YA`½A4A@\YA ÁA4AàZYA ÉA4AÀXYA€×A4A VYA ØA4A@UYA ÛA4A€QYA ÞA4AÀOYA@ÞA4A`NYAâA4A`GYA@âA4AÀEYA âA4A`EYA ÚA4AÀDYA ÎA4A CYAàÃA4ABYA€´A4A AYA ªA4A€?YA  A4A@AYAÀ—A4ADYA@ŽA4AGYA ƒA4AÀKYA ~A4A NYAà|A4A`PYA`{A4AÀSYA@}A4AÀWYA~A4A@ZYA‚A4A`]YA@ˆA4A`YAà”A4Aà_YAÀœA4A€_YA ªA4Aà^YAÀ³A4Aà^YAÀºA4A _YA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@²@F4Aà5YA€G4A`\YA*`¬F4A`\YAà²F4AÀ[YAÈF4A`ZYA@ÛF4AàWYA@ïF4A@UYA G4A QYAàG4AÀNYA€G4AàMYAG4AJYA`G4AÀFYAÀG4A`EYAÀG4AàCYA€G4ACYA€G4AÀCYA øF4AàEYA îF4A@GYAàÜF4AàHYAÒF4AàIYAÌF4A HYA`ÈF4AÀFYAÀÃF4A DYA ÀF4AÀBYA ·F4AÀ=YAÀ´F4A<YAà¯F4Aà8YAÀ­F4AÀ6YA«F4Aà5YA ¦F4A 6YA ˜F4A 9YA ŠF4A :YA@F4Aà;YA ‚F4A =YAà…F4A`?YA ‹F4A CYA “F4A@GYAÀ˜F4A JYAàŸF4A@MYA`¡F4APYA ¤F4AàRYA`©F4AÀXYAÀªF4AÀZYA`¬F4A`\YA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@³ò ÁA4AÀ(YA`›B4AàZYA< ÁA4AàZYA ÄA4AÀZYA€ÍA4A@ZYA ÛA4A`YYA€ãA4AYYA ìA4A€XYA`òA4AXYAà÷A4A WYA`ÿA4AàUYA€B4A@UYAÀ B4AÀQYAÀB4A OYA`"B4A`MYA 5B4AàJYAàCB4A`JYANB4AÀIYA ^B4A€IYA€gB4A€IYA uB4A@JYA {B4A€JYA ƒB4AÀJYA`’B4A`IYAÀ–B4AÀHYA€’B4AÀFYA`‘B4AÀBYA ”B4A>YAšB4A`9YA`›B4A`5YAÀšB4A`0YAà‘B4A ,YA B4Aà)YAà…B4AÀ(YA {B4A*YA lB4A€+YAÀXB4A`-YA@B4A0YA@8B4AÀ0YA`,B4A`1YAÀ'B4AÀ1YA (B4A@3YA (B4A@6YA`*B4AÀ8YA ,B4Aà;YA ,B4A ?YA'B4A @YA B4A@BYA B4A`DYAàöA4A`EYAëA4A EYA`åA4A`EYA âA4A`EYA@âA4AÀEYAâA4A`GYA@ÞA4A`NYA ÞA4AÀOYA ÛA4A€QYA ØA4A@UYA€×A4A VYA ÉA4AÀXYA ÁA4AàZYA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@´ À÷>4AôYAÀÚB4A@VYA>@µ?4A YA`µ?4A YA¶?4AÀYA ¿?4A YA`Ä?4A#YAàÁ?4A€%YA€»?4A (YA€«?4A@+YA •?4Aà-YA`€?4A 0YA k?4A 3YAàR?4A6YAÀ@?4A€9YA'?4A`>YAÀ?4ACYA€ÿ>4A€HYAÀ÷>4A@OYA ÿ>4A SYA ?4A@VYAÀ+?4A@VYAÀB?4A UYA`\?4A`SYA€q?4AÀQYA@”?4A NYA€«?4AÀKYAÂ?4A IYA ×?4AÀFYAÀü?4A @YA @4AÀ<YA $@4A€8YAà6@4A4YA€J@4A 0YA^@4A,YA@m@4A€)YA€@4A@&YA`@4Aà!YA€¢@4A@ YA@¨@4AàYA ´@4A YA@»@4A€YAÀ¾@4AÀYAÀÈ@4A  YAàá@4A@ YA ø@4A@ YAàA4AàYA(A4AÀYA=A4AYA VA4A`YA oA4A€YAà‡A4AYA ®A4A`úYA€ÀA4A ÷YA@ÍA4A ôYA ÕA4A`ðYAâA4A éYA äA4A áYA@ãA4A ÛYA@áA4A€ÔYA`ÝA4AàËYA ÙA4AàÃYA@×A4Aà½YA ÓA4A€·YA€ÊA4A ¯YA€ÄA4A ªYA ÂA4AÀ£YA ÏA4A šYAàA4A —YA€B4A“YA B4A`‘YA@&B4A@YA@?B4AÀYA ^B4A@YA@qB4A YAà…B4AàŒYA B4A€ŒYA@²B4Aà‹YA ÄB4A`YA@ÕB4AYAÀÚB4A€ŽYA ØB4AˆYA@ÍB4Aà‚YA½B4AÀ~YA µB4A{YA «B4A tYA`•B4A pYA`ƒB4AÀnYA`eB4AÀoYA &B4AvYA`B4AàvYA B4AÀxYA ùA4A {YA`âA4A€YA ÑA4AÀƒYA@ÄA4A`†YA`¸A4AÀ‰YA°A4AàYA@¢A4A“YA`’A4A –YAàA4A`˜YAnA4A—YA€iA4A •YAà]A4A€“YA@KA4A’YA DA4A`‘YA?A4AàYA 6A4A@YA€7A4AàŒYA`8A4A@ŠYA`7A4A`†YA3A4AàYA`(A4A~YA@A4AyYA A4A vYAàA4A rYA€A4A@oYAàA4A kYAàA4AàiYAà'A4A@jYA`5A4A`jYA€BA4AÀhYA€GA4A fYA IA4AàbYADA4A`_YA@>A4A\YAà+A4APYA A4AàIYAA4A`EYAàA4A AYA€%A4Aà=YA@2A4A@;YAàYAàÄ@4ACYAàË@4AEYA`Ð@4A`GYA Õ@4AÀKYA Ø@4A`OYAÙ@4A€RYA ×@4A@SYAÐ@4A`TYAàÅ@4A@UYAº@4A UYA ²@4AÀUYA@¥@4A@UYA`˜@4AàTYA ‹@4A TYA€@4A TYAÀu@4A@SYA€j@4AàRYA c@4A€RYA S@4A@RYA@U@4AàSYAÀZ@4A VYA``@4AàYYA@l@4A`\YAàw@4A ^YA€…@4AÀaYA@4A eYA ¡@4A`hYA`®@4A@kYA ³@4A mYA ¹@4A nYA Ã@4A pYA`Ë@4A€rYA€Ð@4AtYA`Ý@4A@wYA@å@4AàyYA@í@4A }YAÀý@4A`‚YA A4AÀ„YA€A4A †YA@A4A ‹YA€A4A€ŽYA€#A4A`YA A4A@‘YA A4A`’YAA4AÀ“YA`A4A`•YA`A4Aà–YA (A4A šYA`,A4A€žYA 6A4A ¤YA :A4A@¨YA 9A4A`ªYAà+A4A ®YA &A4A€¯YA A4A ¯YA€A4AÀ®YAÀÿ@4A­YA`õ@4AªYAÜ@4A€§YA@Â@4A ©YA€¹@4AÀ©YA²@4A€¨YAª@4A ¥YA }@4Aà£YA k@4A@¥YA Y@4A€¦YA I@4A¨YA 4@4AÀ©YAà@4A «YA ô?4A€¯YAàÚ?4A ³YA Å?4A`¸YA@À?4AÀºYA@¾?4A@¿YA`¿?4A`ÃYAÉ?4A€ÆYA€Ð?4AÈYAàâ?4A@ËYAà@4AÀÏYA :@4AÀÏYAÀ?@4A@ÐYA`F@4A ÔYAL@4A ×YA€R@4A ÚYAÀV@4A€ÞYA]@4AäYA`f@4A éYA`m@4AÀîYA t@4A@óYA u@4AÀöYA€v@4AÀûYA€w@4A ÿYA@w@4A€YA q@4A`YA n@4A YA€e@4A€YAà]@4AYA Z@4A€YA@R@4A YAÀM@4A YA€<@4Aà YAÀ8@4A YAà4@4A`YAÀ@4AÀYA @4A YA @4AYA@ @4A€YAÀ@4A`YAþ?4A€YA€ñ?4A@YAàè?4AàYA`à?4A`YA Ú?4AàYA Õ?4A@YAÀÇ?4AÀYA€À?4A`YA µ?4A@YAà´?4A YA@µ?4A YA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@µÒ XI4AàYAÀ%J4A@UYA$ XI4AHYA`aI4AàJYA |I4A€QYA`I4A@UYA@œI4AàPYA­I4A KYA€¼I4A@FYAÌI4ABYAàÖI4A>YAàçI4A 9YAÀòI4A 5YA@ÿI4A`1YA` J4A.YAÀJ4A@)YA J4Aà%YAÀ%J4AÀ#YAÀ$J4AÀ"YAà$J4A YA`J4A YAJ4A`YAÀ J4AàYA J4A YA@J4AàYAàýI4A YA øI4A YA@òI4AÀYAÀãI4A$YA ÎI4Aà*YA`ÄI4A@.YAÀ®I4Aà3YA€£I4A@6YA€I4Aà;YAÀ{I4A ?YApI4A @YA€[I4AÀFYA XI4AHYA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@¶@I4A ÕYA@DN4AàQYAª@…M4A€(YA ŠM4A %YA ŠM4AÀ!YAà„M4A`YAÀƒM4A YAÀ~M4A@YA }M4A YA€xM4Aà YA uM4A YAuM4AàYAuM4A€YA€oM4A`YA bM4A YA]M4A YAQM4A@YAÀDM4A YA@1M4A€YA#M4AÀýYAàM4AàûYAÀM4A úYA`M4A€øYAàM4AöYA€M4A`ñYA€M4A`îYAÀ÷L4A`ëYA@òL4A€èYAàìL4A@æYA èL4A€ãYA`åL4AâYA€ÚL4A@ÝYA`ÔL4A ÛYAÀÂL4AàÚYA€¸L4AÛYA€°L4AÀÚYA€¢L4A@ÙYAà–L4A€×YA`“L4A`ÖYA L4A@ÓYA`L4AÀÎYAŒL4A ÌYA@ƒL4AÀÉYA€L4AÉYA@xL4A@ÇYAÀiL4A€ÃYA bL4AÁYA€`L4Aà¾YAàbL4Aà»YAÀgL4A@¹YAàtL4AµYA„L4AÀ®YA@ŠL4A «YA ’L4A§YA@ŸL4AÀ YAÀ©L4A@žYAà¸L4A`›YAÃL4A šYAÊL4A@—YAÀËL4A ”YA`ËL4A@“YAÇL4A’YA ¾L4A`YA€®L4A ŒYA «L4AÀŠYA@¬L4A`‡YAÀ§L4A@…YAÀ›L4AàYA ‘L4Aà}YA‹L4Aà{YAà}L4AÀwYAÀqL4AÀsYAàhL4A pYA€fL4A mYA eL4A€gYAàiL4A bYAoL4A^YA@xL4AàVYA yL4A`TYA€}L4A OYAL4AKYA@‡L4A DYAÀˆL4A AYAÀŒL4A`>YAà”L4A@9YAàšL4A5YAŸL4A@2YA`­L4A€/YA€·L4A /YAÀ¿L4AÀ/YA@ËL4A@1YA@îL4A@4YA M4AÀ2YA M4A 2YAà!M4Aà0YA 1M4A€+YACM4AÀ&YASM4Aà#YA dM4A`"YA uM4A€YA ŒM4A`YA žM4A@YA¶M4A`YAÀÇM4A`YA`ØM4AYAîM4A  YAàN4A€ YA N4A YA !N4A YA@DN4A YA€:N4A@ßYA`4N4A`àYA`(N4AàâYA`"N4A äYA@N4AÀæYA`N4A€çYAàæM4A èYA`ÕM4AèYA`·M4AæYA £M4AÀäYA`‡M4A@åYAÀnM4A€åYAÀSM4A åYA`=M4A`åYA`&M4A åYA€M4A çYA âL4A éYA ÙL4A`ëYAÀÓL4AòYAÀÑL4A€öYA ÍL4A ýYAÀÆL4AYA@¹L4A YA`®L4A YAžL4A@YA„L4AYAiL4A YA [L4AÀYAàFL4AÀYA€ L4AYA L4A€YA ëK4A YAÚK4A`YAàÌK4AYA¨K4A YAàœK4A YA ŽK4A` YA€}K4A YAànK4AÀYA€aK4A@YA JK4A€YA 2K4Aà YAÀ-K4A  YA€"K4A YA€K4A YA K4A€ YA ÿJ4A YAöJ4A€ YA€ìJ4A  YA@âJ4A YAÀÑJ4AÀ YA`¼J4A YA`©J4A€ YAÀ˜J4AÀ YA@J4Aà YA€‚J4A YA zJ4A@ YAàqJ4A€ YA mJ4A€ YA€kJ4Aà YA hJ4A` YA`J4AYAàTJ4A YA€NJ4A@YA€@J4A  YA9J4Aà YA`2J4A@ YAÀ!J4A€ YAàJ4Aà YA J4Aà YAÀJ4Aà YAÀûI4AYA`òI4AÀYA@çI4A YA J4AàÿYA` J4A@ÿYA`$J4A`üYAÀ#J4AúYAJ4A ôYAJ4A ðYA`J4A€îYAJ4AêYA@J4AÀåYAÀ J4A ãYA€J4AàÞYA€J4A ÜYA` J4A@ÙYAÀJ4A€ÖYAààI4A ÖYA ØI4AÀÕYA€ÑI4AàÕYA@®I4A ÕYA`¦I4A@ÕYAàœI4A`ÕYA…I4A ÕYAÀvI4AÀÕYA`lI4A€ÕYA@]I4A ÕYA OI4A€ÕYA`II4AÖYA`HI4A ØYA QI4A ÛYA YI4A@ÞYA bI4AâYA eI4A`äYAàcI4A€åYA _I4A@çYA VI4A`êYA HI4AìYAà;I4A íYA .I4A ñYA@"I4AàõYA@I4AÀùYA`I4A€YA@%I4A@YA +I4A@ YAÀ2I4AÀYA II4A YAÀvI4AÀYA ‚I4A€YA€ŽI4A@YA`”I4A` YAà”I4A "YAàI4A@$YA`‡I4A %YA€}I4A`'YAàlI4A 'YA[I4A)YA UI4A+YA`JI4A@,YAàGI4A/YA€LI4A@7YA€XI4A`=YA€_I4AàEYA@lI4AÀNYA@uI4A`RYA@€I4AÀTYA€ŒI4AYYA ™I4A`^YAÀœI4Aà_YA ªI4A`dYAà¯I4A`cYA@¶I4A@`YAà¸I4A^YA`¾I4AÀZYA€ÄI4AWYAÑI4A@SYA æI4AàPYAàJ4A OYAÀJ4A NYA@3J4A€NYA@BJ4ANYA@KJ4AàKYAà`J4A IYAànJ4A`HYA ‚J4A GYA ˜J4A GYA€™J4AMYAŽJ4A NYA`|J4AàPYAÀoJ4A€TYAÀaJ4A@[YAàTJ4Aà`YAQJ4A`dYA@oJ4A gYA€wJ4A@hYAÀ‹J4A`iYA ¨J4A€kYAÀ½J4AàkYA@ÌJ4A`lYAàÛJ4A€nYA@èJ4A pYAàùJ4AÀsYA€þJ4AÀuYA K4A zYA`K4A@~YA*K4A€€YA`=K4AÀYAÀJK4Aà€YAÀ[K4A`|YAÀ`K4A zYAÀlK4A`wYA€wK4AÀrYAuK4A€oYAÀrK4AgYAàuK4A dYA K4A ^YAÀK4A@[YA¤K4A@XYA`¬K4A€VYAÀ·K4A€TYAÈK4AÀOYA`ÞK4APYAàõK4AÀNYA€L4A`NYAÀL4A`NYA€#L4A€OYA )L4A QYAÀ+L4A€SYA@,L4A`UYA@#L4A WYA@L4A@ZYAÀL4AÀ\YA€ýK4A@_YAÀóK4A@dYA@ùK4A jYA L4A oYA@L4A€rYAÀL4A wYA€%L4A€zYAÀ*L4A`YA@3L4A@„YA`6L4A ŠYAÀ6L4A@ŽYA@5L4A€‘YAà4L4A@–YA 2L4A€—YA -L4AÀ™YA "L4A€šYA@L4A€šYAàL4A€˜YA€ L4AÀ“YA`L4A`YA íK4Aà‹YA€àK4A@ŠYA ÖK4A@ŠYAÀÆK4A`ŒYA»K4AÀYA ¬K4A “YA žK4AÀ–YA K4Aà™YAÀyK4AœYAàhK4A žYAà^K4A€ŸYAVK4Aà¡YA RK4A€¤YAWK4AÀ¥YAàdK4A §YA@rK4A€¦YAà‚K4A¦YA`K4AÀ¥YA@¤K4A¦YA ²K4A@§YA@ÒK4A@¨YAåK4Aà©YAàïK4A€«YA@ùK4A ®YAà L4A ±YA@L4A@´YAà L4A ¶YAàL4A ¸YA úK4A@ºYA ðK4A`»YA@ëK4A¾YA€æK4AàÀYAàÙK4AÀÁYAÍK4A@ÁYA´K4Aà¿YA@ K4A`ÀYA€™K4A ÂYAÀ”K4AÅYA€¡K4AàÊYA £K4AÍYA@©K4A ÐYA€¯K4AÀÕYA€¸K4A€ÜYAÀÅK4A@äYAÊK4A`èYA ÍK4A ìYA`ÖK4A`ûYAÜK4AÀþYA ãK4A YA`äK4AYAàèK4Aà YAàîK4A`YA`õK4AÀYAÀöK4A YAÀöK4A@YAÀL4A $YAÀL4Aà)YA@L4Aà+YAÀ$L4A /YA )L4A`2YA`/L4A6YA 4L4A 9YA BL4A BYA@GL4AàDYAàML4AàHYA@SL4AKYAZL4A€LYA`gL4AÀNYAàqL4A`OYA`|L4APYA€€L4A€PYAàˆL4AÀQYAà—L4A@QYAÀ£L4AQYA`ÁL4AàQYA@ÉL4A QYA ÍL4A@QYA@ÛL4A€PYA æL4A€NYAðL4AàJYA`õL4AàFYA€ùL4AÀDYAÀM4AÀ<YA@M4AÀ;YA M4AÀ8YA@M4A@5YA€M4A 1YA M4A€/YA@*M4A -YA 2M4A ,YA =M4A*YA€SM4A*YA dM4A )YA M4A€(YA@…M4A€(YA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@·îN:4A AYA :4A KYAN:4A`FYA`V:4A IYA _:4AÀJYA@m:4A KYA y:4AKYAà€:4A`JYA ‡:4A HYA Œ:4A€GYA :4A€EYA ‰:4A@DYA@‚:4A`CYA`w:4A AYAÀj:4AÀAYAÀ^:4AàAYA@Z:4AàBYA€S:4A`DYAN:4A`FYA@@@@@@@@@@@@@@@@@@@¸Ò«F4AÀ!YA€G4AàIYA$€G4ACYA`G4A BYA€G4Aà=YAàG4Aà:YA`G4A :YA€G4A7YA@G4AÀ4YAG4A@1YA G4A /YA@G4A,YA`G4A 'YAàùF4Aà#YA`òF4A€"YAÀçF4Aà!YA àF4AÀ!YA@ßF4AÀ"YA`ÛF4Aà%YAàÓF4A€*YA ÌF4A@-YAÀÀF4A 0YAµF4A4YA«F4Aà5YAÀ­F4AÀ6YAà¯F4Aà8YAÀ´F4A<YA ·F4AÀ=YA ÀF4AÀBYAÀÃF4A DYA`ÈF4AÀFYAÌF4A HYAÒF4AàIYAàÜF4AàHYA îF4A@GYA øF4AàEYA€G4AÀCYA€G4ACYA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@¹ÂÀÁ>4A YA`Ä?4A€HYA8ÀÁ>4A`6YAàÃ>4A7YA@É>4A@9YAÀÌ>4A`:YAàÒ>4A€<YA@×>4A@>YA€Ý>4A€@YA`ä>4A€BYA ç>4A CYAàí>4A`EYA ÷>4AÀFYA€ú>4A GYA€ÿ>4A€HYAÀ?4ACYA'?4A`>YAÀ@?4A€9YAàR?4A6YA k?4A 3YA`€?4A 0YA •?4Aà-YA€«?4A@+YA€»?4A (YAàÁ?4A€%YA`Ä?4A#YA ¿?4A YA¶?4AÀYA`µ?4A YA@µ?4A YA °?4A`YA«?4A`YA@¢?4A YA?4AYA@ˆ?4A€YAÀ?4AYA }?4AÀYA t?4AàYAÀo?4A YA b?4AÀYA \?4A YA R?4A YAM?4A YA@G?4A YA-?4A %YAÀ&?4A'YAÀ!?4A(YA ?4A )YA@?4A@*YAà ?4A +YAàü>4A-YA€÷>4AÀ-YAàë>4AÀ.YAÝ>4AÀ/YAÀÓ>4A 1YAàÉ>4AÀ2YAÀÇ>4A 3YAÀÁ>4A`6YA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@º¢ >I4A YA@J4AHYA  >I4A ?YAOI4AàDYA XI4AHYA€[I4AÀFYApI4A @YAÀ{I4A ?YA€I4Aà;YA€£I4A@6YAÀ®I4Aà3YA`ÄI4A@.YA ÎI4Aà*YAÀãI4A$YA@òI4AÀYA øI4A YAàýI4A YA@J4AàYAÀJ4A€YAàJ4A YA@õI4AàYA@êI4A YA æI4Aà YAØI4AàYA ÆI4A`YAà¾I4AàYA`ªI4A€#YA`–I4A )YA€‡I4A-YA wI4A 1YAàkI4Aà3YA@[I4Aà9YAÀPI4A <YA >I4A ?YA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@»~ ªA4AÀ1YA ,B4A EYA ªA4A€?YA€´A4A AYAàÃA4ABYA ÎA4A CYA ÚA4AÀDYA âA4A`EYA`åA4A`EYAëA4A EYAàöA4A`EYA B4A`DYA B4A@BYA'B4A @YA ,B4A ?YA ,B4Aà;YA`*B4AÀ8YA (B4A@6YA (B4A@3YAÀ'B4AÀ1YA`B4A€2YA` B4A 3YA`B4AÀ4YA@êA4Aà3YA éA4A`4YAãA4AÀ6YAÀÔA4A:YAàÇA4A <YA ÁA4A <YA µA4A€=YA ªA4A€?YA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@¼àçH4A YA@êI4A ?YA*àçH4A4YA€ñH4AÀ4YAI4A€7YA@)I4Aà:YA YA >I4A ?YAÀPI4A <YA@[I4Aà9YAàkI4Aà3YA wI4A 1YA€‡I4A-YA`–I4A )YA`ªI4A€#YAà¾I4AàYA ÆI4A`YAØI4AàYA æI4Aà YA@êI4A YA ÝI4A@ YAàÖI4A YAàÌI4AàYA`ÅI4AÀYA ¿I4AàYA@¼I4A`YA`´I4A YA ±I4A YA ¦I4A YAšI4A YAàI4AÀYAÀˆI4A@ YA|I4A YAlI4AÀYAYI4A@YAII4AÀYAÀ7I4AàYAÀ2I4AÀYA€"I4A€!YA I4A`%YA`I4AÀ*YA@üH4A`-YA@ñH4Aà0YAàçH4A4YA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@½† W74A YA@÷74A?YA3`s74A?YA`v74A€>YA€|74A€=YA€ˆ74A;YAà”74A 9YA œ74A 8YA ˜74A7YA€”74A€5YA@‘74A 2YAÀ—74A€/YA £74A@-YAà´74A`+YA€¼74AÀ+YA ½74A`+YA@Ä74A€)YA Ê74A`'YAÏ74A %YA`Ò74A€"YA`Ö74A YAàÙ74A@YA Ý74A YA€ß74A YAàê74A YAö74AYA@÷74A YAì74A`YA@Õ74A YA@Ç74A YAÀ·74A  YA€¬74A YA€¢74AÀYAà74A€YAÀ‚74AYA@w74AÀYA k74A@YAd74A YA@[74A`YA W74A`YAàX74Aà YAàY74AàYA@Z74A@YA X74AYAX74AÀYA@Z74Aà"YA@[74Aà&YA@\74A`*YA@]74A`.YAÀ^74Aà3YA`a74A 7YA f74A@<YA`s74A?YA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@¾® àF4A€YAwG4Aà:YA!àG4Aà:YAà"G4A 7YAÀ0G4A`5YA@?G4Aà2YA GG4A€1YA [G4A`-YAÀ_G4A€,YA kG4AÀ*YAwG4A`(YA@rG4A 'YA`_G4A`%YA NG4A "YA HG4Aà YA 5G4A€YA@*G4A YAàG4AYAG4AYA@ñF4A`YAàèF4A€YA€çF4AÀYAàâF4A YA àF4AÀ!YAÀçF4Aà!YA`òF4A€"YAàùF4Aà#YA`G4A 'YA@G4A,YA G4A /YAG4A@1YA@G4AÀ4YA€G4A7YA`G4A :YAàG4Aà:YA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@¿@‘74A`+YA Ñ74A@:YA œ74A 8YA@£74AÀ9YAà¬74A :YA@»74A@:YAÀÄ74A:YA Í74AÀ8YA Ñ74A 8YAàÎ74A`3YA€È74A`0YA@Ã74A€.YA`Á74A@-YA€¼74AÀ+YAà´74A`+YA £74A@-YAÀ—74A€/YA@‘74A 2YA€”74A€5YA ˜74A7YA œ74A 8YA@@@@@@@@@@@@@@@@@@@@@ÀÂÀV>4A  YAÀ&?4Aà7YA8 e>4Aà7YA€h>4A 7YAÀt>4A 6YA@z>4AÀ5YA@…>4A5YAÀ‘>4A`4YA˜>4Aà3YA Ÿ>4A€3YA ¬>4A@3YAÀ¶>4Aà2YA ¼>4AÀ4YA ¾>4A€5YAÀÁ>4A`6YAÀÇ>4A 3YAàÉ>4AÀ2YAÀÓ>4A 1YAÝ>4AÀ/YAàë>4AÀ.YA€÷>4AÀ-YAàü>4A-YAà ?4A +YA@?4A@*YA ?4A )YAÀ!?4A(YAÀ&?4A'YA!?4A€%YAÀ?4A "YA€?4A YA€?4AàYA€õ>4AYAï>4AàYAÀå>4A@YAÖ>4AÀYA€É>4AÀYAà¾>4A YA@°>4A YA Ÿ>4AYA@‘>4A YAà…>4A YA€y>4A€ YAÀo>4AÀ YA g>4A YAa>4A  YA _>4Aà YA@\>4A YAÀV>4A`YA€W>4A YA@[>4A@YA@_>4A`YA€b>4A YAàg>4A  YAÀk>4A &YA€n>4A *YA o>4A /YA k>4A 4YA e>4Aà7YA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ÁÆÀÛA4A`YAà…B4AÀ4YA#@êA4Aà3YA`B4AÀ4YA` B4A 3YA`B4A€2YAÀ'B4AÀ1YA`,B4A`1YA@8B4AÀ0YA@B4A0YAÀXB4A`-YA lB4A€+YA {B4A*YAà…B4AÀ(YA ~B4A 'YAzB4Aà&YAÀrB4A &YAàiB4A&YAVB4A`#YA HB4Aà!YAà;B4A!YA2B4AàYA`$B4A@YA@B4A`YAÀ B4A`YAÀB4A€YA ùA4A€YAÀëA4AYAÀáA4A YAÀÛA4Aà!YA ÝA4A #YA`ßA4A &YA€âA4A)YA€êA4A@,YA ìA4A@.YA ëA4A3YA@êA4Aà3YA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@¾@÷74AîYAÀÞ94A 4YAM`294A 2YA I94A€2YA`94A3YAàt94A 3YAÀŒ94A`3YA@²94A 4YA ¶94A€3YAÀ¼94A`1YA Æ94A-YA@Ò94AÀ(YAÀÞ94Aà$YA`Û94A $YA À94A`#YA ¯94A@"YA`˜94AÀ YAÀ…94A€YA€o94A€YA ^94AYA€O94AàYA U94A@YA@Y94AYA c94AYA m94AàYAàx94Aà YAÀp94A  YAÀ\94A` YAQ94A YA@A94A YA`494A`YA`$94A þYA94AÀûYA€94A øYA€94A õYA94A óYAà94A`óYAÀÿ84A`òYA`ë84A€ðYA Õ84A`ïYAà»84A îYA@•84AÀïYA l84AàïYA ]84A ðYA@O84AðYA`A84A îYA`784AîYA684AàðYA@184A ôYA )84AùYA`!84AàüYA`84A YA`84A YA`84AÀ YAÀ84A  YA@÷74A YA 84AÀYA 84A YA84A YA  84AÀYA`-84AàYA€=84A`YA€M84Aà!YA€^84Aà%YA m84A (YAq84A@)YA`y84A+YA€Ž84A`,YA¢84AÀ-YA³84A/YAº84A@/YA€Í84A0YA@Þ84Aà/YAê84A@/YAàþ84A0YA`94AÀ0YA`!94A€1YAÀ,94A2YA`294A 2YA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Ã> ¡H4A úYA`´I4A4YA- ¡H4A@-YA€·H4A 2YAÚH4A3YAàçH4A4YA@ñH4Aà0YA@üH4A`-YA`I4AÀ*YA I4A`%YA€"I4A€!YAÀ2I4AÀYAÀ7I4AàYAII4AÀYAYI4A@YAlI4AÀYA|I4A YAÀˆI4A@ YAàI4AÀYAšI4A YA ¦I4A YA ±I4A YA`´I4A YA ©I4A`YAÀœI4A ÿYA`I4A@þYAÀ‰I4A`ýYAÀ‡I4AÀûYA@‘I4A úYA ƒI4A@ûYA sI4AüYAfI4A`ýYAÀRI4AÀÿYA€II4AàYAà;I4A€YA€/I4AÀYA %I4AÀ YA€I4A€ YA`I4A YAÀùH4AYA êH4A@YA ßH4AàYAàÑH4Aà YA ÀH4AÀ%YA`·H4A (YA ªH4Aà+YA ¡H4A@-YA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ÄÒÀ%J4AÀYA€J4Aà3YA$ XJ4A 3YA aJ4Aà3YA€kJ4A 1YA rJ4A@.YAàzJ4A ,YAÀ‚J4A)YAˆJ4Aà&YA`ˆJ4A &YA ‹J4A€YA J4A€YA€J4AYA‡J4A YA yJ4AàYA`sJ4AYAÀmJ4A YA€fJ4AÀYAà[J4AàYAYJ4A`YA`TJ4A€YAÀQJ4AÀYA KJ4A YAÀ:J4A YA 5J4A€YA .J4A@YAà)J4A@!YAÀ%J4AÀ#YA(J4Aà%YA€.J4A`)YA 4J4A +YA`4A YAÀ?4A'YA(€õ>4AYA€?4AàYA€?4A YAÀ?4A "YA!?4A€%YAÀ&?4A'YA-?4A %YA@G?4A YAM?4A YA R?4A YA \?4A YA b?4AÀYAÀo?4A YA t?4AàYA }?4AÀYAÀ?4AYAà?4A YAy?4A@YAÀs?4A` YA@j?4Aà YA [?4A YA T?4A`YAB?4A YAà3?4A YA 2?4A@YA /?4AYA *?4AàYA )?4A€YA &?4A YAà!?4AYA`!?4AYA` ?4AYA`?4A@YA€?4AYAÀ?4AYA?4AàYA@?4A€YA@?4A YAû>4A@YA€õ>4AYA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Ì&<4A€ YAÀ§<4A@$YA+ <4A  YAà<4A€"YA &<4A@$YA@1<4A $YAà4<4A#YA 7<4A`"YA@=<4A@!YAÀA<4A` YA H<4A@YAQ<4A YA`W<4AYAÀ]<4AàYAÀa<4AYA@l<4A€YAÀu<4A YA }<4A`YA@…<4A YAàŽ<4A YA ™<4A YAà <4A YA€¤<4AàYA€¦<4A@YA€§<4AÀYAà¦<4A YAÀ§<4A@YA ¤<4A YA <4AYAÀ›<4AÀYAà’<4A€YA ˆ<4A YA <4AàYA€p<4A YAàf<4A  YA`\<4A@ YAàM<4A€ YA@=<4A  YA@,<4AÀYA $<4AàYA<4A YA <4AÀYA<4A`YAÀ<4A YA <4A  YAð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ͺÕ54A ûYA€{64A$YA"64A$YA !64Aà#YA@.64A #YAà:64AÀ"YA€J64Aà!YA€U64A@!YA`_64AÀYA@i64AÀYAp64AYA x64AàYA z64A€YA€{64AàYAÀj64AÀYA [64AÀYA€R64A` YAÀO64A YAG64A@YAÀA64A@üYA`A64A ûYAà=64A ûYA€è54A þYAàé54A`YA ê54A YA â54AÀ YAÕ54A YA Ú54A€YA@ã54A YA`ê54AÀYA ø54AÀYA`ý54A YA64A`YA 64AÀ YA64A#YA64A$YA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ÎÒ@õI4A€YAYJ4AÀ#YA$à$J4A YAÀ$J4AÀ"YAÀ%J4AÀ#YAà)J4A@!YA .J4A@YA 5J4A€YAÀ:J4A YA KJ4A YAÀQJ4AÀYA`TJ4A€YAYJ4A`YA UJ4A`YAÀRJ4A@YA RJ4Aà YAQJ4AÀ YAàPJ4A`YA`PJ4A€YAGJ4A`YA :J4AàYA6J4A@YA`.J4A@YA€'J4A€ YA@"J4Aà YA€J4A YA` J4Aà YAÀJ4A  YAàøI4AÀ YA@õI4AàYAàJ4A YAÀJ4A€YA@J4AàYA J4A YAÀ J4AàYAJ4A`YA`J4A YAà$J4A YA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ÏH4A ÌYAÀ—I4AàYATH4A€YA H4A YA $H4A YA€2H4AàYA`3H4A`YA ?H4A YA`CH4AàYA€MH4A YA \H4AàYA cH4A€YA pH4A`YAà{H4AYA@„H4A`YA H4Aà YAà–H4AÀ YA ¢H4A` YA ©H4A YA³H4A YA¾H4A@YAàÇH4A YA`ÒH4AàþYA€ÞH4AÀüYA êH4AÀûYA@õH4AÀøYA€ýH4A öYAÀI4AõYA`I4A€ñYAI4A`ðYAàI4A€íYA`&I4AÀëYA 2I4A êYAà9I4A`çYAà?I4A@æYAàII4AàäYA RI4AãYA@WI4A€áYA \I4A àYAàeI4A@ßYA`pI4A ÝYA@wI4AÜYA{I4A@ÛYA`ƒI4A ÙYA€…I4AàØYA ‹I4A ×YA ’I4A€ÕYAÀ—I4AàÓYA`“I4AÑYAàˆI4A€ÍYA€ƒI4A ÌYAÀxI4A ÏYAÀrI4AÑYAàbI4A`ÔYAàVI4A@×YA QI4A ØYA 9I4A€ÚYA@.I4AàÜYAÀI4AàYA I4A`áYAàI4A åYA ýH4A€æYA@ôH4AàèYA ìH4A`ëYA@æH4A íYA âH4A€îYAÙH4A ñYAÐH4A@óYAÀºH4A@÷YA@¯H4AùYA ¡H4A`ûYAà—H4A ýYA ‚H4A ÿYAà|H4A YAqH4A@YAÀeH4A€YA [H4A YA`SH4A€ YA`JH4A€ YA BH4A@ YA`8H4A`YA@-H4A YAÀH4A YA`H4A YA@ H4AÀYAH4A€YA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@К Ý74A YA84A`YA  Ý74A YA84A`YA84A YA 84A YA 84AÀYA@÷74A YAö74AYAàê74A YA€ß74A YA Ý74A YA@@@@@@@@@@@@ÑF6>4A€åYAà3?4AYACa>4A  YA g>4A YAÀo>4AÀ YA€y>4A€ YAà…>4A YA@‘>4A YA Ÿ>4AYA@°>4A YAà¾>4A YA€É>4AÀYAÖ>4AÀYAÀå>4A@YAï>4AàYA€õ>4AYAû>4A@YA@?4A YA@?4A€YA?4AàYAÀ?4AYA€?4AYA`?4A@YA` ?4AYA`!?4AYAà!?4AYA &?4A YA )?4A€YA *?4AàYA /?4AYA 2?4A@YAà3?4A YA@0?4A€YA ?4AYA ?4A`YA@ù>4AàYA@æ>4A`YA@Þ>4A YA Ë>4AàYA Á>4A€YA ®>4AàýYA Ÿ>4A`ûYA`Š>4A øYAà|>4A€õYA m>4AòYAf>4A ðYA Y>4AíYA S>4A ëYAI>4AàèYA€D>4A`çYA`;>4AæYA@7>4A€åYA8>4A@èYA8>4A@ëYA@8>4AÀîYA€7>4A òYA 7>4A€óYA6>4A€õYAÀ6>4Aà÷YA@6>4A ùYA€7>4AàúYAà7>4A€üYAà:>4AàýYAÀE>4A`YAÀM>4A`YA€T>4A YA€[>4A`YAà`>4A` YAa>4A  YA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Ò^ °?4A@YA µ?4A YA °?4A`YA@µ?4A YAà´?4A YA µ?4A@YA °?4A`YAð?ð?ð?ð?ð?ð?ð?Ó²ŠG4A€³YA€ƒI4A€YALŠG4A YA€™G4AYA`µG4AÀYAÀÖG4A YAàìG4AÀYAH4A€YA@ H4AÀYA`H4A YAÀH4A YA@-H4A YA`8H4A`YA BH4A@ YA`JH4A€ YA`SH4A€ YA [H4A YAÀeH4A€YAqH4A@YAà|H4A YA ‚H4A ÿYAà—H4A ýYA ¡H4A`ûYA@¯H4AùYAÀºH4A@÷YAÐH4A@óYAÙH4A ñYA âH4A€îYA@æH4A íYA ìH4A`ëYA@ôH4AàèYA ýH4A€æYAàI4A åYA I4A`áYAÀI4AàYA@.I4AàÜYA 9I4A€ÚYA QI4A ØYAàVI4A@×YAàbI4A`ÔYAÀrI4AÑYAÀxI4A ÏYA€ƒI4A ÌYA‚I4AÀËYA`yI4A ÉYAàoI4A@ÆYA`iI4A@ÃYAeI4A`ÁYA@dI4A¿YAÀcI4A½YAcI4A`»YA DI4A ·YA 2I4A€³YA'I4A¶YAàI4A ¹YA I4A€»YA I4A ½YA@ýH4A`ÀYA òH4A ÂYAÓH4A ÉYAÀÈH4A€ÌYAà±H4A€ÐYA@¤H4A ÓYAÀŠH4AÀØYA@|H4AÛYAàbH4A`áYA OH4A€æYAÀ:H4AìYA(H4A`ðYAàH4AÀôYA H4AÀøYAÀîG4A€üYAà×G4AàÿYA ÅG4A@YA@¶G4A@YA`¦G4A€YA@G4A` YAŠG4A YA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Ô²À?4AYA °?4A YA  °?4A`YAà«?4AYA¢?4AàYA ›?4AÀYA •?4A@YA Œ?4A`YAÀ?4AYA@ˆ?4A€YA?4AYA@¢?4A YA«?4A`YA °?4A`YA@@@@@@@@@@@@@@Õ€Ê94A@öYAà8:4A@YA@ :4A@YAà:4A YA€*:4AÀ YAà8:4AàYA`4:4AàYAÀ%:4AYAÀ:4A þYA@:4A ûYA@ø94A€øYA è94A@öYA ä94Aà÷YA Ù94AûYA€Ê94A€ýYAàÍ94AàýYAÖ94A€YA Ú94AYA€ã94A YAàö94AYA :4AYA@ :4A@YA@@@@@@@@@@@@@@@@@@@@@@Ö®;J4AèYA¡J4A YA!YJ4A`YAà[J4AàYA€fJ4AÀYAÀmJ4A YA`sJ4AYA yJ4AàYA‡J4A YA€J4AYA`‘J4A`YA€—J4A  YA¡J4A€YA€”J4A€ýYA€J4A@öYA kJ4AÀðYAÀ\J4AàèYA@ZJ4AèYA YJ4AÀèYA@WJ4AàëYA@MJ4A ðYA@HJ4A`òYA@>J4A@öYA@J4AþYAÀHJ4AYAàOJ4A YA`PJ4A€YAàPJ4A`YAQJ4AÀ YA RJ4Aà YAÀRJ4A@YA UJ4A`YAYJ4A`YA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@×ö@¦E4A úYAÀtF4AYA'ÀtF4A@YA dF4AYAàRF4A YA BF4Aà YA€5F4A` YA!F4AàYA F4A€YA F4AÀYAóE4A YAÀåE4A YAàÚE4A ÿYA@ÆE4A üYA ¾E4A úYA ³E4AàúYA€¬E4A`ûYA@¦E4A€þYAÀ¨E4AYAÀ¬E4A YAà­E4A@ YA`³E4Aà YA@¾E4Aà YA ËE4A@YA ÓE4A@YAÀßE4A YA æE4AYAÀëE4AYA`ôE4AàYA üE4A YA F4A YA€F4AYA #F4AÀYAà*F4A@YA`8F4AYAÀAF4A`YA LF4A`YAàVF4AYAÀbF4A`YAàpF4AÀYAÀtF4A@YAð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ø–€¬74AàæYA`784A YA€¬74A YAÀ·74A  YA@Ç74A YA@Õ74A YAì74A`YA@÷74A YAÀ84A  YA`84AÀ YA`84A YA`84A YA`!84AàüYA )84AùYA@184A ôYA684AàðYA`784AîYA`084A íYA $84A`ìYAÀ84AàêYA  84A€éYA@þ74AèYAý74AàæYAÀä74A êYA`Ø74AïYA@Ù74A òYA`Ú74A@öYAÀÚ74A úYA`Ú74A`ÿYA@Ï74A`YA`Å74A YA€·74AYA€¬74A YA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Ù~@õD4AÀëYAÀXE4A@YA@õD4A` YA ÷D4A YA€ÿD4AÀYAÀE4A@YAÀE4A€YA€&E4AÀ YAÀ.E4A YA`7E4A`YA CE4AàYA@JE4AàÿYA`QE4A üYA UE4AùYAÀXE4A ñYA@XE4AÀïYA€OE4AÀïYA =E4AÀïYA@0E4AïYA@$E4AÀëYAÀE4AìYA€E4AàîYAàE4AÀñYAÀE4AÀõYA E4A€øYA E4A@ûYAE4A ýYA`úD4AÀYAÀøD4A YAÀøD4A YA@õD4A` YA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Úê ¿I4A øYA`PJ4AàYA&@êI4A YA@õI4AàYAàøI4AÀ YAÀJ4A  YA` J4Aà YA€J4A YA@"J4Aà YA€'J4A€ YA`.J4A@YA6J4A@YA :J4AàYAGJ4A`YA`PJ4A€YAàOJ4A YAÀHJ4AYA >J4AþYA;J4A`ùYA@C4AÀYA€NC4AYA@aC4AàYAàwC4A@YA`‰C4A`YA`œC4A üYA`¦C4AÀøYA«C4A@õYA ´C4A€ðYA ¾C4AëYA€ÆC4A èYA`×C4A âYA`éC4A@ÞYA@òC4AÀÛYA÷C4A ÙYA üC4A@ÔYAÀD4A ÐYAD4A`ÏYAÀD4A€ÎYAD4A ÌYA D4AÀËYA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@㦀`L4A YA`€N4A`YA €uM4A€YAà}M4A€YA †M4A€YA€‰M4A YAàŠM4A@ÿYAÀŒM4A€ýYA‘M4A`ûYA`”M4A`ùYA€—M4A ùYA œM4A øYA`ŸM4AÀøYA ªM4A úYA€²M4AÀûYA ºM4A üYA ÁM4AàüYA ÉM4AýYA`ÔM4A€ýYAéM4A`ýYA õM4AÀúYAàN4A€úYA`N4A úYA N4A úYAà"N4A üYA@0N4A€þYAà:N4A ÿYA€KN4A@YAà\N4AÀYA mN4A YA€zN4A`YA`€N4A`YA@DN4A YA !N4A YA N4A YAàN4A€ YAîM4A  YA`ØM4AYAÀÇM4A`YA¶M4A`YA žM4A@YA ŒM4A`YA uM4A€YA dM4A`"YASM4Aà#YACM4AÀ&YA 1M4A€+YAà!M4Aà0YA M4A 2YA M4AÀ2YA@îL4A@4YA@ËL4A@1YAÀ¿L4AÀ/YA€·L4A /YA`­L4A€/YAŸL4A@2YAàšL4A5YAà”L4A@9YAÀŒL4A`>YAÀˆL4A AYA@‡L4A DYAL4AKYA€}L4A OYA yL4A`TYA@xL4AàVYAoL4A^YAàiL4A bYA eL4A€gYA€fL4A mYAàhL4A pYAÀqL4AÀsYAà}L4AÀwYA‹L4Aà{YA ‘L4Aà}YAÀ›L4AàYAÀ§L4A@…YA@¬L4A`‡YA «L4AÀŠYA€®L4A ŒYA ¾L4A`YAÇL4A’YA`ËL4A@“YAÀËL4A ”YAÊL4A@—YAÃL4A šYAà¸L4A`›YAÀ©L4A@žYA@ŸL4AÀ YA ’L4A§YA@ŠL4A «YA„L4AÀ®YAàtL4AµYAÀgL4A@¹YAàbL4Aà»YA€`L4Aà¾YA bL4AÁYAÀiL4A€ÃYA@xL4A@ÇYA€L4AÉYA@ƒL4AÀÉYAŒL4A ÌYA`L4AÀÎYA L4A@ÓYA`“L4A`ÖYAà–L4A€×YA€¢L4A@ÙYA€°L4AÀÚYA€¸L4AÛYAÀÂL4AàÚYA`ÔL4A ÛYA€ÚL4A@ÝYA`åL4AâYA èL4A€ãYAàìL4A@æYA@òL4A€èYAÀ÷L4A`ëYA€M4A`îYA€M4A`ñYAàM4AöYA`M4A€øYAÀM4A úYAàM4AàûYA#M4AÀýYA@1M4A€YAÀDM4A YAQM4A@YA]M4A YA bM4A YA€oM4A`YAuM4A€YAÀ‡I4A@àYA@ZJ4AàYA-`´I4A YA@¼I4A`YA ¿I4AàYAÀÁI4A YAÀÄI4A@YAÀÎI4A@YA€ÝI4A YA`çI4AÿYA`ôI4AýYAàûI4A€ûYA€J4AÀúYAJ4A`ûYA@J4A ûYA`J4A€ûYAÀ&J4A ûYA€.J4A úYA 3J4A ùYA@J4A@öYA@HJ4A`òYA@MJ4A ðYA@WJ4AàëYA YJ4AÀèYA@ZJ4AèYA IJ4AàâYA CJ4A@àYAÀ7J4A`áYA +J4A ãYA`J4AÀæYAà J4AÀéYA@ýI4AÀëYAàäI4AíYA€ÒI4AÀïYA ÀI4A@òYA€®I4AÀôYA@¢I4A€öYA€•I4A`ùYA “I4A ùYA@‘I4A úYAÀ‡I4AÀûYAÀ‰I4A`ýYA`I4A@þYAÀœI4A ÿYA ©I4A`YA`´I4A YA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@åŽàá54A`êYAà=64A þYA €è54A þYAà=64A ûYA`<64A`êYA@æ54AàíYAàä54AÀðYAàá54A`ôYAÀã54A øYA@ç54A@üYA€è54A þYA@@@@@@@@@@@æàŽ94A€ÂYA@4:4A€ýYA(€Ê94A€ýYA Ù94AûYA ä94Aà÷YA è94A@öYA€ð94A€óYA€û94AàïYA :4A`êYAà:4A åYA`:4A€âYAÀ':4AÝYA`1:4A ÚYA@4:4A`ÙYA`-:4A@×YA@!:4A ÓYA€:4A ÐYA@:4A@ÍYA õ94A`ËYA à94A`ÈYA@Õ94A ÆYAÃ94AÀÃYA@¾94A€ÂYAà»94A ÃYA`´94A ÅYA`«94A@ÊYA`«94A€ÍYA`¬94A@ÑYA€®94A ÖYA®94A`ÚYAà¬94AàÛYA ¦94A`ßYA ›94AáYAàŽ94A âYAÀ£94A àYA ®94A€âYA`°94AæYA@³94AÀêYA ´94A ïYA¹94A ÷YAÀ94A`üYA€Ê94A€ýYA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@çZÀ E4A àYA€F4A úYAÀ E4A ïYA€¬E4A@õYA`±E4A€øYA ¹E4AÀùYA ¾E4A úYAÈE4A ùYAÀÑE4A€÷YA@ÖE4A€öYA€ÝE4A ôYA@ëE4AÀñYA ôE4A ïYAýE4AÀìYAàF4A éYA€F4AÀçYA€F4A`çYA@F4A`äYA`øE4A áYAÀñE4A àYA€åE4A€âYA`ßE4A@ãYA ÕE4A`åYAËE4A çYA ÂE4AÀéYA ²E4A ìYA ¥E4A îYAÀ E4A ïYA@@@@@@@@@@@@@@@@@@@@@@@@@@@@è@¾F4A™YAüH4A`ùYAU@¾F4A@èYA@¾F4A éYA@ÁF4A êYA ÊF4A€ìYA`ÖF4A`îYAÀäF4AÀðYAÀñF4AÀòYA`üF4A ôYAG4A€öYAÀ G4A øYA`G4AàøYAG4A`ùYA G4AÀøYA`'G4A@øYA;G4AàóYADG4AòYAàMG4A ðYA`\G4AàíYA`iG4A ìYAà„G4A€çYAà—G4A äYA@¥G4A€àYA°G4A@ßYAà½G4A ÝYAàÐG4A`ÚYAàæG4AÖYAàùG4AÓYAÀ H4AÏYA H4A ÌYAà/H4A`ÉYA CH4A@ÇYAPH4A ÄYAà_H4A€ÁYAàiH4A ÀYA€zH4A ½YAÀ…H4A€ºYA@—H4A`·YA ¥H4A€µYA@¾H4A€±YA€ÇH4A °YA ÍH4A€¯YAÖH4Aà­YAÀÜH4A ¬YA`æH4Aà©YA òH4A¨YAüH4A ¦YA`òH4Aà£YA ãH4A` YA€ßH4A œYA`ßH4A`šYA ÏH4A€™YAÇH4A™YAÀ½H4AÀšYAµH4A YA€ªH4A@ YA@§H4AÀ YA £H4A`¡YA@›H4Aà¢YA‰H4AÀ¥YA {H4A §YA lH4A ªYAbH4A «YA€YH4A ¬YA`FH4A€¯YA ;H4Aà°YA /H4A ²YA@H4A@´YA@ H4A€·YA÷G4A€¹YA ÙG4Aà¼YA€ÁG4AàÁYA`²G4A ÄYA€šG4A€ÊYA …G4AÎYA`vG4A ÒYAà`G4AÕYA PG4A ×YA ;G4AàÙYA1G4AàÚYA  G4A@ßYA þF4AáYA êF4A`âYA@ÔF4A åYAàÃF4A`æYA@¾F4A@èYA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@éê?4A`ÍYA`Æ?4A€öYA&™?4AàõYA@Ÿ?4A€öYA Ÿ?4A ôYA€¤?4A€ôYAÀ³?4A ôYA ·?4A óYA ½?4A`òYA`Æ?4A€ìYA Á?4A`çYAà¿?4AàåYA ¬?4A ÝYA ?4A ÚYA ”?4A`×YA`‡?4AÔYAàu?4A ÑYAÀl?4AÐYA a?4AÎYA`W?4A ÍYA`L?4AÎYAà:?4A ÎYA€3?4A`ÍYA@-?4A€ÍYA€?4A ÏYA?4AÀÐYA?4AÀÓYA?4AÖYAà?4A`ÙYA ?4A ÛYA'?4AàâYAà5?4AÀçYAÀA?4A`êYAP?4A@íYA@j?4AàïYA y?4AàðYA@„?4AòYA?4A`ôYA•?4A@õYA™?4AàõYAð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ê^Àÿ84A`òYA94A`óYAÀÿ84A`òYAà94A`óYA94A óYAÀ94A`òYAÀÿ84A`òYAð?ð?ð?ð?ð?ð?ð?ëjÀ94A@ðYAà#94A óYAÀ94A`òYA94A óYA@94A@òYAà#94A@ðYA94A ñYAÀ94A`òYAð?ð?ð?ð?ð?ð?ð?ð?ìàô74A ÿYA À94A`òYA©Àÿ84A`òYAÀ94A`òYA94A ñYAà#94A@ðYA394A ïYAÀ494AàîYA@94A`íYAàH94A ìYA@J94AÀëYA€S94AàéYA`X94AéYA f94A çYA@s94A æYA 94AàãYA`94AàâYAàŽ94A âYA ›94AáYA ¦94A`ßYAà¬94AàÛYA®94A`ÚYA€®94A ÖYA`¬94A@ÑYA`«94A€ÍYA`«94A@ÊYA`´94A ÅYAà»94A ÃYA@¾94A€ÂYA À94A ÁYA½94A ¼YA€´94A@·YA@¦94A ´YA›94A±YAà”94A «YA€‘94A@¨YA Š94Aà YA ‰94A`›YA€94Aà–YA }94AÀ“YA@v94AÀYAÀs94A YAj94Aà‹YA _94AàˆYA W94AÀ…YA€T94A ƒYAàW94A €YAà\94A {YA€[94AàvYAX94AÀrYAW94AoYA€Q94A lYA P94AiYAÀT94A€fYAàV94A eYA W94A€bYA`V94A^YA@V94A`ZYA U94AUYA U94A@SYA`Y94AQYA\94AOYAà[94AÀKYAàU94A JYA@D94AàFYA=94A`FYA *94A`FYA ý84A EYA€ß84A $YAÀå84AÀ$YA@ç84Aà YA ò84A YA ë84A€YAàß84A@YA`Û84AYA@Ú84AYA Ò84A@YA`Î84A YA`Ä84Aà YA Á84A  YAà·84AÀYA€®84A YAà 84AYA “84A YA`Œ84A ÿYA€€84AàÿYA |84A`YA q84A YA q84A YA`o84A`YAào84A`YAs84AàYA y84A@ YAà|84A@ YA`84AàYAÀ‡84A YA Š84A YAàŠ84AàYA Œ84A@YA@84A YA@–84A`!YA ™84A`#YA`™84A€$YA 84AÀ$YAˆ84A%YA@ƒ84A %YA |84A@%YA r84A`%YAàm84A€%YA`c84Aà$YAY84A€$YA€P84A`%YAH84A &YA@=84A(YA€684A€)YAà.84A+YAÀ)84AÀ,YA€84A@/YA %84A /YAà$84A 2YA@#84AÀ4YA@"84A7YA  84AÀ9YA 84A€:YA`84A`=YA€84A FYA`#84A JYA .84A€JYA`;84A€MYA F84AàPYA N84AàSYA S84AYYA T84AÀ_YA@T84A hYA`G84A`qYAà<84A@yYA C84AÀ~YAàE84A ƒYAH84A ˆYA€D84AYA€B84A —YA A84AàYA ?84A€¨YA€,84A °YA84A¶YA@84AÀ¼YA 84AàÀYA@ 84A ÆYA 84A`ËYA 84AÐYAà84A ÔYAþ74A ØYA ú74A`ÛYAàô74AÀâYA@û74A`åYAý74AàæYA@þ74AèYA  84A€éYAÀ84AàêYA $84A`ìYA`084A íYA`784AîYA`A84A îYA@O84AðYA ]84A ðYA l84AàïYA@•84AÀïYAà»84A îYA Õ84A`ïYA`ë84A€ðYAÀÿ84A`òYA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@íÚ`<4Aà¬YAà¬=4A`ñYA: T<4A ¸YAN<4AºYA`G<4A@¿YAÀ<<4AàÃYA 3<4A`ÉYA`+<4A@ÍYA€!<4AÒYA`<4A`ÔYA@<4A`ÕYAà2<4A€ÔYA`@<4A@ÔYAàR<4A ÕYA d<4AÖYA€i<4A@ÙYA o<4A@ÞYA`u<4AâYAà{<4A@åYA ƒ<4A èYA@<4A`ìYA€™<4AÀîYA ¯<4A`îYA@¿<4A íYA`Ñ<4A`ìYA ã<4A@ìYA`ô<4A`ìYAÀ =4AàìYA #=4A€îYA`5=4A ñYAÀG=4A`ñYAà]=4AñYAÀl=4A ðYA@=4A ïYA Ž=4AàîYA`=4A@íYAà¤=4AÀëYA@¨=4A€éYAà¬=4A åYA«=4AàáYA@Ÿ=4AÀÖYA@=4A`ÎYA@w=4A ÁYA n=4AÀ¼YA€_=4AÀ¸YA P=4A ¸YAÀ==4A ·YAà$=4Aà¶YAÀ=4A ¶YAÀù<4A`³YAæ<4Aà°YAàÒ<4Aà­YA Æ<4Aà¬YA ´<4A@®YA  <4A¯YA`‹<4AÀ®YA`v<4A`°YAg<4A ²YA€Z<4A`¶YA T<4A ¸YA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@î ®D4A ´YAÀñE4A ïYA8À E4A ïYA ¥E4A îYA ²E4A ìYA ÂE4AÀéYAËE4A çYA ÕE4A`åYA`ßE4A@ãYA€åE4A€âYAÀñE4A àYA@èE4AàÝYA ÞE4AÀÛYA ÑE4AÀÙYA€ÆE4AÀÖYA·E4A ÒYA€¨E4A ÎYA ™E4AàÊYA ŽE4A€ÈYA`tE4A€ÄYA€eE4A`ÂYA`[E4A ÀYA NE4A@½YAàEE4A@ºYA 9E4A€¶YA 3E4A ´YA2E4A`´YA (E4AµYA€E4A@·YAE4A@ºYA ðD4Aà¼YAàßD4Aà¿YA ÕD4A`ÁYA€ÉD4A ÂYA€¼D4A ÄYA ®D4A@ÆYA€±D4AÀÇYA ¶D4A€ÊYAÀ¹D4AÌYA ÇD4A€ÎYA ÜD4A ÑYA@ëD4A ÒYAàúD4A`ÔYAàE4AÀÔYAE4A ÕYA #E4AÀÕYA,E4A`ÖYA5E4A@×YA AE4Aà×YA@RE4A@ÙYA€[E4A`ÛYAiE4AÞYA@pE4A`ÞYAE4AÀáYAà‰E4AåYA`E4A@èYAàE4A`îYAÀ E4A ïYA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ïº@4:4Aà©YAû:4A@îYA"@4:4A`ÙYA€9:4AÛYA`C:4A ßYA`Q:4AàãYAÀ`:4A€çYAàv:4A@îYAÀz:4A`ìYAÀŠ:4AäYA  :4A€ÜYA ·:4A@ÔYAÎ:4AÀÊYA ä:4AÁYA ï:4A ½YAû:4A€ºYA€ø:4Aà¹YAæ:4A ¶YAà×:4A ´YAÀÓ:4A ³YA€Ê:4Aà±YA@Á:4A°YA`¶:4A@®YA ©:4A@¬YA :4AÀªYA`˜:4Aà©YA`:4AÀ®YA :4A€³YA Œ:4Aà¹YA‡:4A€¾YA :4A ÄYA q:4A ÈYA`:4AÍYA@S:4A ÐYAàC:4AÕYA@4:4A`ÙYA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ð*`ÁE4A„YA £H4AàèYAV€¸F4AàèYA@¾F4A@èYAàÃF4A`æYA@ÔF4A åYA êF4A`âYA þF4AáYA  G4A@ßYA1G4AàÚYA ;G4AàÙYA PG4A ×YAà`G4AÕYA`vG4A ÒYA …G4AÎYA€šG4A€ÊYA`²G4A ÄYA€ÁG4AàÁYA ÙG4Aà¼YA÷G4A€¹YA@ H4A€·YA@H4A@´YA /H4A ²YA ;H4Aà°YA`FH4A€¯YA€YH4A ¬YAbH4A «YA lH4A ªYA {H4A §YA‰H4AÀ¥YA@›H4Aà¢YA £H4A`¡YA H4A  YA ”H4AàŸYAÀ‡H4A€žYA€€H4AàYAàuH4AYAÀdH4A`›YA[H4AÀšYAÀIH4A ˜YA ?H4A€—YA2H4A –YA "H4A “YA H4A’YAàH4A`‘YAÀÿG4AàYA ñG4AÀŽYAÛG4A`ŒYA ÆG4AÀŠYA »G4A`‰YA€¬G4A ˆYA ¢G4A@‡YA@•G4A€„YA€G4A„YA ~G4A`„YApG4A@…YA€`G4A ‡YA PG4A@ˆYA@4G4A ‹YAà G4AYA G4AÀYA çF4A`“YAÜF4A•YA`ÑF4A`–YA€¶F4A šYA€œF4AàYA …F4A€¡YA`iF4A¦YA@VF4A ©YA AF4A@¬YAà,F4A¯YA€F4A€²YA`F4A`µYAÀïE4A€¸YAåE4AºYA€ÕE4AÀ»YA€ÇE4A ¼YA`ÁE4A½YAààE4A@ÂYA ùE4A`ÈYA`F4AàÍYA &F4A ÑYA DF4AàÕYA@\F4AÚYA€wF4A€ÝYA@‹F4A àYA@—F4A@ãYA€¸F4AàèYA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ñ‚àJ;4A@¨YA T<4A@æYAHÀ<4AàÔYA`<4A`ÔYA€!<4AÒYA`+<4A@ÍYA 3<4A`ÉYAÀ<<4AàÃYA`G<4A@¿YAN<4AºYA T<4A ¸YA I<4AÀ¶YAD<4A µYA€8<4A@´YA+<4A`´YA !<4A ¶YA€<4A ¸YA`<4A ¹YA <4A@»YA@<4AÀ¼YA ý;4A ¾YA`þ;4Aà¹YA ü;4A€ºYA ô;4A@½YA ä;4AÀÁYAàÓ;4A ÄYA Ä;4A@ÄYA€¹;4A€ÁYAà¬;4A¿YA¡;4A¼YAà•;4A`¹YAàŽ;4AÀ¶YA€‡;4AàµYA`~;4Aà±YA w;4A ®YA s;4A «YAàr;4A`ªYA@m;4A@¨YAàf;4A@ªYA Z;4A@¬YA€R;4A`®YA@M;4A ¯YAàJ;4Aà²YA`U;4A¶YA`\;4A€¸YAd;4A@½YA@h;4A@¾YA p;4AÁYAàt;4A€ÃYAà€;4AÀÆYA …;4A ÉYA`†;4AÀÌYAÀ„;4A`ÏYAÀƒ;4AÀÑYA€…;4AàÔYA „;4A ×YA ‰;4A ÙYA‹;4AÀÚYA@”;4A€ÜYA  ;4A`ÞYAà±;4AàYA€¼;4A áYA Ë;4A€âYA Ø;4A€ãYAÀã;4AåYA@î;4AàåYA`ú;4A@æYA <4A äYA<4AãYA@ <4A ßYA@<4AàÛYA <4AÚYA <4A`ÕYAÀ<4AàÔYA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ò^@s94AàâYA`94A æYA@s94A æYAÀ~94A åYA`94AàâYA 94AàãYA@s94A æYAð?ð?ð?ð?ð?ð?ð?óÖ€è64A ÄYAà•74A@äYA@ 74A ÕYA€T74A@äYA`W74AàâYAÀm74A€ÚYA`{74AàÔYAà•74A€ÍYA€è64A ÄYA@é64A€ÄYA`ð64A ÇYA ø64A ÉYA ý64A ÌYAÀ74AàÏYA` 74AÒYAÀ 74A ÔYA@ 74A ÕYA@@@@@@@@@@@@@@@@@ô ÀE>4A ˆYA€å>4AÀãYA>ÀE>4A€ØYA€R>4AÚYA h>4A ÜYA`x>4AàÞYA`‹>4A áYAÀ›>4AãYA °>4A ãYA ·>4AÀãYA Ç>4A ÞYAàÆ>4AÀÝYA À>4AÜYAà·>4A ÛYAÀ¯>4AÀÚYA@¢>4A ×YAÀ•>4A€ÕYA€Ž>4A@ÒYAàŠ>4AàÐYAà‰>4A ÍYAàŠ>4AÀÊYA >4A€ÆYA –>4AÄYA >4A€ÁYA¥>4A ¾YAÀª>4A@¼YA ±>4A`¹YA€¹>4A ´YA€À>4A ±YA Â>4A °YA É>4Aà¬YA Ï>4A`©YAÖ>4A€¥YA`Ø>4A ¢YAàÞ>4A YA@â>4AàYAâ>4AÀ™YAä>4A€˜YA€å>4A`•YAÀä>4A ’YA€â>4AàŒYA@à>4A€ŠYAàÒ>4A ˆYAàÁ>4A ŠYA@·>4AŒYA£>4A YA’>4AÀYA`…>4AàYA >4A YA@~>4A“YAx>4A@™YAàs>4AÀžYA o>4AÀ£YA@e>4A@¬YAàb>4A€¯YA@^>4A¶YA [>4A¼YA Y>4A ¿YA V>4A ÄYA J>4AÀÌYAH>4AÎYA F>4A`ÑYAÀE>4A ÔYAÀE>4A€ØYAð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?õ†à”94A€ˆYA`˜:4A`ÙYA3@¾94A€ÂYAÃ94AÀÃYA@Õ94A ÆYA à94A`ÈYA õ94A`ËYA@:4A@ÍYA€:4A ÐYA@!:4A ÓYA`-:4A@×YA@4:4A`ÙYAàC:4AÕYA@S:4A ÐYA`:4AÍYA q:4A ÈYA :4A ÄYA‡:4A€¾YA Œ:4Aà¹YA :4A€³YA`:4AÀ®YA`˜:4Aà©YA’:4Aà¨YA`…:4A ¦YA y:4A`¤YA`o:4A ¡YAÀc:4A YAZ:4A@™YA€O:4Aà•YA@K:4A ‘YA@E:4A`YA =:4AÀ‰YA ::4A€ˆYAà/:4A ŠYA#:4A`YA :4A€‘YA`:4AÀ”YAàù94A —YA`ì94A šYA`à94A YA Ó94AÀŸYAÀÉ94A€¡YA`¾94Aà£YA€´94A@¥YA ©94A`§YA 94AªYAà”94A «YA›94A±YA@¦94A ´YA€´94A@·YA½94A ¼YA À94A ÁYA@¾94A€ÂYA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@öª`Ù=4A ‚YA >4A€ØYA6ÀE>4A€ØYAÀE>4A ÔYA F>4A`ÑYAH>4AÎYA J>4AÀÌYA V>4A ÄYA Y>4A ¿YA [>4A¼YA@^>4A¶YAàb>4A€¯YA@e>4A@¬YA o>4AÀ£YAàs>4AÀžYAx>4A@™YA@~>4A“YA >4A YAàz>4A`YA@t>4A@ŽYA€f>4AÀŠYA@a>4AàˆYAàV>4A …YA`O>4A`„YAÀ?>4AÀ‚YA6>4A ‚YA@->4A ‚YA€!>4Aà‚YA`>4A€ƒYA >4A@„YA€>4A@„YA ð=4AÀ…YA ë=4A ‡YA ä=4A€‹YAã=4A YAæ=4A•YAê=4A ˜YAî=4A`žYAàð=4A £YAò=4A@§YAàð=4Aà«YA í=4A€¯YA`à=4A µYA Ý=4A€¸YA€Ù=4A€¼YA`Ù=4A ¿YA Ü=4A`ÃYA@â=4A@ÈYA æ=4AÀÌYAàê=4AàÐYAàï=4A`ÔYAÀü=4A ÕYAà>4A ÕYA !>4AÖYA5>4AàÖYAÀE>4A€ØYA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@÷ºcI4A`»YA J4A ØYA"À—I4AàÓYA ›I4A`ÖYA žI4A€×YA ¦I4AÀ×YA@°I4AØYA ½I4A ØYAÅI4AØYA€ÒI4AÀ×YA ÞI4AàÖYAàæI4A€ÖYA€óI4A`ÖYAJ4A ÖYA` J4A@ÖYA J4A ÖYA J4A ÔYA J4AàÍYAþI4A@ÈYA õI4AàÄYA ÔI4A@ÂYA`´I4AàÀYAŽI4A@½YA€pI4A½YAcI4A`»YAÀcI4A½YA@dI4A¿YAeI4A`ÁYA`iI4A@ÃYAàoI4A@ÆYA`yI4A ÉYA‚I4AÀËYA€ƒI4A ÌYAàˆI4A€ÍYA`“I4AÑYAÀ—I4AàÓYA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@øÚ ýC4A`¥YA 3E4A@ÎYA: ýC4A@ÈYA D4A€ÊYAD4A`ËYA D4AÀËYA€ D4A ÍYA (D4A@ÎYA :D4A ÎYAàID4A€ÍYA TD4AàËYA `D4A@ÉYAÀcD4AÉYA@hD4AÈYAÀrD4A ÅYA xD4A€ÃYA@~D4AÁYAà‚D4A€ÀYA ‹D4A`ÀYAà’D4A ÀYA›D4A€ÁYA€¢D4AÀÂYA §D4AÄYA ®D4A@ÆYA€¼D4A ÄYA€ÉD4A ÂYA ÕD4A`ÁYAàßD4Aà¿YA ðD4Aà¼YAE4A@ºYA€E4A@·YA (E4AµYA2E4A`´YA 3E4A ´YA .E4A ²YA€#E4A ®YA@E4A ªYAÀE4A@¦YA`E4A`¥YA€ûD4A@§YA ôD4A@¨YA€íD4AÀ¨YAÀåD4A€©YAàÞD4A@ªYA`ÕD4A ªYA€ÂD4A€«YA·D4A ­YA`ªD4A`°YA`šD4A³YAàŠD4A ´YAÀ„D4AÀµYAuD4A@¹YAdD4A»YASD4A½YA@AD4A ¿YA 0D4A€ÀYAÀ'D4AÂYAÀD4A€ÄYA D4AàÅYA ýC4A@ÈYA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ùî@q54AqYAàý64AÀÍYAQ@q54Aà¯YAÀw54AÀÍYA ~54AÀÌYAŒ54A@ËYA ›54AÊYA ª54A ÇYA`º54A ÆYA`Ê54A`ÃYA Þ54Aà¿YA`ê54A@¾YAàý54A€¼YA64A@»YA 64A¹YA 064Aà¶YA`F64Aà³YA T64A ±YA`e64AÀ­YA@{64A`©YA ’64A ¤YA€¢64A ¡YAà¶64AYAÀÒ64A€šYA Û64A ˜YA@Ø64A@—YA`Ô64A€”YAÀÖ64A€‘YAÀ×64A@YA@Þ64AÀŒYA@ç64A ŠYA î64AÀˆYA ÷64A`†YA`ù64A „YA@û64A`‚YA`ú64A@YA û64A }YA`ý64A {YAàý64A`zYAàú64AxYAø64A vYA`ö64A`uYA@õ64AuYAð64AàrYA€é64A`rYA@â64A`rYA`Ö64A`rYA Í64A€rYA Å64A@rYAà³64A`qYA§64AqYA€™64A@qYA‘64ArYA`ˆ64AÀrYAàx64A@tYA€s64AuYA€f64AwYAY64AzYA€T64A {YA`R64AÀ{YA J64A~YA?64Aà€YA 664A`ƒYA@064A@…YA&64A ˆYAÀ64A`‹YA€64A@YA 64A`‘YA@ 64A”YAÀ64A`–YAÀú54A ™YAÀò54AœYAàê54A`ŸYA`ä54A ¡YA Ü54A¤YA Ñ54A`¦YAÀÅ54A ©YA»54AàªYA@¬54A`¬YAà›54A ­YA€54A ®YAÀ‚54Aà®YA@q54Aà¯YA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@úf`à64Aà¤YAÀÉ74A€ÍYA€è64A ÄYAà•74A€ÍYA€—74A ÍYA€§74A`ÇYAÀ´74A ÀYAÀÅ74AÀ¸YAÀÉ74AÀ¶YA Á74A@¶YA š74A@³YA ‚74Aà±YA n74A€¯YA X74A ¬YAÀM74A€ªYAÀC74Aà¨YA@374A ¦YA'74A€¥YA`74A ¥YA 74Aà¤YA` 74A ¨YA 74A «YA`ü64A­YA ó64Aà¯YAÀë64A³YAå64A€·YA`à64A »YA€á64A€¿YA€è64A ÄYA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ûâÀeC4AhYA2E4A@ÈYAP |C4Aà´YA~C4A@µYA`‡C4Aà·YA C4A€¹YA@ C4A`»YAÀ¬C4A@½YA ±C4AÀ½YA`ÓC4A ÂYA ÚC4A@ÃYAààC4A ÄYA`èC4AàÅYA óC4A€ÇYA ýC4A@ÈYA D4AàÅYAÀD4A€ÄYAÀ'D4AÂYA 0D4A€ÀYA@AD4A ¿YASD4A½YAdD4A»YAuD4A@¹YAÀ„D4AÀµYAàŠD4A ´YA`šD4A³YA`ªD4A`°YA·D4A ­YA€ÂD4A€«YA`ÕD4A ªYAàÞD4A@ªYAÀåD4A€©YA€íD4AÀ¨YA ôD4A@¨YA€ûD4A@§YA`E4A`¥YAàE4A ¢YA E4A@ŸYA€E4A@šYAE4Aà–YA@E4AÀ”YA`E4AYAàE4Aà‹YA E4A@ŠYAà E4A ˆYA2E4AhYA *E4AjYA`!E4AàjYA E4A@mYA E4A@oYA€óD4AÀqYAàçD4AàrYAàØD4AÀsYA ½D4AvYA§D4A€wYA@”D4AyYA`~D4A`zYA€eD4A |YAÀPD4A YA€DD4A@YAà?D4A€‚YA`F4A`‹YA`9F4A†YA3F4A …YA #F4A€†YAÀ F4A€‰YAúE4Aà‹YA@ÜE4AÀYAÀÊE4A€“YA`¸E4A`–YA­E4A`˜YAÀ£E4A€™YA ˜E4AàšYAE4A›YAà‘E4A@žYA`E4A`¨YA ¦E4A ®YA ®E4A€´YA ¶E4A@»YA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ÿvàþD4AàêYA ¶E4A@»YAG ¶E4A@»YA ®E4A€´YA ¦E4A ®YA`E4A`¨YAà‘E4A@žYAE4A›YA ŒE4AÀ—YA`‰E4A€YA ‡E4AÀ†YA ‹E4AÀ€YAÀE4AzYAE4A sYA ’E4A oYAà”E4AhYA •E4AàfYA€–E4A bYA@˜E4A]YA€˜E4A XYA –E4A`QYA`”E4A HYAÀ‘E4A@?YA`E4A@9YAŒE4A6YAŠE4A4YA‚E4A.YA@yE4A(YAÀoE4A€"YA`eE4A€YAÀ\E4A YA YE4A YAàVE4A`YAOE4A@ YA`HE4A` YA€@E4A YA 4E4A@üYA -E4A ùYAà%E4A`öYA`!E4A ôYA E4AÀñYAÀE4AïYA€ E4AàíYA€E4AàëYAàþD4AàêYAÿD4A`ëYA E4A ðYA€ E4AàöYA€E4AÀúYA@E4A YA@,E4A`YA 3E4A YAÀ7E4A YAÀ@E4A`"YA PE4AÀ.YA@[E4Aà7YA@eE4A`BYA`nE4A`LYA€tE4A TYA`uE4A€WYAà}E4A bYAà|E4A mYA`nE4AyYA`hE4A€YAà_E4Aà‰YA ]E4A@‘YAÀ[E4A€˜YA€_E4A` YA kE4A¨YA@vE4A ­YAàŠE4A`³YA€«E4A€¹YA ¶E4A@»YA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ž`˜:4AÀqYA ˆ;4A€ºYA5û:4A€ºYA ;4A µYA;4A€±YAÀ+;4A€¯YA€;;4AÀ®YAF;4A ¯YA@M;4A ¯YA€R;4A`®YA Z;4A@¬YAàf;4A@ªYA@m;4A@¨YA q;4A§YA€~;4A@£YA`†;4A@ YA ˆ;4A ŸYA €;4A€œYAà};4A YA};4A@ŒYA@{;4A€ˆYAà{;4Aà„YA`|;4A@„YA@u;4AàƒYAc;4A@YA`J;4A ~YA6;4A |YAà#;4A`zYA@;4A€xYA€;4A€vYA@÷:4A€tYA@é:4AÀrYA€ä:4AàrYA@×:4AÀqYA`Õ:4AÀuYAÐ:4A yYA@Î:4A€YA Î:4A@‡YAÉ:4AŒYA º:4A ’YAÀ®:4AÀ—YAª:4AÀYAÀŸ:4A ¤YA@™:4A`©YA`˜:4Aà©YA :4AÀªYA ©:4A@¬YA`¶:4A@®YA@Á:4A°YA€Ê:4Aà±YAÀÓ:4A ³YAà×:4A ´YAæ:4A ¶YA€ø:4Aà¹YAû:4A€ºYA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@öà?J4A ˜YAÀÍJ4A`·YA'šJ4Aà³YA šJ4Aà´YA`¤J4A€³YA¯J4A`±YAà¶J4A@±YA ÁJ4Aà¯YA ÇJ4A ¯YAÀÊJ4A ®YAÀÍJ4A@­YA ÌJ4A@¬YAÀÉJ4A ªYA€ÅJ4A€¦YA`½J4A£YA`µJ4A ŸYA ©J4A€žYA`¢J4A YA`J4A@œYAà•J4A@›YA€J4A`™YAÀ†J4A ˜YA@J4A`˜YAÀwJ4A ˜YAàdJ4A`™YA€^J4A€™YA€RJ4A@œYA@EJ4A@ YAà?J4AÀ£YAà@J4A §YAÀAJ4AàªYA CJ4AÀ®YAIJ4A±YA QJ4A€´YA \J4A¶YAàkJ4A ¶YA@wJ4A`·YA@J4AÀµYA€‡J4A@µYAÀ“J4Aà³YAšJ4Aà³YA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Æ@74A`ŒYAó74AÀ¶YA# 74Aà¤YA`74A ¥YA'74A€¥YA@374A ¦YAÀC74Aà¨YAÀM74A€ªYA X74A ¬YA n74A€¯YA ‚74Aà±YA š74A@³YA Á74A@¶YAÀÉ74AÀ¶YAÀÜ74A ¬YA é74A@¥YA`ð74A ™YAó74A ”YA ä74A@”YA@q74A ŽYA€c74AŽYA`W74A YA€O74A`ŒYAÀG74A@‘YA€E74A ”YA€@74A —YA;74AšYAà574A ›YA`.74A YAÀ&74AàžYA€ 74A@ŸYA 74A ŸYA@74A ŸYA€74A ¡YAÀ74Aà¢YA 74A@¤YA 74Aà¤YA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@^@Q54A€YA?64Aà¯YAE@q54Aà¯YAÀ‚54Aà®YA€54A ®YAà›54A ­YA@¬54A`¬YA»54AàªYAÀÅ54A ©YA Ñ54A`¦YA Ü54A¤YA`ä54A ¡YAàê54A`ŸYAÀò54AœYAÀú54A ™YAÀ64A`–YA@ 64A”YA 64A`‘YA€64A@YAÀ64A`‹YA&64A ˆYA@064A@…YA 664A`ƒYA?64Aà€YA€>64Aà~YA`:64A€{YA064A xYA(64A xYAà64A`xYA@64A wYA€ 64A tYA` 64AÀrYA€64ApYA 64AÀmYA 64A kYA 64AjYA€64AàhYA€64AàgYA`64A dYAû54A bYA@ø54AÀ`YA€õ54A€_YAõ54A ]YA€ô54A€[YA€ù54A YYA 64A€UYA`64AÀRYA 64A NYA@!64A`JYA@.64A EYA€264A€CYA 664A€?YAÀ564A ;YA 364A@6YA@.64A4YA "64A`0YA64A .YA64AÀ-YA ó54Aà,YA`å54A`,YA`Ä54A@(YA·54A€(YAà¤54A`#YA Ÿ54A€"YAŽ54A@!YAà€54A€YA u54A€YA l54AÀYAÀ`54A€YA@Q54A YA@q54Aà¯YA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@– -?4Aà‹YA ”?4A ¯YA P?4A@«YAàN?4A¬YA`]?4A€®YA`j?4A€¯YA`n?4A ¯YAàw?4A@¯YAà…?4A@«YA‹?4A@©YA ’?4A`¥YA ”?4AÀ YA ‘?4A žYA@†?4AàšYA@?4A€˜YA x?4A ”YA€q?4A ‘YA `?4A@ŽYA\?4Aà‹YA P?4AŒYAàM?4A ŒYAàD?4AàŽYA =?4A`‘YA€2?4A —YA /?4A`™YA.?4A`›YA -?4A žYA@.?4A ¢YAÀ2?4A¤YA :?4A ¦YA`B?4Aà¨YA`L?4A ªYA P?4A@«YAð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@v94AÀsYA ::4A «YA(@v94AÀYA }94AÀ“YA€94Aà–YA ‰94A`›YA Š94Aà YA€‘94A@¨YAà”94A «YA 94AªYA ©94A`§YA€´94A@¥YA`¾94Aà£YAÀÉ94A€¡YA Ó94AÀŸYA`à94A YA`ì94A šYAàù94A —YA`:4AÀ”YA :4A€‘YA#:4A`YAà/:4A ŠYA ::4A€ˆYA 4:4A†YAà(:4A ‚YA€:4A ~YAÀ:4AÀ{YA:4A{YAÀ :4AwYA€:4AÀsYA û94AàvYAàì94A`{YAÀÝ94A`~YAÐ94A €YA Ã94AƒYA ¶94A …YA@¦94AˆYA@™94A ŠYA`94A€ŒYA…94AÀŽYAx94A€YA@v94AÀYA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@æ`õA4A ûYAà?D4A «YA{ÀeC4A «YAàhC4A «YA oC4A ©YAà{C4AÀ§YA`‡C4A ¦YA ’C4A ¤YA`›C4A@£YA€¯C4A ¡YAÀ»C4A@ŸYA ÈC4AYAàáC4A™YA€ïC4A –YAD4A“YAÀD4AÀŽYA`&D4A ŠYA 2D4A ‡YA`C4A@5YAÀ3C4A€2YA *C4A@1YA !C4A@0YAàC4Aà.YAÀ C4A@-YA C4A`+YAÀøB4A`)YA íB4A€'YA ãB4A $YA×B4A@"YA ËB4A`YA@½B4A@YA±B4A@YA ¤B4A`YAàšB4AYAà’B4Aà YA‹B4A YAÀ‡B4AYA@‚B4A YA zB4A@YAÀqB4AYA€nB4A YA cB4AàYA@[B4A@YAàQB4AþYA LB4A`üYA`IB4A ûYA CB4A€üYA >B4A ýYAà2B4A YA€+B4A YAÀ!B4A€YAB4AYAB4A YA€ B4Aà YA€B4A@ YAÀB4AÀ YAúA4AÀYA`õA4AàYA öA4AYA úA4A YA ÿA4AÀYA B4A€YAÀB4AYAB4Aà#YAÀ,B4A (YA4B4Aà+YA=B4A /YA`DB4A@3YAÀJB4A@6YAàQB4A`9YA@XB4A@<YAcB4A @YA€oB4A€EYAÀvB4AIYAÀ~B4AOYA€ƒB4AàQYA ŠB4A€TYA ”B4A€VYA`¡B4A`YYA«B4A`\YA®B4A_YA ÛB4A`iYA êB4AànYA óB4AàrYA€ùB4AÀuYA€C4AÀzYA@C4AàYA C4A†YA`C4A ŠYA C4A ŽYA C4A“YA`*C4AÀ—YA 2C4A ›YAà9C4AàžYA ?C4Aà YAFC4AÀ¢YA RC4A ¥YA _C4Aà¨YAÀeC4A «YA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Æ ::4A`nYA@×:4Aà©YA# ::4A€ˆYA =:4AÀ‰YA@E:4A`YA@K:4A ‘YA€O:4Aà•YAZ:4A@™YAÀc:4A YA`o:4A ¡YA y:4A`¤YA`…:4A ¦YA’:4Aà¨YA`˜:4Aà©YA@™:4A`©YAÀŸ:4A ¤YAª:4AÀYAÀ®:4AÀ—YA º:4A ’YAÉ:4AŒYA Î:4A@‡YA@Î:4A€YAÐ:4A yYA`Õ:4AÀuYA@×:4AÀqYA@Ô:4A qYAÀÇ:4A`oYAàº:4A`nYA€µ:4AÀoYA ¥:4AsYA`ˆ:4A€yYAÀt:4A }YA`f:4A€€YAX:4A ƒYAàH:4A†YA <:4AˆYA ::4A€ˆYA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ö3F4A`uYAÜF4A ©YA'@VF4A ©YA`iF4A¦YA …F4A€¡YA€œF4AàYA€¶F4A šYA`ÑF4A`–YAÜF4A•YAØF4A`‘YAÀÒF4A ‰YA€ÑF4A ˆYA ÏF4A@…YAÌF4A@‚YAÇF4A`~YAÆF4A }YAÏF4Aà{YA ÙF4AàyYA`ÛF4A wYA€ØF4A`uYA€ÆF4A vYA·F4A`xYA¦F4AzYAÀ˜F4A€{YAÀ‡F4A`}YA tF4A €YA mF4Aà€YAPF4A ƒYA€?F4A„YA3F4A …YA`9F4A†YA`>F4A`‹YAÀ@F4A€ŽYACF4AàYAEF4A`•YA€GF4AÀ˜YA IF4A ›YA JF4A ŸYA€NF4AÀ£YA€RF4A§YA@VF4A ©YA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ VÆF4Aà`YA@§H4A`¡YAo £H4A`¡YA@§H4AÀ YA ¢H4AÀžYA€žH4A YA šH4A`šYA`•H4Aà˜YA`‰H4AÀ’YA€|H4A@ŒYAzH4AÀˆYA@tH4A@‚YAÀmH4A ~YAhH4A xYA dH4A€tYAà`H4A rYAÀWH4AnYAVH4A jYA UH4AiYA@TH4A fYA`NH4AÀeYA€DH4A dYA@3H4A€bYAÀ"H4A aYA H4Aà`YAH4AaYA€H4A@bYAÀH4A cYA`ùG4AÀcYAàåG4AàdYAÀÔG4A`fYA ÉG4A fYA€ÅG4A€hYAÄG4A iYA ÉG4A jYA`ÍG4AÀkYAàÍG4AÀmYAàÆG4A@nYA¼G4A@oYA@·G4A@oYA ­G4A pYAà G4AÀqYAà™G4A`rYAÀ‡G4A`sYAyG4A`tYAàmG4A`tYA hG4AÀsYA`aG4A€rYA`_G4AàpYA€\G4A`oYAYG4AnYA TG4AÀmYAàMG4AnYA DG4AoYA 6G4A€pYA +G4AqYA G4A rYA÷F4A`sYA äF4A€tYA€ØF4A`uYA`ÛF4A wYA ÙF4AàyYAÏF4Aà{YAÆF4A }YAÇF4A`~YAÌF4A@‚YA ÏF4A@…YA€ÑF4A ˆYAÀÒF4A ‰YAØF4A`‘YAÜF4A•YA çF4A`“YA G4AÀYAà G4AYA@4G4A ‹YA PG4A@ˆYA€`G4A ‡YApG4A@…YA ~G4A`„YA€G4A„YA@•G4A€„YA ¢G4A@‡YA€¬G4A ˆYA »G4A`‰YA ÆG4AÀŠYAÛG4A`ŒYA ñG4AÀŽYAÀÿG4AàYAàH4A`‘YA@H4AYAÀH4A ŒYA€H4A@‰YAàH4A‡YA`H4A€„YA &H4A€ƒYAÀ/H4A ‚YA`6H4A@ƒYAà:H4Aà„YAà=H4A@‡YAÀBH4A€ŠYA€CH4A@YAEH4AYAIH4A “YAJH4Aà–YAÀIH4A ˜YA[H4AÀšYAÀdH4A`›YAàuH4AYA€€H4AàYAÀ‡H4A€žYA ”H4AàŸYA H4A  YA £H4A`¡YA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 2@TH4A fYA`ßH4AÀ YA, ÏH4A€™YA`ßH4A`šYAßH4A ”YAÛH4A@”YA ÓH4A YA`ÌH4AYAÈH4AàˆYAÅH4A€†YAÀ¿H4A€YAàºH4A@~YA€·H4AàzYA€´H4A`xYA ³H4A`vYAÀ°H4A€sYA ¯H4A@rYA­H4A`oYA §H4A oYAÀ™H4AnYA ‰H4A@mYA€{H4AàjYA lH4AàhYAÀZH4A€gYA@TH4A fYA UH4AiYAVH4A jYAÀWH4AnYAà`H4A rYA dH4A€tYAhH4A xYAÀmH4A ~YA@tH4A@‚YAzH4AÀˆYA€|H4A@ŒYA`‰H4AÀ’YA`•H4Aà˜YA šH4A`šYA€žH4A YA ¢H4AÀžYA@§H4AÀ YA€ªH4A@ YAµH4A YAÀ½H4AÀšYAÇH4A™YA ÏH4A€™YA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ ^`Ô64A€HYAÀW74A@ŸYAE Û64A ˜YA Þ64Aà™YAä64A`œYA€ë64A YA€ô64A žYAÀû64AàžYA@74A@ŸYA@74A ŸYA 74AÀžYAÀ 74AÀœYA` 74A@›YAà 74A ˜YA 74AÀ•YAà 74A’YA€ 74A`ŽYA 74A ‹YA74A€‡YA€74A€ƒYA@74AÀYAà74AÀYA€74AÀ}YA@74A zYA`<74AàoYA`A74AàmYA K74AjYA@V74AÀeYA`W74A aYAÀW74A`_YA U74A`[YA S74A@WYAàQ74AàTYA€Q74A TYA Q74A`RYA Q74AÀOYA`P74AàLYAR74A@JYAR74A€HYA F74AIYA`574A`MYA`074AOYAà)74A€QYA!74ATYAÀ74A€WYA@74A`\YA 74A `YA€ 74AàcYAÀ74A€fYA74AjYA@74A`lYAàü64A pYAû64A€rYA`ö64A`uYAø64A vYAàú64AxYAàý64A`zYA`ý64A {YA û64A }YA`ú64A@YA@û64A`‚YA`ù64A „YA ÷64A`†YA î64AÀˆYA@ç64A ŠYA@Þ64AÀŒYAÀ×64A@YAÀÖ64A€‘YA`Ô64A€”YA@Ø64A@—YA Û64A ˜YAð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð? ~à 74AÀYA€O74A@ŸYA@74A ŸYA 74A ŸYA€ 74A@ŸYAÀ&74AàžYA`.74A YAà574A ›YA;74AšYA€@74A —YA€E74A ”YAÀG74A@‘YA€O74A`ŒYA@J74Aà‹YAà<74A@‰YA574A‡YA (74A …YA€74A ƒYA74A`‚YA@74AÀYA€74A€ƒYA74A€‡YA 74A ‹YA€ 74A`ŽYAà 74A’YA 74AÀ•YAà 74A ˜YA` 74A@›YAÀ 74AÀœYA 74AÀžYA@74A ŸYA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@   ‡E4A€SYA€ØF4A›YA>E4A›YA ˜E4AàšYAÀ£E4A€™YA­E4A`˜YA`¸E4A`–YAÀÊE4A€“YA@ÜE4AÀYAúE4Aà‹YAÀ F4A€‰YA #F4A€†YA3F4A …YA€?F4A„YAPF4A ƒYA mF4Aà€YA tF4A €YAÀ‡F4A`}YAÀ˜F4A€{YA¦F4AzYA·F4A`xYA€ÆF4A vYA€ØF4A`uYA`×F4A`tYA€ÕF4A pYAÑF4A`kYA ÌF4A@gYA ÅF4AcYA`¾F4A`^YA€ºF4A \YA ·F4A ZYA²F4A€SYA ¦F4A`TYA@˜F4AÀUYA`F4AWYAnF4A€XYA€aF4AÀYYA RF4A`ZYA@BF4AÀ[YA`7F4AÀ\YA F4A^YA F4A_YAÀF4A``YA úE4AbYA`ôE4A@bYA@âE4AàbYA`ÞE4A cYA ÖE4AdYA€ÉE4A€eYAÀE4A eYA ¹E4A€eYAÀ±E4AàeYA ¥E4A€fYA@E4AàfYA •E4AàfYAà”E4AhYA ’E4A oYAE4A sYAÀE4AzYA ‹E4AÀ€YA ‡E4AÀ†YA`‰E4A€YA ŒE4AÀ—YAE4A›YA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*ÀH4A ‚YAJH4A ˜YAàH4A`‘YA H4A’YA "H4A “YA2H4A –YA ?H4A€—YAÀIH4A ˜YAJH4Aà–YAIH4A “YAEH4AYA€CH4A@YAÀBH4A€ŠYAà=H4A@‡YAà:H4Aà„YA`6H4A@ƒYAÀ/H4A ‚YA &H4A€ƒYA`H4A€„YAàH4A‡YA€H4A@‰YAÀH4A ŒYA@H4AYAàH4A`‘YA@@@@@@@@@@@@@@@@@@@@@@@@Nà74AjYA@ 84A ”YA€O74A`ŒYA`W74A YA€c74AŽYA@q74A ŽYA ä74A@”YAó74A ”YAÀ÷74Aà‹YAÀ84A@„YA`84AÀxYAÀ 84A€nYA@ 84A@lYA K74AjYA`A74AàmYA`<74AàoYA@74A zYA€74AÀ}YAà74AÀYA@74AÀYA74A`‚YA€74A ƒYA (74A …YA574A‡YAà<74A@‰YA@J74Aà‹YA€O74A`ŒYA@@@@@@@@@@@@@@@@@@@@@@@@@@@–­H4A`oYA ?I4A@”YAßH4A ”YA@åH4AàYA@ïH4AÀŒYA`øH4A ‹YA@ I4A@‡YA`I4A@„YAÀ#I4A €YA`3I4A`|YA ?I4A`wYA@(I4A vYA I4AvYA€I4A@uYA øH4A tYA çH4A@sYA`ÜH4AàrYAÀÍH4A€qYA@ºH4A`pYA­H4A`oYA ¯H4A@rYAÀ°H4A€sYA ³H4A`vYA€´H4A`xYA€·H4AàzYAàºH4A@~YAÀ¿H4A€YAÅH4A€†YAÈH4AàˆYA`ÌH4AYA ÓH4A YAÛH4A@”YAßH4A ”YA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@‚€ß84A $YA€:4AÀYAH@v94AÀYAx94A€YA…94AÀŽYA`94A€ŒYA@™94A ŠYA@¦94AˆYA ¶94A …YA Ã94AƒYAÐ94A €YAÀÝ94A`~YAàì94A`{YA û94AàvYA€:4AÀsYA:4AÀrYA ú94A`mYA@ó94A iYA`ð94AàdYAàì94AaYA`ì94A@\YA@ï94AXYA`ô94A`SYAú94A MYA€ÿ94A GYA :4AGYA@ü94A@GYAë94AEYA`Ö94A BYA€Ã94A @YA€±94A€>YA ˜94Aà;YAà‰94A@9YA u94A`6YA d94Aà3YA W94A@1YA@I94A0YA <94A@-YA`/94A@+YA 94AÀ'YA`94A€&YA94Aà$YAÀ94A %YA€ó84A%YAÀå84AÀ$YA€ß84A $YA ý84A EYA *94A`FYA=94A`FYA@D94AàFYAàU94A JYAà[94AÀKYA\94AOYA`Y94AQYA U94A@SYA U94AUYA@V94A`ZYA`V94A^YA W94A€bYAàV94A eYAÀT94A€fYA P94AiYA€Q94A lYAW94AoYAX94AÀrYA€[94AàvYAà\94A {YAàW94A €YA€T94A ƒYA W94AÀ…YA _94AàˆYAj94Aà‹YAÀs94A YA@v94AÀYA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@†`ì94A >YAàº:4A€ˆYA3€:4AÀsYAÀ :4AwYA:4A{YAÀ:4AÀ{YA€:4A ~YAà(:4A ‚YA 4:4A†YA ::4A€ˆYA <:4AˆYAàH:4A†YAX:4A ƒYA`f:4A€€YAÀt:4A }YA`ˆ:4A€yYA ¥:4AsYA€µ:4AÀoYAàº:4A`nYAà¯:4AÀiYA€§:4AàdYA@¢:4A``YA@:4A€\YA€—:4A YYAÀ:4A€TYA ‹:4A PYA@‰:4A@JYA‰:4A€GYA ~:4AÀGYA€r:4AÀEYA e:4A`CYA Y:4A AYAÀM:4A€?YAD:4A >YA A:4Aà>YAà6:4Aà?YA€4:4A @YA€.:4A AYA$:4A DYA:4AEYA:4AFYA :4AGYA€ÿ94A GYAú94A MYA`ô94A`SYA@ï94AXYA`ì94A@\YAàì94AaYA`ð94AàdYA@ó94A iYA ú94A`mYA:4AÀrYA€:4AÀsYA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@‰:4A 8YA ±;4A@„YA?@×:4AÀqYA€ä:4AàrYA@é:4AÀrYA@÷:4A€tYA€;4A€vYA@;4A€xYAà#;4A`zYA6;4A |YA`J;4A ~YAc;4A@YA@u;4AàƒYA`|;4A@„YA ~;4A€YA@;4AÀYAÀ~;4AÀ}YA };4A yYA};4A tYAÀ|;4A€pYA`€;4A€lYA`‚;4AhYA€Œ;4A dYA@–;4AàaYA£;4A _YAà«;4A`\YA «;4A YYA «;4AàVYA¯;4A@SYA`±;4A PYA€°;4A@JYA ±;4A@HYAÀ°;4A@EYA®;4AÀCYA@ª;4A AYA`¢;4A@?YA ™;4A`=YA€‰;4A@;YA€v;4A9YA`f;4A 8YA M;4AÀ8YA€5;4A 9YA %;4Aà9YAÀ;4AÀ;YAÿ:4A <YAàë:4A`>YA@à:4A€?YA Ð:4Aà@YA¿:4A CYA`°:4AÀDYA`Ÿ:4AàFYA’:4A`GYA‰:4A€GYA@‰:4A@JYA ‹:4A PYAÀ:4A€TYA€—:4A YYA@:4A€\YA@¢:4A``YA€§:4AàdYAà¯:4AÀiYAàº:4A`nYAÀÇ:4A`oYA@Ô:4A qYA@×:4AÀqYA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@À‡B4A€²YA@6E4A€‚YAà?D4A€‚YA€DD4A@YAÀPD4A YA€eD4A |YA`~D4A`zYA@”D4AyYA§D4A€wYA ½D4AvYAàØD4AÀsYAàçD4AàrYA€óD4AÀqYA E4A@oYA E4A@mYA`!E4AàjYA *E4AjYA2E4AhYA6E4A dYA@6E4Aà_YA€2E4A€WYA`.E4A@QYA )E4A KYAÀ$E4A`EYAà E4A ?YA` E4A`1YA ûD4A &YA`ïD4A YA çD4A YA àD4AYAÀ×D4A YAÀÌD4A€ÿYA@°D4A èYA`£D4A ßYAÀžD4AÀÙYA`œD4AÔYA€™D4A@ÏYAšD4AàÍYA€D4A@ÆYA žD4A€¿YA€¡D4AÀºYA@¨D4A@¶YAÀ¯D4A³YAÀ¦D4A@³YA šD4Aà²YAÀŠD4AÀ²YA yD4A€²YAgD4A@³YAàQD4A ´YA€BD4A€¶YA1D4A ¹YA !D4A ¼YA`D4AÀÀYAàýC4A ÄYA`îC4A@ÉYA ÝC4A`ÍYA ÎC4A`ÐYAÀÁC4AÒYA€°C4AÀÒYAà¦C4AÀÒYA ‹C4AÒYAÀC4AàÐYAwC4A@ÏYA nC4A ÍYA eC4A@ËYA cC4A ÊYA bC4AàÎYA\C4AÀÒYA@WC4A`ÕYA€OC4A€ÙYAÀ>C4A âYA 1C4AÀäYAÀ"C4A`çYAC4A éYAàC4A€ìYA@òB4A ðYAàãB4A€óYA@ßB4A@ôYA ÔB4AàõYA€ÉB4AàøYA ¹B4AýYAà­B4A€ÿYA@ B4A YA ”B4AÀYA€B4A YAÀ‡B4AYA‹B4A YAà’B4Aà YAàšB4AYA ¤B4A`YA±B4A@YA@½B4A@YA ËB4A`YA×B4A@"YA ãB4A $YA íB4A€'YAÀøB4A`)YA C4A`+YAÀ C4A@-YAàC4Aà.YA !C4A@0YA *C4A@1YAÀ3C4A€2YA>C4A@5YA GC4A@8YAÀMC4A :YA€VC4A =YAÀaC4AÀ@YA€kC4A DYA€xC4A`HYA ƒC4A LYA‘C4A@PYA€›C4A TYA¦C4A€WYA@¬C4AàYYA`ºC4A_YA€ÇC4A`cYAÔC4A€eYA@ÜC4AÀfYAÀçC4AàgYAàôC4A€iYA`ýC4A€kYAD4A€nYAD4AxYA@D4A yYA@+D4Aà~YAÀ2D4A €YA`=D4A YAà?D4A€‚YA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@z€64A FYA`ž64Aà€YA2?64Aà€YA J64A~YA`R64AÀ{YA€T64A {YA K64AàxYA€E64A`uYA?64A rYA€A64AÀoYA G64AànYAÀL64AÀlYAàT64A`jYAÀ_64A fYA m64AàaYAz64A ]YAÀ‡64A`XYA ‘64AàTYA€œ64A MYA`ž64A HYA 64A FYA€Ž64A`HYA@†64AJYA ~64A€LYA t64A OYA@p64A QYA ^64AÀWYAÀY64AYYAàL64A€[YAB64Aà\YA464Aà]YA .64A`^YA`"64A@`YA 64A€aYAà64AÀbYA`64A`eYAà64A€fYA`64AÀgYA€64AàhYA 64AjYA 64A kYA 64AÀmYA€64ApYA` 64AÀrYA€ 64A tYA@64A wYAà64A`xYA(64A xYA064A xYA`:64A€{YA€>64Aà~YA?64Aà€YAð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð? F O54A@ÃYAe74A {YAíÆË€T64A {YAY64AzYA€f64AwYA€s64AuYAàx64A@tYA`ˆ64AÀrYA‘64ArYA€™64A@qYA§64AqYAà³64A`qYA Å64A@rYA Í64A€rYA`Ö64A`rYA@â64A`rYA€é64A`rYAð64AàrYA@õ64AuYA`ö64A`uYAû64A€rYAàü64A pYA@74A`lYA74AjYAÀ74A€fYA€ 74AàcYA 74A `YA@74A`\YAÀ74A€WYA!74ATYAà)74A€QYA`074AOYA`574A`MYA F74AIYAR74A€HYAR74AGYA P74A DYAÀO74A€AYAàM74AÀ=YAL74Aà9YAÀW74Aà5YAe74A€4YA]74Aà1YA`^74A@1YA a74A /YAà`74A`.YAà]74A,YAÀ[74A *YA@[74A€(YAÀY74A %YA X74A "YA€W74A@ YA€V74AÀYAÀW74A@YA`Z74A€YA€\74A@YA \74AàYA@N74A€YAà@74A`YAÀ874AÀYA€074A€YAÀ)74A@YAà$74AÀYA`!74A`YA !74Aà YA@!74A@YA€ 74A€YA€74AÀYA !74AàþYA"74A`üYA€!74A`úYA` 74A@öYAÀ74AàóYA@74A€ïYA 74AÀíYA€74AíYA` 74A êYA 74A`éYA@ý64AçYA ø64A æYAõ64A€æYA ×64A æYA Ñ64AÀäYA€Ì64A`ãYAàÊ64A`àYA`È64AÝYA€È64A ÚYA Å64A€ÖYA ½64A€ÐYAà»64AÏYA@³64A ÌYA`£64AàÉYAÀž64A@ÇYA€‘64A@ÅYA ƒ64A ÄYAv64AÄYA@h64A@ÃYA€\64A ÃYAT64A ÄYA`M64A€ÆYA@K64AàÇYA€I64AàÉYA <64AÀÍYA@,64AàÐYAà64AàÒYAÀ64AàÔYA64A€ÖYAû54A ×YA í54AàØYA ×54AàÛYAÆ54A`ÞYA »54A`ßYA`°54AÀàYA@¤54A ãYA€š54A`åYA`“54A@èYA54A ëYAàˆ54AÀíYA „54AàðYA 54A€ôYA |54A`øYA€{54A úYA{54AàýYA x54A`YAàw54A@YA€x54A€YA€w54AàYAÀr54AÀ YAàn54A` YA j54A@YA a54A@YAX54AÀYA O54AYA@Q54A YAÀ`54A€YA l54AÀYA u54A€YAà€54A€YAŽ54A@!YA Ÿ54A€"YAà¤54A`#YA·54A€(YA`Ä54A@(YA`å54A`,YA ó54Aà,YA64AÀ-YA64A .YA "64A`0YA@.64A4YA 364A@6YAÀ564A ;YA 664A€?YA€264A€CYA@.64A EYA@!64A`JYA 64A NYA`64AÀRYA 64A€UYA€ù54A YYA€ô54A€[YAõ54A ]YA€õ54A€_YA@ø54AÀ`YAû54A bYA`64A dYA€64AàgYA€64AàhYA`64AÀgYAà64A€fYA`64A`eYAà64AÀbYA 64A€aYA`"64A@`YA .64A`^YA464Aà]YAB64Aà\YAàL64A€[YAÀY64AYYA ^64AÀWYA@p64A QYA t64A OYA ~64A€LYA@†64AJYA€Ž64A`HYA 64A FYA`ž64A HYA€œ64A MYA ‘64AàTYAÀ‡64A`XYAz64A ]YA m64AàaYAÀ_64A fYAàT64A`jYAÀL64AÀlYA G64AànYA€A64AÀoYA?64A rYA€E64A`uYA K64AàxYA€T64A {YA “64A€8YAÀ»64A@$YA`Ú64AÀ(YA`¬64A ;YA “64A€8YA@&64AàøYAà&64AøYA`&64AöYA@%64A ôYA`!64A òYA 64AÀðYA !64A`îYA€#64A`ëYA€$64A`éYA '64A`çYA ,64AåYA€064A`ãYA`364A`âYA€<64A àYA D64A€ßYA L64A€ÞYA`\64AÞYA€`64A€ÞYA€e64A€ßYA`g64A@àYA@j64A`âYAài64AàãYA h64A åYAf64A çYAÀa64A@éYA`^64A@ëYAàZ64AàìYA@T64AàîYAàO64AÀðYAàG64A`óYA€@64A€õYA`;64A÷YAà664A@øYA@&64AàøYA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@N@E=4A@MYAà>4A€xYA@E=4A@xYAS=4A€xYA@i=4A`xYA …=4A@wYA@£=4A@uYAÅ=4A@sYA á=4A`nYA ó=4A iYA`ÿ=4A`bYAà>4A@\YAÀý=4AÀVYA`ò=4AàRYA å=4APYAàÏ=4AÀNYA ½=4A OYA ª=4AÀMYAÀ¤=4A@MYA  =4AàNYA@‡=4A@TYAÀs=4A`[YA c=4AàcYAàZ=4A€iYAM=4A`qYAF=4A wYA@E=4A@xYA@@@@@@@@@@@@@@@@@@@@@@@@@@@–@Ç<4A@3YAÀ¤=4A@xYA`É<4A€XYA`Ð<4AàTYA í<4AÀkYA õ<4A pYAàú<4A sYA` =4AÀuYAÀ=4A wYAà+=4A@xYA >=4A xYA@E=4A@xYAF=4A wYAM=4A`qYAàZ=4A€iYA c=4AàcYAÀs=4A`[YA@‡=4A@TYA  =4AàNYAÀ¤=4A@MYAÀ•=4AàKYAÀ†=4A@IYAÀr=4A@FYA a=4A€DYA ]=4A ?YAX=4A`;YA`S=4A 6YA`T=4A@3YA`P=4A4YA =4AàEYA Ù<4A OYA@Ç<4A€PYA`É<4A€XYA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@’ ²G4A`þYA II4A`wYAt­H4A`oYA@ºH4A`pYAÀÍH4A€qYA`ÜH4AàrYA çH4A@sYA øH4A tYA€I4A@uYA I4AvYA@(I4A vYA ?I4A`wYAà@I4A vYA GI4AàrYA II4A pYAà=I4A`nYAÀ7I4A€lYA *I4AÀjYAà'I4A`lYAÀI4AlYA€I4AkYA@I4A€gYA€I4AcYA`I4AÀXYAüH4A QYA€öH4AIYAíH4A FYA@åH4A>YAàÙH4A7YA ÑH4A€.YA ÃH4AÀ&YAàµH4AàYA€¥H4A€YA`•H4AÀ YA€ŠH4A YA €H4AàÿYA@H4A`þYAxH4A@ÿYAÀpH4AYA@^H4A YA€OH4A`YA€JH4A@YA UH4A YA aH4A  YAÀdH4A€ YAàfH4A YA@hH4A`YA iH4A YA€lH4A@YAàlH4AàYAàkH4A YA kH4A@YA@dH4A@YA``H4AàYA€]H4AàYA [H4AYA PH4A YANH4A YA@JH4A@YA@BH4A€YA@YA€ÛG4A AYAãG4AàEYAäG4A FYA æG4A`GYA€éG4AàHYA@îG4A LYAÀóG4A NYAÀöG4AQYA`H4AÀTYA`H4A VYA` H4AÀXYAH4AàYYA€H4AÀ[YAH4A \YAà H4A _YA "H4A@`YAÀ"H4A aYA@3H4A€bYA€DH4A dYA`NH4AÀeYA@TH4A fYAÀZH4A€gYA lH4AàhYA€{H4AàjYA ‰H4A@mYAÀ™H4AnYA §H4A oYA­H4A`oYA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@b²F4A€>YAÀ"H4A`uYAp€ØF4A`uYA äF4A€tYA÷F4A`sYA G4A rYA +G4AqYA 6G4A€pYA DG4AoYAàMG4AnYA TG4AÀmYAQG4AàjYAOG4A@iYA PG4A€gYA@YG4A@fYA@`G4A`eYA jG4AÀcYA`|G4A@cYA ƒG4A bYAÀ‹G4A aYA@œG4AÀ`YA §G4A€_YA ¬G4A@_YA ²G4A aYA ³G4AàaYA@´G4A@dYAÀ¸G4A fYA`»G4AÀfYA€ÅG4A€hYA ÉG4A fYAÀÔG4A`fYAàåG4AàdYA`ùG4AÀcYAÀH4A cYA€H4A@bYAH4AaYA H4Aà`YAÀ"H4A aYA "H4A@`YAà H4A _YAH4A \YA€H4AÀ[YAH4AàYYA` H4AÀXYA`H4A VYA`H4AÀTYAÀöG4AQYAÀóG4A NYA@îG4A LYA€éG4AàHYA æG4A`GYAäG4A FYAãG4AàEYA€ÛG4A AYAÀ×G4A€>YAÖG4AÀ>YA€ÐG4A@?YAÀÅG4A`@YA@½G4A`AYA@®G4ABYA@£G4A BYA ”G4A@DYA€ŠG4A@EYA@„G4A EYA zG4A`FYA oG4AÀFYA@gG4A€GYAàaG4AÀGYA`\G4A HYAZG4A HYAÀVG4A@HYA`TG4AHYAàQG4A€GYA EG4AÀGYAFG4A HYA HG4AàLYA€OG4A`SYA OG4AUYA`HG4AÀVYA =G4A XYAÀ5G4A XYA .G4AÀYYA€&G4AàZYA€G4A [YA`G4A`\YA G4Aà\YA`G4A ]YA@G4A`\YA G4AÀ[YAàG4A[YA@G4AàXYAàG4AWYAàG4AUYAàG4AàQYA`G4A PYA G4A€OYA` G4A`NYAàG4A€NYA úF4AOYAàëF4A PYA@ÜF4A`QYAÀÏF4ARYAÄF4AÀRYA@·F4ASYA²F4A€SYA ·F4A ZYA€ºF4A \YA`¾F4A`^YA ÅF4AcYA ÌF4A@gYAÑF4A`kYA€ÕF4A pYA`×F4A`tYA€ØF4A`uYA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@êOG4A@_YAàÍG4A`tYA& TG4AÀmYAYG4AnYA€\G4A`oYA`_G4AàpYA`aG4A€rYA hG4AÀsYAàmG4A`tYAyG4A`tYAÀ‡G4A`sYAà™G4A`rYAà G4AÀqYA ­G4A pYA@·G4A@oYA¼G4A@oYAàÆG4A@nYAàÍG4AÀmYA`ÍG4AÀkYA ÉG4A jYAÄG4A iYA€ÅG4A€hYA`»G4AÀfYAÀ¸G4A fYA@´G4A@dYA ³G4AàaYA ²G4A aYA ¬G4A@_YA §G4A€_YA@œG4AÀ`YAÀ‹G4A aYA ƒG4A bYA`|G4A@cYA jG4AÀcYA@`G4A`eYA@YG4A@fYA PG4A€gYAOG4A@iYAQG4AàjYA TG4AÀmYA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ú K74A@VYAà84A@lYA K74AjYA@ 84A@lYA84A@eYA@84A \YAà84A€VYA 84A@VYAó74AÀVYA Ù74AXYA¼74A YYAà¦74A€ZYA˜74A`[YA@…74AÀ\YA z74A`]YAÀt74Aà]YA c74A `YA`W74A aYA@V74AÀeYA K74AjYA@@@@@@@@@@@@@@@@@@@@bŒE4AÀ,YA F4AàfYA0 •E4AàfYA@E4AàfYA ¥E4A€fYAÀ±E4AàeYA ¹E4A€eYAÀE4A eYA€ÉE4A€eYA ÖE4AdYA`ÞE4A cYA@âE4AàbYA`ôE4A@bYA úE4AbYAÀF4A``YA F4A_YA F4A^YA F4AÀ\YA F4A@\YA F4A@[YA F4AÀYYAÀF4A`XYAF4AÀUYAF4AÀQYA F4ANYA@F4AÀIYA F4A`EYA` F4Aà?YAà F4A9YA F4A`3YA@F4A -YAF4AÀ,YAàùE4Aà,YA èE4AÀ.YAàÞE4Aà/YA`ÔE4A 2YA@ÇE4AÀ3YA ¸E4A4YA ªE4A5YA œE4A@5YA@“E4Aà5YAŒE4A6YA`E4A@9YAÀ‘E4A@?YA`”E4A HYA –E4A`QYA€˜E4A XYA@˜E4A]YA€–E4A bYA •E4AàfYA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@šàQ74A TYA z74A aYA `W74A aYA c74A `YAÀt74Aà]YA z74A`]YA r74A TYAàQ74AàTYA S74A@WYA U74A`[YAÀW74A`_YA`W74A aYA@@@@@@@@@@@@F4AàYAÀ×G4A^YA F4A^YA`7F4AÀ\YA@BF4AÀ[YA RF4A`ZYA€aF4AÀYYAnF4A€XYA`F4AWYA@˜F4AÀUYA ¦F4A`TYA²F4A€SYA@·F4ASYAÄF4AÀRYAÀÏF4ARYA@ÜF4A`QYAàëF4A PYA úF4AOYAàG4A€NYA` G4A`NYA@G4A MYA€G4A LYAÀG4ALYA G4A`JYA G4A HYAÀG4A€EYAÀG4A`CYA G4A€>YAG4A@<YA G4A 9YA@G4A€6YAàG4A€3YA G4A€0YA`G4A .YAà"G4AÀ,YA@$G4A,YAÀ(G4A@+YAà+G4A+YA /G4A+YA`3G4A ,YAÀ9G4Aà.YAÀ;G4Aà0YA =G4A3YA>G4A6YA€>G4A8YAàAG4A ;YAàBG4A@?YA EG4A€DYA EG4AÀGYAàQG4A€GYA`TG4AHYAÀVG4A@HYAZG4A HYA`\G4A HYAàaG4AÀGYA@gG4A€GYA oG4AÀFYA zG4A`FYA@„G4A EYA€ŠG4A@EYA ”G4A@DYA@£G4A BYA@®G4ABYA@½G4A`AYAÀÅG4A`@YA€ÐG4A@?YAÖG4AÀ>YAÀ×G4A€>YA`ÖG4A`=YA`ÎG4Aà9YA ÉG4A`7YAÀÀG4A4YA ¾G4A 0YA½G4AÀ.YAàºG4A-YA¸G4A (YA€¶G4A€%YA€´G4AÀ YA ²G4AàYA€²G4A@YA ²G4AYA³G4A€YA@³G4A YA@±G4AàYA@¦G4A€YA`G4A YA G4A€YAÀƒG4A`YA`zG4AàYA`kG4A€YA cG4A YAÀTG4A YAà=G4AÀ YAÀ/G4A`!YAàG4A@!YAG4A"YA`õF4A€#YA èF4A€#YA àF4A€#YAà×F4A #YA€ÃF4A $YA ¶F4A%YA ¡F4AÀ%YA€–F4A@&YAÀ‡F4A@'YA`vF4A(YAhF4Aà'YAàUF4A (YA`IF4A@)YA 9F4Aà*YA *F4A€+YA€F4A€,YA F4AÀ,YAF4AÀ,YA@F4A -YA F4A`3YAà F4A9YA` F4Aà?YA F4A`EYA@F4AÀIYA F4ANYAF4AÀQYAF4AÀUYAÀF4A`XYA F4AÀYYA F4A@[YA F4A@\YA F4AÀ\YA F4A^YA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ žàG4A+YA€OG4A ]YA5` G4A`NYA G4A€OYA`G4A PYAàG4AàQYAàG4AUYAàG4AWYA@G4AàXYAàG4A[YA G4AÀ[YA@G4A`\YA`G4A ]YA G4Aà\YA`G4A`\YA€G4A [YA€&G4AàZYA .G4AÀYYAÀ5G4A XYA =G4A XYA`HG4AÀVYA OG4AUYA€OG4A`SYA HG4AàLYAFG4A HYA EG4AÀGYA EG4A€DYAàBG4A@?YAàAG4A ;YA€>G4A8YA>G4A6YA =G4A3YAÀ;G4Aà0YAÀ9G4Aà.YA`3G4A ,YA /G4A+YAà+G4A+YAÀ(G4A@+YA@$G4A,YAà"G4AÀ,YA`G4A .YA G4A€0YAàG4A€3YA@G4A€6YA G4A 9YAG4A@<YA G4A€>YAÀG4A`CYAÀG4A€EYA G4A HYA G4A`JYAÀG4ALYA€G4A LYA@G4A MYA` G4A`NYA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@!>L74A /YA %84A`]YA- z74A`]YA@…74AÀ\YA˜74A`[YAà¦74A€ZYA¼74A YYA Ù74AXYAó74AÀVYA 84A@VYAà84A€VYA 84A€TYA`#84A JYA€84A FYA`84A`=YA 84A€:YA  84AÀ9YA@"84A7YA@#84AÀ4YAà$84A 2YA %84A /YA€84A@/YA 84A`/YAà84A0YA€í74A 0YA€Ô74A@2YA`¾74A 2YA°74A€2YAàœ74A`2YAÀ74A`2YA€{74A 2YAe74A€4YAÀW74Aà5YAL74Aà9YAàM74AÀ=YAÀO74A€AYA P74A DYAR74AGYAR74A€HYAR74A@JYA`P74AàLYA Q74AÀOYA Q74A`RYA€Q74A TYAàQ74AàTYA r74A TYA z74A`]YA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@"JÇ<4AïYA@=4A€PYA.@Ç<4A€PYA Ù<4A OYA =4AàEYA`P=4A4YA`T=4A@3YAÀU=4Aà/YA€Y=4A€,YA e=4A@(YA@m=4AÀ%YA`u=4A`#YA €=4A YAÀ‰=4A€YA@”=4AàYA@=4AYA€š=4A€YAàŠ=4AÀYA@‹=4A` YA`‹=4AYA€Š=4A€YA`†=4AÀYA`„=4A ÿYA@ˆ=4A@üYAÀ‹=4A ÷YAÀ=4AóYA •=4AàïYA`–=4AïYA€’=4AàïYA y=4A öYAàd=4A ýYA T=4AÀYA K=4AÀYAÀF=4A`YA€6=4A YA@%=4Aà YA=4A`YA€ =4AYA@ô<4A YAÀä<4A`YA Ô<4AYA€Î<4A€$YA Ç<4A€,YAÇ<4Aà4YA Ë<4A =YA@É<4A€CYAàÇ<4A JYA@Ç<4A€PYA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#B Y:4A@4YAÿ:4AÀGYA Y:4A AYA e:4A`CYA€r:4AÀEYA ~:4AÀGYA‰:4A€GYA’:4A`GYA`Ÿ:4AàFYA`°:4AÀDYA¿:4A CYA Ð:4Aà@YA@à:4A€?YAàë:4A`>YAÿ:4A <YA€ø:4AÀ:YAÀâ:4A7YA`Õ:4Aà4YA Æ:4A`4YA`µ:4A@4YA@£:4AÀ4YA:4A 7YAà:4A 9YAp:4A <YAÀ^:4A€@YA Y:4A AYA@@@@@@@@@@@@@@@@@@@@@@@@@@$öÀå84A@òYA@S:4A@GYAg :4AGYA:4AFYA:4AEYA$:4A DYA€.:4A AYA€4:4A @YAà6:4Aà?YA 6:4A ?YA`8:4A :YA 7:4A`7YA >:4Aà4YAàC:4A€2YAàI:4A@1YA€P:4A /YA@S:4A€,YA 7:4A`YA -:4AÀ YAà':4A@ YAÀ:4A€YA@:4AÀYA :4A`YA :4A YAà:4AÀYA@:4AYA:4A YAÀ#:4Aà YA`(:4A@YA +:4AYA 2:4A@YAÀ8:4AYAà<:4AÀýYA€B:4AàúYA€D:4AÀùYAI:4A`øYAK:4AàöYA M:4AàôYAàN:4AàóYA@L:4AÀòYA D:4A@òYAÀ9:4A@òYA`,:4AÀòYA ":4AàôYA :4AÀöYA@:4A øYA:4AûYA:4A ýYA þ94AYA€÷94A YAî94A@YA ë94AÀYAã94Aà YA€Þ94Aà YA@Ù94A YA€Ò94AÀ YA Ê94A@YAÀÃ94A@YAÀº94AYA@®94A@ YA`¨94A YA £94A@ YA 94AÀYAà”94AÀYA€Œ94AàYAÀ‚94A€YAàw94A€YA@l94A€YA@c94A`YA€Y94A  YA R94A YA`H94A@YA@C94A€YAÀ>94AàYA 494AÀYA€/94A@YAÀ&94A`YA %94AÀYAà 94A YA 94A€YA€94A@YA94AYA`ü84A€YA ò84A YA@ç84Aà YAÀå84AÀ$YA€ó84A%YAÀ94A %YA94Aà$YA`94A€&YA 94AÀ'YA`/94A@+YA <94A@-YA@I94A0YA W94A@1YA d94Aà3YA u94A`6YAà‰94A@9YA ˜94Aà;YA€±94A€>YA€Ã94A @YA`Ö94A BYAë94AEYA@ü94A@GYA :4AGYA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%^ “64A@$YA`Ú64A ;YA “64A€8YA`¬64A ;YA`Ú64AÀ(YAÀ»64A@$YA “64A€8YAð?ð?ð?ð?ð?ð?ð?&ºàŠ=4AYAàn>4A@9YA"`‹=4AYA@‹=4A` YAàŠ=4AÀYA€š=4A€YA@=4AYA€Ÿ=4A€YA€°=4A`YA@À=4A€YA@Ë=4A@ YA@Ù=4A $YAê=4A 'YA@÷=4A ,YAà>4A 2YA >4A`5YAÀ >4Aà8YA`.>4A@9YA>>4A 8YA@K>4Aà6YAàV>4A 6YA d>4Aà4YAÀi>4A2YAàn>4AÀ-YAÀm>4A@)YA g>4A $YAZ>4Aà YA >4AàYAù=4A YAàè=4A YA`Ç=4AYA¸=4AàYA@©=4A YA@ž=4Aà YA`=4A€ YA`‹=4AYA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'àVE4AYAF4A6YA)ŒE4A6YA@“E4Aà5YA œE4A@5YA ªE4A5YA ¸E4A4YA@ÇE4AÀ3YA`ÔE4A 2YAàÞE4Aà/YA èE4AÀ.YAàùE4Aà,YAF4AÀ,YAàF4A@(YA€F4AÀ"YA`F4A@YAàþE4AàYAàýE4A YAýE4A YA üE4A€YA üE4AYA@ñE4AÀYA éE4AàYA ÔE4AYA@ÇE4A€YA`½E4A@ YA µE4A YAà®E4AÀ YA`¥E4Aà YA€’E4A` YA€‡E4A@ YA uE4AàYA@mE4A@YAÀdE4A@YAàVE4A`YA YE4A YAÀ\E4A YA`eE4A€YAÀoE4A€"YA@yE4A(YA‚E4A.YAŠE4A4YAŒE4A6YA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@(R@N74A ãYA`™84A€4YA„e74A€4YA€{74A 2YAÀ74A`2YAàœ74A`2YA°74A€2YA`¾74A 2YA€Ô74A@2YA€í74A 0YAà84A0YA 84A`/YA€84A@/YAÀ)84AÀ,YAà.84A+YA€684A€)YA@=84A(YAH84A &YA€P84A`%YAY84A€$YA`c84Aà$YAàm84A€%YA r84A`%YA |84A@%YA@ƒ84A %YAˆ84A%YA 84AÀ$YA`™84A€$YA ™84A`#YA@–84A`!YA@84A YA Œ84A@YAàŠ84AàYA Š84A YAÀ‡84A YA`84AàYAà|84A@ YA y84A@ YAs84AàYAào84A`YA`o84A`YA q84A YA q84A YA`l84A@YA€_84A YA`Y84AÀYA@L84AYA@H84AàYA€:84A YAà284A@YA *84A`YA &84A€ýYAà#84A@ùYA #84A€óYA€#84AàîYA`'84A€èYA'84A äYA€&84A ãYA€84A ãYA`84A ãYA`84A`ãYAÀû74A`ãYA ó74A€ãYAàé74A äYAã74AÀåYA Ø74AÀæYA Ñ74A€çYAË74A`èYA À74A éYAà¼74A@éYAàµ74A éYA ®74AÀêYA¨74A ëYAà¡74A`ìYA¢74AàìYA¥74A@ïYA`©74A`óYA «74A÷YA`ª74A@úYAª74AÀûYA «74AüYA °74AàýYA ³74AàþYA¼74A€YA@Ä74A€YA Ë74A`YAÀÓ74AYA Û74A YA`â74A YAàè74A YAî74AàYAàï74AàYA€ô74A YA ö74A€ YA`ó74A YAàî74AYA ç74AÀYA@Û74AYAÐ74AÀYA`Â74A`YA ·74AàYAà®74AYAÀ¢74A@ YA€›74A YA€“74A€ YA`‹74A@ YA „74A YA`74AÀ YAÀ}74AÀ YAy74AÀ YAÀr74A YA`m74A YAÀh74AÀ YA a74AYA@^74AàYA@Y74AYA€R74A YA@N74A€YA \74AàYA€\74A@YA`Z74A€YAÀW74A@YA€V74AÀYA€W74A@ YA X74A "YAÀY74A %YA@[74A€(YAÀ[74A *YAà]74A,YAà`74A`.YA a74A /YA`^74A@1YA]74Aà1YAe74A€4YA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@)æ@Ö>4AðYA E?4AÀ-YA; ?4A@YA ?4AàYA ?4A YA ?4A@YAÀ!?4AàYAÀ%?4A@YA@,?4A€ YA 1?4A@ YAà8?4A`YA =?4A@YA€C?4A`þYAàC?4AúYA E?4A@÷YAÀ>?4A õYA4AàüYA ù>4A ÿYAàô>4AYAàò>4A YAò>4A YA ï>4A@ YA@í>4A YA ë>4A@YA@è>4A€YA@Ý>4AÀYA@Ö>4A YAàÖ>4A YA@×>4AYA Ø>4A`YA€Ü>4AàYAÀß>4AYA`à>4A  YA á>4A #YA€ã>4A &YAÀç>4A *YA@î>4A -YA@ò>4AÀ-YA õ>4AÀ,YA€ù>4Aà*YAàü>4AÀ(YAÿ>4A€'YA€?4A€%YA ?4A@#YA ?4A"YAÀ?4AàYA` ?4A YA?4A€YAÀ?4A@YA ?4A@YA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*î üE4AðYA@±G4AÀ,YAQF4AÀ,YA F4AÀ,YA€F4A€,YA *F4A€+YA 9F4Aà*YA`IF4A@)YAàUF4A (YAhF4Aà'YA`vF4A(YAÀ‡F4A@'YA€–F4A@&YA ¡F4AÀ%YA ¶F4A%YA€ÃF4A $YAà×F4A #YA àF4A€#YA èF4A€#YA`õF4A€#YAG4A"YAàG4A@!YAÀ/G4A`!YAà=G4AÀ YAÀTG4A YA cG4A YA`kG4A€YA`zG4AàYAÀƒG4A`YA G4A€YA`G4A YA@¦G4A€YA@±G4AàYAà§G4A@YA §G4AÀYA€¦G4A YAÀ¢G4A€YA`¢G4A YA@¡G4AàYA€žG4A YA@œG4AYAà—G4A€YA –G4A YAÀ“G4AàùYA “G4AøYA’G4A öYA G4A ñYAàG4AðYA tG4AÀðYA@fG4AàðYA cG4A ñYA SG4A€òYAàKG4A óYA5G4A@ôYA +G4AàôYA G4A`õYA`ÿF4A öYAöF4A öYA ßF4A€÷YA ÒF4A øYA ÅF4A€øYA€¬F4AÀøYA€¡F4A ùYAàF4A úYA ‚F4AúYAÀzF4A úYAànF4A€úYAàcF4AàúYA YF4A ûYAÀQF4A ûYAàBF4AÀüYA 3F4A ýYA F4AÀýYA  F4AàþYA üE4AYA üE4A€YAýE4A YAàýE4A YAàþE4AàYA`F4A@YA€F4AÀ"YAàF4A@(YAF4AÀ,YA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+f 7:4A@æYA a;4A ,YA[ 7:4A`YA@S:4A€,YA [:4AÀ+YA f:4A`+YA l:4A@+YA€v:4A +YAÀ|:4A+YA „:4A`+YA@:4A +YA œ:4A,YAà¥:4A ,YA€®:4A`,YA»:4A +YAÀÃ:4A@+YAÎ:4Aà*YAàÕ:4AÀ*YA`â:4Aà)YAê:4AÀ(YA€ñ:4Aà&YAàû:4A $YA@;4A€"YA ;4A`!YA`;4A€YA`;4AYA` ;4AàYAÀ(;4A YA€,;4A€YA@6;4A@YAÀ=;4A`YAF;4A`YA`J;4A YAÀN;4A€YA R;4A@YAàT;4A YA V;4A@ YAÀW;4A  YA€Z;4A YA@^;4A YA a;4A€YA`P;4AÀYAC;4A YA 5;4A ÿYA-;4A€üYAÀ&;4AúYAà;4A øYA;4AÀõYA€;4A óYA ;4A`ñYA€ ;4AïYA ;4AíYA ÿ:4AàêYA@ú:4A èYA€ö:4A æYA€õ:4A@æYAÀî:4A`çYAç:4A èYAà:4A èYAØ:4AàèYA Î:4A`éYAÀÆ:4AÀéYA@Á:4AàéYAàº:4AêYA`¸:4A`ìYA·:4A`íYA@´:4AàîYAÀ°:4A ðYAà®:4A€òYAÀ±:4A`ôYA@²:4A`öYA³:4AÀøYAàµ:4AÀúYAÀµ:4A@ýYA@²:4A ÿYA ¬:4AYAÀ§:4A@YA ¦:4A@YA`¦:4A YA¦:4A  YA¡:4AÀ YAà›:4A  YA@˜:4AàYA …:4A`YA t:4A YAÀv:4A YA k:4A YA€_:4AYA€S:4A€YA€F:4A YAB:4AÀYA<:4AYA 7:4A`YA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@,¢ ?4A€×YA€³?4AÀ%YA` ?4A@YA`!?4A`YA`,?4AYA5?4A@YA 9?4AYA ;?4A`YA€A?4AàYAI?4AÀYA€S?4AÀYA@[?4A YAàf?4A YA`p?4A€YA€x?4AàYAà?4A YAà„?4A€YA ˆ?4AYA€‹?4AÀYAÀ?4A€YA`’?4A`YA ’?4A YA€Ž?4AàYAÀŠ?4AÀYAÀƒ?4A@YA€}?4A€YAÀn?4A@YAÀl?4A YAào?4A YAv?4A` YAà|?4A@"YA`‰?4A@$YA@?4A€%YAà”?4AÀ%YA œ?4A $YAÀ ?4A`"YA€¢?4A@ YAà¨?4AàYA­?4AàYA€³?4AYA³?4A€YAà±?4AYA²?4A YAà¬?4A€YA`¬?4A` YA`«?4AàYA ª?4AàYAà©?4A@YA@¬?4A YAà®?4A@þYA@±?4A@üYA€¬?4A`ûYA ¤?4AÀøYAÀž?4A`ôYA@ ?4A@îYA¤?4AàëYA`œ?4AÀèYA@•?4AàåYA€Œ?4A ãYA ‚?4AàßYA|?4AàÝYAr?4A€ÙYA l?4AØYAàj?4A€×YA d?4A ÛYA `?4AÀÝYA€W?4A áYA`S?4AÀãYAN?4A`çYA€K?4AÀèYAP?4AéYA Z?4A êYA@^?4AÀëYA@`?4A@íYAd?4A`ïYAf?4AàðYA g?4A òYAÀg?4A@ôYA@g?4A€õYA€d?4A ÷YA a?4A øYAÀ^?4A ùYAàV?4AÀùYAÀN?4A ùYA J?4A`øYA E?4A@÷YAàC?4AúYA€C?4A`þYA =?4A@YAà8?4A`YA 1?4A@ YA@,?4A€ YAÀ%?4A@YAÀ!?4AàYA ?4A@YA ?4A YA ?4AàYA ?4A@YA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@-¢à©?4A@üYA@@4AÀ#YA €³?4AYA@¼?4A YA`Æ?4A`YA Ï?4AYAÀØ?4A` YA@ä?4AÀ#YA ç?4AÀ"YA€ñ?4AÀ YA`ü?4A YA@4A YA @4A YA@@4A€YA€@4AÀYA€ü?4A€ YAàë?4AàYA á?4A@YA€Ô?4AÀYAÊ?4A€YA`Â?4A ÿYAàº?4A@þYA@±?4A@üYAà®?4A@þYA@¬?4A YAà©?4A@YA ª?4AàYA`«?4AàYA`¬?4A` YAà¬?4A€YA²?4A YAà±?4AYA³?4A€YA€³?4AYA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.Š€ H4A@YAàlH4AYA€ H4A@ YAà!H4A` YA@"H4AàYAÀ%H4AYA@.H4AàYA 1H4A YA@@ÅA4AàüYAÕA4A`þYAàáA4AàYA ïA4A`YA ñA4A@ YA€òA4A@ YA`õA4AàYAúA4AÀYAÀB4AÀ YA€B4A@ YA€ B4Aà YAB4A YAB4AYAÀ!B4A€YA€+B4A YAà2B4A YA >B4A ýYA CB4A€üYA`IB4A ûYA€JB4A@úYA QB4A øYA ZB4A öYA€aB4A@ôYA@kB4AàñYAÀoB4AÀðYAÀ{B4A@îYAà†B4A@ëYA`ŽB4A@éYA`”B4AÀçYAœB4A@æYAà•B4A äYA ŠB4A@âYAÀ|B4AàßYA mB4A@ÝYA \B4A ÚYA JB4A ×YAÀ:B4A@ÔYA +B4A€ÑYA!B4AÀÏYAàB4A ÑYAàB4AÒYAB4A ÓYA`ûA4A ÕYAÀðA4AÀ×YA€ëA4AàØYA€ãA4A`ÛYAÀÜA4AàÜYAÖA4AÀÞYA`ÌA4A áYAàÇA4A@âYAÀ»A4A äYA`·A4AàåYA`­A4A@çYAà¬A4A€èYA`­A4A@êYAà­A4AìYA@®A4A€íYA¯A4AÀîYA€°A4A ïYA ¶A4A@óYA`½A4A ùYA@ÅA4AàüYA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@6Â8J4A`ÃYAÀK4A€ YA8 mJ4A€ YAàqJ4A€ YA zJ4A@ YA€‚J4A YA@J4Aà YAÀ˜J4AÀ YA`©J4A€ YA`¼J4A YAÀÑJ4AÀ YA@âJ4A YA€ìJ4A  YAöJ4A€ YA ÿJ4A YA÷J4AYA öJ4AàYAÀ÷J4AàYAàøJ4A€YA ÿJ4AYAà K4A ÿYA€K4A þYAÀK4AàûYAÀK4A`÷YA€K4A óYA`K4A@ìYA K4AåYAÀûJ4AààYA@õJ4A@ÚYAÀäJ4AÒYA`àJ4A€ÐYAà×J4AÀÎYA`ÁJ4AàÊYAÀ³J4A ÊYA`›J4AàÈYA ‰J4AÀÇYA €J4A`ÅYA`]J4A`ÃYA OJ4AÀÃYA€CJ4A€ÄYA J4A@ÕYA EJ4AÀÙYA`TJ4AàYA \J4A åYA`hJ4A ìYAàjJ4A õYA lJ4A ÷YAÀlJ4A€ùYA`kJ4A ýYAlJ4A€YAÀkJ4A`YA`kJ4A@ YA€mJ4A YA mJ4A€ YA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@7"€õ:4A °YA †<4A@ YA€ a;4A€YA f;4A€YA r;4A YAÀ|;4A`YAàƒ;4AàYA€;4A YA˜;4A YAÀ ;4AàYAÀ¨;4AÀYAà°;4A`YA ·;4A`YA À;4A YAàÅ;4AàYAàÏ;4A@YA€Ö;4A€YAàÞ;4A YA ä;4A YA@ó;4A€YAø;4A YAÀý;4A` YA<4A@ YAÀ <4A YAÀ<4AÀ YAà<4A YA`(<4AÀ YA.<4Aà YAà6<4A@ YAÀ@<4AÀ YA H<4A  YAÀN<4A YA [<4AYA@a<4A YA`h<4A@YA k<4A`þYAÀl<4AàûYA€n<4A@ùYA n<4AàöYA€l<4A õYA`k<4A€óYA€o<4A€ñYAw<4AÀïYA{<4A ïYAà{<4AàòYA }<4A ôYA@ƒ<4AàóYA †<4A@òYA€‚<4AÀðYA`{<4A îYA r<4A@ëYAÀj<4A èYA€d<4AÀåYA€`<4AàâYA _<4AÀàYA`^<4AàÝYAÀ]<4A€ÛYA a<4A ØYAd<4A@ÕYAg<4AàÑYAàg<4AàÎYA@h<4A@ÍYA k<4AËYAÀl<4A@ÉYAp<4A ÆYAÀo<4A ÂYA`s<4A ¾YA€u<4A`½YAàm<4Aà»YA g<4A€ºYA b<4AÀ¸YA@]<4A@¶YA@Y<4A ³YAàS<4A ±YA Q<4A °YAÀO<4A`°YA@H<4A ²YAÀ9<4A`´YAà'<4A¶YA <4A€·YA€<4Aà¸YA <4A€ºYA`÷;4A@¼YAÀì;4A ¾YA@è;4AÀ¾YA <4A€ÒYAÀÛ;4AÕYAÎ;4A ÁYAàÅ;4AÀÁYA ¾;4AÀÂYA ­;4A@ÄYA€œ;4A€ÄYA@‘;4A`ÄYA`;4A`ÄYAàƒ;4AÀÇYAÀ‡;4A ÊYAÀˆ;4A@ÎYAˆ;4A`ÑYA ˆ;4AÀÔYA@ˆ;4A ØYA ƒ;4AÀÜYA€€;4AßYA@z;4A âYA u;4AÀãYA€e;4AàäYA \;4A äYAÀP;4A äYA<;4A äYA ,;4AÀäYAà;4A`ãYA ;4AÀâYA` ;4AâYA ;4A`âYAàý:4A€äYA€õ:4A@æYA€ö:4A æYA@ú:4A èYA ÿ:4AàêYA ;4AíYA€ ;4AïYA ;4A`ñYA€;4A óYA;4AÀõYAà;4A øYAÀ&;4AúYA-;4A€üYA 5;4A ÿYAC;4A YA`P;4AÀYA a;4A€YA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@8Ò`IB4A@æYA@ßB4AYA$`IB4A ûYA LB4A`üYAàQB4AþYA@[B4A@YA cB4AàYA€nB4A YAÀqB4AYA zB4A@YA@‚B4A YAÀ‡B4AYA€B4A YA ”B4AÀYA@ B4A YAà­B4A€ÿYA ¹B4AýYA€ÉB4AàøYA ÔB4AàõYA@ßB4A@ôYAÜB4A óYA ÏB4AàñYA`ÆB4A@ðYA¸B4AàìYA`«B4A`êYAÀ¢B4A èYAœB4A@æYA`”B4AÀçYA`ŽB4A@éYAà†B4A@ëYAÀ{B4A@îYAÀoB4AÀðYA@kB4AàñYA€aB4A@ôYA ZB4A öYA QB4A øYA€JB4A@úYA`IB4A ûYA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@9® #84A ãYA€s84AYA! q84A YA`q84AYA s84AÀýYA€s84A üYAÀr84A`ùYAr84A öYA`q84A`ôYA r84A@ñYA`q84A€îYA@o84A`ìYAj84A€êYAàc84AàèYAV84A€çYAàM84A æYA€F84AæYAà;84AåYAà284A äYA€&84A ãYA'84A äYA`'84A€èYA€#84AàîYA #84A€óYAà#84A@ùYA &84A€ýYA *84A`YAà284A@YA€:84A YA@H84AàYA@L84AYA`Y84AÀYA€_84A YA`l84A@YA q84A YA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@: ò<4AàÊYA`™=4AÀYA(`ø<4A ûYA`=4AÀýYAà=4A þYAà!=4A€YA :=4A`YA K=4AÀYA T=4AÀYAàd=4A ýYA y=4A öYA€’=4AàïYA`–=4AïYA`™=4AàëYA`™=4AàèYA ‘=4AàäYAà‰=4A áYAÀz=4AÀÞYAàr=4A@ÜYA ^=4AàØYAÀO=4A€ÕYA A=4A ÑYAà6=4A ÏYAà'=4A ÌYA =4A`ËYA =4AàÊYA`=4AÀÎYA€=4AÀÔYA@=4AÀ×YA=4AàÜYAÀ=4AàáYA =4AäYAà =4AàåYAà =4A èYA =4AëYA õ<4AîYA ò<4A@ðYAà÷<4A`òYA ö<4A€öYA`ú<4A€øYAÀø<4AÀúYA`ø<4A ûYA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;Ú ËE4A`ÌYAdF4AYA: üE4AYA  F4AàþYA F4AÀýYA 3F4A ýYAàBF4AÀüYAÀQF4A ûYA YF4A ûYAàcF4AàúYAdF4A`øYA@bF4AõYA aF4A`óYAÀ_F4A ñYA`\F4AÀíYA YF4A ìYA WF4AëYA UF4A€éYA`TF4AàçYA RF4AçYA`RF4A@æYA PF4A åYA MF4AÀäYAGF4A@âYAà?F4A ßYA`:F4AàÜYAÀ5F4A`ÚYAÀ.F4A`ØYAà*F4AàÕYAà(F4AàÓYA 'F4A€ÒYA#F4A@ÐYA@!F4A@ÏYA@F4AÀÍYAàF4A`ÌYA`F4A€ÌYA F4A ÍYAF4A ÍYAàøE4A@ÍYA ðE4A`ÍYAéE4A€ÍYAåE4A`ÍYAàÝE4A€ÍYA@ØE4A€ÍYA ËE4A@ÎYAÍE4AÐYA ÎE4AÑYAàÖE4AÔYAÀÛE4A€×YAàE4A ÛYA@âE4AÀàYA`âE4A`áYA€ãE4A`åYAÀæE4AÀèYA ìE4A ìYA`ñE4A òYAöE4AõYA€ùE4A@ùYA üE4AÿYA üE4AYA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@<¢ l74A`ìYA «74A ýYA |74A ýYAÀ74AýYA`Š74A üYA@Ž74A`üYA`•74AüYA@™74AÀûYAž74A ûYA@¡74A ûYA€§74A€ûYAª74AÀûYA`ª74A@úYA «74A÷YA`©74A`óYA¥74A@ïYA¢74AàìYAà¡74A`ìYA š74A@íYA`’74AÀíYA€‡74AÀîYA@74A€ïYAà{74AðYAàw74A@ðYA€s74A`ñYA`p74AòYA@o74A`óYA€m74AÀõYA l74AàöYA€l74A@øYA`n74AùYA@p74A`úYAÀy74A ýYA|74A ýYA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@=`í?4A ¸YA u@4A ýYA)àk@4AÉYAh@4AÀÇYAà^@4A ÆYA Q@4A ÄYAÀ<@4A€ÃYAà(@4AàÀYA@4Aà¾YA @4A ½YA @4Aà»YAàü?4AºYA`í?4A ¸YAÀí?4A½YA€ð?4A`ÁYA@ò?4A ÇYAô?4A@ËYA`÷?4A@ÏYA ý?4A€ÔYA`@4AÙYA@@4AÀÝYA @4A áYA€@4A äYA@4A èYA@!@4A@ëYAÀ)@4A@ðYAÀ3@4A õYAà;@4AÀøYAK@4AÀûYAÀU@4AýYAÀa@4A ýYAÀl@4AýYA u@4A@øYA@q@4AóYAp@4A@îYA@n@4AàçYAàm@4A€ãYA€n@4AÀßYA n@4A@ÛYAàk@4AàÕYAj@4A@ÏYAàj@4A@ÌYAàk@4AÉYA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@>²€°A4A ïYA@ÅA4AàüYA ±A4A@ûYA@ÅA4AàüYA`½A4A ùYA ¶A4A@óYA€°A4A ïYAà°A4A€ñYA@±A4AÀòYA`²A4A@ôYAÀ³A4AöYA ´A4A ÷YA`´A4A`øYA±A4A@ûYAð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð??z`É@4A ­YA`´A4A@ûYA2€ZA4AôYA`aA4AÀôYA`sA4A`öYA ƒA4AàøYA@’A4AùYA©A4A`úYA±A4A@ûYA`´A4A`øYA ´A4A ÷YAÀ³A4AöYA`²A4A@ôYA@±A4AÀòYAà°A4A€ñYA€°A4A ïYA¯A4AÀîYA@®A4A€íYA€¤A4AçYA`œA4A`àYA “A4A`ÚYAÀˆA4A€ÕYA‰A4A ÓYA€|A4AÀËYA€oA4A ÄYA aA4A ½YAàSA4AÀ³YA MA4A€¯YA@IA4A ­YA AA4A@¯YA@8A4A ±YA $A4AÀ¶YA A4A€ºYA@A4A¿YA@ÿ@4AÀÁYAàô@4A`ÄYA Ü@4A ÊYAà×@4A@ÌYA€Ð@4A ÎYA`É@4AÏYA Ò@4A€ÑYA ä@4A@ÕYA`ù@4A ÛYA A4AÞYA`A4A áYA !A4A åYA`)A4AàçYA 2A4AàêYA 9A4A`íYA€CA4A ðYAÀQA4AóYA€ZA4AôYA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Ê PF4A@ÖYAàG4AàúYANàcF4AàúYAànF4A€úYAÀzF4A úYA ‚F4AúYAàF4A úYA€¡F4A ùYA€¬F4AÀøYA ÅF4A€øYA ÒF4A øYA ßF4A€÷YAöF4A öYA`ÿF4A öYA G4A`õYA +G4AàôYA5G4A@ôYAàKG4A óYA SG4A€òYA cG4A ñYA@fG4AàðYA tG4AÀðYAàG4AðYA`‡G4AàéYA €G4A`åYA€}G4A€âYAÀ|G4A€ßYA€|G4AßYA`zG4AÝYAvG4A€ÛYA@rG4A`ÙYAmG4A€×YA jG4A@ÖYA€eG4A€ÖYA OG4Aà×YA@FG4A`ØYA`4G4AàÙYA*G4A ÚYA€G4AÚYA@G4A ÚYA G4AàÜYA G4A ßYAG4AáYA@G4A âYA`G4AÀäYA G4A@åYA` G4A`åYA G4A€åYA øF4AàåYA ïF4A æYAÀåF4A€æYA€ßF4AçYAÝF4A æYA@ÜF4A äYAÛF4A âYAàÙF4AÀàYA@ÙF4A ÞYA€ÙF4A ÝYAàÆF4A€ÞYA ³F4A ßYA@¨F4AàßYA“F4AáYA…F4A@âYA`qF4AãYA@gF4AàãYAà]F4A äYA SF4A åYA PF4A åYA`RF4A@æYA RF4AçYA`TF4AàçYA UF4A€éYA WF4AëYA YF4A ìYA`\F4AÀíYAÀ_F4A ñYA aF4A`óYA@bF4AõYAdF4A`øYAàcF4AàúYA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Aº 64AÞYA@j64AàøYA"@&64AàøYAà664A@øYA`;64A÷YA€@64A€õYAàG64A`óYAàO64AÀðYA@T64AàîYAàZ64AàìYA`^64A@ëYAÀa64A@éYAf64A çYA h64A åYAài64AàãYA@j64A`âYA`g64A@àYA€e64A€ßYA€`64A€ÞYA`\64AÞYA L64A€ÞYA D64A€ßYA€<64A àYA`364A`âYA€064A`ãYA ,64AåYA '64A`çYA€$64A`éYA€#64A`ëYA !64A`îYA 64AÀðYA`!64A òYA@%64A ôYA`&64AöYAà&64AøYA@&64AàøYAð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Bò!B4A€»YA cC4A@ôYA<œB4A@æYAÀ¢B4A èYA`«B4A`êYA¸B4AàìYA`ÆB4A@ðYA ÏB4AàñYAÜB4A óYA@ßB4A@ôYAàãB4A€óYA@òB4A ðYAàC4A€ìYAC4A éYAÀ"C4A`çYA 1C4AÀäYAÀ>C4A âYA€OC4A€ÙYA@WC4A`ÕYA\C4AÀÒYA bC4AàÎYA cC4A ÊYAàZC4A@ÈYAàVC4A€ÅYA KC4A`ÀYA`4A€PYAà”@4AÀèYA€K?4AÀèYAN?4A`çYA`S?4AÀãYA€W?4A áYA `?4AÀÝYA d?4A ÛYAàj?4A€×YA p?4A ÔYA@s?4A@ÒYAÀx?4AàÎYA|?4A@ÌYA€„?4A@ÈYA€Š?4AÀÃYA@”?4Aà¾YAà™?4AÀ»YAàŸ?4AÀ·YA£?4A ¶YA€¤?4A ¶YA€¥?4A`µYA€§?4A ³YAà®?4A ±YAà»?4A€¬YAàÄ?4A ªYAÕ?4A@¨YA€Ù?4Aà§YAàß?4A@§YAÀë?4Aà¦YAÀò?4A ¦YA`÷?4A€¥YAàÿ?4Aà¤YAà @4A€£YA @4Aà¢YA @4Aà¢YA`@4AÀ¢YA@&@4A`¢YAà.@4A¢YA@9@4Aà¡YA>@4AÀ¡YAÀJ@4AÀ¡YAU@4A€¡YAà\@4A`¡YA€b@4A€¡YA€n@4AÀ¡YAàr@4A ¡YA€p@4A  YAl@4A`›YA€k@4AàšYAh@4A ˜YA f@4A`–YA f@4A ”YAàe@4A YA`f@4A€‰YA@i@4AÀ„YAÀj@4A@‚YA@r@4A zYA@u@4AÀvYA€y@4A qYAÀ@4A kYAà‡@4A`cYA@4A]YA@’@4A@WYA ”@4A€RYAà”@4AÀQYAà†@4A€PYAà{@4A@QYA m@4A RYA@_@4A`TYAÀS@4AÀUYA I@4AWYA@C@4A WYAI@4A `YAà@4AàdYA @4A``YA`ü?4AÀbYA€í?4A€fYAä?4A€iYA`Ô?4A€mYA Æ?4AÀpYA »?4A tYA€¯?4A€xYA€¤?4Aà{YA@—?4AàYA`‹?4A ƒYAÀ~?4A€†YA`w?4A ˆYAào?4A ŠYAÀg?4AÀŒYA\?4A@YA P?4A “YA€I?4A •YA@B?4A@˜YA@@?4Aà™YA >?4A`œYA ??4A€žYA@C?4A¢YA K?4A`¤YAÀN?4A`¦YAO?4A`§YAÀJ?4A@©YA€E?4A@ªYA>?4A¬YA`7?4Aà­YA 3?4A°YAà.?4A²YAÀ*?4A€´YA`!?4Aà·YA@?4AÀ¹YA ?4Aà»YA@?4A€¾YA ?4AÀÀYA`?4A@ÃYA ÿ>4A€ÅYA€ù>4A@ÉYA÷>4AÌYA`õ>4AàÎYAÀô>4A€ÒYA€õ>4AÕYA@÷>4A€ØYAÀü>4A`ÛYA@?4A ÝYAà?4AßYA`?4A áYA ?4AàâYAà'?4A€äYA`3?4A`æYAà??4A@èYA€K?4AÀèYA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@KB@ÙF4A ÚYA@G4AçYA€ÙF4A ÝYA@ÙF4A ÞYAàÙF4AÀàYAÛF4A âYA@ÜF4A äYAÝF4A æYA€ßF4AçYAÀåF4A€æYA ïF4A æYA øF4AàåYA G4A€åYA` G4A`åYA G4A@åYA`G4AÀäYA@G4A âYAG4AáYA G4A ßYA G4AàÜYA@G4A ÚYA  G4A@ÚYAG4A ÚYA îF4A@ÜYAààF4A@ÝYA€ÙF4A ÝYA@@@@@@@@@@@@@@@@@@@@@@@@@@L`Å64A€¢YA`Ÿ74A æYATõ64A€æYA ø64A æYA74A€åYA€74AàãYAà74A€âYA "74A áYA 374A@àYAÀB74A ßYA V74A@ÝYAe74AÜYA@u74A€ÚYA ˆ74A`ØYA`–74A`×YAÀ–74AÀÔYA@–74A ÓYAÀ–74AàÑYA@–74AÀÏYA€–74AÀÍYA@•74A@ÉYAÀ•74AÈYAÀ˜74A ÄYAà—74A@ÁYAÀ—74A ½YA`˜74A@½YA š74Aà¼YA`Ÿ74Aà¼YA€ž74A ¼YA š74Aà¹YA •74A ¶YAÀ‘74A@³YAÀŽ74A±YA€‹74A®YA ˆ74A@¬YAà†74A`«YAà…74A ªYA`‚74Aà©YA`‚74A€©YA„74A@¨YA`y74A ¨YAàk74A©YAd74A@©YA`W74A`©YAàI74A ©YA`<74Aà©YA /74AªYAÀ#74AÀ©YA@74A`©YA74A ¨YA 74A ¦YA 74AÀ¤YA 74A€¢YA`ø64Aà¢YAàï64A`£YAå64A ¤YA€Ù64A`¦YA@Ñ64Aà§YAÌ64A`©YA`Å64AÀ«YAàÉ64A@­YAÒ64A °YAÀÙ64Aà²YAá64A ¶YA è64A ¹YAì64Aà»YA î64A ¿YAàï64A`ÁYA ò64A€ÃYA`ô64AÆYA ö64A€ÉYAô64A ÍYA ò64A@ÎYAàë64A ÐYAàé64A€ÑYA€æ64A ÓYA`ä64A`ÔYA`ß64A ÖYA`Ý64Aà×YA ×64A`ÚYA@×64A ÜYA ×64A€ÝYA€â64A€âYA å64A@ãYAÀì64AÀäYAõ64A€æYA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@MBÀ$K4A`žYA€7N4A`æYAX€7N4A€ÒYA`,N4Aà£YAÀ%N4A@¤YA "N4A€¤YA@N4A`¥YAàN4A ¦YAõM4A`¦YAàÙM4A¦YA`µM4A€¦YA ‹M4A ¥YA vM4A@¤YA€QM4A`¢YA 2M4A¡YA "M4A€ŸYAàM4A`žYAýL4AŸYA€íL4A@ YA@àL4A€¡YA ÎL4A¢YA ”L4A€¡YA`zL4A`¡YAà`L4A ¡YA`VL4A £YAàFL4A€¥YA 2L4Aà©YA L4A@°YAL4A`¶YAÀL4A`ºYA`õK4AÀ¾YAàëK4A ÂYA ÚK4AÀÅYAÑK4A€ÈYAÈK4A€ÊYAà´K4AàÊYA€©K4AàÉYA@K4A€ÅYAàŠK4A€¿YA …K4A ¹YA@uK4A¶YA `K4A ·YA OK4A@¹YA /K4A ºYAà$K4A@¼YAÀ$K4AÀ¾YA 'K4A€ÁYA@,K4AÃYA 2K4AàÅYA@6K4A ÇYAà:K4A ÊYAà=K4A@ÌYAà?K4AÀÍYACK4A€ÐYA`DK4A€ÒYA FK4AÀÔYA@GK4A`×YAÀHK4AÀÙYAJK4A€ÛYA`KK4AàÝYA OK4AÀßYAVK4AÀáYA€\K4A@âYAÀmK4A äYA€„K4AÀåYA`K4A æYA «K4A`æYA ¹K4A æYA ÆK4A æYA ÚK4A`ãYA@AL4A`ÚYA€”L4A@ÐYA íL4A ÇYAÀM4Aà¿YA5M4A€½YAPM4A@½YA kM4A€¼YA€|M4AÀ¼YA€M4A@½YA@¦M4AÁYA`´M4A@ÃYA ÁM4A€ÅYA€ÕM4AÈYAàíM4AÀÉYA`N4A@ÊYA N4AàÌYA N4A ÏYA€"N4A`ÐYA@*N4A@ÒYA€7N4A€ÒYA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@NàF4AÀ¯YA jG4A åYAT PF4A åYA SF4A åYAà]F4A äYA@gF4AàãYA`qF4AãYA…F4A@âYA“F4AáYA@¨F4AàßYA ³F4A ßYAàÆF4A€ÞYA€ÙF4A ÝYAààF4A@ÝYA îF4A@ÜYAG4A ÚYA  G4A@ÚYA@G4A ÚYA€G4AÚYA*G4A ÚYA`4G4AàÙYA@FG4A`ØYA OG4Aà×YA€eG4A€ÖYA jG4A@ÖYA€gG4A ÔYA`eG4AàÒYA€dG4AÀÏYAàbG4A`ÌYA`_G4A@ÈYA€\G4A€ÆYA`ZG4A ÄYA YG4AàÂYA WG4A€¾YA SG4A@»YA JG4A ¶YA BG4A`³YA€F4A ËYA 8F4AÀËYA 2F4AÌYAà-F4A@ÌYA`(F4A`ÌYA&F4A@ÌYA` F4A`ÌYAàF4A`ÌYA@F4AÀÍYA@!F4A@ÏYA#F4A@ÐYA 'F4A€ÒYAà(F4AàÓYAà*F4AàÕYAÀ.F4A`ØYAÀ5F4A`ÚYA`:F4AàÜYAà?F4A ßYAGF4A@âYA MF4AÀäYA PF4A åYA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@OÚ ä94A`³YAª:4AàáYA: ¤:4A áYA€©:4AÀÞYAª:4A`ÚYA©:4A×YA ¨:4A€ÓYA©:4A ÑYA ¨:4AÀÍYAà¥:4A`ËYAÀ¡:4AàÇYA:4AÀÄYA :4AÄYA ›:4A ÃYA :4A@ÁYA`ˆ:4A`¿YA@:4A¾YA q:4A ½YA@c:4A`½YA€_:4A@»YA W:4A ¸YA€M:4A`¶YAB:4A@µYA@8:4A@´YA0:4A€³YA€&:4A`³YA`:4AÀ³YA :4A ´YAà:4A€´YA€û94A@¶YAÀì94AÀ·YA ä94A ºYAå94A »YAÀå94A@¾YA@ë94AàÀYA`ð94A`ÂYAø94AÄYAý94AÅYA :4AÀÆYA :4A ÈYA :4A`ÊYAÀ":4A@ÌYAà):4AÏYA`.:4A€ÐYA€3:4A@ÒYA€?:4A`ÒYA€E:4AàÓYA@I:4AÀÕYA P:4AàÖYAàT:4AÀ×YA [:4A`ÚYA `:4A ÛYAàa:4AàÞYA h:4AàYAt:4A áYA@‚:4A àYAàŒ:4A€áYAÀ•:4AàáYA :4AÀáYA ¤:4A áYA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Pj@•74A «YAœ84A`×YAF`–74A`×YA@˜74A@×YA`¬74A ÕYA@½74AÓYAÀÉ74AÒYA Ø74A ÑYA ì74A`ÏYA`ù74A`ÎYA€84A`ÍYAà84AÀÌYAÀ'84A`ÌYA.84AÌYA€784AàËYAE84A`ËYAÀT84AàÊYA@^84AàÊYA s84A ÍYA`y84AÀÍYA€84AàÌYA`†84AÀËYA€‹84A ÊYAÀ’84A ÇYA ›84A@ÅYAœ84A ÃYA™84A€ÁYA 84Aà¿YA †84Aà½YA 84Aà»YA w84AÀ¸YA@r84A€¶YAp84A´YA@k84A ±YA`_84A`®YAà\84A ®YA Q84AÀ­YAàL84A€­YAÀ@84A ­YA484A­YAÀ(84AÀ¬YA`84A`¬YA 84Aà«YAà84A «YA`84A ¬YAàú74A ­YA€ù74A ®YAà÷74A@±YA õ74AàµYAñ74A ¸YA`é74A ¹YA@ß74A ºYA€×74A`»YA Ë74A`¼YA@Æ74A@¼YA€½74A@¼YA°74A€¼YA©74AÀ¼YA`Ÿ74Aà¼YA š74Aà¼YA`˜74A@½YAÀ—74A ½YAà—74A@ÁYAÀ˜74A ÄYAÀ•74AÈYA@•74A@ÉYA€–74AÀÍYA@–74AÀÏYAÀ–74AàÑYA@–74A ÓYAÀ–74AÀÔYA`–74A`×YA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Q 9G4Aà©YAæG4A@ÖYA) jG4A@ÖYA`|G4A ÕYAŸG4AàÓYA­G4AÓYAàËG4A@ÒYAæG4A`ÐYAÀãG4A@ÏYAàÜG4A ÊYAÀÕG4AÀÄYA ÎG4AÀÁYA ÊG4A¼YA€ÇG4A ¹YAà»G4A ·YAàµG4AàµYA€­G4A´YA¥G4A ²YAšG4A ¯YAàG4A@®YAà†G4AÀ¬YA {G4A ªYAÀwG4Aà©YA sG4A`ªYAeG4A«YA`WG4A ­YA JG4A ®YA ?G4A@¯YA 9G4AÀ¯YA€F4A ËYA€GF4AàÉYA€UF4A`ÈYA@]F4AàÇYAÀbF4A`ÇYAmF4AÇYA€qF4A ÆYA`wF4A ÄYA`xF4AÀÁYAÀvF4Aà¾YA uF4AàºYA tF4A ·YAÀtF4AàµYAàtF4AµYAÀwF4AÀ³YA yF4Aà²YAÀxF4AÀ±YA€wF4A°YA uF4A@­YA€pF4AÀªYAÀjF4AªYA bF4A`ªYA[F4AÀªYA MF4A`«YAàAF4A¬YA@6F4A­YA@/F4A€­YA`$F4A€®YAàF4AÀ®YA€ F4A°YAàF4A°YA€F4A@°YA F4A`±YAà F4A€±YA€F4Aà±YA F4AÀ²YA F4AÀ´YAÀF4A€¶YA`F4AÀ¹YA F4A€ºYAà F4A€¼YAÀ F4A ¾YAà F4A`¿YA€ F4AÁYAÀF4A€ÁYA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ZF@”A4AÀ…YA@¦B4A@ËYAC`8B4A@ËYA =B4A@ÊYA`GB4A ÈYARB4A@ÆYA`]B4A@ÄYA€jB4A ÂYA€wB4AàÀYA@…B4A ¾YA ‘B4A@½YAÀ—B4A ¼YA@B4AÀ»YA@¦B4A ¼YA£B4A€¹YAŸB4A ¶YAB4AµYAÀ™B4A ²YA•B4A¯YAà“B4A`®YA ‘B4A€¬YA@B4Aà©YA ‹B4A ¨YA ŽB4A€¤YA€B4A £YA •B4A £YA ŒB4AÀŸYA€‰B4AœYA`†B4A@™YAàB4A •YA yB4A “YA`lB4A€ŽYA@hB4AÀŠYA fB4Aà‡YA eB4AÀ…YAÀ_B4A†YA`RB4A †YAFB4Aà‡YA ?B4AÀ‡YA€4B4AˆYA ,B4A@ˆYAàB4A@ˆYAÀB4Aà‡YA€B4AÀ‡YAýA4A‰YAàóA4A€ŠYA âA4A`ŽYA`ÖA4A@YA€ÐA4Aà‘YA`¿A4A`–YA ±A4A ˜YA€¥A4A šYAÀ•A4A@žYA@”A4A žYA ™A4AŸYA€A4A€ YA §A4AÀ£YA ±A4A@§YA »A4Aà©YAàÉA4A ®YA`ÖA4A€³YA åA4A·YA`÷A4A ºYA@B4A`¾YAÀB4A ÂYAB4A@ÅYA *B4AÀÇYAà4B4A`ÊYA`8B4A@ËYA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@[Ò C4A ˜YA@cC4A ÊYA$àC4A@¼YAÀC4AÀ»YA2C4A€»YA`<4A`©YA 8<4A §YA1<4A¦YAà+<4A`¤YA %<4Aà¢YA@<4A ¡YA  <4A YAÀ<4A@ YA ù;4A ¡YA€ñ;4A  YAé;4A`žYAæ;4A€œYA@â;4A šYAÀÞ;4A™YAàÚ;4A€–YAàÙ;4A€•YA`Õ;4A “YA€Ó;4A€’YA€Ò;4AÀ‘YAàÎ;4A`YA@È;4A€YA ¿;4AÀYA ´;4A@YA@©;4A •YA £;4A ›YAÀŸ;4A`¡YA€ž;4A€¥YA€˜;4AªYAÀ”;4Aà­YA`;4A€±YA;4A`´YA€‹;4Aà·YA ˆ;4A ¼YA€…;4A ¿YA@ƒ;4AÀÂYA`;4A`ÄYA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@^vÀE4A`|YAà F4A€ÁYAGÀE4A€µYA  E4A`µYA`3E4A@¸YAEE4A€¸YAÀUE4AÀ¸YA€cE4A€¹YAÀsE4AàºYA ‡E4A »YAÀŸE4Aà»YA@±E4A€»YA€·E4A@»YA åE4Aà½YA@÷E4A ¾YA F4AÀ¾YAF4AÀYAÀF4AÀÀYA F4A ÁYAÀF4A€ÁYA€ F4AÁYAà F4A`¿YAÀ F4A ¾YAà F4A€¼YA F4A€ºYA`F4AÀ¹YAÀF4A€¶YA F4AÀ´YA F4AÀ²YA€F4Aà±YAà F4A€±YA F4A`±YA€F4A@°YAF4A€­YAàÿE4A@©YA€þE4A ¤YA úE4A ŸYA üE4A@›YAÀüE4Aà”YA`ýE4A‘YA@ýE4A€YA€üE4AÀYAûE4A ˆYA`õE4A@„YA ñE4A@YA€ïE4A@~YA îE4A |YAìE4AÀ|YA@çE4A}YA€ÞE4A }YA€ÖE4A }YAÍE4Aà|YAÀÉE4A}YAà¶E4A€}YA ³E4A`}YA¡E4A€|YA’E4A}YAÀƒE4A@}YAÀtE4A`}YA€iE4A`}YA@[E4A`}YA€JE4A@}YA`?E4A@}YA€3E4A€}YA€*E4A€|YA@&E4A`|YA $E4AÀ…YAàE4AÀŒYAàE4A`–YA E4A€YAÀE4A`¥YA  E4A@­YAÀE4A€µYA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@_¢à“B4A`®YA C4Aà¿YA @¦B4A ¼YA ²B4A ¾YA€ÀB4Aà¿YAÒB4A ¿YA åB4Aà¾YA óB4AÀ¾YAÀüB4A ¾YA€C4Aà¼YAàC4A@¼YA C4AàºYA`C4A ¹YAC4A€¸YAÀC4A¸YA  C4A`¶YAC4AÀµYA@üB4A ´YA ñB4A`³YAäB4AÀ²YAÀÜB4A€²YA@ÍB4A±YAÀ¾B4A€°YA@´B4Aà¯YA ¦B4A`¯YAàB4A@¯YA`—B4AÀ®YAà“B4A`®YA•B4A¯YAÀ™B4A ²YAB4AµYAŸB4A ¶YA£B4A€¹YA@¦B4A ¼YA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@`† 9>4A@ŠYAà?4A ½YA3`ë>4AÀŠYA@ã>4A€‹YA ×>4AŽYA@Ñ>4A€YAÂ>4Aà‘YAàµ>4A@”YAà¨>4A –YA œ>4A˜YA@>4A€™YA‡>4A€šYAÀ€>4AàšYAÀu>4A`›YA i>4Aà›YA ^>4A œYAàW>4A YAL>4A`YA`?>4A YA 9>4AŸYA€>>4A@ YAÀE>4A€£YA@Q>4A¨YA@V>4A «YA ^>4A °YA`e>4A€´YA j>4A¹YA€o>4A ¼YA€„>4A ½YA€“>4A@½YA Ÿ>4AÀ»YA€«>4A ºYA€´>4Aà¸YA Â>4AÀµYA`Ê>4A@´YA€Ó>4A`²YA€Ø>4A@°YA`Ú>4A`®YAàÚ>4A ªYAàë>4AÀ¨YA ô>4A`¨YA ?4AÀ¦YA ?4A ¤YA ?4A ¢YAÀ?4A ŸYAà?4A`›YA@?4A`—YAÀ?4A`“YA ?4A’YA?4AàŽYA`ö>4A ‹YAÀï>4A@ŠYA`ë>4AÀŠYA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@aj@Ú<4A dYA`¹=4A@¸YAF€ì<4A¶YA@ù<4A`¶YA=4Aà¶YA`=4AÀ·YA=4A ¸YA,=4A@¸YA@6=4A ¸YA€?=4A@·YA >=4AÀ¶YA ?=4A€´YA B=4Aà°YA@E=4A ®YA K=4A¬YAàS=4AªYAà\=4Aà§YA f=4AÀ¥YA€p=4A¤YAÀx=4Aà¡YA „=4AàŸYA@“=4A€œYA`ž=4AšYA §=4A —YA`²=4A€”YA`¹=4A@“YA¶=4A“YAÀ©=4A YA ž=4Aà‹YA€—=4A ‰YAà=4Aà…YA€=4A€YA€y=4A€~YA@r=4A {YA€i=4A@xYA`b=4A@uYAàW=4ArYAK=4A€nYAàC=4A kYA€>=4A iYAà9=4A gYA@1=4A dYAà(=4AÀeYA@=4A`iYA€=4A€kYAÀ =4A oYA=4A`qYAàú<4A uYA õ<4A wYAÀí<4AÀyYAä<4A |YA@Ú<4A`~YA@Û<4AÀYA Ü<4A …YA€Þ<4Aà‡YA@à<4A`‹YAàà<4AÀYA@â<4AYA€ä<4A€’YA ç<4A@•YA@ê<4Aà˜YA ë<4A€›YAí<4A YA€î<4A YAñ<4A`£YAàñ<4A ¦YA ò<4A`©YA`ô<4A­YAò<4A@°YAî<4Aà²YA@ì<4A€µYA€ì<4A¶YAð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?bÞ ‹B4A@YAÀC4A¸YA%à“B4A`®YA`—B4AÀ®YAàB4A@¯YA ¦B4A`¯YA@´B4Aà¯YAÀ¾B4A€°YA@ÍB4A±YAÀÜB4A€²YAäB4AÀ²YA ñB4A`³YA@üB4A ´YAC4AÀµYA  C4A`¶YAÀC4A¸YA@C4AÀ¶YA@C4A³YAÀC4A¯YA C4A¬YAà C4A ¨YA` C4A`¥YA€C4A YA C4A@YA ÿB4AžYAÀæB4A@ŸYA@ÐB4A€¡YA`ÄB4Aà¡YAÀ·B4A`¢YAà¯B4A€¢YAÀ¤B4A ¢YA ˜B4Aà¢YA •B4A £YA€B4A £YA ŽB4A€¤YA ‹B4A ¨YA@B4Aà©YA ‘B4A€¬YAà“B4A`®YAð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?cÞ >=4A€œYAÀè=4A@·YA%€?=4A@·YA F=4A ¶YA€Q=4AÀµYA b=4A µYA@m=4A€µYA }=4A@µYAà=4Aà´YA@ž=4A ´YA ª=4AÀ³YAº=4A€³YAàÈ=4Aà²YAÓ=4A²YAÀÛ=4A ¯YAÀà=4Aà¬YA â=4AÀªYAÀâ=4A€ŸYAÀè=4A ŸYA€à=4AYA`Õ=4A YA@Ê=4A`YA@¾=4AYAÀ´=4A YA ¨=4A`YA =4A YA@“=4A€œYA „=4AàŸYAÀx=4Aà¡YA€p=4A¤YA f=4AÀ¥YAà\=4Aà§YAàS=4AªYA K=4A¬YA@E=4A ®YA B=4Aà°YA ?=4A€´YA >=4AÀ¶YA€?=4A@·YA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@d†ÀjF4A YAÀ*G4AàµYA3ÀtF4AàµYA`F4A`µYA€†F4A@µYA@’F4Aà´YA`F4A`´YA¦F4A@´YA@´F4A´YAàÄF4AÀ³YA ÑF4A€³YA òF4Aà²YAàùF4A`²YA`G4A€±YA &G4Aà°YA€(G4Aà°YAÀ*G4A€­YA 'G4A¬YA $G4A`©YAà!G4A@§YAG4A ¥YAG4A@¢YAG4Aà YAàG4A YA G4A¡YAÀ÷F4A@¡YAÀôF4A¢YA€æF4A ¢YA`ãF4Aà¢YA ÞF4A@£YA ÚF4A £YAËF4Aà£YA€ºF4AÀ¤YA ¸F4Aà¤YA€«F4Aà¤YA ©F4A`¥YAà¢F4A ¥YAà—F4A@¦YA ‘F4AÀ¦YAÀŠF4A€§YAà‚F4AÀ§YA€yF4A`¨YA@oF4A ©YAmF4A`©YAÀjF4AªYA€pF4AÀªYA uF4A@­YA€wF4A°YAÀxF4AÀ±YA yF4Aà²YAÀwF4AÀ³YAàtF4AµYAÀtF4AàµYA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@eÖ€¥?4Aà§YA€ß?4A`µYA€¥?4A`µYAà°?4A ²YAÀ½?4A@°YA€Ä?4AÀ®YAÀÉ?4Aà­YA€Ð?4A@¬YAÙ?4A«YA€ß?4AªYA€Ù?4Aà§YAÕ?4A@¨YAàÄ?4A ªYAà»?4A€¬YAà®?4A ±YA€§?4A ³YA€¥?4A`µYAð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?f F€)54A »YA 74A€´YAú`Å64AÀ«YA€¾64A€©YA€¶64A`©YA€­64A`¨YAÀ§64Aà§YA@¡64A`§YAš64A §YA’64AÀ¦YA 64A ¦YA …64A`¥YA 64A ¤YA€x64AÀ£YA`o64A ¢YA€d64A  YA \64AŸYAX64A`žYA`Q64A YAàI64A œYAD64A@›YA€=64A€šYAÀ764A —YA564A€•YA464A ”YA 164Aà‘YA164A`YA€164A€ŽYAà064A ‰YA`164Aà‡YA`264AÀ…YAÀ264A „YA464A ƒYA 764A €YA€664AÀ}YAà564A`{YAÀ564A€zYA 464A yYA€064AàuYA -64A tYA*64A rYA)64AàqYA -64A`qYA764AÀpYAàA64AàoYA J64A€oYA€U64A nYA_64A€nYA`k64A mYA`y64AlYA@€64AàjYAÀŽ64A hYA “64A@hYA ˜64AÀgYA€Ÿ64AÀeYA€¢64AàdYAÀ¤64A@dYA ´64A@_YAÀº64A`]YA Ä64A YYA È64A WYAÀÉ64AàVYA@Ñ64A@RYAÓ64AÀOYAÀÖ64A@KYA`Ö64A GYA Ö64A EYA@Ù64A @YA`Û64AÀ?YA ä64Aà9YA@ä64A€7YAàè64A 6YAàî64A@5YAÀò64A5YAàø64A`4YA€ý64Aà3YA@74A`3YAà74A 3YA 74A 2YA@74Aà/YA`74Aà.YAÀ74A@.YA€74AÀ+YAà74A@%YA 74A"YA@74A€YAà74A@YA74A YA 74AYAÀ74A`YA 74AàYAà74A YAà74AÀ YA@ 74AÀYA`74AàYAàó64AÀþYA`ò64A@þYAÀï64AÀýYAÀå64AÀûYAÀà64AàúYA Õ64A øYA Ë64A€öYAà¼64AÀôYAÀ´64A ôYAà“64A€ðYA 64A ïYA€r64AÀíYA l64AàíYA ]64A îYA N64AàëYA J64A@ìYAÀH64A`ìYA 964A€íYAà264A îYAÀ,64AïYA`64A@ðYA@64A€ïYA`÷54A îYAë54AàìYA@à54A€ëYA€Ö54A èYA Í54AÀäYA Æ54AãYA€º54A áYAà°54A€ÞYAÀ¥54A€ÞYAÀ¦54A@ÙYA ©54Aà×YA€¸54A@ÑYA»54AàËYA`¼54AÇYA ¯54A ÆYAÀ‘54A€ÃYAÀn54A€ÀYA@454A@¼YA .54A »YAà,54A äYA€654AàäYAàE54AÀåYA R54AçYAÀ`54A@èYA€j54AàèYA z54A éYAŠ54AÀêYAà—54AìYA`Ÿ54AàìYA`«54A@ðYA ±54AàòYA€¶54AöYA€¸54AÀ÷YAà·54A@ûYA`¹54AàýYA¹54A@ÿYAµ54A€YA «54A YAÀ¥54AÀYA œ54A`YAÀ’54A YAà‹54A@ YAÀ}54Aà YA€y54AÀ YA`r54A@YA g54AÀYAÀY54A@YA@L54A@YA`@54A€YAÀ954A€YAÀ-54A YA`+54A  YA€)54A@^YAÀ354AÀ\YAA54AÀ[YA H54AÀZYA P54A ZYA@[54A [YAf54A`]YA@q54A `YAy54AcYA`54A eYA …54A hYA`ˆ54A iYA€‹54A`lYA 54A€nYA@˜54A€oYA§54AàpYAÀ°54A qYAà¼54A€rYA@È54A`sYAÎ54AàsYAØ54A`uYA`ß54A`vYA å54AàvYAÀë54A xYA@ñ54A`zYAÀò54A }YA ó54AÀ~YAàí54A€YA å54AÀYA@Ü54A`‚YAÍ54AàYA@¿54A YAà·54A`€YAà­54Aà~YA`¢54A@}YA–54Aà{YAŒ54AàyYA54AÀwYA€y54A€vYA o54AuYA a54A@sYAV54A€qYAP54A@pYA`E54A@oYA :54A€nYA€+54A lYA 154A †YAÀ754A€†YA€<54A`†YAàA54AÀ…YA@D54AÀ…YAÀF54A†YA S54A`‡YAà_54A`‡YA@l54A †YAw54AÀ„YA@€54A`ƒYA ˆ54A@ƒYA “54Aà„YAà˜54A`†YA@¦54Aà‹YAà«54AàŽYAÀ±54A “YA`º54A •YA`Â54A`˜YAÏ54A ›YA×54A`žYA ã54A¡YA ò54A@¤YAÀ64A`¦YA@64Aà¦YAÀ64A ¨YAà%64AªYAÀ064A@¬YAàA64Aà°YA@O64A@³YA ^64Aà³YA r64A€´YAÀ…64A`´YA€™64A ³YA «64A€±YA€º64A@¯YA`Å64AÀ«YAÀ£64Aà/YA §64AÀ2YA@ž64A`4YAÀ64A€5YA@|64A`5YAm64A 5YA Z64A 3YA`J64A 0YA 864AÀ,YA )64A€(YA"64A`%YA 64AàYA@ 64A@YA 64A YA 64A YA@ 64A YAà64A` YA *64A  YA864A  YA`N64A YA `64AYA n64A€YAà~64AÀYA ”64A YAàž64A YA€¨64A`"YA²64A %YA¶64A (YAàµ64Aà*YAÀ£64Aà/YA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@g~@@4A`¡YAà~@4A ±YA@@4A §YA`@4A@«YAà@4A@­YA€@4A ¯YA€@4A ±YAà"@4A€°YA 1@4A@°YA :@4A °YA@J@4Aà®YA`X@4A®YAÀh@4Aà¬YAv@4Aà«YAà~@4A «YA€{@4A`¨YA@w@4A€¤YAàr@4A ¡YA€n@4AÀ¡YA€b@4A€¡YAà\@4A`¡YAU@4A€¡YAÀJ@4AÀ¡YA>@4AÀ¡YA@9@4Aà¡YAà.@4A¢YA@&@4A`¢YA`@4AÀ¢YA @4Aà¢YAÀ@4A £YA@@4A §YA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@h¦ÀœF4A `YAÄG4Aà°YAK€(G4Aà°YA`0G4A€°YA 9G4AÀ¯YA ?G4A@¯YA JG4A ®YA`WG4A ­YAeG4A«YA sG4A`ªYAÀwG4Aà©YA€|G4A`©YA@…G4Aà¦YAÀG4A€¥YA€G4A@¢YA £G4Aà YA`¥G4AàžYA€¸G4A™YAàÃG4Aà“YAÄG4A@‘YA@®G4A€YA@£G4A ˆYA€˜G4A ƒYA€‡G4AÀ|YA@|G4A`yYAàmG4A`sYA@\G4AàoYA NG4AÀmYA€8G4A jYA@%G4AÀfYA G4A€cYA G4Aà`YA G4A aYA G4A `YA@öF4Aà`YAàèF4A@aYAÀáF4A€aYA@ÜF4A€aYA ÑF4AÀaYA@ÅF4AbYA ¼F4AÀbYA`°F4A€dYA`¦F4A€eYA` F4AgYAÀœF4A@kYAžF4AÀoYAà F4AÀqYA€¦F4AxYA`§F4AàzYA ¦F4A`|YA£F4AÀYAÀ¦F4A€YA ¯F4Aà„YA@µF4A`ˆYAÀ¹F4AŠYA`¾F4A€ŒYA ÃF4A`YAÈF4AÀ’YA`ÎF4A€˜YA ÓF4A`›YAÀÕF4A€ŸYAàÝF4AÀ¢YA ÞF4A@£YA`ãF4Aà¢YA€æF4A ¢YAÀôF4A¢YAÀ÷F4A@¡YA G4A¡YAàG4A YAG4Aà YAG4A@¢YAG4A ¥YAà!G4A@§YA $G4A`©YA 'G4A¬YAÀ*G4A€­YA€(G4Aà°YAð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?i 6à‹D4A €YAàG4A@°YA×€F4A@°YAàF4A°YA€ F4A°YAàF4AÀ®YA`$F4A€®YA@/F4A€­YA@6F4A­YAàAF4A¬YA MF4A`«YA[F4AÀªYA bF4A`ªYAÀjF4AªYAmF4A`©YA@oF4A ©YA€yF4A`¨YAà‚F4AÀ§YAÀŠF4A€§YA ‘F4AÀ¦YAà—F4A@¦YAà¢F4A ¥YA ©F4A`¥YA€«F4Aà¤YA ¸F4Aà¤YA€ºF4AÀ¤YAËF4Aà£YA ÚF4A £YA ÞF4A@£YAàÝF4AÀ¢YAÀÕF4A€ŸYA ÓF4A`›YA`ÎF4A€˜YAÈF4AÀ’YA ÃF4A`YA`¾F4A€ŒYAÀ¹F4AŠYA@µF4A`ˆYA ¯F4Aà„YAÀ¦F4A€YA£F4AÀYA ¦F4A`|YA`§F4AàzYA€¦F4AxYAà F4AÀqYAžF4AÀoYAÀœF4A@kYA` F4AgYA`¦F4A€eYA`°F4A€dYA ¼F4AÀbYA@ÅF4AbYA ÑF4AÀaYA@ÜF4A€aYAÀáF4A€aYAàèF4A@aYA@öF4Aà`YA G4A `YA G4A aYA G4Aà`YA`G4A@\YA G4AàYYA`øF4AÀPYAïF4AÀHYA äF4A BYA@ãF4A€=YA äF4A4YA ãF4A`.YA ÛF4A*YA€ÎF4A %YAàÂF4A !YAÀF4A`YA€ÀF4AYAÄF4A€YA@ÌF4AYA ÏF4AÀYA@ÒF4A€þYA ÎF4A øYAàÐF4A€óYAàØF4A€íYA@ØF4A èYA@ÒF4AáYA ÉF4A`ÜYAà¼F4A€ØYAà¯F4A€ÔYA€«F4A@ÓYA`›F4A`ÌYA …F4A ÅYA oF4Aà½YAhF4A ¶YAÀVF4A ®YAàKF4A ¦YA BF4AÀ¡YA`=F4AàŸYA AF4A@œYAÀ?F4A –YA?F4Aà“YAHF4A’YAÀ\F4A`’YA`pF4A@”YAà‡F4A •YA@¡F4A •YA@©F4A€•YA ²F4A™YA¼F4AYA ÄF4A€¢YAÀÈF4Aà¨YAàÐF4A@¯YA ÐF4A`µYAÖF4A ¼YAàÛF4AàÀYAèF4A`ÄYA òF4A@ÆYAÀ÷F4A€ÆYA`G4A ÄYA G4A ÁYA G4A ¾YAàG4A ¹YA G4Aà±YAà G4A@«YA€úF4AÀžYAøF4A›YA ôF4A •YA óF4Aà‘YA`ìF4A ŠYAÀéF4A ‡YAà‹D4A €YAà‹D4A€€YA D4A`YAÀ’D4A€…YA@œD4A ˆYAà¬D4A YA@¹D4A€’YA ÊD4AÀ—YAÜD4AYAÀîD4A ¤YAÀE4A ®YA E4A€¶YAàE4A€»YA ,E4A`ÈYA€3E4AàÔYA@9E4A@êYAà7E4A ôYAÀ2E4A@YA€3E4AYA€4E4AàYA 2E4A -YA *E4ABYA *E4A`DYA -E4A€DYA€2E4AÀDYA`;E4A@EYA NE4AàEYAà`E4A`HYAàmE4A@IYA€{E4A IYAÀE4AÀIYA`©E4A`KYAÀ¯E4A KYA€ÁE4A`LYA ÜE4A LYAàãE4A MYA@ëE4AÀMYA@óE4ANYAùE4A€NYA`úE4AàPYA`ùE4AVYA úE4A`ZYA€ùE4A`_YAàøE4AÀbYA ôE4AÀhYA`ïE4AàkYAàíE4A@nYA@ÿE4A€kYA`F4A`lYAF4AàkYA€F4AkYAÀ&F4A jYA€4F4A hYA >F4AÀgYA€GF4A@hYAQF4AhYAWF4A€iYA ^F4A`lYAcF4A oYA`eF4A rYA@gF4A`vYAhF4A yYA€gF4AÀzYA gF4A |YA@fF4A ~YAàfF4AYAÀgF4A„YAàeF4A†YAcF4A€‡YA ]F4A‰YA€UF4A€ŠYA€KF4Aà‹YA CF4AYA :F4AŽYAÀ2F4A ŽYA*F4A@ŽYAÀ#F4AÀŽYAàF4AYA F4A YAÀ F4AÀYA F4AàYAàF4A YA@ýE4A€YA`ýE4A‘YAÀüE4Aà”YA üE4A@›YA úE4A ŸYA€þE4A ¤YAàÿE4A@©YAF4A€­YA€F4A@°YA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@j®À€D4A@yYAüD4A ®YA!À‹D4A“YA€ŽD4A`”YA•D4A˜YAÀªD4A¢YA@­D4A@¥YA€²D4AÀ©YA ºD4A ®YAÁD4A ªYA`ÈD4A ¥YA@ÎD4AÀ YAàÚD4A šYA áD4A •YA èD4A ’YA`îD4AàŒYAàïD4A€‰YA óD4A„YA@ûD4A {YAüD4A@yYA`ùD4A€yYA€÷D4AàyYAîD4AàyYA€âD4A`{YA ÖD4Aà{YAàÁD4A`~YA€²D4A@€YAÀ¦D4A@YA —D4A ‚YAàŒD4AÀ‚YAD4AƒYAÀ€D4AÀ„YA …D4A`ŒYA ‡D4A€YAÀ‹D4A“YA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@k>@ô@4AàtYA€B4A ­YA-@IA4A ­YAÀQA4Aà«YA kA4A`§YA€~A4A€£YA@‹A4Aà YA@”A4A žYAÀ•A4A@žYA€¥A4A šYA ±A4A ˜YA`¿A4A`–YA€ÐA4Aà‘YA`ÖA4A@YA âA4A`ŽYAàóA4A€ŠYAýA4A‰YA€B4AÀ‡YA ðA4A`‡YA`ÝA4AÀ†YAÀÈA4A ‡YA`³A4A ‡YA`§A4A`‡YAàžA4A …YA€œA4A@‚YAà™A4A@~YA€•A4A}YA ‘A4A`|YA`‚A4AzYAÀpA4A€yYAàLA4A€vYA >A4A vYA€A4AàtYA@A4A@uYA A4A€vYA@ÿ@4AÀwYA`ø@4AÀxYA@ô@4A yYAÀú@4AÀ~YAàA4A „YA` A4A ŒYA A4A`’YA 'A4AÀ›YA€1A4AÀ¡YA 9A4Aà¤YA BA4A ªYA@IA4A ­YA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@læ164A€YA 74AÀ«YA;`Å64AÀ«YAÌ64A`©YA@Ñ64Aà§YA€Ù64A`¦YAå64A ¤YAàï64A`£YA`ø64Aà¢YA 74A€¢YAÿ64AÀ YA ý64A žYA@ý64A@YA`74A šYA 74A —YA@74AÀ•YA€74AÀ“YA`74A@‘YA 74A€YAÀ74AÀYA`û64A YA î64A`YA Þ64A ‘YAÓ64A@‘YA Ã64A ‘YAÀ¸64A ‘YA€­64A‘YA 64A‘YA`“64A@‘YA „64AÀYAu64A‘YA c64A`‘YA€X64A`‘YA€P64A@‘YAàB64A ‘YA`<64A YA164A`YA 164Aà‘YA464A ”YA564A€•YAÀ764A —YA€=64A€šYAD64A@›YAàI64A œYA`Q64A YAX64A`žYA \64AŸYA€d64A  YA`o64A ¢YA€x64AÀ£YA 64A ¤YA …64A`¥YA 64A ¦YA’64AÀ¦YAš64A §YA@¡64A`§YAÀ§64Aà§YA€­64A`¨YA€¶64A`©YA€¾64A€©YA`Å64AÀ«YA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@mÒàe@4A€ƒYA@ß@4AÀ£YA$@i@4AÀ„YA`f@4A€‰YAàe@4A YA f@4A ”YA f@4A`–YAh@4A ˜YA€k@4AàšYA x@4A›YA @4A`›YA ‰@4Aà›YAà@4A@œYAÀ @4AœYAà¬@4AÀœYAàº@4A`žYA@Æ@4A€ŸYA Í@4A ¡YAÀÐ@4A £YAÀÕ@4AÀ£YA Û@4A £YA@ß@4A` YA@Ü@4A`›YA Ù@4A ˜YA@Õ@4A`“YAÏ@4A YA Æ@4AYA »@4A ŠYAà¶@4A †YA¯@4A„YA@©@4A ƒYA`¥@4AÀƒYAÀ“@4A€ƒYA€‰@4AàƒYAàu@4A…YA`p@4A …YA€k@4A…YA@i@4AÀ„YA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@nÆ eB4A|YA C4A £YA# •B4A £YA ˜B4Aà¢YAÀ¤B4A ¢YAà¯B4A€¢YAÀ·B4A`¢YA`ÄB4Aà¡YA@ÐB4A€¡YAÀæB4A@ŸYA ÿB4AžYA C4A@YA`C4AÀšYA ýB4Aà–YA ûB4A”YA ÷B4A ‘YA€õB4A`ŒYA ñB4A ‡YAÀëB4A`‚YAàåB4A`~YAàãB4A|YA ÊB4Aà}YA ±B4A€€YAÀœB4AàYA`ˆB4A@ƒYAuB4A…YA gB4A …YA eB4AÀ…YA fB4Aà‡YA@hB4AÀŠYA`lB4A€ŽYA yB4A “YAàB4A •YA`†B4A@™YA€‰B4AœYA ŒB4AÀŸYA •B4A £YA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@o–@ý64A ‡YA d74A€¢YA 74A€¢YA@74A`¢YA 74A`¡YA`74A¡YA 774A@žYA D74A@YA R74Aà›YA€b74A€šYA d74AšYAÀ`74A—YAàW74AàYA`P74A`ŒYAàN74Aà‰YA@N74A€‡YA M74A ‡YAE74A ˆYA 574AÀŠYA*74A ŒYA #74A@YA`74AŽYAà74AÀŽYA 74A€YA`74A@‘YA€74AÀ“YA@74AÀ•YA 74A —YA`74A šYA@ý64A@YA ý64A žYAÿ64AÀ YA 74A€¢YA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@p@“=4A oYA`ë>4A ŸYA?Àè=4A ŸYA ó=4A`žYA`3>4A`YA 9>4AŸYA`?>4A YAL>4A`YAàW>4A YA ^>4A œYA i>4Aà›YAÀu>4A`›YAÀ€>4AàšYA‡>4A€šYA@>4A€™YA œ>4A˜YAà¨>4A –YAàµ>4A@”YAÂ>4Aà‘YA@Ñ>4A€YA ×>4AŽYA@ã>4A€‹YA`ë>4AÀŠYA@ë>4AàˆYAÀÞ>4AÀƒYAàÖ>4Aà€YAÏ>4A@~YAÆ>4A`zYA ¿>4A€wYA µ>4A tYA€°>4A€qYA`«>4A oYA€©>4A@oYA€¦>4AàoYAž>4AqYA€’>4A`rYA ˆ>4A@tYA }>4AvYA r>4A xYA€c>4A{YAÀU>4A@}YA G>4A YAà6>4A@YA€&>4A€‚YA`>4A`„YAÀ >4A †YAÀÿ=4A ‰YA ö=4AàŠYA`ç=4A`YAÀÙ=4A YA€Ì=4A‘YAàÀ=4A’YA`¹=4A@“YA`²=4A€”YA §=4A —YA`ž=4AšYA@“=4A€œYA =4A YA ¨=4A`YAÀ´=4A YA@¾=4AYA@Ê=4A`YA`Õ=4A YA€à=4AYAÀè=4A ŸYA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@qÀ!<4AjYA€¶<4A@YA(À!<4A{YA )<4AÀ|YA€2<4A YA`?<4A€‚YAàH<4A@…YA U<4A@‰YAÀ^<4A ŒYA j<4A€YAàq<4AÀ’YA@}<4A –YAŒ<4A›YA ”<4A@YAàž<4A YA€£<4A œYA ¦<4A€šYAà§<4A˜YA@§<4A •YA ¦<4A@“YAÀ¡<4A YA`ž<4A`ŒYA`š<4A`‰YA`˜<4AÀ„YA€—<4AàYA€Ÿ<4AÀ~YAÀ§<4AzYA`°<4A vYA€¶<4AÀoYA@°<4AmYA ¦<4A mYA—<4AÀmYAÀˆ<4A nYA ~<4A mYAà}<4AjYA@z<4A jYAÀl<4A mYAV<4ArYA`G<4A sYA 6<4AÀvYAà&<4A zYAÀ!<4A{YA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@r¢àãB4A vYA€^C4A@YA  C4A@YA@C4A@œYA"C4A šYA ,C4A™YA€?C4A ˜YA LC4A€—YAàXC4A —YA€^C4A˜YA^C4A –YA@]C4A“YA [C4AYA WC4A ‹YAàRC4A ‡YA@OC4A`‚YA`IC4AÀ{YA€GC4A wYAÀFC4A vYA :C4A wYA'C4A@xYA@C4A xYAþB4A€yYAàåB4AÀ{YAàãB4A|YAàåB4A`~YAÀëB4A`‚YA ñB4A ‡YA€õB4A`ŒYA ÷B4A ‘YA ûB4A”YA ýB4Aà–YA`C4AÀšYA C4A@YA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@s M74AmYA€°74A@›YA8 d74AšYA f74A ›YAi74A@›YA@p74A@›YA u74A›YA|74AàšYA`…74A`šYA`“74A`šYA “74Aà™YA™74A –YA`›74A`“YAàš74A`‘YA@š74AàŽYA ›74A`ŒYA™74A€ŠYA€›74A ‡YAà›74A †YA`œ74A@…YA`œ74A ‚YAÀž74A YA€ž74A ~YAàž74A€|YAà 74A {YA ¢74AàyYA`£74A xYAÀ¤74AàwYA¦74AÀvYA€¦74A uYA §74AÀsYA ¨74A rYA ¨74AÀqYA ­74A€oYA€°74A mYA`«74AmYA ¡74A mYA —74A`mYA@74A`mYA ˆ74AàmYA ˆ74AoYA ‡74A`qYA „74AàsYA ‚74A€uYAàz74A yYA€y74AÀyYA s74AÀ|YA€l74AÀ~YA€d74A€YA]74A@ƒYA€O74A€†YA M74A ‡YA@N74A€‡YAàN74Aà‰YA`P74A`ŒYAàW74AàYAÀ`74A—YA d74AšYA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@t‚@:C4A@FYA€£D4A`™YAH€^C4A˜YAÀnC4A™YAàC4A@™YAC4A@™YAC4A`™YA©C4A`™YA€¹C4Aà˜YA`ÈC4A˜YA@ÓC4A –YA#D4A —YA2D4Aà–YA@D4AMYA;D4A@MYA )D4A`NYA`D4A OYA€âC4A€PYAàÄC4AàRYA°C4AUYA  C4A@VYA`‹C4AàWYA tC4AàXYA dC4AZYAàSC4A`[YA ;C4A \YA@:C4A ^YA :C4A€_YAÀ:C4AàbYA;C4AàcYAàC4A€iYAÀ@C4A`mYABC4AÀnYA CC4ArYAEC4A@tYAÀFC4A vYA€GC4A wYA`IC4AÀ{YA@OC4A`‚YAàRC4A ‡YA WC4A ‹YA [C4AYA@]C4A“YA^C4A –YA€^C4A˜YA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@u®€M4A bYAàDM4A`gYA KM4AjYASM4A lYAÀ]M4A qYA€gM4A€wYA@mM4A {YA€rM4A@€YAzM4A€„YA@’M4AàˆYA M4A ‡YAÀ«M4AÀ…YA@¹M4A€…YAîM4A`‰YA ùM4A€‰YAN4A@‹YA N4A ŒYAàN4AàYA $N4A@‘YA€(N4A “YA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@vz@1=4Aà\YAÀ >4A@“YA2`¹=4A@“YAàÀ=4A’YA€Ì=4A‘YAÀÙ=4A YA`ç=4A`YA ö=4AàŠYAÀÿ=4A ‰YAÀ >4A †YAà>4A@‚YAà>4A@YA þ=4A }YA€ù=4A zYAàò=4AÀvYAàï=4A tYA`é=4AqYA`æ=4AànYA`Ý=4AkYA€Ô=4A`gYA Ï=4A`dYAÀË=4AàaYA È=4Aà^YA Æ=4Aà\YAà½=4AÀ]YAÀ²=4A€]YA@¥=4A ]YA@š=4A`^YA ‰=4Aà_YA x=4A``YA`f=4AÀ`YA`W=4A`aYAN=4AbYA@?=4A@cYAÀ6=4AdYA@1=4A dYAà9=4A gYA€>=4A iYAàC=4A kYAK=4A€nYAàW=4ArYA`b=4A@uYA€i=4A@xYA@r=4A {YA€y=4A€~YA€=4A€YAà=4Aà…YA€—=4A ‰YA ž=4Aà‹YAÀ©=4A YA¶=4A“YA`¹=4A@“YA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@wš)64A@hYA 74A`‘YAJ164A`YA`<64A YAàB64A ‘YA€P64A@‘YA€X64A`‘YA c64A`‘YAu64A‘YA „64AÀYA`“64A@‘YA 64A‘YA€­64A‘YAÀ¸64A ‘YA Ã64A ‘YAÓ64A@‘YA Þ64A ‘YA î64A`YA`û64A YAÀ74AÀYA 74A€YA@ 74AàYA  74A@ŒYAÀ 74Aà‰YA 74A ˆYA@ 74A …YA@ 74A`ƒYA€74A €YA€74A`~YA74A |YAàÿ64A zYA@ý64A€yYAù64AàwYAàë64AzYAå64A`{YA€Ö64A`}YAàÊ64A ~YA€Ä64AÀ~YAà¾64A`{YA€º64AàyYAà¶64A xYA ´64A@wYA²64A uYA@¯64A sYA ®64A`rYA€ª64A pYA§64AÀoYAà 64AàmYA€64AÀlYA “64A@hYAÀŽ64A hYA@€64AàjYA`y64AlYA`k64A mYA_64A€nYA€U64A nYA J64A€oYAàA64AàoYA764AÀpYA -64A`qYA)64AàqYA*64A rYA -64A tYA€064AàuYA 464A yYAÀ564A€zYAà564A`{YA€664AÀ}YA 764A €YA464A ƒYAÀ264A „YA`264AÀ…YA`164Aà‡YAà064A ‰YA€164A€ŽYA164A`YA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@xÞ`õE4AÀzYAÀgF4A€YA%`õE4A@„YAûE4A ˆYA€üE4AÀYA@ýE4A€YAàF4A YA F4AàYAÀ F4AÀYA F4A YAàF4AYAÀ#F4AÀŽYA*F4A@ŽYAÀ2F4A ŽYA :F4AŽYA CF4AYA€KF4Aà‹YA€UF4A€ŠYA ]F4A‰YAcF4A€‡YAàeF4A†YAÀgF4A„YAàfF4AYA@fF4A ~YA gF4A |YA€gF4AÀzYA ]F4A|YA@VF4A {YA€NF4A`|YA CF4A }YAà;F4A~YA4F4A`~YA ,F4A€~YA F4AYA@F4A YAÀF4A`‚YA@F4AƒYA`ûE4AÀƒYA`õE4A@„YA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@yâù64A€CYAÀÂ74A€YAP 74A€YAà74AÀŽYA`74AŽYA #74A@YA*74A ŒYA 574AÀŠYAE74A ˆYA M74A ‡YA€O74A€†YA]74A@ƒYA€d74A€YA€l74AÀ~YA s74AÀ|YA€y74AÀyYAàz74A yYA ‚74A€uYA „74AàsYA ‡74A`qYA ˆ74AoYA ˆ74AàmYA@74A`mYA —74A`mYA ¡74A mYA`«74AmYA€°74A mYA€±74A@lYAà±74A jYA ³74A hYAÀ³74A€eYAà³74A@cYA`´74A bYA@¶74A `YA ¸74A€^YA`¸74A@\YAà·74A@ZYA`¸74A@YYAà¹74A VYAÀÂ74A€TYA Á74A`RYA@À74APYA@¼74A MYA`¸74A`JYA€µ74AàHYA`¯74AàFYA`©74A EYA¦74A@DYA@£74A€CYA@74A`DYAŽ74A FYA@†74AÀGYA €74A@IYA@v74A@MYA@q74A€RYAÀn74AàWYAÀl74A \YAàf74A aYAà]74A fYAà[74A@gYA@R74A@jYA <74AàmYA 274A@oYAÀ74A€qYAà74A rYA 74A€sYA€74A tYA` 74A uYAÀ74A@vYAù64AàwYA@ý64A€yYAàÿ64A zYA74A |YA€74A`~YA€74A €YA@ 74A`ƒYA@ 74A …YA 74A ˆYAÀ 74Aà‰YA  74A@ŒYA@ 74AàYA 74A€YA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@zÚ`«>4A`PYA€¢?4AÀŠYA:`ë>4AÀŠYAÀï>4A@ŠYA í>4AÀ‰YA`ô>4A ‡YA ÿ>4A€…YA  ?4AàƒYAÀ?4A€‚YAà?4A`YA ?4A €YAà&?4A ~YAà(?4A ~YAÀ2?4A@|YAÀ5?4A`{YAE?4AàxYAàN?4A wYA`V?4A uYA@`?4AtYA@j?4A€rYA w?4A@pYA@ƒ?4AàmYAÀŠ?4A`lYA@’?4A jYA`¡?4A`gYA€¢?4A€eYA œ?4A eYA€†?4AeYA{?4A cYA€i?4A@aYA`[?4Aà^YA€L?4A]YA`C?4A [YAÀ7?4A`YYA ,?4A WYA?4A€VYAÀ?4A`UYA ?4A SYAÀù>4A@QYA@õ>4A`PYA`ì>4A`TYA â>4AÀYYA€Û>4Aà\YA Ù>4A `YA Õ>4AÀbYAÒ>4AÀeYA`Ì>4A hYA€Ã>4A@kYAÀ¼>4AàlYA ²>4A nYA`«>4A oYA€°>4A€qYA µ>4A tYA ¿>4A€wYAÆ>4A`zYAÏ>4A@~YAàÖ>4Aà€YAÀÞ>4AÀƒYA@ë>4AàˆYA`ë>4AÀŠYA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@{ ‘A4ATYAÀFC4A@ˆYAT€B4AÀ‡YAÀB4Aà‡YAàB4A@ˆYA ,B4A@ˆYA€4B4AˆYA ?B4AÀ‡YAFB4Aà‡YA`RB4A †YAÀ_B4A†YA eB4AÀ…YA gB4A …YAuB4A…YA`ˆB4A@ƒYAÀœB4AàYA ±B4A€€YA ÊB4Aà}YAàãB4A|YAàåB4AÀ{YAþB4A€yYA@C4A xYA'C4A@xYA :C4A wYAÀFC4A vYAEC4A@tYA CC4ArYABC4AÀnYAÀ@C4A`mYA >C4A€iYAàYAà±84A=YA ¦84A`9YA ¢84A 7YA€›84Aà6YA›84A5YA@š84A 2YAž84A1YA ¦84A /YAà®84Aà.YA€¿84A`.YAÍ84A .YA€Ö84A`.YAÀà84Aà-YA ã84AÀ,YAàí84A@)YAàï84A(YAÀò84AÀ&YA ÷84A %YA€þ84A #YAÀ94A "YA`ò84A`YAàß84AÀYA`Ê84A YAà³84A@YA¡84AÀYAÀŠ84AYAq84AàYA@^84A€ YAàE84AÀ YA`84A`YA 84AÀYAà 84AÀYAÿ74AYA€ó74A`þYAàë74AàüYAÀâ74A üYA á74A þYAÀß74AàYAà74AÀYA à74AYA à74A@YA€á74A@ YA`á74AYAÀß74AÀYA€ß74A€YA à74AàYAàã74A@YAàä74AÀ YAàä74AÀ#YAàå74A@'YA`å74A (YA`å74A +YAÀâ74A€-YAÀà74A .YAÀç74A`.YAì74A€/YAÀö74A 1YAàû74A2YAà84A6YA 84A€7YAà 84A :YA€ 84Aà<YA84A AYA`84A DYA 84A€HYAà84ALYA84A`OYA@84AÀTYA84A VYA`84A@WYA` 84A`XYA`ü74A ZYA ì74A`\YA€à74A`]YAÀÓ74A ]YAÇ74A`]YAÀÆ74A@\YA`Å74A€ZYA Ä74AÀXYA`Ã74AÀUYAÀÂ74A€TYAà¹74A VYA`¸74A@YYAà·74A@ZYA`¸74A@\YA ¸74A€^YA@¶74A `YA`´74A bYAà³74A@cYAÀ³74A€eYA ³74A hYAà±74A jYA€±74A@lYA€°74A mYA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@} Æ=4A€JYA`«>4A †YA8À >4A †YA`>4A`„YA€&>4A€‚YAà6>4A@YA G>4A YAÀU>4A@}YA€c>4A{YA r>4A xYA }>4AvYA ˆ>4A@tYA€’>4A`rYAž>4AqYA€¦>4AàoYA€©>4A@oYA`«>4A oYA¡>4A@jYA@>4A`hYA`˜>4AeYA€>4A@bYAŽ>4A ^YA`‰>4A YYA ‡>4AàVYA ‚>4A@SYA€>4AQYA >4AàMYA`}>4A LYA r>4AàKYAÀj>4A LYA Z>4A KYA`S>4A KYA€F>4A€JYAà:>4ALYAÀ->4A`MYA  >4AàNYA >4AàOYA >4A RYAð=4A€TYA é=4A`UYA€Ý=4AÀVYA Ò=4AXYAÀÉ=4A ZYA Æ=4Aà\YA È=4Aà^YAÀË=4AàaYA Ï=4A`dYA€Ô=4A`gYA`Ý=4AkYA`æ=4AànYA`é=4AqYAàï=4A tYAàò=4AÀvYA€ù=4A zYA þ=4A }YAà>4A@YAà>4A@‚YAÀ >4A †YA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@~H4A€+YA€J4Aà„YAQ%J4A„YA`$J4A ‚YA`1J4A YAÀ2J4A €YA 5J4A`YA ?J4A |YAÀCJ4AàxYA RJ4AàrYA ]J4A€nYA gJ4A`jYA nJ4AàgYAàtJ4AfYA@J4A@cYA€J4A`aYA |J4A@\YA wJ4AZYA€cJ4AUYA RJ4A`OYA€?J4A KYAà'J4A€FYA`J4AÀBYA`J4A@@YA@J4A<YA`ôI4AÀ8YA`àI4A@5YAÀI4A 0YA ¨I4A`-YA€‘I4A,YA`‚I4A ,YA€mI4A€+YAàZI4A-YA€KI4A@/YA 9I4A1YA`/I4A`4YA I4Aà6YAàI4A 7YA`ïH4A 9YAàßH4A :YAàÐH4Aà:YA€ÁH4A =YAÀ»H4A@?YA€¹H4A BYAÀ¹H4A FYA »H4A€KYA½H4A OYA ÅH4A@UYAàÎH4AZYA ëH4A€]YAÀôH4AÀ^YAÀÿH4Aà`YA I4AàbYA I4A@eYAÀI4AhYA &I4A€iYAÀ:I4A jYAÀCI4A`hYA€JI4A€fYA PI4AÀbYA SI4A`_YA TI4A]YA€hI4A]YA€lI4A ]YA€qI4A ]YA uI4A`_YA ~I4A@fYA †I4A`iYAÀ‹I4A`lYAÀ•I4AnYA`œI4A@oYA¯I4A@sYAÀ¹I4AÀtYA ÌI4AàwYAÐI4A`zYA×I4A |YAáI4A@~YAñI4A YA üI4AÀƒYA  J4Aà„YAÀJ4A ƒYA J4A€„YA%J4A„YA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ê@ëE4AÀgYAhF4A@„YA& îE4A |YA€ïE4A@~YA ñE4A@YA`õE4A@„YA`ûE4AÀƒYA@F4AƒYAÀF4A`‚YA@F4A YA F4AYA ,F4A€~YA4F4A`~YAà;F4A~YA CF4A }YA€NF4A`|YA@VF4A {YA ]F4A|YA€gF4AÀzYAhF4A yYA@gF4A`vYA`eF4A rYAcF4A oYA ^F4A`lYAWF4A€iYAQF4AhYA€GF4A@hYA >F4AÀgYA€4F4A hYAÀ&F4A jYA€F4AkYAF4AàkYA`F4A`lYA@ÿE4A€kYAàíE4A@nYA ìE4A`pYA@ëE4A`tYA ìE4A wYAàíE4A {YA îE4A |YA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@€Êà&?4AàmYA š?4A „YAà&?4A ~YAà4?4A „YA š?4AÀuYA@ƒ?4AàmYA w?4A@pYA@j?4A€rYA@`?4AtYA`V?4A uYAàN?4A wYAE?4AàxYAÀ5?4A`{YAÀ2?4A@|YAà(?4A ~YAà&?4A ~YA@@@@@@@@@@@@@@@@~D4A `YA€ýD4AƒYAD4AƒYAàŒD4AÀ‚YA —D4A ‚YAÀ¦D4A@YA€²D4A@€YAàÁD4A`~YA ÖD4Aà{YA€âD4A`{YAîD4AàyYA€÷D4AàyYA`ùD4A€yYAüD4A@yYAàüD4AvYA€ýD4A`rYA üD4AàkYA`ûD4A€dYA€ùD4A `YA@êD4A `YA`ßD4Aà`YA ÖD4A aYAÇD4A bYAÀ¸D4A`bYA`«D4AàbYA@™D4AàcYA”D4AhYA@D4A nYA€‡D4AÀtYAàD4A`}YAD4AƒYA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@‚b`)54A ZYA ó54A`‚YA0`)54A@bYA€+54A lYA :54A€nYA`E54A@oYAP54A@pYAV54A€qYA a54A@sYA o54AuYA€y54A€vYA54AÀwYAŒ54AàyYA–54Aà{YA`¢54A@}YAà­54Aà~YAà·54A`€YA@¿54A YAÍ54AàYA@Ü54A`‚YA å54AÀYAàí54A€YA ó54AÀ~YAÀò54A }YA@ñ54A`zYAÀë54A xYA å54AàvYA`ß54A`vYAØ54A`uYAÎ54AàsYA@È54A`sYAà¼54A€rYAÀ°54A qYA§54AàpYA@˜54A€oYA 54A€nYA€‹54A`lYA`ˆ54A iYA …54A hYA`54A eYAy54AcYA@q54A `YAf54A`]YA@[54A [YA P54A ZYA H54AÀZYAA54AÀ[YAÀ354AÀ\YA€)54A@^YA`)54A@bYA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ƒ& “64A WYA 74AÀ~YA+ù64AàwYAÀ74A@vYA` 74A uYA€74A tYA 74A€sYAÀ74A@rYA€ 74A oYA 74AmYA74A jYAà74A hYAÀþ64A`dYAàû64AÀbYAàò64A aYA`è64A@^YAàß64A€\YA ×64A@[YA`Î64A`YYA È64A WYA Ä64A YYAÀº64A`]YA ´64A@_YAÀ¤64A@dYA€¢64AàdYA€Ÿ64AÀeYA ˜64AÀgYA “64A@hYA€64AÀlYAà 64AàmYA§64AÀoYA€ª64A pYA ®64A`rYA@¯64A sYA²64A uYA ´64A@wYAà¶64A xYA€º64AàyYAà¾64A`{YA€Ä64AÀ~YAàÊ64A ~YA€Ö64A`}YAå64A`{YAàë64AzYAù64AàwYA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@„ ˆ94AYYA ;4AÀ~YAS ;4AàcYAÀ;4A cYA@;4A€bYA`ñ:4A€cYAÜ:4A€cYAàÌ:4AÀcYA¸:4A cYA¤:4A€bYA`•:4A€aYA€€:4AaYA`p:4A`YAà]:4A@_YA`N:4A ^YA`>:4A ]YAÀ.:4A \YA€:4AÀZYA`:4AÀYYA@:4AYYA`ø94AàZYA ó94A\YA é94A`]YA@Ü94AÀ_YA Ó94A€aYA`Ë94A€bYA€Á94A@dYA ·94A eYA€®94A gYAà¥94AàgYA œ94AàiYA“94AàkYA€94A€mYAà94A pYA ‰94A`sYA ˆ94A`tYAÀ‰94AÀuYAÀ94A`wYA`“94A yYA—94A zYA ž94A@|YA€£94AÀ|YA ª94A }YA€¹94A`~YAàÃ94A`~YA Ï94AÀ~YA×94A ~YAÀÞ94A ~YA`ë94A€}YAàô94A }YAü94A}YA€:4Aà|YA@ :4AÀ|YA :4A |YA€:4A€zYA@$:4AàxYA@*:4A`wYAÀ0:4A@uYA@4:4A@sYA 6:4A`qYAÀ<:4A€oYA€@:4A nYA@G:4A mYA`Q:4AàkYA`\:4AÀkYA`i:4A€lYA v:4A lYA€:4A mYA@Ž:4A mYAÀ˜:4AnYA@¦:4A nYAÀ¬:4A`nYAà·:4A@nYA Â:4AàmYA€Î:4AàlYAà×:4AàkYA å:4AkYAÀî:4AkYAù:4A jYAà;4A@jYA;4A`iYA ;4A hYAà;4A@gYA;4A@fYA ;4AàcYAð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?…¶@&E4A`DYA úE4A€}YA7@&E4A`|YA€*E4A€|YA€3E4A€}YA`?E4A@}YA€JE4A@}YA@[E4A`}YA€iE4A`}YAÀtE4A`}YAÀƒE4A@}YA’E4A}YA¡E4A€|YA ³E4A`}YAà¶E4A€}YAÀÉE4A}YAÍE4Aà|YA€ÖE4A }YA€ÞE4A }YA@çE4A}YAìE4AÀ|YA îE4A |YAàíE4A {YA ìE4A wYA@ëE4A`tYA ìE4A`pYAàíE4A@nYA`ïE4AàkYA ôE4AÀhYAàøE4AÀbYA€ùE4A`_YA úE4A`ZYA`ùE4AVYA`úE4AàPYAùE4A€NYA@óE4ANYA@ëE4AÀMYAàãE4A MYA ÜE4A LYA€ÁE4A`LYAÀ¯E4A KYA`©E4A`KYAÀE4AÀIYA€{E4A IYAàmE4A@IYAà`E4A`HYA NE4AàEYA`;E4A@EYA€2E4AÀDYA -E4A€DYA *E4A`DYA (E4A LYAà)E4ATYA€(E4A `YAÀ*E4AàhYAÀ'E4A uYA@&E4A`|YA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@†ª ¾@4A€KYA`¦A4A`|YA6 ‘A4A`|YA€’A4A€zYA“A4A€yYA€’A4A wYA •A4A uYA ™A4A€uYA ›A4A€uYA –A4A`sYA`¡A4AàpYA£A4A@nYA`¦A4AiYA¦A4A dYA¥A4Aà]YAÀ£A4AYYA€¡A4AàSYAà A4A`QYA@ A4A`LYAàžA4A€KYA`A4A@LYAÀ†A4AàKYAàzA4ALYAkA4A`LYAà[A4A`LYA IA4AÀLYA 7A4A MYA+A4A@NYAA4A NYAàA4A NYA ù@4ANYAàì@4A@NYA€Û@4A NYA Ð@4ANYAàÈ@4A`MYA ¾@4AÀMYA ¿@4A OYA@Ã@4A SYA È@4A`XYAÀÏ@4A@^YA`Ó@4A€bYAàÚ@4AgYA€ã@4A lYA ç@4A pYA€ó@4A`xYA@ô@4A yYA`ø@4AÀxYA@ÿ@4AÀwYA A4A€vYA@A4A@uYA€A4AàtYA >A4A vYAàLA4A€vYAÀpA4A€yYA`‚A4AzYA ‘A4A`|YA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@‡’ g;4AøYA€O?4A{YA´À!<4A{YAà&<4A zYA 6<4AÀvYA`G<4A sYAV<4ArYAÀl<4A mYA@z<4A jYAà}<4AjYA€†<4AÀeYAà•<4A aYAÀ¡<4A^YA@¬<4A`[YAà¯<4A ZYAÀ¾<4A VYA€Î<4A`RYA€Ü<4A NYA€î<4A JYAàù<4A HYA  =4AGYA@ =4AÀEYAà3=4AàDYA@K=4ACYA _=4A AYAÀx=4A`@YA }=4AÀ@YAà=4A`@YAÀœ=4A>YA@¨=4A <YA ·=4A`:YA`È=4Aà7YAÓ=4Aà5YA€á=4A`3YAàð=4A`1YA >4A`/YA >4A@.YA@->4Aà-YAà:>4A@.YAÀD>4A`/YAÀQ>4A`0YA a>4A@1YAs>4AÀ2YA@ƒ>4Aà3YA>4A€4YAÀœ>4A4YAà¦>4A`3YAµ>4A`2YA »>4A 1YA Ã>4A€.YA@Ë>4A ,YA`Ó>4A*YAà×>4A)YA`é>4A&YAð>4A$YA ü>4AÀ!YA@?4A@ YA?4AYA ?4AYA+?4A`YA =?4AàYA@??4AYA D?4A`YAàA?4A YAàC?4A` YA K?4AÀYA€O?4A`ÿYA€H?4AàýYA @?4A`üYA 7?4A úYAÀ-?4A ùYA`*?4AøYA%?4A ùYA@?4A@þYAà ?4AàYA ?4A€YAý>4A`YA€ò>4Aà YAè>4A@ YA Ü>4A€YAÀÒ>4A@YA€Æ>4A YA»>4A YA@´>4AYA`­>4AàYA¤>4AàYA>4A YAà–>4A YA ‹>4AàYA€‚>4A@YA@w>4A@YA€w>4AÀYA@t>4AÀYA n>4A YAh>4A€YA `>4Aà YA@V>4A`#YAÀH>4A #YAÀ8>4A€#YA@'>4A@#YAà>4A #YA@ >4AÀ"YAàü=4A "YA@ë=4A`"YA`Ö=4A€!YA`Ê=4A`!YA ½=4A`!YA ¯=4Aà YA¤=4A !YA ™=4A !YA€‰=4A#YAà€=4A`#YA€r=4A`#YA@d=4A #YAÀ^=4AÀ#YAàI=4A`#YA€?=4Aà"YA 1=4AÀ"YA@=4A@$YA=4AÀ%YAÀ =4A &YA@ =4A(YA€ =4A`)YA  =4A ,YA =4A .YA`=4A@1YA@ù<4Aà3YA ô<4AÀ4YAàé<4A6YAÀÜ<4AÀ7YA€Î<4AÀ:YAÀ¼<4A =YAàµ<4Aà=YA ¨<4A@?YA`›<4A @YA@‰<4AAYA{<4Aà@YA`m<4AÀ@YA `<4A @YA€T<4A@@YA€H<4A ?YA :<4AÀ>YA`'<4Aà=YA <4A@=YA@<4A <YA <4A`<YA õ;4A`<YA@â;4A€;YA€Ð;4A =YA É;4A@YA@Ã;4A AYA¿;4AÀCYA€¼;4AFYA¾;4AàHYA`º;4AàLYA ³;4A OYA`©;4ARYAà¤;4A SYA€;4A@UYA —;4AàVYA€“;4A`YYA ‘;4A [YAà;4AÀ]YA ‹;4A€_YA ˆ;4A€`YA ‚;4A bYA z;4A`eYA`s;4A@gYA€k;4A`jYA g;4AàjYA@s;4A`lYA@€;4AÀmYA`”;4A`nYA§;4A`oYA@»;4AqYA@Ì;4AÀqYAÞ;4AsYA ï;4A@tYA þ;4A€uYA€ <4A wYA`<4AÀyYAÀ!<4A{YA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ˆ €sA4A.YAàDB4A€uYA> ›A4A€uYAÀ¥A4A`uYA ·A4A tYAÂA4A sYA`ÒA4A`rYA ìA4A oYA€B4A@mYAB4A@kYA`2B4A hYA`@B4A`gYAàDB4A fYA`BB4A bYAÀ?B4Aà^YAà;B4A \YA 3B4A`YYA.B4A@UYA )B4ARYAÀ%B4A NYA B4A HYA@B4A€EYA B4A@BYAàB4A`?YAÀB4A`=YAàB4A :YAB4Aà7YA`B4A€5YAB4A 2YA`B4A0YA@þA4A .YA öA4A.YA ìA4A .YA€âA4A /YA ÙA4AÀ/YA ÌA4A 0YA`¾A4A@1YAÀ®A4A 2YA ¦A4A 2YA€™A4A@3YA`A4A 3YA`ƒA4AÀ3YA€xA4Aà1YA€sA4A€1YAÀtA4AÀ2YA`vA4A€5YA yA4Aà6YAàA4A :YA ˆA4A >YAàA4A`AYAà•A4AFYA€A4A JYAàžA4A€KYA@ A4A`LYAà A4A`QYA€¡A4AàSYAÀ£A4AYYA¥A4Aà]YA¦A4A dYA`¦A4AiYA£A4A@nYA`¡A4AàpYA –A4A`sYA ›A4A€uYA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@‰J È64A€FYA €74A€sYA. È64A WYA`Î64A`YYA ×64A@[YAàß64A€\YA`è64A@^YAàò64A aYAàû64AÀbYAÀþ64A`dYAà74A hYA74A jYA 74AmYA€ 74A oYAÀ74A@rYA 74A€sYAà74A rYAÀ74A€qYA 274A@oYA <74AàmYA@R74A@jYAà[74A@gYAà]74A fYAàf74A aYAÀl74A \YAÀn74AàWYA@q74A€RYA@v74A@MYA €74A@IYAà|74A HYA m74A GYAÀW74A€FYA`N74AGYA@@74AHYA 374A@HYAÀ'74AÀHYA@74A€IYA74AJYA`74AÀJYA@þ64A@KYAàð64AÀKYA`ã64AÀKYAÙ64A€KYAÀÖ64A@KYAÓ64AÀOYA@Ñ64A@RYAÀÉ64AàVYA È64A WYA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ŠÆ`}>4A AYA@õ>4A oYA#`«>4A oYA ²>4A nYAÀ¼>4AàlYA€Ã>4A@kYA`Ì>4A hYAÒ>4AÀeYA Õ>4AÀbYA Ù>4A `YA€Û>4Aà\YA â>4AÀYYA`ì>4A`TYA@õ>4A`PYA ð>4A OYA è>4AÀMYA Õ>4AàIYA Ò>4AÀGYA@Ì>4AEYA`Ê>4A CYAÀÉ>4A AYA ­>4A@FYA¢>4A€GYA@˜>4A IYAŒ>4A€KYA`}>4A LYA >4AàMYA€>4AQYA ‚>4A@SYA ‡>4AàVYA`‰>4A YYAŽ>4A ^YA€>4A@bYA`˜>4AeYA@>4A`hYA¡>4A@jYA`«>4A oYA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@‹¢ÀÉ>4A€YAà¾@4A eYA`@õ>4A`PYAÀù>4A@QYA ?4A SYAÀ?4A`UYA?4A€VYA ,?4A WYAÀ7?4A`YYA`C?4A [YA€L?4A]YA`[?4Aà^YA€i?4A@aYA{?4A cYA€†?4AeYA œ?4A eYA€¢?4A€eYA «?4A eYAàµ?4A cYA`Á?4A@bYA Õ?4A ^YA`é?4A ZYAÀð?4AÀWYAÀÿ?4A€TYA€@4A€QYA &@4A NYA <@4AàJYA J@4AàHYA^@4AÀFYA o@4A@EYAÀs@4AEYAÀ~@4A`DYA Œ@4A€CYAà¢@4A@BYA °@4A@AYAà°@4A@>YA`²@4A ;YA€²@4A`5YA`²@4A2YAÀ±@4A /YAÀ¯@4A@(YAà¯@4AÀ%YA`²@4A€ YAµ@4A@YA€¸@4A@YAà¾@4AYA@»@4A€YA ·@4A YAà¯@4AÀYA¤@4A@YAà˜@4A`YA ‘@4AYA ‰@4A YA @4A@YAÀs@4A€YA h@4A€YA`W@4A`YAN@4A YA <@4AÀYA@1@4A€YA $@4A@ YA€@4A€ YA@@4A YA€ @4A`YA€û?4A YA`ë?4A@YA@Ù?4A`YA€É?4A YA ½?4A@YA`°?4A@YAŸ?4A YA`?4AàYA`~?4AÀ YA k?4AÀ!YAà[?4A "YA€G?4A$YAÀ8?4A%YA ,?4A`'YA@%?4AÀ)YA€?4A,YA?4A€.YA`?4A€0YA`?4A 2YA?4A5YA@ ?4A@6YA`?4A 7YAù>4A`9YAàë>4A@;YA ã>4AÀ<YA Ï>4A€?YAÀÉ>4A AYA`Ê>4A CYA@Ì>4AEYA Ò>4AÀGYA Õ>4AàIYA è>4AÀMYA ð>4A OYA@õ>4A`PYA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ŒŽ @4A WYAI@4AàdYA  @4A``YAà@4AàdYAI@4A `YA@C@4A WYA€<@4A`XYA /@4A ZYA€#@4Aà\YAà@4A@^YA @4A``YA@@@@@@@@@@@¢@¾:4A€HYA€b;4AdYA @;4A€bYAÀ;4A cYA ;4AàcYA;4AdYA ;4AàcYA`&;4A bYA€/;4A``YA 4;4Aà\YAà=;4A€ZYA J;4A€WYAàQ;4AUYA`[;4AàQYA a;4A€NYA€b;4A NYAà ;4A€HYA ;4A@IYAà;4A€JYAû:4A LYA€ï:4A MYAàá:4A PYA€Ü:4AQYA Õ:4AàQYA€Ï:4ASYA Ç:4A TYA@Ã:4A TYA@¾:4A@UYA Ê:4A€VYA Ô:4A@XYA à:4A`[YA î:4Aà^YA€ú:4AÀaYA@;4A€bYA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Žf@–D4A BYA€ùD4AàcYA@™D4AàcYA`«D4AàbYAÀ¸D4A`bYAÇD4A bYA ÖD4A aYA`ßD4Aà`YA@êD4A `YA€ùD4A `YA@÷D4A [YA@õD4AÀVYA€íD4A`QYA`æD4A€KYA`åD4AHYAåD4AàCYA æD4A BYA ÙD4A BYAÀÂD4A€CYAà¨D4AEYA`–D4A@FYA@–D4AàFYA ˜D4AKYA`žD4A@PYA`¢D4A`VYA€£D4A€ZYA`ŸD4AÀ_YA šD4AÀbYA@™D4AàcYA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Þ@:4A@KYA@;4AÀcYA%@:4AYYA`:4AÀYYA€:4AÀZYAÀ.:4A \YA`>:4A ]YA`N:4A ^YAà]:4A@_YA`p:4A`YA€€:4AaYA`•:4A€aYA¤:4A€bYA¸:4A cYAàÌ:4AÀcYAÜ:4A€cYA`ñ:4A€cYA@;4A€bYA€ú:4AÀaYA î:4Aà^YA à:4A`[YA Ô:4A@XYA Ê:4A€VYA@¾:4A@UYA °:4A TYA`ž:4A€SYAÀ‹:4A@RYA}:4A QYAo:4A`OYA[:4AÀNYAÀW:4A€NYAÀ,:4A€KYA*:4A@KYA#:4AàMYAà:4A`PYA:4A RYA :4A€UYA€ :4A@WYA@:4AYYA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ò€ŸB4A  YA =C4A`_YA<àÔB4ATYA€×B4AXYAßB4A \YA€çB4A@^YAÀïB4A`_YA þB4A _YAÀ C4A@^YAÀC4A^YAÀ+C4A`]YA ;C4A \YA€B4AÀYA@JB4AÀYA€UB4AàYAà_B4AàYAÀkB4A YA€rB4A`YAxB4AàYA`yB4AYAÀyB4A YAàwB4A YArB4A€YAkB4AYA `B4AÀYA@XB4A` YAàNB4Aà YA GB4A !YAÀ>B4A#YA1B4A`%YA-B4A (YA`+B4A +YA )B4A -YA@&B4A€/YA`"B4AÀ2YA€ B4A5YA€B4A 7YA B4AÀ7YAB4Aà7YAàB4A :YAÀB4A`=YAàB4A`?YA B4A@BYA@B4A€EYA B4A HYAÀ%B4A NYA )B4ARYA.B4A@UYA 3B4A`YYAà;B4A \YA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@“.@C4AÀøYA ¢C4A \YAA ;C4A \YAàSC4A`[YA dC4AZYA tC4AàXYA`‹C4AàWYA  C4A@VYA€ C4A€SYAà¡C4AÀLYA ¢C4AÀAYA ¢C4A 9YA ›C4AÀ-YA€˜C4A*YA€–C4A€"YA€–C4AÀYA`–C4A@YA C4AÀ YA@ŽC4AYAÀC4A@YAÀƒC4A@YA bC4AÀüYA€YC4A úYA TC4AÀøYA€PC4A ùYA IC4A`úYABC4A€ûYA€3C4AÀýYA@&C4AÿYA !C4AÀþYA@ C4A€YAC4A`YAÀC4AYA€C4A YAÀC4AYA C4A@YA C4AàYA C4AÀ YA@C4A YA@C4A  YA`C4A YA C4A@YA@ C4A€YA`C4A€YA€C4A@YA€C4AÀYA`C4A YA C4A YA C4A€#YA&C4A@'YA)C4A )YA`+C4AÀ,YA ,C4A€/YA@-C4A€3YAÀ.C4A6YA@/C4A@8YAÀ1C4A`;YA 3C4A ?YA`5C4ACYAÀ9C4A GYA€;C4AàJYA YAà,D4AÀ<YA%D4A@7YA D4A€2YA D4Aà,YA@D4A`+YAD4A$YA@ýC4AÀYAàïC4A`YAàìC4AàYA`æC4AÀYA ÙC4AYA ÉC4A€YA ½C4A€ YAÀ“C4A€YAÀC4A@YA@ŽC4AYA C4AÀ YA`–C4A@YA€–C4AÀYA€–C4A€"YA€˜C4A*YA ›C4AÀ-YA ¢C4A 9YA ¢C4AÀAYAà¡C4AÀLYA€ C4A€SYA  C4A@VYA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@•Z€ÚG4A`7YA RH4AOYAàH4A8YAà H4Aà8YAÀH4A;YAÀ÷G4A`>YAàìG4AÀ?YA@áG4A @YA€ÚG4A€BYA ÛG4A€FYA áG4A`IYA@ñG4AàLYAàöG4A MYA H4AÀLYAH4A@NYAÀ$H4AOYA`5H4AÀNYA@DH4AàMYA`LH4A`KYA RH4AàHYA`QH4A FYA€NH4A DYA FH4AàAYAÀ8H4A`=YA 2H4A`;YA`+H4A€8YAÀ(H4A`7YAàH4A8YA@@@@@@@@@@@@@@@@@@@@@@@@@@@@–"À¯@4AYAàžA4A NYA@ ¾@4AÀMYAàÈ@4A`MYA Ð@4ANYA€Û@4A NYAàì@4A@NYA ù@4ANYAàA4A NYAA4A NYA+A4A@NYA 7A4A MYA IA4AÀLYAà[A4A`LYAkA4A`LYAàzA4ALYAÀ†A4AàKYA`A4A@LYAàžA4A€KYA€A4A JYAà•A4AFYAàA4A`AYA ˆA4A >YAàA4A :YA yA4Aà6YA`vA4A€5YAÀtA4AÀ2YA€sA4A€1YA@hA4A`0YA aA4A`/YA`XA4Aà-YAàQA4A@-YA`KA4A ,YA ?A4A`+YA€8A4AÀ*YA@0A4A€)YA#A4A 'YA@A4A &YA A4A $YAÀ A4A€#YA€A4A€"YAÀÿ@4Aà YAù@4A YA@ï@4A YA è@4A YA@Ü@4AYA€Ö@4A€YAÀÐ@4AÀYAÀÇ@4AYAÂ@4A€YAà¾@4AYA€¸@4A@YAµ@4A@YA`²@4A€ YAà¯@4AÀ%YAÀ¯@4A@(YAÀ±@4A /YA`²@4A2YA€²@4A`5YA`²@4A ;YAà°@4A@>YA °@4A@AYA ±@4ABYAà¸@4A@GYA€¾@4A@MYA ¾@4AÀMYA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@— ¡:4A YA ‡;4A NYA8à ;4A€HYA€b;4A NYAÀh;4A@KYA r;4A€FYA@{;4A CYA`};4A ?YA;4A;YA †;4A@5YA ‡;4A@0YAÀƒ;4A`0YA`;4Aà0YA {;4AÀ2YA u;4A@5YAh;4A7YAÀd;4AÀ3YAàc;4A€0YA`c;4A`.YA`];4A -YA`S;4A@+YA@O;4A *YA€A;4Aà)YA 6;4A@(YA,;4Aà&YA€ ;4AÀ%YA@;4A $YAÀ ;4Aà!YAÿ:4A`YA`ô:4AÀYAàç:4A`YA€×:4AÀYA`Ç:4A YA ¾:4AYA ¹:4A@YAà³:4A`YAà®:4A€YA@«:4A YA€¨:4AÀYA€¥:4A@!YAÀ¢:4A#YA ¡:4A %YAÀ¡:4AÀ'YA`¥:4AÀ)YA`°:4A ,YA@¶:4A`-YA@Â:4A€0YAÀÎ:4A€2YA`Ö:4A 4YA€à:4A 6YA@ç:4AÀ7YAÀï:4Aà9YA@ù:4A`<YA`ÿ:4AÀ>YA@;4ABYA;4A DYAà ;4A FYAà ;4A€HYA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@˜2àìC4A`YAàìD4A@MYA,;D4A@MYA>D4AMYA`QD4A KYA gD4A IYA`xD4A@HYAàD4AÀFYA`–D4A@FYAà¨D4AEYAÀÂD4A€CYA ÙD4A BYA æD4A BYA`èD4A >YAêD4A 8YAëD4A 3YA@ëD4A€.YAìD4A€(YA éD4A "YA`çD4A`YA@ìD4A€YAàìD4A`YAààD4AÀYA€ÎD4A YAÁD4AÀYA®D4A YA ”D4A€YA`‚D4AàYA`oD4A@YA ND4AàYAà;D4A YA€&D4A`YA@D4AYAàìC4AàYAàïC4A`YA@ýC4AÀYAD4A$YA@D4A`+YA D4Aà,YA D4A€2YA%D4A@7YAà,D4AÀ<YA€0D4A`>YA`6D4A€BYA:D4AGYA;D4A@MYA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@™`Ö64A€2YA§74AÀKYA*ÀÖ64A@KYAÙ64A€KYA`ã64AÀKYAàð64AÀKYA@þ64A@KYA`74AÀJYA74AJYA@74A€IYAÀ'74AÀHYA 374A@HYA@@74AHYA`N74AGYAÀW74A€FYA m74A GYAà|74A HYA €74A@IYA@†74AÀGYAŽ74A FYA@74A`DYA@£74A€CYA`74AÀAYA@£74A @YA ¤74A@?YA€¤74AÀ;YA§74A@8YA` 74A`8YA`œ74A 8YA™74A`7YA@‘74A 5YA ‡74A€2YA€ý64Aà3YAàø64A`4YAÀò64A5YAàî64A@5YAàè64A 6YA@ä64A€7YA ä64Aà9YA`Û64AÀ?YA@Ù64A @YA Ö64A EYA`Ö64A GYAÀÖ64A@KYA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@šæ`Ù84AÀÕYA6:4A@KYA{À94A "YA 94A`"YA #94A%YA B94Aà(YA V94A@,YA p94A0YA ‹94A4YAÀ©94A8YA`Á94A=YAÜ94A@AYA ÷94A€DYA€:4A€IYA*:4A@KYA -:4A JYA@/:4AàHYA 2:4AÀFYA 3:4A`DYA 3:4AàBYA€5:4A ?YA6:4A >YA€5:4Aà<YA€4:4Aà;YAà0:4A :YA`/:4AÀ7YA +:4Aà5YA ):4A 4YAà$:4A`1YA:4A`/YA€:4A@.YA@:4A@-YAÀ :4A@+YA :4AÀ)YAÀ:4A@(YA:4A€&YA€þ94A%YA€ù94Aà#YA ö94A@#YAð94A !YA€î94A YAÀê94A YAàé94A YA è94A€YA@è94AYA€ç94A@YA ç94AYA@ç94A`YA í94A€ YAó94Aà YA ù94A YAÀ:4A  YA@:4A YA :4A€ YA€:4A` YA !:4AàYA *:4A YA`1:4AYA 0:4A YA ,:4AYA@(:4AÀYA #:4A@YA` :4AàÿYA`:4A€þYAà:4A`ýYA@:4A€üYA€:4AûYA@:4A úYA`:4A ÷YA  :4A@öYA€:4AàòYAÀ:4A`ñYAÀ:4AïYA ü94AÀìYA`ø94A`êYAò94AÀçYA`ì94A€äYA ã94A áYAàß94A`ßYAÀØ94A€ÜYA€Ï94AÀÚYA@Ç94A€ÙYA@½94AØYA€²94A€ÖYA€¥94AÀÕYA@—94AÀÕYA`‹94AÖYA‚94A ÖYA€x94AàÖYAàl94AØYA c94A ÙYAàX94AàÚYAO94A@ÜYA@D94AÞYA894AàßYA294AáYA@+94A€âYA "94A@äYAà94A€åYA 94AàæYAÀ94A€çYA 94AèYA@94A èYAÀð84AàéYAàè84A@êYAÀä84A êYA@ã84A@ðYAàß84A@õYAÞ84A ÷YA`Ù84AûYA Ú84A€ÿYA à84AYAã84AàYAÀî84A@ YAÀö84A@ YAàü84A YAÀ94AÀYA 94A@YA 94A@YA 94A@YA€94AÀYA€94A YA 94A  YA  94A€!YAÀ94A "YA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@›îà7K4A ÄYAà‡L4A 9YAQ`oL4A ÄYA fL4A`ÄYA@aL4AàÄYAàJL4A`ÇYA DL4A`ÉYAà;L4A@ËYAÀ)L4A ÎYA L4A@ÐYA` L4A ÒYAÀùK4A ÓYA@ðK4AÀÓYA@âK4A@ÕYA€ÒK4AàÕYAÀK4Aà×YAÀ«K4AÀÙYA K4A€ÛYA †K4AàÝYA`vK4A`ßYA@mK4AààYA aK4A@ãYARK4A`æYA@EK4A`éYA`;K4AàíYAà7K4AÀòYA`8K4AÀôYAà9K4AúYA@>K4AÀþYA`EK4A YANK4AÀYA XK4A YA hK4A YA€uK4A YA ‚K4AàYA ”K4AÀYA€¢K4AàYA@§K4AYAÀ¥K4A YAÀŸK4A YA@™K4AÀYAàŽK4Aà"YA€ƒK4Aà$YAàsK4AÀ(YA@gK4A`,YAàXK4A/YA€NK4A@2YAÀIK4A@5YAÀOK4AÀ6YAXK4A8YAqK4A 9YAà€K4AÀ8YA@ŽK4A`8YA€žK4A 6YA µK4A 3YA ÁK4A 1YAàÎK4A -YAÙK4A`)YA ãK4A`'YAÀðK4AÀ%YAàL4A #YAÀL4A!YAàL4A YA %L4AYA€*L4A`YA +L4AYA@)L4A YA@%L4AàYA@$L4A þYA &L4A@øYA 0L4A`òYA`:L4AÀîYA DL4A ëYAQL4AêYAcL4A`æYA oL4AÀâYA€}L4A@ÞYAà‡L4A`ØYA@†L4A@ÒYAàL4AÎYA€yL4A`ÉYA sL4A ÅYA`oL4A ÄYA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@œR@>74AÀëYAàå74A`8YAD ‡74A€2YA@‘74A 5YA™74A`7YA`œ74A 8YA` 74A`8YA§74A@8YA@¯74A 7YA@¼74A€5YAÊ74A@3YA Ñ74AÀ1YA Ú74A0YA`Þ74A/YAÀà74A .YAÀâ74A€-YA`å74A +YA`å74A (YAàå74A@'YAàä74AÀ#YAàä74AÀ YAàã74A@YA à74AàYA€ß74A€YAÀß74AÀYA`á74AYA€á74A@ YA à74A@YA à74AYAà74AÀYAÀß74AàYA á74A þYAÀâ74A üYAÚ74A€ûYAÀÅ74A@úYAà´74A€ùYAà¤74A@ùYAà˜74AàøYA€ˆ74A@÷YAào74A óYAi74A òYA`a74AñYA`Y74AàíYA€N74AÀëYA C74AàëYA@>74A íYA C74AàïYA`H74A òYA M74A@ôYA@X74A@øYA@^74A úYAà`74A ûYA`d74A@üYA k74A€ÿYAo74AYAt74A YAs74A YA r74AàYA r74A€ YA€r74A YAÀr74AYA q74AYA p74A@YA€p74A YAÀr74AàYAÀv74A€%YA x74Aà)YA |74A-YA 74Aà.YA ‡74A€2YA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ÎÀÙA4A YAÀyB4Aà7YA9 ìA4A .YA öA4A.YA@þA4A .YA`B4A0YAB4A 2YA`B4A€5YAB4Aà7YA B4AÀ7YA€B4A 7YA€ B4A5YA`"B4AÀ2YA@&B4A€/YA )B4A -YA`+B4A +YA-B4A (YA1B4A`%YAÀ>B4A#YA GB4A !YAàNB4Aà YA@XB4A` YA `B4AÀYAkB4AYArB4A€YAàwB4A YAÀyB4A YA`yB4AYAxB4AàYA€rB4A`YAÀkB4A YAà_B4AàYA€UB4AàYA@JB4AÀYA`>B4AÀYAÀ0B4A YAà$B4AYA!B4A@YA B4A€YA`B4A YA€B4AÀYAÿA4A YAÀôA4A€YAÀíA4AYA ãA4A€YAâA4A YAÛA4A YAÀÙA4A€YA ÚA4A YAÀÚA4A YAÞA4A`YA`àA4A€!YAÀáA4AÀ#YA`âA4Aà%YA åA4A@'YAàéA4A *YAàêA4Aà*YAàìA4A`,YA ìA4A .YA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@žŠ@ 64A` YA¶64A€5YA §64AÀ2YAÀ£64Aà/YAàµ64Aà*YA¶64A (YA²64A %YA€¨64A`"YAàž64A YA ”64A YAà~64AÀYA n64A€YA `64AYA`N64A YA864A  YA *64A  YAà64A` YA@ 64A YA 64A YA 64A YA@ 64A@YA 64AàYA"64A`%YA )64A€(YA 864AÀ,YA`J64A 0YA Z64A 3YAm64A 5YA@|64A`5YAÀ64A€5YA@ž64A`4YA §64AÀ2YAð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ŸÎàó64A€êYA ‡74Aà3YA9€ý64Aà3YA ‡74A€2YA 74Aà.YA |74A-YA x74Aà)YAÀv74A€%YAÀr74AàYA€p74A YA p74A@YA q74AYAÀr74AYA€r74A YA r74A€ YA r74AàYAs74A YAt74A YAo74AYA k74A€ÿYA`d74A@üYAà`74A ûYA@^74A úYA@X74A@øYA M74A@ôYA`H74A òYA C74AàïYA@>74A íYA C74AàëYAÀ=74AàëYA`074A ìYA@!74A`ìYA74A@ëYA74A€êYA 74A@òYA`74A ÷YAÀû64A€úYAàö64A`ýYAàó64AÀþYA`74AàYA@ 74AÀYAà74AÀ YAà74A YA 74AàYAÀ74A`YA 74AYA74A YAà74A@YA@74A€YA 74A"YAà74A@%YA€74AÀ+YAÀ74A@.YA`74Aà.YA@74Aà/YA 74A 2YAà74A 3YA@74A`3YA€ý64Aà3YA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 6 è@4A YAàìA4AÀ3YAW€sA4A€1YA€xA4Aà1YA`ƒA4AÀ3YA`A4A 3YA€™A4A@3YA ¦A4A 2YAÀ®A4A 2YA`¾A4A@1YA ÌA4A 0YA ÙA4AÀ/YA€âA4A /YA ìA4A .YAàìA4A`,YAàêA4Aà*YAàéA4A *YA åA4A@'YA`âA4Aà%YAÀáA4AÀ#YA`àA4A€!YAÞA4A`YAÀÚA4A YA ÚA4A YAÀÙA4A€YAÛA4A YAâA4A YA ãA4A€YA`âA4A@YA ÝA4A`YA@ÚA4A YAÀÖA4A@YA`ÒA4AÀ YA€ÎA4A€ YAËA4A` YA ÅA4A YAÀÀA4AÀYA@½A4A YAà¸A4AYA`·A4A YAà²A4A` YA¯A4A  YA ¤A4A` YAàA4A@ YA€‰A4A YA@~A4AÀYA`uA4AÀYA pA4A YAÀcA4AYA ^A4AYA@QA4A YA€HA4A€YAà>A4A YAà6A4A YAà)A4A YAà A4A YAàA4A YA A4A`YA€A4A YA`A4A€YA A4A YAA4A` YA@A4AÀ YAA4A YA A4AYAA4A YAàø@4A YA@õ@4A`YA€ò@4AYA€í@4AYA€ê@4A YA è@4A YA@ï@4A YAù@4A YAÀÿ@4Aà YA€A4A€"YAÀ A4A€#YA A4A $YA@A4A &YA#A4A 'YA@0A4A€)YA€8A4AÀ*YA ?A4A`+YA`KA4A ,YAàQA4A@-YA`XA4Aà-YA aA4A`/YA@hA4A`0YA€sA4A€1YA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@¡º äA4Aà¿YA !C4A 'YAb€ŸB4A 'YA ¦B4A %YA©B4A@$YA`­B4AÀ"YA`¸B4A YA ¿B4A YA ÇB4A YAÏB4AàYAØB4A YA ÞB4AYA€äB4A YA`ëB4AÀYAòB4AYA øB4AYA@C4A  YA@C4A YA C4AÀ YA C4AàYA C4A@YAÀC4AYA€C4A YAÀC4AYAC4A`YA@ C4A€YA !C4AÀþYA C4A þYA`C4A`üYA  C4A ùYA€C4A öYA ÿB4AàòYA€ùB4AÀïYA@òB4A€ìYAçB4A éYA€âB4A çYA`ÛB4A`äYAàÕB4AÀáYA€ÔB4A ßYA ÕB4AàÜYAÀÊB4AÀÛYA`ÂB4A`ÚYAÀ»B4A@ÙYAÀ±B4A€×YA ¦B4A€ÕYA¢B4AÕYA žB4A ÔYA ’B4A€ÑYA B4AÑYA xB4A`ÌYAàoB4A ÉYA`bB4AàÃYA€\B4A`ÂYA@NB4Aà¿YA@B4A ÀYA 6B4AÀÀYA@&B4A@ÂYA B4AÃYA€ B4A€ÃYA`ôA4A`ÃYA äA4AÀÃYAÀäA4A`ÄYAìA4A ÇYAÀñA4A ËYA@÷A4AÀÍYAàúA4A`ÏYA€ýA4A@ÓYA@B4A`ÖYA€B4A ØYA B4A ÝYA€ B4A€ÞYA  B4A@áYA B4A ãYA B4A`äYA`B4A æYA€B4A€éYAB4AàíYA` B4AòYA` B4AàôYA€ B4Aà÷YA B4A`øYA€B4A@úYA`B4A@ûYAàB4AÀüYA@%B4A`ÿYA€.B4A`YA6B4A YA€EB4A YA`TB4AYA@[B4AÀYA gB4A@ YAÀ}B4A YAƒB4A€ YA…B4AYA`‰B4A`YA@‹B4A YA`B4AYA`”B4Aà!YA ›B4A %YA€ŸB4A 'YA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@¢>È74A@ÂYA 94A "YAm`84A`YAàE84AÀ YA@^84A€ YAq84AàYAÀŠ84AYA¡84AÀYAà³84A@YA`Ê84A YAàß84AÀYA`ò84A`YAÀ94A "YA  94A€!YA 94A  YA€94A YA€94AÀYA 94A@YA 94A@YA 94A@YAÀ94AÀYAàü84A YAÀö84A@ YAÀî84A@ YAã84AàYA à84AYA Ú84A€ÿYA`Ù84AûYAÞ84A ÷YAàß84A@õYA@ã84A@ðYAÀä84A êYAç84A€æYAàê84A àYAàï84AÀÝYAÀô84A`ÛYAàæ84A×YA Ø84A€ÕYAÀË84A ÔYA€º84AàÑYA€­84AàÐYA`¦84A ÐYAž84AÀÒYA@•84AÀÒYA†84A@ÒYA`x84AÀÑYA p84A ÐYA g84A`ÏYA`c84AàÐYA``84A ÑYA@^84A€ÒYA@]84A ÔYA@Y84A`×YAàW84AÛYA T84AßYAR84AàßYAK84A àYAà@84A áYA`684AáYAà'84A@àYA"84AßYAà84AÀÛYA 84A@ÙYA 84A€ÖYA`84A ÒYAÀ84A€ÏYA 84AÀÌYA€#84A ÊYAÀ&84A@ÇYA@ 84AÀÆYA84A`ÆYA 84A@ÆYA`î74AàÄYAàã74A€ÄYA@Õ74A@ÃYAÈ74A@ÂYAÏ74A€ÆYAàÑ74A`ÈYA€Ô74A ÊYAà×74AàÌYA€Û74AÀÎYA`Ý74A€ÏYAß74AÀÒYA`ß74A@ÔYA à74A×YAÀã74AÀÛYA@å74A@ÞYA€å74A ßYAÀå74A àYA@æ74A áYAàæ74A`äYA`ç74A@æYA è74AéYA@è74A êYA@ò74AëYAû74AÀêYA@84AÀêYA@84AëYA`84A€êYA 84A`êYA€&84AíYA€&84AÀïYA`&84A òYA%84A öYA`%84A€úYAà%84A@üYA%84AàþYA@"84A€YA`84AàYA`84A`YA`84A`YA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@£æ`+54A äYA@˜54A  YA;`+54A  YAÀ-54A YAÀ954A€YA`@54A€YA@L54A@YAÀY54A@YA g54AÀYA`r54A@YA€y54AÀ YA x54Aà YAày54A YA…54A`YA`†54AÀYAÀˆ54A€YAà‰54AÀþYA@Ž54A@ýYA ‘54A`ùYA€”54A÷YA•54AóYA@˜54AðYA@˜54A@íYAà—54AìYAŠ54AÀêYA z54A éYA€j54AàèYAÀ`54A@èYA R54AçYAàE54AÀåYA€654AàäYAà,54A äYA ,54AõYA254A ôYA€854A€õYA A54AÀöYA`H54A øYA`O54A@úYA U54A ýYAZ54A þYA€[54AYA@`54A YA a54AYAÀd54AàYA`e54A@ YA@`54AÀ YAàW54A YAàS54A@YA O54A@YAÀH54A@YA`B54Aà YA€<54A YA 954A@ YAÀ854Aà YAÀ854AYA 554A`YA@754AàYA`254AàYA -54A@YA`,54A€ÿYA`+54A  YA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@¤öà¾@4A`ÿYAàA4A YA'à¾@4AYAÂ@4A€YAÀÇ@4AYAÀÐ@4AÀYA€Ö@4A€YA@Ü@4AYA è@4A YA€ê@4A YA€í@4AYA€ò@4AYA@õ@4A`YAàø@4A YAA4A YA A4AYAA4A YA@A4AÀ YAA4A` YA A4A YA`A4A€YA€A4A YA A4A`YAàA4A YA@A4A@YA@A4AàYA` A4A`ÿYAàA4AYA`ü@4AÀYAñ@4A YA æ@4AÀYA@ß@4AàYA€×@4A`YAÀË@4A`YA È@4AàYA@Ë@4A@ YAàË@4AÀYA`Å@4A@YA@Ä@4A YAàÀ@4AÀYAà¾@4AYA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@¥>`Ì=4A`àYA`*?4A@YAm@w>4A@YA€w>4AÀYA@w>4A@YA€‚>4A@YA ‹>4AàYAà–>4A YA>4A YA¤>4AàYA`­>4AàYA@´>4AYA»>4A YA€Æ>4A YAÀÒ>4A@YA Ü>4A€YAè>4A@ YA€ò>4Aà YAý>4A`YA ?4A€YAà ?4AàYA@?4A@þYA%?4A ùYA`*?4AøYA`(?4A@÷YA€%?4A õYAà#?4A`òYA€#?4A ðYA "?4A íYAÀ?4AèYAÀ?4A æYA`?4A åYA`?4A€ãYA?4A`àYA` ?4A`àYA€?4AâYA ü>4A âYA ú>4AàäYAÀö>4A€çYAò>4A@êYAí>4A€ìYA@ç>4AïYA€Ý>4A ñYA Ò>4A óYA€Ã>4AõYA@¶>4A@öYAÀ­>4AÀöYA@§>4A€öYAà¢>4AõYAàœ>4A@óYA ˜>4AÀðYAÀ“>4A ïYA€Š>4A@íYAƒ>4A@ìYA{>4AÀëYA t>4AÀëYA`j>4A ìYAàd>4A`ìYAà^>4A íYA@[>4A ïYA@Z>4A`ñYAàY>4AÀòYAàX>4AàôYAÀW>4AÀöYAàU>4AÀøYA`S>4A`ûYA`Q>4AÀüYAàI>4A€þYA`D>4A þYA @>4AàýYA ;>4AýYAà6>4AÀûYA`3>4A úYA (>4A úYA >4AàüYA€>4AÀýYAÀ >4AàÿYA€>4A YA€õ=4A`YA`ê=4A`YAÀÝ=4AÀ YA Ô=4A€ YA`Ì=4A€YAÍ=4A YAÒ=4A`YA`Ù=4A`YAàà=4A@YA€ë=4A@YAÀô=4A@YAÀø=4A YA`>4A`YA` >4A€YAà>4A`YAÀ$>4A`YA/>4AàYA 9>4AàYA A>4A@YA@J>4AÀYA@P>4AYAÀS>4A YA@X>4A` YAà[>4Aà YA`c>4A€ YA€k>4AÀ YA€q>4A€ YA t>4A  YAàt>4A YA@u>4A YA u>4AYA@v>4A€YA@w>4A@YA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@¦R@»@4AÀYAàÀ@4AYA@»@4A€YAà¾@4AYAàÀ@4AÀYA@»@4A€YAð?ð?ð?ð?ð?ð?§&@?4A YA€L@4AÀYA+@?4A`YA¥?4A YAµ?4A€YAÀ¼?4AàYA Ì?4A YA Ö?4A€YA€Ü?4A€YA ä?4AYA@ï?4AYA€ö?4A€YA€ÿ?4A@YA@4A@YAÀ@4A YAÀ @4A€YAà,@4A@YA`3@4AÀYA 9@4A`YAC@4A YA`K@4A€YA€L@4A€YA J@4A€YAÀH@4A€YA@A@4A YA <@4AàYAÀ4@4AYAÀ+@4A`YA` @4A` YA`@4A` YA€@4A@ YA€ý?4A YA ó?4A YA@ç?4A@ YAàà?4A` YA Ø?4A@ YA`Ó?4A` YA Ç?4A YAà¿?4AÀ YAÀ¸?4A YA ±?4AYAÀ¦?4A YAÀœ?4A YA`Ž?4AYA@?4A`YAð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¨>à ?4A`½YAàË@4A€YAm@»@4A€YAàÀ@4AÀYA@Ä@4A YA`Å@4A@YAàË@4AÀYA@Ë@4A@ YA È@4AàYA@Æ@4AÀYA Â@4AàYA`¼@4A þYA`¹@4A@ùYA µ@4A`õYA ®@4AðYA¨@4A ëYA Ÿ@4A`æYA`—@4A€âYA @4A€ÝYA€Œ@4AÀÚYAÀ‰@4A@ÖYA ‚@4A€ËYA ~@4AÀÈYA`w@4A`ÄYAo@4AÀ¿YA k@4A`½YA U@4A@ÁYAL@4AÃYA C@4A@ÄYA`:@4A@ÅYA@1@4A@ÇYAÀ&@4A`ÉYA @4A ÌYA`@4AËYA€@4A@ÉYAû?4A@ÈYA ù?4A ÈYAñ?4A ÊYAÀè?4AàÌYA â?4AÀÎYA€Ø?4A ÑYA`Ï?4AàÒYA Ç?4A ÔYAà¹?4AàÕYA ´?4A@ÕYA ®?4AÀÓYA`¦?4A@ÑYA@ ?4A ÏYAš?4AÀÌYAà™?4AÀËYA ‹?4AÀÍYAÀt?4A ÐYA j?4A`ÒYA€[?4A`ÔYA N?4AàÖYAÀ=?4A ÙYA 0?4A`ÚYA (?4AÀÛYAÀ?4A`ÜYA€?4A ÝYAà ?4AàÜYA ?4A ÝYA ?4A ßYA?4A`àYA`?4A€ãYA`?4A åYAÀ?4A æYAÀ?4AèYA "?4A íYA€#?4A ðYAà#?4A`òYA€%?4A õYA`(?4A@÷YA`*?4AøYAÀ-?4A ùYA 7?4A úYA @?4A`üYA€H?4AàýYA€O?4A`ÿYA`S?4A@YA`?4A`YA€f?4AYAÀj?4AYA€u?4AÀYA€~?4A YAàŒ?4A€YAÀŸ?4AYA ´?4A YA€Á?4AYAàÎ?4A`YAÀÖ?4A YA€ç?4A@YA ö?4AYA @4AÀYA@@4A@YA€@4A YA )@4A€YAà;@4A YA`J@4AàYA@T@4AYAh@4A€ YAv@4A YAÀ€@4A  YAŠ@4A`YA@4AàYA`˜@4AÀYA ¥@4A`YA¬@4A@YAµ@4A`YA¹@4A@YA@»@4A€YA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@©¾`'C4A|YAðD4A`YAàìC4AàYA@D4AYA€&D4A`YAà;D4A YA ND4AàYA`oD4A@YA`‚D4AàYA ”D4A€YA®D4A YAÁD4AÀYA€ÎD4A YAààD4AÀYAàìD4A`YA`íD4A YA@îD4A YA€íD4AàYA€ìD4A ýYAëD4A ïYAðD4A`çYA ëD4A ÞYA€èD4A€×YA àD4A ÎYAÀ×D4AÀÈYA ÇD4AÀ»YA`»D4AµYAÀ®D4A@¯YA ©D4A@¬YAÀ£D4A §YA@˜D4A ¢YA`‹D4A œYAà…D4A`–YA€D4A€’YA€„D4AÀŽYA€†D4A ŠYA`‰D4A@†YA€‹D4A@‚YA D4A`YAà‹D4A€€YAà‹D4A €YA4D4A YAÀ6D4AàƒYA?D4Aà‡YA@ED4A ŠYAàMD4AàŒYAàUD4AÀYA dD4A@•YAmD4A ˜YA xD4A žYA D4A£YAà…D4A@¨YA ŠD4A€¬YA‘D4A`±YAàœD4AÀ¹YAÀ¤D4A@¿YAÀ«D4AÀÄYA ®D4A€ÉYA ­D4AàÌYAà§D4AàÐYA@¤D4A`ÕYA  D4A`ÙYA  D4A`ÝYA`¢D4AãYAà§D4AÀèYA ­D4AïYAÀ°D4AàñYA`°D4A@öYAà®D4A ùYAªD4A€üYAÀ D4A€ýYA@D4A þYA`€D4A@þYAÀiD4A ýYA@YD4AàúYAÀGD4A øYA@:D4A@õYA@/D4A òYA@$D4A@íYA D4AÀæYAD4A áYA`D4AÛYA þC4A@ÕYAÀ÷C4A`ÐYA ðC4A€ËYA@êC4A€ÇYA`ÜC4A`½YA ÚC4Aà·YA ÕC4A@±YAÀÎC4A`«YA ËC4AÀ¦YAÉC4A ¤YA€ÆC4A@¡YAÀ´C4A`šYAÀ©C4A •YA`¢C4A€ŽYA C4A`ˆYA ˜C4A €YA€–C4A@}YA`'C4A|YA€/C4AÀ~YAA4A YA€HA4A€YA@QA4A YA ^A4AYAÀcA4AYA pA4A YA`uA4AÀYA@~A4AÀYA€‰A4A YAàA4A@ YA ¤A4A` YA¯A4A  YAà²A4A` YA`·A4A YAà¸A4AYA`¹A4A YAÀºA4A@YAàÀA4A`YAàËA4AÀYA`ÕA4A@YA`ÜA4AàYA áA4A YAÀåA4A@YA€ôA4AàþYA ýA4A@þYAB4A þYA` B4AàýYA B4A€ýYA€B4A@úYA B4A`øYA€ B4Aà÷YA` B4AàôYAÀB4A ñYA`B4A ïYA B4A ìYA€úA4A€ëYAàðA4A@ëYAàÜA4AàêYAÀÄA4A êYA´A4AÀéYA`™A4A€èYA ‹A4AÀçYAàyA4AàæYA`bA4A€åYASA4A€äYA€FA4A€ãYA 3A4AéYAÀ,A4A íYA@#A4A`óYA@A4A ÷YA€A4AüYA@A4AàþYA` A4A`ÿYA@A4AàYA@A4A@YAàA4A YA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@­NÀä?4A€tYA ’A4AàYAni È@4AàYAÀË@4A`YA€×@4A`YA@ß@4AàYA æ@4AÀYAñ@4A YA`ü@4AÀYAàA4AYA` A4A`ÿYA@A4AàþYA€A4AüYA@A4A ÷YA@#A4A`óYAÀ,A4A íYA 3A4AéYA€FA4A€ãYA`DA4A`ãYA@BA4A`áYAàAA4AÝYA€DA4A@ØYA@GA4A`ÓYAàKA4AÍYA RA4AÀÆYA UA4AàÁYAà\A4A@¹YAà_A4A µYA@jA4Aà¬YAànA4A`©YA vA4Aà£YA|A4AŸYA€‚A4AÀ™YAÀ‡A4A€•YAA4A‘YA ‘A4A‹YA`’A4Aà‡YA ‘A4A ƒYA€’A4A ‚YA ’A4AàYA`‘A4A YAàA4A ~YA ƒA4A`{YAàjA4AàvYAÀ™@4A€tYA @4AàxYA ¦@4A€|YA`®@4A€YA`¹@4Aà…YA`À@4A@‹YA€É@4A€YA Ð@4A€“YA`Ò@4A–YAÏ@4A ˜YA Â@4AÀšYA`·@4A œYAÀ¨@4AžYA€™@4A@ YA @4A€¡YA@†@4AÀ¢YAàv@4AÀ¤YAàh@4A@¦YA@]@4A §YA L@4A ¨YA 8@4AÀ©YA ,@4AÀªYA`/@4A€«YAÀ@4A€°YAÀ@4A³YAÀ@4A µYAÿ?4A¸YA`ü?4Aà¹YAàø?4AÀ»YA ï?4A@¾YA€è?4AÀ¿YAÀä?4A ÀYA è?4A ÃYAò?4AÀÅYAù?4AàÇYAû?4A@ÈYA€@4A@ÉYA`@4AËYA @4A ÌYAÀ&@4A`ÉYA@1@4A@ÇYA`:@4A@ÅYA C@4A@ÄYAL@4AÃYA U@4A@ÁYA k@4A`½YAo@4AÀ¿YA`w@4A`ÄYA ~@4AÀÈYA ‚@4A€ËYAÀ‰@4A@ÖYA€Œ@4AÀÚYA @4A€ÝYA`—@4A€âYA Ÿ@4A`æYA¨@4A ëYA ®@4AðYA µ@4A`õYA`¹@4A@ùYA`¼@4A þYA Â@4AàYA@Æ@4AÀYA È@4AàYA@É@4A€­YA@˜@4A€³YA`@4AªYA@µ@4A £YA@É@4A€­YA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@®–Àâ74A`êYA€&84A`YAÀâ74A üYAàë74AàüYA€ó74A`þYAÿ74AYAà 84AÀYA 84AÀYA`84A`YA`84A`YA`84AàYA@"84A€YA%84AàþYAà%84A@üYA`%84A€úYA%84A öYA`&84A òYA€&84AÀïYA€&84AíYA 84A`êYA`84A€êYA@84AëYA@84AÀêYAû74AÀêYA@ò74AëYA@è74A êYA`è74AàìYAÀè74A îYA€ç74A€òYA@ç74A€ôYAàä74A@÷YA€ã74A@øYAÀâ74A üYA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@¯†€ÔB4AËYA@]C4AÿYA3 !C4AÀþYA@&C4AÿYA€3C4AÀýYABC4A€ûYA IC4A`úYA€PC4A ùYA TC4AÀøYA€SC4A€øYA JC4A@õYAKC4A óYA`QC4AñYAàZC4A`íYA@]C4A`êYAà\C4AæYA XC4A`âYA@QC4A€ÞYAÀJC4AÛYA EC4AØYA@=C4A ÕYA`9C4A ÒYA ;C4A@ÏYAAC4AàËYAà64A@ØYA74AÀþYA% J64A@ìYA N64AàëYA ]64A îYA l64AàíYA€r64AÀíYA 64A ïYAà“64A€ðYAÀ´64A ôYAà¼64AÀôYA Ë64A€öYA Õ64A øYAÀà64AàúYAÀå64AÀûYAÀï64AÀýYA`ò64A@þYAàó64AÀþYAàö64A`ýYAÀû64A€úYA`74A ÷YA 74A@òYA74A€êYA þ64AéYAÀë64AæYAÀË64A@âYAà¹64AÀàYA ¢64A ÞYA@Œ64AÝYAàx64AàÛYAb64A ÙYA@M64A@ØYAI64AÀÛYA@A64A`ßYAÀ>64AâYA >64A åYAÀB64AàçYA€G64AÀêYA J64A@ìYA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@±æ€–C4A@}YAÀ°D4A@þYA;4D4A YA€–C4A@}YA ˜C4A €YA C4A`ˆYA`¢C4A€ŽYAÀ©C4A •YAÀ´C4A`šYA€ÆC4A@¡YAÉC4A ¤YA ËC4AÀ¦YAÀÎC4A`«YA ÕC4A@±YA ÚC4Aà·YA`ÜC4A`½YA@êC4A€ÇYA ðC4A€ËYAÀ÷C4A`ÐYA þC4A@ÕYA`D4AÛYAD4A áYA D4AÀæYA@$D4A@íYA@/D4A òYA@:D4A@õYAÀGD4A øYA@YD4AàúYAÀiD4A ýYA`€D4A@þYA@D4A þYAÀ D4A€ýYAªD4A€üYAà®D4A ùYA`°D4A@öYAÀ°D4AàñYA ­D4AïYAà§D4AÀèYA`¢D4AãYA  D4A`ÝYA  D4A`ÙYA@¤D4A`ÕYAà§D4AàÐYA ­D4AàÌYA ®D4A€ÉYAÀ«D4AÀÄYAÀ¤D4A@¿YAàœD4AÀ¹YA‘D4A`±YA ŠD4A€¬YAà…D4A@¨YA D4A£YA xD4A žYAmD4A ˜YA dD4A@•YAàUD4AÀYAàMD4AàŒYA@ED4A ŠYA?D4Aà‡YAÀ6D4AàƒYA4D4A YA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@²^€B4A@úYAàB4A€ýYA B4A€ýYAàB4AÀüYA`B4A@ûYA€B4A@úYA B4A€ýYAð?ð?ð?ð?ð?ð?ð?³‚ B74A ÁYAÀè74A üYAHào74A óYA€ˆ74A@÷YAà˜74AàøYAà¤74A@ùYAà´74A€ùYAÀÅ74A@úYAÚ74A€ûYAÀâ74A üYA€ã74A@øYAàä74A@÷YA@ç74A€ôYA€ç74A€òYAÀè74A îYA`è74AàìYA@è74A êYA è74AéYA`ç74A@æYAàæ74A`äYA@æ74A áYAÀå74A àYA€å74A ßYAÀÈ74AàÞYA€Å74A ÞYA`Â74A€ÞYA ´74AÀÝYAà©74A@ÜYA  74A ÛYAÀœ74AàÚYA`–74A@ØYAÀ’74A€ÖYA`’74A ÕYAà’74AÀÓYA”74A@ÒYA™74AÐYAŸ74AÀÎYA`«74A@ÍYA·74A ÌYAàÁ74A ËYAÀÌ74A@ÊYA€Ô74A ÊYAàÑ74A`ÈYAÏ74A€ÆYAÈ74A@ÂYAÀÄ74A ÂYA€¾74A ÁYA@´74AÂYA€¨74AàÂYA`ž74A`ÃYA ”74A ÃYA74AàÃYA€{74A ÄYA |74A@ÅYAà|74A@ÆYA@|74AÇYAÀx74A ÈYA@n74AàÊYAa74A ÌYAàN74A ÌYA B74AàÌYAG74AàÏYAàJ74A ÒYAM74A`ÔYAÀS74AàØYA`V74AÚYAÀW74A ÜYA [74AàßYA ^74AàãYAà`74A@æYA`b74AàèYA@c74AìYA€`74AÀíYAào74A óYAð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?´ÆàAA4A }YAà(B4AàôYAc€FA4A€ãYASA4A€äYA`bA4A€åYAàyA4AàæYA ‹A4AÀçYA`™A4A€èYA´A4AÀéYAÀÄA4A êYAàÜA4AàêYAàðA4A@ëYA€úA4A€ëYA B4A ìYA`B4A ïYAÀB4A ñYA` B4AàôYA` B4AòYAB4AàíYA€B4A€éYA`B4A æYA B4A`äYA B4A ãYA  B4A@áYA€ B4A€ÞYA B4A ÝYA€B4A ØYA@B4A`ÖYA€ýA4A@ÓYAàúA4A`ÏYA@÷A4AÀÍYAÀñA4A ËYAìA4A ÇYAÀäA4A`ÄYA äA4AÀÃYA€áA4AàÃYA ÑA4A ÄYAÌA4A ÄYA¹A4A@ÄYA ²A4A`ÄYA ¢A4A@ÄYA œA4A€ÂYA€“A4AÁYA A4A ¾YAA4AàºYAà§A4A@·YA€¶A4A@µYAÀÂA4A`³YA`ÏA4A °YA ÕA4A€­YA€ÖA4AÀ©YA ØA4A@§YA`ÛA4A€¤YAààA4A ¡YAàçA4A€YA€íA4A˜YAÀíA4A ’YAîA4AÀYAÀéA4AÀ‰YA`ïA4A`‡YA`óA4A@‡YAÀüA4A ‰YA B4AYA@B4A YAB4A`YA@$B4A€‹YAà(B4AˆYA (B4Aà†YA@"B4A„YAÀB4A ‚YA B4A }YA@òA4A }YA`ÚA4A`}YAÀÍA4A }YA`ÀA4A ~YAÀ¯A4A`~YA@¢A4Aà~YA`‘A4A YA ’A4AàYA€’A4A ‚YA ‘A4A ƒYA`’A4Aà‡YA ‘A4A‹YAA4A‘YAÀ‡A4A€•YA€‚A4AÀ™YA|A4AŸYA vA4Aà£YAànA4A`©YA@jA4Aà¬YAà_A4A µYAà\A4A@¹YA UA4AàÁYA RA4AÀÆYAàKA4AÍYA@GA4A`ÓYA€DA4A@ØYAàAA4AÝYA@BA4A`áYA`DA4A`ãYA€FA4A€ãYA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@µ&àñ64A@ÊYAào74A óYA+ C74AàëYA€N74AÀëYA`Y74AàíYA`a74AñYAi74A òYAào74A óYA€`74AÀíYA@c74AìYA`b74AàèYAà`74A@æYA ^74AàãYA [74AàßYAÀW74A ÜYA`V74AÚYAÀS74AàØYAM74A`ÔYAàJ74A ÒYAG74AàÏYA B74AàÌYAà/74AÍYA !74A@ÍYAÀ74A ÍYAàú64A ËYAàñ64A@ÊYAÀõ64AàÌYA@û64A`ÏYAý64A ÐYA`74A ÑYA 74A@ÓYA@ 74A`ÔYA`74A ÖYAÀ74A ØYA74A ÚYA€!74A`ÛYAà$74A@ÜYA *74A ÞYA`074A àYAÀ974AãYA€=74AàäYA B74A@çYAÀE74A éYAG74AÀêYA C74AàëYA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@¶ÒÀ¥54AÇYA@M64A@ðYA$ J64A@ìYA€G64AÀêYAÀB64AàçYA >64A åYAÀ>64AâYA@A64A`ßYAI64AÀÛYA@M64A@ØYA@>64A`×YAÀ64AÀÓYA  64AÀÐYAàõ54A€ÎYA@à54AËYA@Ó54AÊYA€Ç54AàÇYA`¼54AÇYA»54AàËYA€¸54A@ÑYA ©54Aà×YAÀ¦54A@ÙYAÀ¥54A€ÞYAà°54A€ÞYA€º54A áYA Æ54AãYA Í54AÀäYA€Ö54A èYA@à54A€ëYAë54AàìYA`÷54A îYA@64A€ïYA`64A@ðYAÀ,64AïYAà264A îYA 964A€íYAÀH64A`ìYA J64A@ìYA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@·Ò .54Aà¬YAG74A`ìYAd74A€êYA74A@ëYA@!74A`ìYA`074A ìYAÀ=74AàëYA C74AàëYAG74AÀêYAÀE74A éYA B74A@çYA€=74AàäYAÀ974AãYA`074A àYA *74A ÞYAà$74A@ÜYA€!74A`ÛYA74A ÚYAÀ74A ØYA`74A ÖYA@ 74A`ÔYA 74A@ÓYA`74A ÑYAý64A ÐYA@û64A`ÏYAÀõ64AàÌYAàñ64A@ÊYA é64A@ÉYA`Ù64AÀÇYA€Ó64AàÆYA€Ç64A€ÆYA@¼64A ÆYA€±64AÅYA`¤64A@ÃYAàœ64AÂYA`•64AàÀYA‰64A ¿YA€~64A€¾YA t64A€½YAÀc64A ¼YAU64A ¾YA€M64AÀYAàB64AÂYA`>64AàÂYA364AàÄYA`"64A ÅYA64A`ÅYAà64AÀÅYAÀú54AàÅYAàë54AÀÃYA Ý54A@ÂYA@Ó54A ÁYAÀÇ54Aà¿YA€¾54A ¾YAÀ·54A ¼YA€³54A€»YA ¯54A`ºYA ©54AÀ¸YA€¦54AÀ·YA ¢54A µYA€¡54Aà³YA@Ÿ54A ±YAŸ54AÀ°YAà›54A °YA€•54AÀ°YAÀ54Aà°YA …54Aà°YA€~54A ±YAy54A@±YA`t54AÀ±YA€i54A³YA`b54A@³YAàU54A ´YA@M54A€´YA€H54A`´YAà@54Aà²YA =54AÀ°YA 354A®YA .54Aà¬YA .54A »YA@454A@¼YAÀn54A€ÀYAÀ‘54A€ÃYA ¯54A ÆYA`¼54AÇYA€Ç54AàÇYA@Ó54AÊYA@à54AËYAàõ54A€ÎYA  64AÀÐYAÀ64AÀÓYA@>64A`×YA@M64A@ØYAb64A ÙYAàx64AàÛYA@Œ64AÝYA ¢64A ÞYAà¹64AÀàYAÀË64A@âYAÀë64AæYA þ64AéYA74A€êYAð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¸~ 84A ÂYA g84A áYAÀ&84A@ÇYA€#84A ÊYA 84AÀÌYAÀ84A€ÏYA`84A ÒYA 84A€ÖYA 84A@ÙYAà84AÀÛYA"84AßYAà'84A@àYA`684AáYAà@84A áYAK84A àYAR84AàßYA T84AßYAàW84AÛYA@Y84A`×YA@]84A ÔYA@^84A€ÒYA``84A ÑYA`c84AàÐYA g84A`ÏYAà\84A@ÍYAàQ84AàÊYAÀK84A ÈYAÀB84AÅYA`784A ÂYA`-84A ÅYAÀ&84A@ÇYA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@¹~`’74A@ÊYA€å74A ßYA€å74A ßYA@å74A@ÞYAÀã74AÀÛYA à74A×YA`ß74A@ÔYAß74AÀÒYA`Ý74A€ÏYA€Û74AÀÎYAà×74AàÌYA€Ô74A ÊYAÀÌ74A@ÊYAàÁ74A ËYA·74A ÌYA`«74A@ÍYAŸ74AÀÎYA™74AÐYA”74A@ÒYAà’74AÀÓYA`’74A ÕYAÀ’74A€ÖYA`–74A@ØYAÀœ74AàÚYA  74A ÛYAà©74A@ÜYA ´74AÀÝYA`Â74A€ÞYA€Å74A ÞYAÀÈ74AàÞYA€å74A ßYA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@º A4A zYA€hC4A€ÞYAh ÕB4AàÜYAà×B4A ÝYAáB4A`ÞYA`ïB4A€ÞYAàôB4A`ÞYA`þB4A@ÞYA€C4A€ÝYAÀC4AàÚYA C4A ØYA C4A ÖYAÀ"C4A€ÔYA -C4A€ÑYA€1C4AÐYA8C4A€ÍYAà:C4A@ÌYAà4A@YAà™?4A ÝYAEà ?4AàÜYA€?4A ÝYAÀ?4A`ÜYA (?4AÀÛYA 0?4A`ÚYAÀ=?4A ÙYA N?4AàÖYA€[?4A`ÔYA j?4A`ÒYAÀt?4A ÐYA ‹?4AÀÍYAà™?4AÀËYAÀ™?4A ÉYA`”?4AàÆYA`?4AÆYAàƒ?4AàÄYAàt?4A`ÂYAo?4AÁYA f?4A`¿YA ^?4A ½YA X?4Aà»YA€P?4A@ºYA X?4Aà¸YA[?4A ·YAÀ`?4A µYAàg?4A€²YA j?4A °YA@o?4A«YA`^?4AÀ©YA R?4A`¨YA€B?4A€¦YA`3?4A¤YA '?4A ¡YA ?4A€ŸYA?4AÀœYA  ?4A@šYA ?4AÀ—YA ÿ>4A•YA@û>4A€“YA ö>4A@’YA€í>4AàYAàç>4A@YA@ç>4AàYAæ>4A`”YA`å>4A ˜YAã>4A žYA@â>4A@¡YAàá>4A€¥YAàá>4A`¨YA@ç>4AÀªYAà÷>4A`­YA@þ>4A@­YA€ ?4A`®YA ?4A ®YA ?4A®YA ?4A€¯YA@?4A€±YA`?4A€´YA?4A€¹YA ?4A€¼YA ?4Aà¿YA`?4A ÄYA?4A`ÈYA ?4A`ÌYAà ?4A`ÎYA@ ?4A ÔYA ?4A`ÖYA ?4A@ÚYAà ?4AàÜYA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@¼šàUI4AàŽYA€˜K4AØYAJ€˜K4A•YAÀƒI4AàŽYAÀ{I4A@‘YAÀtI4AÀ”YAÀnI4A –YA iI4AÀ—YA@eI4A@™YA ^I4A€œYA@YI4AŸYA VI4A¡YAàUI4A`¤YA€WI4A`§YAà[I4A «YA gI4A®YA zI4Aà±YA ‡I4A`´YA€šI4A ¶YAÀ©I4A`·YA€»I4A¸YA ÏI4A¹YAÀâI4Aà¸YA øI4A€¸YAJ4A`¸YA@J4A@ºYA J4Aà»YAJ4A ½YA !J4A ÀYAÀ"J4A@ÃYAà&J4AÀÆYA(J4A ÊYA (J4A@ÎYAà(J4AÑYA€*J4AàÓYA`-J4AàÕYA@64AàÂYAàB64AÂYA€M64AÀYAU64A ¾YAÀc64A ¼YA t64A€½YA€~64A€¾YA‰64A ¿YA`•64AàÀYAàœ64AÂYA`¤64A@ÃYA€±64AÅYA@¼64A ÆYA€Ç64A€ÆYA€Ó64AàÆYA`Ù64AÀÇYA é64A@ÉYAàñ64A@ÊYA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ÁæÀ<4Aà•YAú<4AÈYA;@/<4A —YA€.<4A›YA )<4AÀ YAÀ<4A ±YA &<4A`³YA@/<4A`µYA€9<4A`¸YA€A<4A@»YAÀC<4A¾YA€H<4A ÀYAÀQ<4A ÂYA@Z<4A`ÄYA`b<4A ÅYA n<4A`ÆYA z<4A€ÇYA €<4AÈYAÀ‹<4AÈYA–<4AÀÇYA@›<4A@ÆYA€ž<4A ÃYA€ <4A@ÂYA ª<4A ÁYA@´<4A€ÁYA¼<4A ÁYA@Â<4A`ÀYA€Ç<4A ¿YA`Í<4A ½YA Ñ<4A`¼YA Ô<4A»YA Ñ<4A`¸YAàÉ<4A ¶YA À<4A€´YA`»<4A ²YAÀ¶<4A °YA`´<4A€­YAà³<4A€«YA º<4AªYAÀÀ<4A©YAÀÊ<4A §YA`Õ<4Aà¥YA Ú<4A ¤YAÀß<4Aà¢YAàä<4A@¡YAàé<4A`ŸYA ï<4A YAÀó<4A`šYAà÷<4A ˜YAú<4Aà•YA@ó<4Aà•YA Ù<4A`–YA@Â<4A—YA ·<4A—YA ¤<4A€–YAŒ<4AÀ–YA@<4A –YAÀf<4A—YAU<4A –YA€9<4A —YA@/<4A —YA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Âê R74AÀ©YAÀÄ74A ÄYA&€{74A ÄYA74AàÃYA ”74A ÃYA`ž74A`ÃYA€¨74AàÂYA@´74AÂYA€¾74A ÁYAÀÄ74A ÂYAÀ¾74A ¿YA ¸74A`½YA`²74AàºYA ­74A@¹YA`¥74A·YA`Ÿ74A`µYA`˜74A³YA –74A€²YAàŽ74A€°YA ‡74A®YAÀ‚74AÀ¬YA z74A@ªYA x74AÀ©YA t74A`ªYA`r74AàªYAÀo74A@­YA p74A@®YA n74A ¯YAÀj74A@²YAf74A µYA`e74A¶YAàb74A@¸YA b74A@ºYAÀ^74AàºYA R74Aà¾YAÀ\74A¿YA g74A€¿YAq74A@ÀYAz74A€ÁYA€{74A ÄYA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Úàç>4AÀ{YA`/@4A@¾YAJ@o?4A«YA@~?4AÀ¬YA€?4A@­YA`•?4A °YAà¤?4A ±YA€«?4A@²YAÀµ?4A ´YA¾?4AàµYAàÌ?4A¸YAØ?4A»YAä?4A ¾YA ï?4A@¾YAàø?4AÀ»YA`ü?4Aà¹YAÿ?4A¸YAÀ@4A µYAÀ@4A³YAÀ@4A€°YA`/@4A€«YA ,@4AÀªYA @4A «YAà@4AÀ«YA`@4A`«YA þ?4A ªYA î?4A@ªYA@ç?4A ©YAß?4A ¨YA`Ø?4A€§YA`Ò?4A¦YAàÌ?4A`£YAàÊ?4AÀ¡YA Æ?4AÀŸYA€¯?4A€ YA@›?4A€ŸYA?4A`œYA@€?4A ™YA€y?4A`˜YAq?4A–YA€k?4A “YA€\?4A‘YA X?4A YAS?4A ŽYA M?4A ŒYAÀ>?4AYAà5?4AÀŒYA /?4A@‹YA )?4A ‰YAà"?4A ‡YA`?4Aà„YA€?4A@‚YA€ ?4A@€YA€?4A€~YA þ>4A€|YA€ú>4AÀ{YAàð>4AÀ~YA€ì>4A`€YA ë>4A„YA ë>4AÀ†YA€ë>4A@‹YAàç>4A@YA€í>4AàYA ö>4A@’YA@û>4A€“YA ÿ>4A•YA ?4AÀ—YA  ?4A@šYA?4AÀœYA ?4A€ŸYA '?4A ¡YA`3?4A¤YA€B?4A€¦YA R?4A`¨YA`^?4AÀ©YA@o?4A«YA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Äž`@4A £YA@É@4A€³YA @É@4A€­YA@µ@4A £YA`@4AªYA@˜@4A€³YA@É@4A€­YAŽ@4AÀªYAà­@4A@¥YAàº@4Aà¨YA`˜@4A ±YAŽ@4AÀªYA@@@@@@@@@@@@Å^Ž@4A@¥YAàº@4A ±YAŽ@4AÀªYA`˜@4A ±YAàº@4Aà¨YAà­@4A@¥YAŽ@4AÀªYA@@@@@@@Æþ€ª54A`YAàW64A °YA=€/64A ªYA /64A ©YA264A`©YA764A€§YA 664A@¤YAÀ464A`¢YA@564A¡YA@764A€ŸYA€<64A@›YA`>64A€™YA`E64AÀ’YA€I64A€YA L64A€‹YAàN64Aà‰YA`R64AˆYAàW64Aà‡YA@S64A`YA@J64AÀYAà<64A‚YA@,64A€‚YA 64Aà‚YA` 64AÀƒYA€þ54A„YAñ54A@„YAÀæ54A`„YAÚ54A „YAË54Aà„YA`É54A…YA`Å54A…YA`Á54Aà„YA »54A…YA€µ54A …YA€ª54A`…YA«54A€‡YAÀ«54AŠYAà­54A@ŒYA ²54AàŽYA¹54A’YAÀ¼54A ”YAàÁ54A`•YA É54A`—YA@Î54A šYA€Ð54A`œYA`Ô54A ŸYA Õ54A€ YA ×54A£YA@Ú54A ¦YA Þ54A€¨YA á54AÀªYA â54AÀ«YAàç54A¯YAàì54A °YA õ54A°YA û54AÀ¯YA ÿ54A ¯YAà64A€¯YA 64A@¯YA64A`®YA@!64A`¬YA )64A «YA€/64A ªYA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ÇÒÀµ?4AÀYA 8@4AÀ«YA$ ,@4AÀªYA 8@4AÀ©YAÀ/@4Aà¦YA`@4AÀŸYAÀ@4A`›YAà@4A—YA ú?4A ‘YA ò?4AŽYA`é?4AÀ‰YA è?4A ‰YA€Þ?4A@ƒYAÀÚ?4AÀYAÖ?4AàƒYA`Ð?4AÀ†YA€Í?4AÀ‡YA`Æ?4A ‹YAà¿?4A YA@º?4A€YA ¶?4A€”YAÀµ?4A —YA·?4A™YA€½?4A@œYA€Ä?4AÀžYA Æ?4AÀŸYAàÊ?4AÀ¡YAàÌ?4A`£YA`Ò?4A¦YA`Ø?4A€§YAß?4A ¨YA@ç?4A ©YA î?4A@ªYA þ?4A ªYA`@4A`«YAà@4AÀ«YA @4A «YA ,@4AÀªYA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ÈÆ`é?4AÀ†YA @4AÀ©YA# 8@4AÀ©YA L@4A ¨YA@]@4A §YAàh@4A@¦YAàv@4AÀ¤YA@†@4AÀ¢YA @4A€¡YA‹@4A ŸYAà…@4A`žYA`}@4A€œYA€z@4AàšYA@t@4A`˜YA`l@4A`•YA€i@4AÀ“YA`e@4A@YAe@4AÀŽYAàe@4A ŒYA€e@4AÀŠYAd@4Aà‰YA S@4A€ŠYA /@4A€‹YA€,@4AÀ†YAà'@4AÀ†YA€@4A ‡YA` @4AˆYA€@4A ˆYA ü?4A€ˆYA`é?4AÀ‰YA ò?4AŽYA ú?4A ‘YAà@4A—YAÀ@4A`›YA`@4AÀŸYAÀ/@4Aà¦YA 8@4AÀ©YAð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ɾ`Ž64A ‰YAà|74A€¨YAMàl74A`¦YAq74A ¦YAàs74A ¤YA w74A¤YAà|74A`£YA |74Aà¡YA z74A  YA€x74AžYA v74A@›YA`r74A ™YAÀn74A —YAÀk74A`•YA@f74Aà’YAàc74AÀYA a74A`YAb74A ‹YA€`74A ‰YA`_74AàŠYAÀ[74A ŒYAÀU74A`YAR74A€ŽYA`K74A`YA€H74A`‘YAD74A ’YA`?74A“YA`<74A”YAà874A€•YA 574A€–YAà274A—YA /74A —YA@+74A@˜YA &74A ˜YA€"74A˜YAÀ74A –YA@74A@–YA€74A@•YA74A”YA 74A “YA74A€“YAÿ64A€“YAàê64A€•YAÀà64A€–YA Ø64A—YA`Ï64A —YA`Ä64A —YA¿64A ˜YA@º64A ˜YA`²64AÀ˜YAà¨64Aà˜YA ž64A@™YA@˜64A`™YA`”64A€™YA64A`šYA`Ž64A ›YAÀ“64A@YA ”64A`žYA —64A YA›64A  YA€¦64Aà¡YA`¯64A@¢YAàÀ64A ¢YA Í64A`¢YA@Û64A€¢YA ä64Aà¢YAÀí64A £YA ù64Aà£YA74AÀ¤YAà74A ¥YAà74Aà¦YAÀ%74A@§YA 274A §YA >74A@¨YAÀF74A€¨YAàM74A`¨YAÀ\74A€§YA d74A §YAàl74A`¦YA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Ên Z74A€YA€ç74A`£YA1€`74A ‰YAb74A ‹YA a74A`YAàc74AÀYA@f74Aà’YAÀk74A`•YAÀn74A —YA`r74A ™YA v74A@›YA€x74AžYA z74A  YA |74Aà¡YAà|74A`£YA €74A£YA‹74A¢YA`—74A` YA ¦74AŸYA´74A€YA€Ç74AÀ›YA`Õ74A`šYAÚ74A ™YAàà74A€˜YA€ç74Aà–YA`æ74A@’YAàß74A@YA€Ü74A@ŽYAàÏ74AŒYAÀÇ74A`‹YA»74A ‹YA@®74A‹YA ¢74A@ŠYA`•74A€ŠYAÀˆ74A ŠYA74A@ŠYA€t74A@‰YAàq74A€ˆYAÀf74A€…YA`a74A€ƒYAÀ\74AYA Z74A€YA`Z74AYA€[74A ‚YA€\74A`ƒYA`_74Aà„YA _74A †YA`74A@‡YA``74A ˆYA `74A ‰YA€`74A ‰YA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@˺Àa@4A€YA`Ò@4A€¡YA"d@4Aà‰YA€e@4AÀŠYAàe@4A ŒYAe@4AÀŽYA`e@4A@YA€i@4AÀ“YA`l@4A`•YA@t@4A`˜YA€z@4AàšYA`}@4A€œYAà…@4A`žYA‹@4A ŸYA @4A€¡YA€™@4A@ YAÀ¨@4AžYA`·@4A œYA Â@4AÀšYAÏ@4A ˜YA`Ò@4A–YA Ð@4A€“YA€É@4A€YA`À@4A@‹YA`¹@4Aà…YA`®@4A€YA`ª@4A`€YA€Œ@4AàYA ‡@4A`‚YA€z@4Aà‚YA€o@4A`ƒYA@i@4AàƒYA b@4A`„YAÀa@4A …YA b@4A‰YAd@4Aà‰YA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Ìö ;?4A pYAÀÚ?4A€ YA' M?4A ŒYAS?4A ŽYA X?4A YA€\?4A‘YA€k?4A “YAq?4A–YA€y?4A`˜YA@€?4A ™YA?4A`œYA@›?4A€ŸYA€¯?4A€ YA Æ?4AÀŸYA€Ä?4AÀžYA€½?4A@œYA·?4A™YAÀµ?4A —YA ¶?4A€”YA@º?4A€YAà¿?4A YA`Æ?4A ‹YA€Í?4AÀ‡YA`Ð?4AÀ†YAÖ?4AàƒYAÀÚ?4AÀYA€Í?4A@|YAÀÆ?4AàwYA@¼?4AtYA`³?4AàqYA E?4A pYA @?4A€qYA ;?4A`uYA€A?4A yYA F?4AÀ}YA G?4AàYA`I?4A@‚YA@J?4A@…YA`M?4Aà‡YAN?4A@ŠYA M?4A ŒYA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Ír /54A@kYA …54A  YA /54AœYA€:54A žYA C54A`ŸYA€P54A  YAàZ54A YA€_54A€ŸYA€a54A žYA€h54A€šYA m54A —YA`o54AÀ“YAàq54AàYAx54A YA@z54A ‰YA@€54A …YA …54A YA`„54A€YA ƒ54A ~YA|54A {YA@t54AyYA€k54A@vYA`a54AtYAàW54A qYA€T54AàpYA€G54AàoYA€A54A@nYA`754A@lYA 054A@kYA /54AœYA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ÎâÀ“:4A`YAà:<4AàYAP@/<4A —YA@1<4A “YA`2<4A’YA8<4AYAà:<4AŽYA`"<4A ŽYA <4A ŒYA <4A@‹YA@ú;4A€ŠYAÀê;4A@‰YAá;4A€ˆYAàÕ;4A ˆYA`È;4AÀˆYAÀº;4A`ˆYA€¬;4A ˆYA Ÿ;4A@‰YA ˜;4AÀ‰YAÀˆ;4A ‹YAÀy;4A@ŒYA€l;4A YAà[;4A€YA€Q;4A YAàC;4A@YAÀ7;4A€ŒYAÀ*;4A ‹YA`!;4A ‰YA`;4Aà‡YA`;4A@†YA@ ;4AÀƒYA ;4A ‚YAý:4A€YAàõ:4A`YAÀì:4AƒYA è:4A ƒYA â:4A…YAä:4Aà…YA è:4A`ˆYA@í:4AÀŠYA ì:4A@ŒYA ã:4A€YAÀÛ:4A YA Ó:4A`ŽYA@Ë:4AÀŽYAÀÁ:4A ŽYA@¸:4AàŽYA€²:4A ŽYA`¥:4AÀŒYAš:4AŒYA€”:4A ŒYAà”:4A€YAÀ“:4A€YA ”:4AàYA —:4A’YAÀ™:4A”YA :4A€–YAàŸ:4A@™YAÀ«:4AÀ›YA`·:4A`YA½:4AàYA`Ç:4A YAàÐ:4A YA@Û:4AàYA å:4AàYA€ð:4AàœYAþ:4A€œYA@;4A œYA€;4A`›YA ";4A›YAÀ.;4A šYA@9;4AÀšYA@D;4A šYA T;4A€šYA€b;4A@šYAàœ;4A€˜YA Ä;4A`˜YA@å;4A˜YAàù;4A˜YAà<4A —YA`<4A`—YA@/<4A —YA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Ï2@/<4A€gYA€=4A —YA,@/<4A —YA€9<4A —YAU<4A –YAÀf<4A—YA@<4A –YAŒ<4AÀ–YA ¤<4A€–YA ·<4A—YA@Â<4A—YA Ù<4A`–YA@ó<4Aà•YAú<4Aà•YA ü<4A`’YA =4A YA€=4A@ŽYA`=4A ŒYA î<4AÀYAç<4Aà|YAàå<4AyYA ä<4A€rYA ä<4A kYAàä<4A€iYA@7<4A€gYA€5<4A kYAÀ:<4AàlYA@F<4A nYA S<4A€pYA X<4A qYA€Z<4A€uYA€Z<4A€xYA€Z<4AÀ{YA€Y<4Aà}YAÀW<4AàYAÀV<4A ‚YAT<4AÀƒYA@Q<4A …YA`M<4A ˆYA`G<4A ŠYA€><4A ŒYAà:<4AŽYA8<4AYA`2<4A’YA@1<4A “YA@/<4A —YA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ЂÀ§H4A@ŒYA æH4A`‘YA æH4AYAÀ§H4A@ŒYA@¯H4A€ŽYA@´H4A`YA@ÆH4A`‘YAÓH4A@‘YAÀäH4A@YA æH4AYA@@@@@@@@@@Ñ ä<4A€iYAÀß=4A@ŽYA€=4A@ŽYA@=4AÀŒYAÀ=4AÀ‹YA€*=4A‹YA`5=4A ŠYAÀg=4AˆYAÀÙ=4AÀ…YA ß=4AàYAÞ=4AÀ}YAÀß=4A`xYAÀ×=4A`rYA Ï=4AÀlYA Î=4A@lYAàä<4A€iYA ä<4A kYA ä<4A€rYAàå<4AyYAç<4Aà|YA î<4AÀYA`=4A ŒYA€=4A@ŽYA@@@@@@@@@@@@@@@@@@@@@@@Ò²À(@4A ~YAd@4A€‹YA €,@4AÀ†YA /@4A€‹YA S@4A€ŠYAd@4Aà‰YA b@4A‰YAÀa@4A …YA b@4A`„YA`]@4A`YA`W@4AÀYA`P@4A ~YAÀ(@4AÀ€YA€,@4AÀ†YA@@@@@@@@@@@@@@Ó6`³?4AàqYA`P@4AÀ‰YA`é?4AÀ‰YA ü?4A€ˆYA€@4A ˆYA` @4AˆYA€@4A ‡YAà'@4AÀ†YA€,@4AÀ†YAÀ(@4AÀ€YA`P@4A ~YA L@4A ~YAÀ>@4AÀ|YAÀ/@4A@zYA #@4A xYA€@4A@uYAÀ@4AsYA`³?4AàqYA@¼?4AtYAÀÆ?4AàwYA€Í?4A@|YAÀÚ?4AÀYA€Þ?4A@ƒYA è?4A ‰YA`é?4AÀ‰YAð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ôn@R64AdYA@É64A@‰YA1@S64A`YAàW64Aà‡YAÀ\64A`ˆYA@k64A‰YAÀm64A@‰YA x64A@‰YA }64A@‰YA‹64A`ˆYAÀŽ64AÀ‡YA€’64A †YA š64A€…YAà¢64A`‚YA@©64A YA¬64A@~YA®64A |YA ¯64A{YA@³64A€xYA`·64A vYA ¸64AàtYA`Á64AÀtYA@É64A`tYAàÀ64AsYAÀ¸64A rYAà®64AàpYA`£64A€oYA —64A€mYA@64AàkYAÀ‡64A€jYA@64AàhYA x64AÀgYA€o64A fYAÀ`64A dYA[64AdYAÀW64AdYA T64A@eYA€U64A`gYA€V64A@hYA@X64AÀkYA`X64A lYA€X64A€oYAY64A€qYA Y64A sYA`Y64A uYA W64A@yYA V64A@{YA€R64Aà|YA@R64Aà~YAÀR64Aà€YA@S64A`YA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ÕÀ@4AsYA`®@4A`„YA b@4A`„YA@i@4AàƒYA€o@4A`ƒYA€z@4Aà‚YA ‡@4A`‚YA€Œ@4AàYA`ª@4A`€YA`®@4A€YA ¦@4A€|YA @4AàxYAÀ™@4A€tYAÀ@4AsYA€@4A@uYA #@4A xYAÀ/@4A@zYAÀ>@4AÀ|YA L@4A ~YA`P@4A ~YA`W@4AÀYA`]@4A`YA b@4A`„YA@@@@@@@@@@@@@@@@@@@@@@@Ö6àjA4AàvYA@‚B4A YA`‘A4A YA@¢A4Aà~YAÀ¯A4A`~YA`ÀA4A ~YAÀÍA4A }YA`ÚA4A`}YA@òA4A }YA B4A }YAÀB4AÀ}YA &B4A`}YA`,B4A@}YA:B4A`}YAÀFB4A }YA€PB4A@~YAàZB4A@~YA iB4A }YAzB4A {YAà€B4A€zYA@‚B4A zYAàjA4AàvYA ƒA4A`{YAàA4A ~YA`‘A4A YA@@@@@@@@@@@@@@@@@@@@@@@@@×^ Ï64A@uYA æ64A`xYA`å64A`xYA æ64AàvYA Ù64A vYA Ï64A@uYA`å64A`xYA@@@@@@@ØúÀA;4A dYAàÿ;4AÀvYAàÿ;4AàfYAÀA;4A dYA@N;4AàfYA^;4A@iYAÀi;4A€kYA q;4AàmYA€y;4AàpYA ;4A€tYAÀž;4AvYAà¶;4AÀvYA`Ã;4A vYA Ô;4AuYA à;4A`sYA€ê;4A€pYAàð;4AÀmYA`÷;4A@kYA ý;4A gYAàÿ;4AàfYA@@@@@@@@@@@@@@@@@@@@ÙN`†64A€VYA@Ï64AàgYA¯64AWYA`†64A€VYAÀ†64A@XYA€‡64A@[YA‹64Aà^YA Ž64A aYAà‘64AÀcYA ˜64A@eYA@Ÿ64A@fYA ¤64AÀfYA ¬64AgYA ²64A gYA@¸64A gYAÀ¾64AàgYA@Ä64AÀgYAË64A fYA Í64AeYA Î64A@cYA@Ï64A`aYA@Ì64A _YAàÄ64A@^YAÀ¼64A`]YAÀµ64A [YAÀ²64AYYA¯64AWYA@@@@@@@@@@@@@@@@@@@@@@@@@@@shapelib-1.6.1/tests/shape_eg_data/3dpoints.shx0000664000175000017500000000042414573117335016437 00000000000000' Rè ºíSùÊN À5ümSQã¿?^sôÙ'@>ñ9SË%@2DVhz??°ÂÔæø .@Rdv^s¬shapelib-1.6.1/tests/shape_eg_data/CoHI_GCS12.sbx0000664000175000017500000000020414600371435016275 00000000000000' ÿÿþpBÀdÈßÿÿñ@2êßŽŽ ÀcYænÉâ7@6;±th—2 BJVshapelib-1.6.1/tests/shape_eg_data/multipatch.shx0000664000175000017500000000015414573117335017046 00000000000000' 6è$@ @$@ÿÿÿÿÿÿïÿÿÿÿÿÿÿïÿ2¾shapelib-1.6.1/tests/shape_eg_data/masspntz.shp0000664000175000017500000007140014573117335016545 00000000000000' 9€è {®ÑXA{®ÇG0>A®GázÀXA= ×ã)5>A ®GáúÎXAö(\¶4>Aˆº@ é‡@ = ×3ßXAHáz”¡4>A†« ®+ˆ@ ¤p=*…XAq= ‘1>A \íŒ@ ®Gá\XAìQ¸ž 2>A!ê>)4@ PAXA)\ÂJ2>AzTüßQ¬Œ@ q= ŸXA¤p=ÊÔ0>AðŠàë%‹@ ázΉXAìQ¸^ 5>A˜//À5‰@ {®çˆXA\Âõ©4>AfÁÄ…g‰@  Âõ(,XA\µ5>A \¥ˆ@  = ×¼XAÝ2>AxEð¿õ’†@  ¸…+«XA{®Ç4>A’‰@  ÜXA= ×ã)5>Aî{Ô_”ˆ@  Âõ˜äXAš™™Y5>AhÐÐ?ázˆ@ ¸…KÝXA)\ÂO4>ABÎûÿ( @ …ëQxÕXA®Gá:{4>AŠÉ`f@ áz¾îXAR¸…,4>Aˆº@ …@ ¤p=êäXAö(\l4>AŠÉ`fX@ …ë±ÝXAfffæ²4>AP@ ÂõÙXA333ó5>AðŠàëC@ ázNåXAÃõ(ÜÞ4>AhÐÐ?ႎ@ ÍÌÌÜíXA…ëQø‡4>A˜//À“Ž@ \ÂuûXAö(\J4>AhÐÐ?ᬎ@ ¤p=*XAq= W=4>Au€¼Ž@ ázN$XA…ëQø74>Au€¼Ž@ 333ó÷XA®Ga‹4>AþðóߣŽ@ ¤p=šïXA{®‡Ó4>Au€è@ áz.÷XAÍÌÌ 5>AzTüßQ‚@ 333³XAHázT 5>AzTüßQøŒ@ ÂõXXA®GáË4>AìlÈ?35@ R¸åXA333s“4>AfÁÄ…e@ 333#XA ×£°€4>A˜//À@  ¸…ë+XA)\l4>AŽ@! Âõ3XA¸…+’4>A \C@" ¤p=ºXA)\‚ 4>Av6䟙@# ×£pÍXA¸…k³4>Aþðóߣތ@$ Âõ(6XA¤p=Êà4>A \9Œ@% …ë‘#XA= ×#å4>Au€(Œ@& ÍÌÌ,XAR¸E5>Aò™ìŸGŒ@' ×£p]$XAR¸Å&5>AŠÉ`fš‹@( ×£p*XA…ë‘5>A“7À̬‹@) ÍÌÌÜ9XAáz® 5>At'Ø=v‹@* R¸E5XA= ×#)5>A˜//À‹@+ ö(\¿HXA×£pý!5>AfÁÄ…‹@, R¸%YXAfffæ5>Aî{Ô_èŠ@- •XAš™™™ü4>A“7ÀÌn‰@. …ëÁ”XA333s¥4>Aò™ìŸGƒ‰@/ 0“XA)\]4>AxEð¿õ†‰@0 \ÂeŒXA{®G,4>Aþðóߣԉ@1 ®GáZ†XAö(\z4>A \ω@2 …둆XAš™™¿4>AhÐÐ?áä‰@3 ÂõXXA×£p=ó4>AfÁÄ…ç‰@4 àuXA®Gá5>Aˆº@ é‰@5 ¤p=JyXA{®Ý4>A<Š@6 ®Gáê}XA®Gá‰4>AìlÈ?3AŠ@7 )\"‚XAìQ¸žL4>AŠÉ`fPŠ@8 ¸…Û€XAáz. 4>AŒØ'€ÂWŠ@9 q= ÷€XA×£p½â3>AðŠàëoŠ@: …ëñsXA®Gáºð3>A„+ påŠ@; Ãõ(Au€ôŠ@< ×£p½iXA ×£°š4>AþðóߣôŠ@= \ÂõaXA®Gáà4>Au€ôŠ@> ®GáºVXAÃõ( 5>AzTüßQøŠ@? ázŽMXA×£pýé4>Aˆº@ ‹@@ ×£`\XA®Ga¯4>Af`¸¶‹@A ázÎaXA]4>At'Ø=¶‹@B Ãõ(Aˆº@ ½‹@C ¤p= [XAR¸&4>A“7ÀÌLŒ@D = ×VXAÃõ(\q4>AŠÉ`fDŒ@E R¸5GXAš™™Yº4>Aò™ìŸGAŒ@F pDXA®G¡‡4>AìlÈ?3ÕŒ@G ¤p=ŠQXAÍÌÌ 4>AŒØ'€ÂõŒ@H …ëQ¸AXAìQ¸54>AxEð¿õÄ@I )\R®XAR¸E 5>Aˆº@ Óˆ@J {®Ç¼XA= ×ãã4>AðŠà뛈@K 333²XA ×£ð¼4>Aš>;àz¼ˆ@L Âõ¨°XAffffæ4>Aþðóߣàˆ@M \ÂE£XA ×£0ß4>AhÐÐ?á$‰@N ázÎÏXAÃõ(ܳ4>AhÐÐ?áð‡@O Ãõ(œÛXA¤p=J½4>AðŠàëˆ@P {®gÙXA×£p½š4>A \ˆ@Q ×£p]ÒXA®Gáú„4>Aþðóߣ@ˆ@R q= 'ÅXA{®Ç4>AðŠàëeˆ@S HázÖXAìQ¸žD4>AhÐÐ?áZˆ@T q= ×ÈXA…ëQ8r4>AßÁÿÖˆ@U …ëñ¶XA¤p=JŒ4>Aî{Ô_´ˆ@V ¸…ÛÖXAHázÞ3>AŠÉ`fpˆ@W R¸ÅËXAö(\Ï,4>Aš>;àz’ˆ@X ÀXAÃõ(œi4>A \ň@Y ázn¥XA¤p=J4>AÞˆ@Z ázÞ¯XA= ×cY4>A˜//À‰@[ ázþºXA¤p= %4>AfÁÄ…‰@\ Ház4ÃXAq= WÊ3>AßÁÿÖ#‰@] …ëQH±XAš™™Yä3>Aš>;àzœ‰@^ ®GáÊ£XAfffæ4>Af`¸–‰@_ …ëQ(žXA\Â5Û3>A„+ pŠ@` ¤p=ºÒXA¸…k 4>AŠÉ`fe@a àÕXA®Gáúä3>A†« ®e@b {®ÑXA…ëQT3>Aî{Ô_°@c ðÑXA…ëQx3>A \@d ¤p=ºâXA®G¡ã3>Au€4@e HázäåXA¡3>Aò™ìŸG@f ¤p=jßXA{®Ç3>A @g 3333öXAš™™ä3>A„+ pÍ@h )\â÷XA ×£ð°3>Au€Æ@i 0ùXA333s†3>Au€Æ@j \Â…XAÍÌÌ 3>A“7ÀÌÊ@k \ÂÕXA…ëQ¸Ç3>Af`¸È@l R¸ÕXA{®‡î3>Aî{Ô_Æ@m q= ×XAÍÌÌL¼3>AŒØ'€Â¿@n ¤p=ºXA×£p=á3>Au€|@o {®'XA)\œ3>Av6䟙{@p ÂõHXA3333e3>AŠÉ`fb@q ®GáÊ XAHázÔR3>Av6䟙g@r …ëAüXA…ëQ8N3>A„+ pY@s …ëQxíXA)\BM3>AzTüßQV@t ÂõhÞXA)\I3>Aò™ìŸGU@u ×£pMÛXAfffæ3>Af`¸ôŽ@v q= wîXA®Gáú3>AfÁÄ…ÛŽ@w q= 'XA®Gáú3>AhÐÐ?áâŽ@x …ë± XA= ×c3>AðŠàëíŽ@y HázDXA<3>Af`¸ôŽ@z 333³(XAR¸EH3>AðŠàë@{ ×£@.XAš™™Ye3>A!ê>)þŽ@| 333.XAÍÌÌLÇ3>Au€ÜŽ@} ×£Ð!XAÍÌÌÌè2>Aî{Ô_pŽ@~ ®GájXAq= ×Ö2>AhÐÐ?á8Ž@ ¤p=úXAHázÔÝ2>A†« ®)Ž@€ ¤p=ÚìXA\ÂuÛ2>A˜//À3Ž@ Ház4ÞXA ×£°â2>Aî{Ô_|Ž@‚ ×£pí;XAš™™Ùÿ3>A„+ pCŽ@ƒ ¤p=Ú7XAö(\O´3>A˜//À=Ž@„ 333£<XA®Gáº3>A!ê>)4Ž@… ðBXA×£p=K3>AŠÉ`fNŽ@† ×£pÍ5XA€33>Aš>;àzÄŽ@‡ Ház´;XAHázÔ 3>AhÐÐ?áBŽ@ˆ q= Ç0XAR¸õ2>A!ê>)HŽ@‰ …ëQ¨2XAÀÁ2>Af`¸”@Š Ãõ(lQXA¤p=Êð2>AìlÈ?3@‹ ðWXAq= #3>Aî{Ô_|@Œ ÂõÈWXAìQ¸^X3>AßÁÿÖw@ ázžQXA)\Â3>A˜//À)@Ž ÍÌÌ\NXAö(\Å3>AþðóߣþŒ@ ×£\XAázn€3>Aˆº@ ½Œ@ 333£fXAö(\Q3>Aî{Ô_æŒ@‘ ¸…{hXA{®G3>AðŠàëùŒ@’ 333ã]XA…ëQxå2>A˜//ÀóŒ@“ ÍÌ̬UXAq= ׸2>A“7ÀÌöŒ@” ¸… hXA€²2>Aˆº@ }Œ@• )\"sXA¤p=Jã2>Aš>;àzzŒ@– {®'|XA= ×£3>Aš>;àzzŒ@— )\²ƒXA…ëQ¸<3>AŒ@˜ ÂõØXA333³S3>A \ƒŒ@™ 333uXAÂõ(k3>Aš>;àzFŒ@š ö(\¿pXAš™™…3>At'Ø=Œ@› …ëQ¨jXA¤p=ʲ3>AxEð¿õ‹@œ )\"ƒXA\Â5§3>Aò™ìŸGM‹@ 333sŽXA¸…«o3>A \ Œ@ž ×£p]“XA ×£°B3>Aî{Ô_Œ@Ÿ ÍÌÌÜ‹XA×£p= 3>AzTüßQ"Œ@  €ˆXA= ×cÕ2>Aˆº@ Ç‹@¡ Ãõ(L•XAÃõ(\ô2>Au€¨‹@¢ Âõh¡XAHázT 3>Aî{Ô_œ‹@£ Âõ(XA…ëQøM3>A!ê>)”‹@¤ XAfff¦™3>A<‹@¥ ×£pͤXAÃõ(œ_3>Aˆº@ '‹@¦ Ãõ(,®XA®Gáº,3>Af`¸ ‹@§ …ëQ¬XAš™™Ùò2>AßÁÿÖ ‹@¨ q= 7ŸXA…ëQÍ2>Av6䟙ýŠ@© \”XA\Âõ›2>Aˆº@ óŠ@ª ö(\¯¦XA‹2>Aî{Ô_RŠ@« {®w±XAÃõ(³2>AþðóߣTŠ@¬ ázκXA)\Bã2>ARŠ@­ Ãõ(¬»XA…ëQ8-3>ARŠ@® ®Gáz¶XA)\^3>Au€>Š@¯ áz~¯XAHázT•3>A†« ®Š@° Ãõ(ŒÂXAR¸…Ž3>Aþðóߣ`‰@± ×£pýÇXA ×£pO3>A†« ®u‰@² Ãõ(<ÉXAázîî2>AhÐÐ?ᄉ@³ ×£°ÀXA{®¨2>AzTüßQމ@´ …ë!ÐXAÂõ(™2>Aèˆ@µ R¸åÔXA= ×#÷2>A˜//À ‰@¶ ÍÌÌüÒXA…ëÑQ3>A‰@· R¸…ÑXA{®Ç“3>AhÐÐ?áЈ@¸ ×£ðÛXAìQ¸žœ2>AßÁÿÖWŽ@¹ ÂõXÚXAÂõ(M2>AŒØ'€Â?Ž@º ®GáÊÓXAHáz”2>AðŠàëŽ@» …ë¡àXA¸…+Ñ1>AxEð¿õN@¼ ×£píXA= ×#2>A˜//ÀS@½ …ëÁôXAfff&p2>Av6䟙]@¾ ÂõØüXAR¸“2>Av6䟙g@¿ p XA{®Gƒ2>Af`¸j@À Âõ¸XA¤p=JL2>Af@Á ×£€XA×£p}2>AhÐÐ?áX@ ףpM%XAÃõ(ê1>A†« ®©Œ@à \ÂXA¤p=J2>AßÁÿÖÍŒ@Ä 333cXA¤p= A2>Aˆº@ çŒ@Å …ëQüXAš™™™:2>AæŒ@Æ ×£òXA\Âuö1>Aš>;àzÐŒ@Ç {®ÇëXA¤p=JÈ1>Af`¸ÀŒ@È …ëqæXAÍÌÌŒ•1>A!ê>)TŒ@É úXAHáz”Ð1>AðŠàë9Œ@Ê ö(\Ÿ XAq= —ä1>AfÁÄ…1Œ@Ë ×£p}XA×£pýÊ1>AfÁÄ…'Œ@Ì ®GáJ'XAö(\–1>AxEð¿õz‹@Í R¸EXAfff¦ 1>Aš>;àzf‹@Î …ëQ¸XAÂõè˜1>A!ê>)T‹@Ï …ëÁöXA{®v1>Aþðóߣ>‹@Ð ×£ XAÂõ¨n1>At'Ø=¢Š@Ñ …ëQH(XA…ëQ]1>A„+ p¥Š@Ò )\‚6XA ×£ðX1>Aš>;àzÆŠ@Ó q= ×JXAÃõ(T1>AŒØ'€Â÷Š@Ô = ×ccXAìQ¸ÞK1>Aˆº@ =‹@Õ ÂõètXAffffH1>Aš>;àz†‹@Ö Ház”XXAÃõ(œo1>A˜//ÀŸ‹@× ¤p=*BXA®G!Š1>AŠÉ`f®‹@Ø …ëQx3XAq= W 1>A†« ®É‹@Ù ×£p3XAË1>AßÁÿÖWŒ@Ú …ëÑGXAq= W¯1>AðŠàëcŒ@Û ö(\¯XXA¸…+œ1>A \cŒ@Ü 333ChXAìQ¸†1>AþðóߣŒ@Ý ¤p=jEXA®Gá:‰2>AŒØ'€Â«Œ@Þ …ëQ˜4XA®Gáº^2>Aò™ìŸG«Œ@ß …ëá9XAq= ×2>Aò™ìŸG«Œ@à ×£PXA¤p=J-2>Aò™ìŸG«Œ@á ¤p=Z_XAš™™™ï1>A†« ®ÿŒ@â \ÂaXA…ëQø 2>AfÁÄ…ÛŒ@ã  hXA ×£°Þ1>AðŠà빌@ä ¸…›hXA…ëÑ2>A¦Œ@å ÍÌÌA„+ pŒ@æ ×£àhXA€j2>AhÐÐ?á8Œ@ç \•oXAÍÌÌ 22>Af`¸JŒ@è )\b{XAÀþ1>Aš>;àzZŒ@é €|XAÃõ(\52>A„+ på‹@ê HáztxXA ×£pf2>AŠÉ`f΋@ë Ãõ(¼{XA×£pý¡2>AìlÈ?3Ë‹@ì …ëqÑXA)\‚M2>At'Ø=؈@í Ház4ÐXA…ëQx2>Aò™ìŸGM‰@î ¤p=êËXA\µD2>A„+ pQ‰@ï \Â¥ÄXAHáz”`2>Aþðóߣt‰@ð )\ÒÐXA×£p}Ø1>Aˆº@ ‰‰@ñ 333SÉXAÂõ(2>A˜//Àµ‰@ò {®×¿XA)\BM2>A˜//ÀÕ‰@ó …ëQh³XA¸…+X2>AfÁÄ…'Š@ô …ëÁ½XA\Â5"2>AxEð¿õ0Š@õ )\²ÀXA= ×£â1>AxEð¿õ0Š@ö )\rÉXA333s‹1>Aˆº@ 3Š@÷ …ë¡ÀXA3333<1>Aˆº@ Š@ø ¤p= ¼XAÂõh—1>AŠÉ`fºŠ@ù ÍÌÌì³XA®GáúÚ1>AìlÈ?3µŠ@ú = ׃¬XA…ë‘2>AhÐÐ?ᮊ@û = ×ã XA¸…ëM2>A \¯Š@ü )\Ò‘XA= ×ãU2>A \#‹@ý ÍÌÌ|XA×£p}2>AhÐÐ?á.‹@þ ¤p=j¨XA¤p=ÊÎ1>Av6䟙3‹@ÿ áz.²XAq= —‘1>AhÐÐ?á8‹@ \ÂÅ´XAHázTK1>AhÐÐ?á8‹@ q= Ç XAš™™ÙR1>Aþðóߣԋ@ à¢XA= ×c‰1>Af`¸ê‹@ ð—XA{®GÇ1>AhÐÐ?áî‹@ Házd‹XA®G¡2>Aò™ìŸGá‹@ {®W†XA×£pý·1>A„+ p™Œ@ áz‘XA ×£ð1>AhÐÐ?ᘌ@ `‰XA ×£p`1>AðŠàëoŒ@ ×£ÓXA{®GÍ0>Aš>;àz¼‰@  \Â%ÓXAHázT—0>Au€‰@  ¸…ëØXA…ë[0>AðŠàëeˆ@  …ë±(XA®G¡J0>AðŠàëQ‡@  {®§XA333ó]0>A \[‡@  q= ×XAš™™™h0>A \e‡@ ×£pýûXA…ëQ8I0>A \›‡@ ¤p=äXAÃõ(\W0>A“7À̈@ …ëQÈðXA…ëQt0>Aþðóߣ ˆ@ …ëÁûXA3333œ0>At'Ø="ˆ@ …ë¡ XAÒ0>Aˆº@ ˆ@ ¸…KXA\Âõ±0>AxEð¿õ&ˆ@ …ëQè-XAìQ¸Þ§0>At'Ø=8ˆ@ Ð/XAHázTÙ0>Aˆº@ Óˆ@ ÍÌÌlXA€ë0>Aþðóߣʈ@ ð XAö(\Oþ0>A†« ®Áˆ@ )\RXA{®‡1>Af`¸Âˆ@ 333söXAHázÔÓ0>AŒØ'€Â͈@ Ház”èXA×£pý­0>A“7ÀÌâˆ@ ×£píâXA)\Âá0>AfÁÄ…§‰@ ¸…;ñXAÃõ(\1>Aò™ìŸG­‰@ 333XA)\B/1>A“7ÀÌ¢‰@ )\âXA®G!+1>A!ê>) ‰@ Ð)XAR¸E1>A„+ p›‰@  R¸U+XAHáz”=1>A \CŠ@! ¸… òXAìQ¸^P1>AßÁÿÖÍŠ@" 333áXA)\B,1>AìlÈ?3ÕŠ@# q= GâXA¤p=JW1>Aî{Ô_|‹@$ )\bzXAÍÌÌŒ 1>A„+ p;‹@% \µ{XAq= —à0>AþðóߣªŠ@& ÍÌÌ,lXA×£p= 1>A„+ p¥Š@' ×£`ZXAÂõh+1>Av6䟙“Š@( ö(\ï6XAR¸…>1>Aš>;àzfŠ@) ×£p½QXA1>Aò™ìŸG-Š@* …ëQ¨hXA{®Çì0>A„+ pŠ@+ 333CwXA333ó­0>Aš>;àzŠ@, ¤p=ÚyXA…ëQøT0>Aü‰@- ¤p=šdXA…ëQ¸k0>Au€‰@. ázÎaXAìQ¸¢0>AxEð¿õ‰@/ ×£pÝPXA…ëQÎ0>AßÁÿÖ‰@0 …ë:XA…ëQ8â0>AxEð¿õ‰@1 R¸•7XA{®G±0>AßÁÿÖcˆ@2 q= ÇIXAìQ¸ž’0>A!ê>)Vˆ@3 \ÂESXA)\ÂO0>AxEð¿õFˆ@4 …ëQ¨:XA\Â5e0>A \¯‡@5 …ëQ8©XA€1>Aò™ìŸGM‹@6 Ãõ(\¹XAš™™™1>AìlÈ?3áŠ@7 )\’·XAìQ¸^ó0>AßÁÿÖãŠ@8 )\ÒÁXAö(\þ0>AŠÉ`f„Š@9 ázžXAÍÌÌ ú0>Au€H‹@: ®GáÚ„XA\µ1>Aˆº@ =‹@; ®GáÚŒXA…ë­0>AŠÉ`f‹@< €’XAHáz\0>A“7ÀÌ"‹@= Házt†XA¤p=Šv0>AfÁÄ…]Š@> ®Gá:–XA…ë©0>Av6䟙}‹@?  XA×£p}{0>Af`¸ª‹@@ 0ŸXA3333P0>AxEð¿õ°‹@A ¤p= ¯XA…ëQl0>A˜//À‰‹@B ®Gáz£XA…ëQx0>Af‹@C ¤p=ʲXA…ë‘°0>A“7ÀÌ,‹@D HázD½XAq= —®0>AhÐÐ?á‹@E ö(\ϹXA= ×cŽ0>Aî{Ô_<‹@F …ë¡ÇXAš™™Ùi0>AhÐÐ?áN‹@G 333CËXA®Gẗ0>AìlÈ?3ËŠ@H ÍÌÌ\ÑXA×£pýç0>A˜//ÀIŠ@I ×£ð¿XA ×£pø0>Aš>;àzœŠ@J …ëQø›XA{®G-1>AfÁÄ…‡‹@K ®GéXAfffæ5>AfÁÄ…}ˆ@L ®Gá õXA…ëQ5>Aþðóߣjˆ@M ÍÌÌœôXA3333ä4>AìlÈ?3Aˆ@N \Â%îXA)\‚é4>A„+ pQˆ@O ¤p=ŠëXA3333É4>A†« ®+ˆ@P ðôXAö(\¿4>A†« ®+ˆ@Q \Â%öXAÃõ(\4>Aî{Ô_è‡@R ¤p=éXA333sœ4>Aþðóߣà‡@S Ãõ(¼éXAÃõ(œ…4>A†« ®Ë‡@T ×£p}ñXA= ×#y4>A¾‡@U )\RõXAÍÌÌÌ[4>AìlÈ?3­‡@V àåXAR¸Åq4>A“7ÀÌî‡@W q= gïXA= ×£H4>A!ê>)Ö‡@X ®GázóXAR¸Å4>AhÐÐ?áć@Y Âõ¨ôXAq= —ø3>AßÁÿÖã‡@Z ÍÌÌìXA®G!4>A„+ pˆ@[ …ëçXAÍÌÌL04>Aˆ@\ …ëQxäXAö(\ 4>A \%ˆ@] )\òôXAìQ¸Ö3>Au€ê‡@^ Âõ¸ôXA×£p=3>Aš>;àzò‡@_ Ãõ(ÜïXA®Gá:¼3>AhÐÐ?áˆ@` áz~åXAìQ¸Ô3>Aþðóߣ*ˆ@a Ház¤éXA×£pý›3>Af`¸,ˆ@b ®GáŠëXA¸…+j3>AhÐÐ?á$ˆ@c ö(\ñXA®Gáú03>Af`¸"ˆ@d q= wòXAÃõ(\ü2>Aˆº@ )ˆ@e …ëQXïXA= ×£Å2>A†« ®5ˆ@f ö(\OæXAffff¨2>Aò™ìŸGCˆ@g q= ÷êXA×£p}Þ2>At'Ø=bˆ@h …ëQøêXA{®3>Au€^ˆ@i ÂõèXA×£p}>3>AxEð¿õ\ˆ@j …ëáXAö(\Ow3>Aš>;àz\ˆ@k š™™©áXA…ëQC3>Av6䟙‰ˆ@l Ház„äXA333s3>AŠÉ`fˆ@m \ÂEßXA…ëQ¸Á2>AŒØ'€Â—ˆ@n = ׳ÞXA×£p½ü2>Aˆº@ ½ˆ@o \Â5XA333óÌ3>A¨‡@p ö(\XA= ×ãŒ3>A¾‡@q ÍÌÌœXA)\‚>3>Aȇ@r 333ÃXAÃõ(\ï2>At'Ø=؇@s š™™ÙüXAq= פ2>Aþðóߣà‡@t Âõ¸öXAìQ¸^›2>A†« ®ˆ@u ö(\ŸyXA@K0>AhÐÐ?ᦆ@v Âõx‚XAHáz”i0>AzTüßQ¤†@w ×£pÍxXAÍÌÌLm0>AßÁÿÖ¥†@x Ãõ(hXAHázZ0>AßÁÿÖ™†@y …ëÁbXAÃõ(y0>Aò™ìŸGφ@z ÍÌÌÜlXAfff&0>Aò™ìŸGφ@{ {®WrXAR¸E¹0>AxEð¿õÒ†@| áz>mXAq= WÚ0>Aš>;àzÒ†@} q= fXAázn¶0>Aš>;àzÒ†@~ `ZXA×£p=Ÿ0>AŠÉ`fІ@ Ház¤WXA®G!¾0>A˜//Àˆ@€ R¸õ[XA¤p=Jë0>Aš>;àzȆ@ Ãõ(,QXAÍÌÌLÕ0>At'Ø=Ά@‚ …ëQÈIXA= ×ãû0>Aš>;àzÒ†@ƒ €TXA{®G 1>AhÐÐ?áІ@„ HázdVXA®G¡(1>A“7ÀÌΆ@… q= —]XA333óB1>Aò™ìŸGφ@† š™™É`XA333³1>Aò™ìŸGφ@‡ ®GáêuXAHázTå0>A \…†@ˆ …ëQ{XAš™™YÅ0>A~†@‰ )\’‹XAš™™Ù~0>AhÐÐ?á:†@Š q= —“XA= ×#X0>AhÐÐ?á:†@‹ ×£@WXA= ×ãe0>Au€*‡@Œ q= 'NXAázî›0>Au€*‡@ @CXA…ëQxÒ0>Av6䟙?‡@Ž ÐFXAR¸0>A!ê>)–‡@ ÍÌÌ|9XAÍÌÌÌý0>A“7ÀÌX‡@ …ëa1XA= ×£/1>Aš>;àzH‡@‘ ¤p=ºAXAš™™Y1>AzTüßQú†@’ š™™YFXA ×£pC1>At'Ø=‡@“ ®GáÊ<XA®G!61>Aþðóߣ‡@” š™™7XAáz.O1>At'Ø=‡@• …ëQˆ@XA¤p=Jo1>A†« ®‡@– {®·JXAš™™Y„1>Af`¸‡@— ö(\/OXA@m1>Af`¸‡@˜ = ×SCXAffff«1>At'Ø=B‡@™ HázT:XA®GaÒ1>Au€@‡@š ®GáŠ9XA\µ›1>Aò™ìŸG9‡@› HázT.XA×£pý¶1>Aþðóߣ6‡@œ š™™©0XA×£pýŠ1>AxEð¿õ2‡@ \Â…+XA…ëQ¸t1>AfÁÄ…3‡@ž q= W$XA@â1>AŒØ'€Âw‡@Ÿ 333C3XA\µ2>A!ê>)v‡@  {®§2XA)\ 2>Aš>;àzr‡@¡ ¸…‹*XA…ë 2>AzTüßQn‡@¢ = ×C"XA= ×c2>AŒØ'€Âm‡@£ )XAázn02>AxEð¿õf‡@¤ R¸,XAffffi2>AìlÈ?3Á‡@¥ = ×ã XA×£p=_2>At'Ø=‡@¦ q= ‡XA)\‚Q2>AxEð¿õƇ@§ @XA¸…kq2>A˜//Àˇ@¨ ¤p= XAHáz{2>A!ê>)À‡@© {®§&XAHázÔŒ2>AðŠà뻇@ª ÍÌÌœ!XAázî¢2>A¾‡@« \•XAìQ¸Þ”2>AfÁÄ…½‡@¬ = ×ÓXAö(\ÏŠ2>Av6䟙¿‡@­ Ãõ(,XAR¸Å´2>Af`¸â‡@® ®Gá XAö(\À2>Aþðóߣà‡@¯ ×£Ð#XAHázTÏ2>AìlÈ?3á‡@° p#XAR¸í2>A!ê>)à‡@± R¸¥XAÃõ(\Ý2>Av6䟙߇@² À XA3333Ï2>A†« ®á‡@³ {®G XA®Ga3>AzTüßQä‡@´ ¸…‹XA ×£ðù2>Aî{Ô_Þ‡@µ ®GáÊXAÂõè3>AðŠàëÛ‡@¶ @XA¸…ë=3>AßÁÿÖˆ@· š™™©XA ×£ð93>AhÐÐ?áˆ@¸ Ãõ(üXA¸…k;3>A„+ pˆ@¹ R¸XA333ó`3>AðŠàëˆ@º ¤p=JXA®Ga^3>AhÐÐ?áˆ@» {®×XAìQ¸Þq3>AìlÈ?3ˆ@¼ \Â…XAÂõè‘3>AìlÈ?3ˆ@½ )\âXAq= Ž3>At'Ø=ˆ@¾ ö(\ŸXAö(\O®3>AŠÉ`fˆ@¿ q= §XAÍÌÌLÞ3>AŒØ'€ÂMˆ@À 333cXAö(\Ïß3>AðŠàëEˆ@Á …ëXAáz.4>A \Eˆ@ ÂõXA¸…«4>AhÐÐ?áDˆ@à {®gXAÂõ(,4>A>ˆ@Ä ®GaXAfffæ#4>Aš>;àz<ˆ@Å Ãõ(¼XA®GáºE4>A„+ p;ˆ@Æ ®GaXA×£p½t4>Aò™ìŸGcˆ@Ç …ë!XAìQ¸žu4>Aî{Ô_hˆ@È \ÂÕXAq= —›4>A“7ÀÌbˆ@É …ëQHXA{®Ç”4>A“7ÀÌbˆ@Ê XA€Æ4>AðŠàëeˆ@Ë R¸õXA®Gá:º4>AŠÉ`ffˆ@Ì ¸…[ XA{®Çä4>Aˆº@ iˆ@Í 0XAq= é4>Av6䟙iˆ@Î ázXA®Gá5>A \¯ˆ@Ï ö(\ï XAáz®5>AŒØ'€Â­ˆ@Ð )\XAR¸…×4>Aš>;àz2ˆ@Ñ ö(\_ XAÂõh«4>Aþðóߣ*ˆ@Ò ®Gñ XA…ëQt4>Av6䟙ˆ@Ó °XAìQ¸Þ†4>Aþðóߣê‡@Ô ÂõØXA\Âu^4>AzTüßQ¤‡@Õ …ëQ XA\Âõ34>Aò™ìŸG¹‡@Ö XA¸…kü3>A˜//Àˇ@× {®— XA ×£0Ç3>Au€ʇ@Ø q= 'XAázîä3>Aþðóߣª‡@Ù \ÂXA ×£pª3>Aˆº@ ¿‡@Ú …ëQXXA…ëÑo3>Af`¸Â‡@Û pXA\Â5b3>Af`¸Â‡@Ü …ëQèXA3333Ž3>AxEð¿õ܇@Ý )\ XAÃõ(œE3>Au€ê‡@Þ \ÂõXAfff¦#3>AzTüßQ·@ß š™™™XA\Âõõ2>Aò™ìŸGÙ‡@à \Â5ÿXAö(\Ò2>Af`¸â‡@á ®GázXA333³°2>AhÐÐ?áć@â q= ÷XA{®Çš2>A!ê>)ˆ@ã pïXAfff¦p2>A„+ p1ˆ@ä …ëQ8éXAÃõ(S2>Ahˆ@å ÂõèãXAš™™™42>Av6䟙Ÿˆ@æ HáztáXAq= —2>A \ψ@ç \ÂuÞXA3333ö1>A‰@è …ëQ(ÝXA®Gá:Ú1>AìlÈ?3K‰@é Âõ¸ÜXA…ëQ¸²1>A˜//À‰‰@ê {®÷ÚXA¸…«‡1>Aò™ìŸG·‰@ë …ëQˆØXA×£pýZ1>A†« ®ß‰@ì = ×cÖXA×£p}&1>AxEð¿õŠ@í …ë¡ÓXA\Âõï0>A˜//ÀIŠ@î \µXAHáz”ö1>Aš>;àz¼‡@ï q= ÇXAfff&¾1>AðŠà뱇@ð = ×Ó XA×£pý‘1>Aˆº@ ‰‡@ñ …ëQx$XAR¸…j1>AßÁÿÖy‡@ò {®GüXA)\d2>Aî{Ô_è‡@ó ö(\¯XAHázW2>Aò™ìŸGÙ‡@ô q= · XA{®GB2>AðŠà뻇@õ ®GáúXA…ëQ¸2>AhÐÐ?áÚ‡@ö áz.XAš™™#2>A†« ®ˆ@÷ ×£p½úXAHázT82>AðŠàëˆ@ø R¸åôXA333sJ2>A“7ÀÌ8ˆ@ù ÀòXAö(\Ï,2>AfÁÄ…]ˆ@ú …ëQhûXA¤p=Ê 2>Aˆº@ Iˆ@û ¸…›XA®Gáúè1>AßÁÿÖ/ˆ@ü …ëQ( XA= ×£¸1>Au€*ˆ@ý ázþXAÂõ(|1>A(ˆ@þ ®GáúXA¤p=ŠM1>A(ˆ@ÿ ö(\ÏXA= ×cR1>Aî{Ô_Ô‡@ ö(\ïXAš™™R1>Af`¸vˆ@ PXAÂõ¨1>Aš>;àzrˆ@ €XAÃõ(œ£1>AŠÉ`ffˆ@ ¤p=ÚúXA{®‡Ö1>Aþðóߣtˆ@ ðòXAÂõ(ý1>Av6䟙‰ˆ@ …ëQHìXA¸…+2>AìlÈ?3¡ˆ@ ¤p=ŠéXA…ëú1>AþðóߣԈ@ Ház4ðXA{®G¾1>A„+ pш@ `óXA®Gáú{1>A„+ pш@  = ׃ïXAR¸EN1>Av6䟙éˆ@  ×£@éXA®G!T1>A˜//À5‰@  …ëQ˜éXAázîƒ1>AŒØ'€Â7‰@  \•åXA)\Bµ1>Aò™ìŸGM‰@  333säXA…ëQøw1>A \o‰@ …ëQ¨àXA×£p}T1>A˜//À©‰@ q= ÷ÝXAÀ21>AfÁÄ…݉@ …ëaÜXAfff¦î0>A \ï‰@ R¸%ÛXA¸…+Ã0>Aš>;àzü‰@ Ãõ(×XAR¸EË0>AhÐÐ?áNŠ@ °äXAÍÌÌŒá0>Aò™ìŸGm‰@ ÐæXA®Gáz1>A„+ p[‰@ ×£p èXA¤p= 61>A†« ®5‰@ áz~îXA…ë‘61>A„+ pûˆ@ 𙙉îXAÂõ¨á0>AŠÉ`fúˆ@ ¤p=zóXAq= 1>Aò™ìŸGãˆ@ ¤p=:÷XAR¸'1>A \ň@ 333SõXA®Gáà0>AìlÈ?3Áˆ@ …ëQ¨õXA)\‚ª0>Au€‰@ R¸5ïXA333³®0>Af`¸@‰@ š™™©õXA{®‡†0>Aî{Ô_~‰@ …ëQìXAáz®0>AŠÉ`fš‰@ ö(\ßãXA{®G«0>AŠÉ`fĉ@  PöXA ×£pi0>Aò™ìŸG÷‰@! áz¾ëXAš™™Yq0>AzTüßQŠ@" š™™ÉÞXA{®Ç‘0>Av6䟙)Š@# ×£°åXA¤p=ŠV0>AþðóߣtŠ@$ = ×ÚXA)\By0>AßÁÿÖƒŠ@% ÍÌÌÜÒXA¤p=Ê“0>A†« ®ŸŠ@& ®GñÑXAR¸j0>AßÁÿÖãŠ@' š™™yÜXA{®ÇG0>AþðóߣôŠ@( \ÂUXA\µ(1>AzTüßQˆ@) 333ÃXAÀ1>A„+ pQˆ@* ×£pXAš™™Y1>A!ê>)`ˆ@+ …ëQ80XAáz.ð0>A“7ÀÌØ‡@, ö(\?&XA×£p½1>A \ï‡@- ö(\¿XAÃõ(\ú0>AßÁÿÖˆ@. …ëQè'XAö(\à0>A„+ p'ˆ@/ š™™y3XA®GáÆ0>Au€ˆ@0 {®g?XAÍÌÌÌ‹0>A„+ pˆ@1 …ë19XAÍÌÌL0>Af`¸lˆ@2 P1XA®Gáú¬0>At'Ø=lˆ@3 …ëQhXA)\´0>Aî{Ô_žˆ@4 ö(\?XAHázT³0>AðŠà믈@5 )\bXA)\‚Ã0>AþðóߣÀˆ@6 …ëQ¸XAq= ¢0>AfÁÄ…‰@7 {®×XA®Gá:0>AðŠàë‰@8 …ë‘(XA…ëÑu0>At'Ø=‰@9 ¤p=ú#XAHázO0>A“7ÀÌb‰@: ÍÌÌXAÍÌÌLg0>A†« ®k‰@; ÍÌÌìXA®Gá:x0>A„+ pq‰@< 333CXA ×£°U0>AhÐÐ?áĉ@= q= —¸XAÍÌÌŒ¹4>AŠÉ`f0‰@> q= ¶XA¸…ëê4>AìlÈ?3+‰@? {®gªXA¤p=Jð4>At'Ø=B‰@@ …ë¡©XAÃõ(À4>A„+ pE‰@A ®GáÚšXAö(\OÂ4>AŠÉ`fP‰@B ¤p=º˜XA®G¡ì4>AŒØ'€ÂM‰@C ö(\? XA®GẎ4>Aþðóߣ”‰@D )\R±XAq= —Œ4>A!ê>)–‰@E ×£pí©XA{®]4>A„+ p‘‰@F …ë™XA ×£°f4>Aî{Ô_’‰@G q= ·¡XA{®@4>Aˆº@ “‰@H R¸õ–XA3333,4>Au€”‰@I \Âå‹XAš™™V4>A†« ®•‰@J ö(\/ŒXA®G¡&4>Aþðóߣ”‰@K š™™ù€XA®Gá:(4>A!ê>)–‰@L Ãõ( €XAR¸E^4>A“7À̘‰@M \ÂuXA ×£0?4>A“7À̘‰@N ÍÌÌkXAR¸ÅT4>Aþðóߣ”‰@O ö(\¿gXAš™™Ù|4>AŒØ'€Â—‰@P ö(\OvXAáz.†4>Af`¸–‰@Q ®GáÊ{XAR¸Åë4>A˜//À?‰@R HáztXA333³Ì4>Af`¸@‰@S q= çrXA@ñ4>A„+ p;‰@T \•hXAR¸Åð4>At'Ø=,‰@U 333ãgXAö(\·4>A†« ®+‰@V …ëQ8_XA…ëQ8¼4>Au€4‰@W ázÎ_XAq= Wò4>A2‰@X {®‡WXAÃõ(Üì4>AxEð¿õðˆ@Y ×£àVXA€±4>AfÁÄ…çˆ@Z ÍÌÌœUXA¤p=J4>Aš>;àzÒˆ@[ 333£^XA®Gáºn4>AþðóߣJ‰@\ ×£`NXA…ëQxè4>Aˆº@ ©ˆ@] š™™ÙLXAìQ¸^½4>At'Ø=¢ˆ@^ …ë1EXAR¸ä4>AŠÉ`f¦ˆ@_ @XA= ×c¿4>Av6䟙©ˆ@` 333ƒ:XA\Â5Û4>Av6䟙©ˆ@a š™™I;XAö(\‰4>Au€tˆ@b Ház”;XAÃõ(ÜW4>A!ê>)vˆ@c ×£p-EXA)\BŠ4>AŒØ'€Âwˆ@d 3333HXA¸…k[4>A!ê>)vˆ@e …ëQxMXAš™™Yy4>AðŠàë{ˆ@f q= g9XAš™™™*4>A†« ®Aˆ@g p9XA…ëQøû3>A†« ®Aˆ@h 333cEXAÀ%4>AßÁÿÖCˆ@i ×£pDXAR¸Åú3>Aò™ìŸGCˆ@j …ëQ˜OXAR¸Eù3>AxEð¿õFˆ@k …ëQX:XAÀÎ3>A(ˆ@l …ëQè<XA ×£p3>A \/ˆ@m HázÔDXA¤p=ŠÅ3>AŠÉ`f0ˆ@n q= wJXAffff3>AßÁÿÖ/ˆ@o R¸µPXA®GáúÄ3>AxEð¿õ0ˆ@p ®GA=XA)\BV3>AðŠàëÛ‡@q )\AXA= ×c(3>AðŠàëÛ‡@r àHXA)\‚X3>Av6䟙߇@s …ëQ¸LXA¤p=Š43>Aî{Ô_Þ‡@t ¤p=ÚTXA)\Âb3>Av6䟙߇@u )\òVXA)\Â=3>Aˆº@ ߇@v {®'WXAìQ¸3>Av6䟙•‡@w ö(\?RXAÀ×2>A˜//À•‡@x )\ÂJXA®Gáö2>Au€”‡@y 333óDXAìQ¸Þ½2>A \‡@z )\â?XAÀæ2>Aˆº@ ‰‡@{ q= IXA…ëQ¸2>A \;‡@| ×£PPXA®GaN2>AzTüßQ:‡@} ®GáºSXAÍÌÌ ’2>Aš>;àz<‡@~ {®W[XAìQ¸Þg2>A>‡@ …ë!dXAR¸…82>AfÁÄ…é†@€ …ëjXAö(\ 2>Af`¸ì†@ 333_XA¸…ë 2>Af`¸ì†@‚ ®Gá:XXA¸…k 2>A˜//Àë†@ƒ Ð_XA)\á1>A˜//Àë†@„ R¸ÅvXA333sä1>Aò™ìŸG™†@… ®Gñ{XA)\B´1>Au€ †@† {®‡pXA ×£ðÉ1>A„+ p†@‡ {®‡uXA\Âõ£1>AhÐÐ?ᚆ@ˆ Âõ8kXA)\‚¡1>AðŠà뛆@‰ ¸…ËzXA¸…«^1>AhÐÐ?áP†@Š …ëQ†XA¤p= 31>AðŠàëQ†@‹ )\¢ŒXAÂõ¨R1>AðŠàëQ†@Œ …ëQÈ„XA…ëQ8y1>Aš>;àzR†@ {®‡˜XAÂõh91>A„+ p'†@Ž Házô£XAHázT1>Au€*†@ …ëQœXA{®‡ä0>Aî{Ô_*†@ ö(\¯”XA…ë1>A \%†@‘ áz>‘XA®Gá1>AhÐÐ?á&†@’ {®‡¡XA×£p=­0>A„+ pÝ…@“ ö(\®XAfffæ0>A \Û…@” Ãõ(ܲXA…ëQ¢0>Aš>;àzÞ…@• R¸«XAÍÌÌŒÌ0>A!ê>)â…@– 333S¹XA…ë¼0>AfÁÄ…ß…@— ×£p¿XA)\×0>AðŠàë±…@˜ ®G᪷XA{®G1>A!ê>)¬…@™ €»XA)\1>Aî{Ô_`…@š 333c³XA®GáC1>AßÁÿÖe…@› áz^¦XAÀs1>AðŠàëq…@œ ®G®XAš™™Y21>AzTüßQ°…@ š™™)£XAš™™e1>AxEð¿õ¼…@ž R¸e¨XA)\‚/1>AzTüßQð…@Ÿ Âõ˜žXA¤p=J]1>A \†@  ¸…«•XA= ×#‡1>Aî{Ô_ †@¡ À—XA¸…ëÃ1>Aò™ìŸG¯…@¢ Ãõ(Ì—XAq= —î1>A“7ÀÌ®…@£ {®Ç‘XAq= —2>Aˆº@ Õ…@¤ …ëaŠXAÃõ(œ+2>A˜//À †@¥ ®GáJŒXA…ëÑò1>Aˆº@ ÿ…@¦ pŽXA)\‚Ç1>Aî{Ô_†@§ ¸…«…XAö(\Ü1>Aš>;àzR†@¨ ö(\?~XAÂõ¨2>AßÁÿÖo†@© {®'~XAq= —"2>Af`¸X†@ª \µuXAÀ12>Af`¸x†@« š™™ùvXAfff&g2>AðŠàëQ†@¬ ×£poXA®GáúŒ2>Aˆº@ i†@­ …ëQÈgXA¸…«‰2>A˜//Àˆ@® ®GÑ_XA×£pý¡2>AzTüßQ‡@¯ š™™ cXAR¸…´2>AìlÈ?3͆@° {®gXA ×£pß2>AxEð¿õƆ@± Ãõ(œeXA333³3>Aî{Ô_‡@² Âõ¸^XAÃõ(Üä2>A \/‡@³ ®Ga_XAázn3>AfÁÄ…}‡@´ Ãõ(,aXA¤p=ŠA3>AhÐÐ?á‡@µ š™™y^XA®Gá:m3>AþðóߣÀ‡@¶ = ׳YXAÃõ(\ 3>AzTüßQú‡@· 333ó·XA…ë‘™1>Av6䟙•…@¸ {®'¯XA…ëQxÐ1>A \¥…@¹ Âõø¨XA®Gaù1>A!ê>)Ì…@º …ë¡XAffff!2>AðŠàëÑ…@» R¸¥™XAÃõ(\_2>AìlÈ?3#†@¼ ®G±•XA…ëч2>A„+ p]†@½ {®·“XA)\BØ2>Au€ †@¾ )\¢ŒXAq= WÉ2>A“7ÀÌŽ†@¿ Ãõ(,…XA¸…+±2>A!ê>)v†@À ®Gáú†XAq= Wò2>AhÐÐ?áÚ†@Á ö(\ŸŽXAR¸E3>Aè†@ R¸Å’XA{®$3>AßÁÿÖ/‡@à ¸…ËrXAÃõ(œà2>AŒØ'€ÂÆ@Ä {®×{XA333³þ2>At'Ø=‡@Å Ház„qXAìQ¸^3>AßÁÿÖ‡@Æ {®çmXA®Gá@3>Au€T‡@Ç = ×£{XAÂõ¨/3>Aò™ìŸGc‡@È Âõ˜ŠXAÃõ(œ.3>A„+ pg‡@É q= ·•XA®Gá:O3>Av6䟙‰‡@Ê 333ˆXAö(\ON3>Af`¸¬‡@Ë \Âe}XAq= —b3>AìlÈ?3Á‡@Ì …ëQØrXAáz.v3>Aò™ìŸGÇ@Í š™™ hXAìQ¸^’3>Aˆº@ Ó‡@Î ×£€`XA®G!«3>AðŠàëå‡@Ï ¸…k\XA®GáÓ3>At'Ø=ˆ@Ð ÍÌÌœkXAÍÌÌL±3>AxEð¿õˆ@Ñ ¸…[yXAÍÌÌÌ“3>AhÐÐ?á$ˆ@Ò ö(\χXAš™™YŒ3>Aþðóߣ ˆ@Ó \Âå’XA ×£0–3>Aò™ìŸGˆ@Ô ×£°œXA…ëQx™3>AzTüßQ$ˆ@Õ ¸…›§XA@˜3>A \ï‡@Ö ÍÌÌœ´XAR¸Ū3>Aš>;àzÒ‡@× ÍÌÌì´XA\ÂõÀ3>AŒØ'€ÂWˆ@Ø = ׃¦XAö(\ÏÃ3>A†« ®kˆ@Ù Âõ›XAÂõhÄ3>AfÁÄ…sˆ@Ú ¤p=ê‹XA)\¾3>AßÁÿÖƒˆ@Û ö(\ïyXA= ×#Ñ3>A \ˆ@Ü = ×lXAáznè3>At'Ø=˜ˆ@Ý Ãõ( _XA…ë 4>AhÐÐ?ᚈ@Þ Ãõ(\^XA…ëQø64>Au€‰@ß )\ÂnXA4>A2‰@à HázT}XAÃõ(\ù3>AìlÈ?3A‰@á Ãõ(Œ‹XA ×£°ö3>AßÁÿÖC‰@â ¸…ûšXAìQ¸^ü3>Aˆº@ 3‰@ã ö(\ÿ©XAR¸4>Aš>;àz2‰@ä \Â¥ºXAÃõ(œ>4>Aò™ìŸGC‰@å ®GázÀXA3333o4>A“7ÀÌB‰@æ \Â…¿XA×£p}4>Aˆº@ I‰@ç ×£p-¸XAö(\Ïl4>At'Ø=l‰@è ¸…›´XAHázI4>At'Ø=l‰@é Ãõ(̾XA333³g3>A†« ®á†@ê ÂõX¹XA ×£°g3>A \Û†@ë ÍÌ̾XA…ëQø33>AßÁÿÖÙ†@ì ®G!·XAš™™™"3>AfÁÄ…³†@í Âõ¸±XAö(\ÏT3>AfÁÄ…³†@î {®w©XA333s93>A´†@ï ×£±XAHázÔ3>Aî{Ô_´†@ð \ÂÅ®XA@ÿ2>Av6䟙Ÿ†@ñ ¸…[¢XA®G!+3>Aþðóߣ †@ò š™™¹XA®Ga3>AŒØ'€Â£†@ó = ×çXAáz®û2>A!ê>)¢†@ô Ãõ(Ü«XAfff&Ñ2>AŒØ'€Â†@õ š™™YœXA\Â5Ý2>AhÐÐ?á†@ö ÂõÈXA333³²2>At'Ø=ކ@÷ Ãõ(¨XAš™™™Ã2>AßÁÿÖ†@ø = ×#¯XA®G!¢2>A†« ®†@ù ×£pÝŸXAÂõè‘2>AxEð¿õ’†@ú ö(\£XA= ×£x2>AŠÉ`f††@û ×£ð±XA…ëQ“2>AßÁÿÖ…†@ü ¤p=*·XA\µy2>Aˆº@ _†@ý ö(\¯©XAfff¦`2>Av6䟙_†@þ q= '¬XAö(\L2>A^†@ÿ ÍÌÌ ¹XAHázTc2>AxEð¿õ\†@ = ×S½XA¤p=ÊD2>Aî{Ô_*†@ ö(\/¯XA= ×#+2>Au€*†@ \ÂÕ±XAÃõ(2>Aî{Ô_*†@ R¸µ¿XA)\‚)2>Av6䟙+†@ ö(\?·XAš™™Ùð1>At'Ø=ø…@ ÍÌÌìºXAR¸EÏ1>AzTüßQú…@ 333ó¿XA®G¡º1>Aš>;àzÒ…@ ®GáÚSXAL0>A‚‡@ = ×#UXAL0>A \‡@  {®§VXAL0>AŒØ'€Â‡@  …ëqYXAL0>Aò™ìŸG]‡@  ¤p=Ê\XAL0>A!ê>)8‡@  {®ÇaXAL0>AzTüßQò†@  ¤p=ÊcXAL0>AhÐÐ?áΆ@ š™™ùgXAL0>Aœ†@ = ×cjXAL0>A˜//À›†@ ×£pímXAL0>AŒØ'€Â™†@ …ëanXAL0>Au€š†@ q= ‡nXAL0>AŠÉ`fš†@ )\‚qXAL0>A!ê>)ž†@ ö(\yXAL0>AxEð¿õ¦†@ ö(\?{XAL0>AzTüßQ¦†@ 333“€XAL0>Av6䟙Ÿ†@ @‚XAL0>AzTüßQ˜†@ )\ƒXAL0>Af`¸”†@ 333„XAL0>Af`¸”†@ ×£ ‡XAL0>Au€’†@ )\BˆXAL0>AðŠà둆@ š™™ùˆXAL0>A \‘†@ \Â%‰XAL0>A˜//À‘†@ š™™¹XAL0>Au€†@ fff6“XAL0>AxEð¿õp†@  HázÄšXAL0>Aš>;àz†@! HázŸXAL0>At'Ø=Ø…@" )\âŸXAL0>AhÐÐ?áÖ…@# Ház´£XAL0>AŒØ'€ÂÉ…@$ …ëQ¤XAL0>AzTüßQÈ…@% )\2¤XAL0>Av6䟙Dž@& à©XAL0>Aš>;àzÀ…@' 𙙉¬XAL0>Aº…@( ×£p-¯XAL0>AìlÈ?3·…@) ¸…›±XAL0>At'Ø=´…@* Ãõ( ´XAL0>AßÁÿÖ¯…@+ š™™¹·XAL0>AßÁÿÖ©…@, …ëQغXAL0>At'Ø= …@- ×£p]¼XAL0>AŠÉ`fœ…@. ìQ¸Ž¾XAL0>AhÐÐ?ᘅ@/ ®G1ÀXAL0>AðŠà럅@shapelib-1.6.1/tests/shape_eg_data/polygon.shx0000664000175000017500000000746414573117335016376 00000000000000' šèÀ\ÁA@. RA@1ÝA ê-RA2¸î¸ªÈvzÈFøBè.Hz¸ 6 J NÀ È ÞðÒ@øˆž°Rf¸"ààêøæ ôØЀTÀèX`èL°!p!°"DP"˜¸#T@#˜$,H$xÈ%DP%˜@%ÜX&8ð',¨'Ø@(`(€¨),à*H*\h+ȸ,„À.H8.„/ @/äH00p0¤H0ð@14@1x@1¼@2@2DX2 H2ì€3p¨4X4x 5œ@5à@6$€6¨Ð7|8€H8̈:XH:¤È;p¸<,@¸Zú@[>Ð\è\þ(^*@_nø`j@`®aBaÖ¸b’Èc^@c¢Ød~0e²@eö¸f²gFgÚÀhž@hâpiVÀjj®k²HkþÈlʸm†nšào~ÀpB@p†hqòÀt¶€u:8uvHuÂXw wÂÀx†¨y2¸yîÈzºè{¦°|Z°}°}˜~^¨ ¨¶€Jà.@rxîÀ‚²X„Єâ:† ˜†¼˜‡X€‡Ü@ˆ ˆˆ¬‰È⊮@Šò€‹vp‹ê¸Œ¦ Žf˜`f‘‚H‘Î’Úü”Ú@•0–Rh–¾è—ªÊ˜xˆ™@™HH™”@™Ø@šÀšàH›, ›ÐHœ @d@¨@ìHž8žÌП ˜ <@ €¡Œ ¢0@¢tx¢ðð£ä@¤(À¤ì@¥0@¥tà¦XP¦¬X¨@¨L@¨€ª«Úx¬VH¬¢ø­ž@­â@®&௠دæà°Ê@±è±ú@²>8²z8³¶xµ2 µÖ@¶ضö¸h¸~@¸Â⺨@ºì@»0@»t(¼ ½¤ð¾˜¿¤ØÀ€àÁdÀÂ(ÈÂôÃø@Ä<ÐÅ@ÅT ÅøÈÆÄ@Ç@ÇLÈRxÉΈËZ¸Ì`Ìz°Í.ÎJÎÞ ÐÑ`Òz@Ò¾Ó€ÔFðÕ:(Öf×úhØfØÙBÚFÛR8ÜŽ@ÝÒ¸ÞŽ˜ß*@ßn¸à*à¾há*°áÞèâÊ ãØ@äèåXædˆçð˜èŒpé@éD¸êˆêŒ˜ë(@ël0ì Èíl°î Èîì@ï0ðð$ñ(ò,ØóØóäÀô¨@ôìpõ`Ðö4¸öðØ÷̨øx˜ùú @údpúØ û|˜üHüdýp@ý´Àþx¨ÿ$èXlÈ8Àü@@ð4@²öÐʰ~øz¨& B° ö Š@ Π r@ ¶  Z ^ @FØ"p–Hâ˜~HÊÀŽx @NHš¶x2x®p"&ðh†@Êp>¸úèæðÚH&Àêþ¸ÖX!2 "Vè#Bp#¶ $Úè%Æð&º'ÖÀ(šP)î +è+þ@,B@,†@,ÊÈ-–@-Úà.¾/Ú@0@0bð1V@1š@1Þ(3 ø4`4j°5@5b(6ޏ7JÀ8Ð8â@9&@9j0:žê<ŒØ=h@=¬Ð>€@?ÄH@Ø@ì€ApxAì B(C¼HD D¬8EèÈF´@Fø˜G”H ÀIdˆIðØJÌKÐPM$àNPN\`NÀPO€O˜HOä@P(èQÈQà@R$XR€€SHSPØT,HTxàU\˜UøÐVÌ@W@shapelib-1.6.1/tests/shape_eg_data/brklinz.shx0000664000175000017500000000206414573117335016351 00000000000000' è ×£ÐXA)\L0>Aq= wÀXA333s.5>A2p¦Œ6˜Ò\2hžDæD.ô &Ä î< .˜ ÊøÆt>hªt"Œ²p&$N\®ΘjìZ4’(¾D\f¼&°ÚȦ\ \ fD ®È!zt!ò\"R°#¨%²à&–'žà(‚ì)rÈ*>°*òP+FÈ,h,~P,ÒD-P-nD-¶Œ.F8.‚t.ú¤/¢t0P0n¼1.D1vD1¾ì2®Ô3†t3þx6z 8D8f@9ªà:ŽÀ=RÔA*ˆB¶PC \Cj¤DE2ìF"€F¦ìG–PGê\HJPHžtI˜I²¼Jr8J®ÈKzDKÂ@MDMN8MŠàNnŒQþ(S*hS–¼TV˜Tò˜UŽ˜V*tV¢hWhWztWòtXj\XÊDY\Yr\YÒ0\P\ZP\®P]t]zP]ÎP^"ì_`2h`ž\`þPaRPa¦tbDbfPshapelib-1.6.1/tests/shape_eg_data/multipnt.dbf0000664000175000017500000000242114573117335016500 00000000000000_ ÁOAREAN PERIMETERN EAS_N EAS_IDN ATLAS_PCATLAS_SCEDLOWNEDMEDNEDHIGHNHHNUMBERNAVGHHINCNEDUCNPOTENTNELATNELONNDIS58NDIS130NDIS208NDIS425NMKTSHR58NMKTSHR130NMKTSHR208NMKTSHR425NLIFESTYLESNCUMMKTSHRNPENTRANOPPTNPRFEDEACAAN 7280457.000 15020.598 433 24135044124 0 0 0 0 00 042.93361-81.20281.788617270630489905.027043533192169506.646826494350309009.013081281288100000.3078568155644309000.0912317902197812840.0620753487426587980.03831906217694729800.49948301670381806 0 035044124 35044124shapelib-1.6.1/tests/shape_eg_data/CoHI_GCS12_README.txt0000664000175000017500000000666514600371435017356 00000000000000U.S. Census of Agriculture County-Level Boundaries: CoGenAll_GCS12 contains U.S. Census of Agriculture county-level boundaries for the continental U.S., Alaska, Puerto Rico and Hawaii. U.S. Census of Agriculture State-Level Boundaries: StGenAll_GCS12 contains U.S. state-level boundaries for the continental U.S., Alaska, Puerto Rico and Hawaii. U.S. Census of Agriculture State-Level and County-Level Boundaries: StCoGenAll_GCS12 contains U.S. state-level and county-level boundaries for the continental U.S., Alaska, Puerto Rico and Hawaii. Purpose: County-level and state-level boundary files are provided to be used with the statistical data in the 2012 Census of Agriculture, Volume 1. The boundary files can be employed in a Geographic Information System (GIS) with the 2012 Agricultural Census Statistical data by using the Agricultural Census county codes to associate the county-level spatial entities with the county-level statistical data and the Agricultural Census state codes to associate the state-level spatial entities with the state-level statistical data. The statistical data can be obtained from the NASS census website (http://www.agcensus.usda.gov/). GIS software must be provided by the user in order to use the county-level and state-level boundary files. Source: The files were created from boundaries provided by the U.S. Census Bureau with a vintage year of 2012. County and state areas are for land area (excludes water) and were provided by the U.S. Census Bureau with a vintage year of 2012. Modifications were made to the County and State boundary files to show geographic areas for which the 2012 Agricultural Census Statistics are reported at the county- and state-levels. Format: The boundary files are provided in an ESRI shapefile format. The shapefile format can be used with ESRI software(ArcView/ArcGIS) or if available, a translator can be used to import into other GIS software. On Unix it may be necessary to use lower case for shapefile names. Coordinate System: The datum is NAD 83 and the files are unprojected (GCS - Geographic Coordinate System - latitude and longitude decimal degrees). U.S. Census of Agriculture County-Level Boundaries - Continental U.S.: CoUS_GCS12.dbf CoUS_GCS12.prj CoUS_GCS12.sbn CoUS_GCS12.sbx CoUS_GCS12.shp CoUS_GCS12.shx Alaska: CoAK_GCS12.dbf CoAK_GCS12.prj CoAK_GCS12.sbn CoAK_GCS12.sbx CoAK_GCS12.shp CoAK_GCS12.shx Hawaii: CoHI_GCS12.dbf CoHI_GCS12.prj CoHI_GCS12.sbn CoHI_GCS12.sbx CoHI_GCS12.shp CoHI_GCS12.shx Puerto Rico: CoPR_GCS12.dbf CoPR_GCS12.prj CoPR_GCS12.sbn CoPR_GCS12.sbx CoPR_GCS12.shp CoPR_GCS12.shx U.S. Census of Agriculture State-Level Boundaries - Continental U.S.: StUS_GCS12.dbf StUS_GCS12.prj StUS_GCS12.sbn StUS_GCS12.sbx StUS_GCS12.shp StUS_GCS12.shx Alaska: StAK_GCS12.dbf StAK_GCS12.prj StAK_GCS12.sbn StAK_GCS12.sbx StAK_GCS12.shp StAK_GCS12.shx Hawaii: StHI_GCS12.dbf StHI_GCS12.prj StHI_GCS12.sbn StHI_GCS12.sbx StHI_GCS12.shp StHI_GCS12.shx Puerto Rico: StPR_GCS12.dbf StPR_GCS12.prj StPR_GCS12.sbn StPR_GCS12.sbx StPR_GCS12.shp StPR_GCS12.shx Text metadata files for the boundary files are also provided - U.S. Census of Agriculture County-Level Boundary metadata: ag_co_metadata_12.txt, ag_co_metadata_faq_12.html U.S. Census of Agriculture State-Level Boundary metadata: ag_st_metadata_12.txt, ag_st_metadata_faq_12.html shapelib-1.6.1/tests/shape_eg_data/brklinz.shp0000664000175000017500000014256414573117335016353 00000000000000' bºè ×£ÐXA)\L0>Aq= wÀXA333s.5>Ap ×£p +XA= ×cÓ0>A¸…ûØXAHázTª2>A\0ÓXAHázÔƒ1>A®GáŠÑXA ×£0s1>Aš™™ÐXA¤p=Š^1>A{®'ÎXAI1>A×£p}ÌXA¤p= 51>AÃõ(ìÊXAö(\Ï 1>A)\ÂÉXAš™™™ 1>AR¸ÅÈXA333sý0>AfffÇXA ×£ðï0>A{®WÄXA333sæ0>A…ë1ÀXA333óâ0>A333sºXA×£pýâ0>Að´XA®Gaã0>A\°XAffffæ0>Aö(\¯©XA= ×cî0>Aq= '£XA…ëQøø0>AfffXA¤p=Š1>A®G—XA\Â51>AHázÄ‘XA×£p½#1>A…ëŒXA¸…ë21>A= ×ÇXAq= WA1>Aš™™ù‚XAHázQ1>A×£pXA)\B_1>A{®ç{XAÂõèl1>AÍÌÌœxXA®Ga~1>A¤p=úuXAš™™Ù1>A= ×ssXAÃõ(ÜŸ1>A)\ÂoXA…ë‘«1>A333kXAHázÔ¶1>A ×£PfXAìQ¸ž¾1>Aö(\ÏaXA\ÂõÅ1>A)\B\XA\Â5Ð1>AHáz„WXA…ëÜ1>A ×£@TXA…ëÑç1>A= ×ãRXAfff&ö1>A®GaSXA¸…ë2>AÂõ¨VXA…ëQ82>AìQ¸¾YXA®Gá.2>A…ëQhZXAR¸EI2>A®G!ZXA{®Gb2>AfffXXA= ×cv2>A)\¢TXA¸…ëŠ2>A®GÑNXA= ×#Ÿ2>AGXA¤p= ©2>AÂõh>XAHázTª2>A= ×8XAR¸… 2>Aö(\¿2XAš™™Ù”2>AÃõ(,/XA¸…k€2>A333ƒ,XA×£p}k2>A×£p +XA= ×cU2>A®G!+XA¸…«92>A= ×.XAq= W2>AHáz41XAö(\ 2>A…ëQh5XA)\þ1>Aq= ×9XAq= ñ1>Aš™™i>XAìQ¸^ç1>AHázäEXA…ëQøÞ1>AÂõhMXAq= —Ô1>Aš™™©RXA= ×cÏ1>Aq= ·WXAq= ×É1>A…ëQh\XAÃõ(ÜÁ1>A333£`XAR¸…¹1>A…ëQeXAHáz”®1>Aq= ×hXAìQ¸^¤1>A lXAìQ¸š1>A…ë±oXAfffæ‰1>A ×£ sXAÃõ(œ{1>AìQ¸NwXA…ëQ8j1>A= ×ã{XA…ëQxY1>A= ×Ó€XA…ëQH1>AR¸u…XAö(\Ï81>Aáz>ŠXAÍÌÌŒ(1>AHáz$XA ×£01>A= ד•XA= ×ã 1>A\Âu›XA…ëQ¸ú0>A\Âu¡XA{®í0>Aq= ‡§XAfff&â0>AR¸µ­XA×£pýÚ0>A…ëÁ²XAö(\Ï×0>Aq= ¹XA¤p=JÕ0>A…ëá¾XA= ×cÓ0>AÍÌÌLÄXA¤p= Ö0>A®GáJÈXAÂõhß0>A…ëñÊXA®Gáë0>AÂõhÌXAÃõ(ý0>AHázÄÍXA…ëQø1>APÏXAö(\*1>A)\ÒÑXAC1>A…ëÔXA…ëQx^1>A¸…ûÕXAÃõ(Üx1>Aö(\×XA…ëQ¸1>A¸…ûØXAq= ¦1>A˜//À•‰@hÐÐ?ᮌ@š>;àz¸‰@þðóߣԉ@v6䟙é‰@ŒØ'€ÂŠ@˜//ÀŠ@u€4Š@fÁÄ…GŠ@ßÁÿÖcŠ@zTüßQxŠ@ˆº@ “Š@!ê>)ªŠ@š>;àzЊ@t'Ø=ìŠ@ŒØ'€Â‹@ˆº@ ‹@ìlÈ?3!‹@ìlÈ?35‹@!ê>)@‹@ \Y‹@f`¸v‹@š>;àz‹@ßÁÿÖ·‹@ò™ìŸGÍ‹@t'Ø=ì‹@ðŠàëù‹@ŒØ'€Â Œ@zTüßQ"Œ@v6䟙3Œ@î{Ô_RŒ@†« ®iŒ@ˆº@ ‡Œ@zTüßQ˜Œ@ðŠà료@f`¸ªŒ@š>;àz¦Œ@xEð¿õ¤Œ@hÐÐ?ᮌ@“7À̬Œ@zTüßQ¬Œ@ˆº@ §Œ@†« ®ŸŒ@î{Ô_œŒ@î{Ô_œŒ@†« ®ŸŒ@¦Œ@„+ p¥Œ@xEð¿õ¤Œ@xEð¿õ¤Œ@v6䟙§Œ@v6䟙§Œ@u€¨Œ@v6䟙§Œ@xEð¿õ¤Œ@hÐÐ?ᢌ@hÐÐ?ᢌ@ŒØ'€Â¡Œ@hÐÐ?ᢌ@ŠÉ`f¤Œ@zTüßQ¢Œ@xEð¿õšŒ@ \Œ@t'Ø=vŒ@ \YŒ@ \CŒ@hÐÐ?á.Œ@t'Ø=Œ@v6䟙ý‹@š>;àzæ‹@f`¸Ê‹@î{Ô_¨‹@ŒØ'€Â‹‹@zTüßQn‹@þðóߣT‹@f`¸@‹@“7ÀÌ,‹@xEð¿õ‹@xEð¿õ‹@v6䟙 ‹@üŠ@“7ÀÌâŠ@ßÁÿÖÊ@ \£Š@š>;àz†Š@î{Ô_hŠ@xEð¿õPŠ@î{Ô_2Š@!ê>)Š@˜//Àÿ‰@f`¸à‰@“7À̉@þðóߣª‰@˜//À•‰@Œ ázž¬XA)\L0>A ×£°ÈXA®GáÕ0>A ×£°ÈXA)\L0>A333ƒÂXA ×£0]0>A×£p ¼XA\µr0>A¸…‹¶XAÍÌÌ ˆ0>A¤p=ú±XA¸…«œ0>Aš™™i®XA¤p=в0>Aázž¬XAÍÌÌŒÅ0>A×£pý­XA)\‚Ï0>AR¸¥¯XA®GáÕ0>AŠÉ`f‹@v6䟙“‹@v6䟙“‹@fÁÄ…‡‹@!ê>)t‹@˜//À_‹@˜//À?‹@t'Ø=,‹@ŒØ'€Â‹@!ê>) ‹@ŠÉ`f‹@˜ ázΧXA)\L0>A)\BÃXAÍÌÌÌÜ0>A Ház¨XAÍÌÌÌÜ0>AázΧXAq= ×Ë0>A®G1¨XA×£p½»0>AÂõø©XA¤p= ª0>A®GÁ­XA{®‡˜0>AÍÌÌܱXA ×£p†0>A333ƒ¶XA ×£ps0>Aö(\?¹XA)\Âi0>A×£pm½XAö(\]0>A)\BÃXA)\L0>Aî{Ô_‹@þðóߣ‹@î{Ô_‹@ðŠàë‹@ˆº@ '‹@hÐÐ?á.‹@f`¸6‹@š>;àzP‹@ßÁÿÖc‹@ \y‹@ŠÉ`f„‹@þðóߣ‹@\ Âõ8ÑXA{®G94>AR¸…ÞXA{®‚4>AR¸…ÞXA{®G94>A333³ÚXA®Gá:M4>AìQ¸>×XA×£p½^4>A333³ÓXA®Gáúp4>AÂõ8ÑXA{®‚4>Aºì¿@ºì¿?@ºì¿?@ðŠàë:@ºì¿5@¼"øßz,@ºì¿@h …ëQÒXA333s¿4>A®GáªÔXA…ë5>A…ëQÒXA333s¿4>A333ÓXAHáz”Ñ4>AHázdÓXA3333å4>Aö(\ÿÓXA= ×ãõ4>A\ÂEÔXA= ×# 5>A®GáªÔXA…ë5>AzTüßQ€@v6䟙û@v6䟙û@„+ pÙ@Ä@v6䟙§@u€œ@zTüßQ€@D ×£ÐXAš™™™ì4>AR¸EÑXAš™™5>AR¸EÑXAš™™5>A×£pÝÐXA®Gá5>A ×£ÐXAš™™™ì4>Aˆº@ …@†« ®½@ˆº@ …@†« ®@†« ®½@D ¤p=ŠÓXA®Gáú-4>AìQ¸þÚXA…ëQ¸T4>A¤p=ŠÓXA…ëQ¸T4>AfffØXAÃõ(Ü>4>AìQ¸þÚXA®Gáú-4>AŠÉ`f:@ŠÉ`f@@ŠÉ`f:@ŠÉ`f@@ò™ìŸG=@ô …ëáÒXAÂõ(†1>A= ×£ûXAÀ5>A'= ×£ûXAÀ5>A…ëQ˜ûXAfff&5>AìQ¸žûXA×£pýÕ4>Aáz~ûXAHáz”¹4>A= ×ûXA)\B›4>Aáz>ûXA¤p=J4>AÂõûXA= ×ãh4>AÃõ(<ûXA)\R4>A¸…kûXAáz.<4>AfffvûXA= ×£*4>A®Gá ûXAáz.4>AR¸åúXA333sø3>A\ÂåúXAq= Ü3>AÃõ(ŒúXA ×£°½3>A®GúXAq= ›3>A×£pMúXA¸…k{3>AùXAÃõ(œU3>A ×£ùXA€33>AÂõ¨øXAš™™Y3>A)\bøXA®Gá:ó2>A×£p÷XAØ2>A®GáêõXAÃõ(É2>AÍÌÌ,óXAö(\¸2>AR¸UðXAš™™™©2>AàìXAš™™™2>A…ë¡éXA ×£0Š2>A ×£ðåXAffffy2>A…ëQXâXA{®‡h2>A)\ÂÞXA…ëÑU2>A®GAÜXA…ëÑB2>Aq= ÷ÙXAÂõè+2>A ×£À×XAÂõh2>AÃõ(ÜÖXAÍÌÌŒû1>A…ëÕXA{®á1>AÃõ(ŒÕXAázîÌ1>AHázäÕXA¤p=J¹1>A…ëQ8ÕXAÃõ(Ü¥1>A…ëQèÓXAö(\Ï“1>A…ëáÒXAÂõ(†1>AhÐÐ?á‡@ŠÉ`fº‰@v6䟙_ˆ@î{Ô_Tˆ@ò™ìŸG9ˆ@†« ®!ˆ@ò™ìŸGˆ@î{Ô_Þ‡@“7À̸‡@ðŠà뛇@hÐÐ?á‡@hÐÐ?á‡@ž‡@v6䟙µ‡@t'Ø=‡@ˆº@ ɇ@ò™ìŸG͇@v6䟙Շ@!ê>)Ö‡@Þ‡@hÐÐ?áä‡@þðóߣê‡@ \ï‡@ò™ìŸGù‡@ò™ìŸGˆ@hÐÐ?áˆ@î{Ô_(ˆ@ò™ìŸG9ˆ@ðŠàë[ˆ@ìlÈ?3wˆ@ \ˆ@þðóߣ´ˆ@“7ÀÌØˆ@fÁÄ…‰@t'Ø=,‰@zTüßQN‰@þðóߣj‰@ìlÈ?3‹‰@fÁÄ…‰@þðóߣ´‰@ŠÉ`fº‰@ Ä ìQ¸ÙXA{®Çª1>A ×£@ÿXAö(\5>A#{®'ÙXA{®Çª1>AR¸UÙXA¸…«À1>AìQ¸ÙXAfff&Ô1>A®GájÙXAÃõ(é1>A¸…KÚXA…ëQ¸ú1>A ×£ÛXA…ëQ2>AR¸eÝXAázî'2>AR¸UßXA ×£0:2>AÍÌÌÜáXAq= —L2>AÍÌÌ<åXAÃõ(\^2>A®GáZéXAìQ¸žq2>A ×£ðíXA)\‚…2>A…ëQ¨ñXAHázT˜2>Aö(\¿õXAìQ¸¬2>A®Gá ùXAq= ¿2>A¸… ûXA= ×ãÓ2>A…ë!üXAHázÔð2>AìQ¸^üXA33333>AázÞüXA×£p}53>A®GájýXA×£p}^3>A ×£pýXAHázT‡3>Aš™™éýXAÍÌÌLª3>AázþXA¤p=ŠÇ3>A×£p=þXA×£p}ã3>A{®gþXAR¸4>A\•þXAázn4>A{®ÇþXA ×£ð/4>A ×£ þXAfff&C4>A×£p]þXA\µZ4>A…ëaþXAHázTs4>Aq= gþXA…ëQxŒ4>Aö(\ŸþXAR¸…­4>A×£pýþXAš™™Í4>Aö(\?ÿXA¤p= ì4>A ×£@ÿXAö(\5>AßÁÿÖ‡@þðóߣ”‰@þðóߣ”‰@u€~‰@ŒØ'€Âa‰@v6䟙?‰@hÐÐ?á$‰@v6䟙ÿˆ@!ê>)Öˆ@š>;àz²ˆ@u€”ˆ@ˆº@ sˆ@ò™ìŸGMˆ@u€*ˆ@“7À̈@fÁÄ…ý‡@f`¸ö‡@þðóߣê‡@ŠÉ`fæ‡@þðóߣà‡@„+ pÛ‡@˜//ÀÕ‡@zTüßQ·@†« ®Ë‡@ŒØ'€ÂÇ@ßÁÿÖ¹‡@ˆº@ ©‡@ìlÈ?3—‡@ßÁÿÖ‡@ˆº@ “‡@ò™ìŸG­‡@ˆº@ ɇ@f`¸ì‡@fÁÄ…ˆ@t'Ø=8ˆ@u€Jˆ@ìlÈ?3aˆ@ < )\‚#XA)\L0>A)\2¤XAHáz'5>A-š™™™$XAHáz'5>A)\‚#XA333ó5>A¤p=$XA{®G5>AR¸%XA{®‡ò4>AR¸&XA)\ä4>A®Gá'XAázîÑ4>AìQ¸Î'XA¤p=ÊÀ4>A= ×(XA{®Ç¬4>A333£'XA®Gáz‘4>A)\Ò'XAR¸t4>A ×£€'XA¸…kU4>A333S'XA{®‡24>A¤p=J'XA= ×£4>A\ÂÅ&XA…ë‘ì3>AÂõ'XA\Â5È3>A×£pm'XA®G!¡3>A×£p½'XAö(\Oˆ3>AÂõ¨(XA3333i3>A333Ã)XAö(\K3>A…ë+XAq= ×+3>A×£p],XA\Âu3>A®Gñ-XA{®‡ö2>Aáz>0XAffff×2>AHázô2XA= ×#·2>A\Âå5XAHázT”2>Aö(\9XA333sq2>AR¸e>XA¸…kH2>AìQ¸nDXAìQ¸^2>AR¸•HXAö(\Ïý1>Aq= ÇLXAfff&ã1>A{®çPXA)\Ë1>AR¸ÅVXAHázÔª1>AÂõè\XA…ëQ¸‹1>A\ÂUcXAáz.n1>A®GÁiXA…ëQP1>AHázpXA ×£p51>AÃõ(¼vXAìQ¸1>A`}XA€ù0>A{®§ƒXA®G¡Ý0>A…ëQ¸ˆXA®GáÆ0>A333ƒXAázî©0>A®G᪕XA×£pý‹0>A…ëÑœXA{®Gl0>A…ë¤XA®GáL0>A)\2¤XA)\L0>Av6䟙Dž@„+ p›ˆ@„+ p›ˆ@š>;àz’ˆ@ˆº@ ‰ˆ@ŠÉ`f†ˆ@ìlÈ?3ˆ@fÁÄ…sˆ@ðŠàëoˆ@ŠÉ`ffˆ@fÁÄ…]ˆ@f`¸Lˆ@þðóߣ@ˆ@f`¸,ˆ@†« ®!ˆ@†« ® ˆ@ðŠàëû‡@ \å‡@zTüßQÚ‡@v6䟙ɇ@î{Ô_¾‡@š>;àz²‡@ðŠà륇@fÁÄ…“‡@xEð¿õ†‡@š>;àzr‡@xEð¿õ\‡@†« ®A‡@u€*‡@xEð¿õ‡@v6䟙õ†@ŠÉ`f܆@!ê>)̆@ \»†@f`¸¢†@˜//À‹†@î{Ô_t†@u€`†@v6䟙K†@t'Ø=.†@ìlÈ?3†@ŒØ'€Â†@xEð¿õò…@˜//Àá…@v6䟙Յ@ðŠàëÇ…@v6䟙Dž@ ˜ = ׃³XA…ëQø†2>Aö(\ÿ¾XAö(\O3>A q= ‡¼XAö(\O3>A®G¸XA ×£°3>A…ëQ(µXAÂõhò2>A= ׃³XA…ëQxÝ2>AÂõ˜³XAHáz”Ì2>Aq= Ç´XA…ëQø¼2>A…ë·XA…ëѬ2>A¸…«¹XAÂõh 2>Aázn¼XAìQ¸^“2>Aö(\ÿ¾XA…ëQø†2>AzTüßQD†@ˆº@ ©†@ˆº@ ©†@ \›†@ßÁÿÖ†@v6䟙†@hÐÐ?áz†@u€j†@ò™ìŸGc†@ðŠàë[†@f`¸L†@zTüßQD†@ ø ¸…;{XAìQ¸S0>A®Gá:¾XA ×£071>A®Gá:¾XAö(\}0>A¤p=J»XAÍÌÌ o0>A\Âõ·XA333ó`0>A¸…µXA= ×ãV0>AR¸¥±XAìQ¸S0>Aš™™i®XA€T0>Aq= G«XA¸…«]0>Afffæ§XAfff¦m0>AHázT¤XAázî}0>AÂõh XA= ×#0>AìQ¸>œXA\µ¡0>AÍÌÌl—XA…ëQø¶0>Aáz.’XA333óÎ0>Aš™™YŽXAÍÌÌŒß0>A)\’‰XAq= —õ0>AÃõ(…XAHáz” 1>AÂõx€XA)\Â1>A¸…;{XA ×£071>AhÐÐ?á…@ŒØ'€ÂM†@hÐÐ?á…@ìlÈ?3—…@ìlÈ?3£…@þðóߣ¬…@fÁÄ…³…@ìlÈ?3·…@þðóߣÀ…@t'Ø=Î…@v6䟙Յ@ò™ìŸGÙ…@“7ÀÌä…@ßÁÿÖï…@ðŠàëû…@˜//À †@hÐÐ?á†@ˆº@ )†@zTüßQ:†@ŒØ'€ÂM†@ t HázD/XA ×£071>Aq= wÀXAìQ¸^ 5>AG¸…;{XA ×£071>A¤p=jvXA{®ÇL1>AìQ¸žqXA)\‚a1>AHázÄlXA…ëQ¸v1>A¤p=šhXA¸…k‰1>Aö(\_dXA…ëœ1>Aáz_XA…ëѵ1>Aö(\_ZXAÍÌÌŒÎ1>Aö(\VXAö(\Oç1>AázNRXA…ëþ1>A×£píNXAáz.2>AÍÌÌ|KXAö(\O+2>A= ×óGXA{®F2>A®GQDXA= ×cc2>AfffF@XAš™™™‡2>AÃõ(<=XA¸…+¥2>A®Gq:XAfffæÆ2>AR¸E8XAÍÌÌŒà2>AÍÌÌ<6XA\Âuý2>A®GáŠ4XAq= 3>AÂõè2XAázî:3>Aq= §1XA= ×cY3>A333“0XAÀ{3>AHázÔ/XAÀ›3>Aš™™i/XAö(\¹3>AHázD/XA¤p=ÊÙ3>A®GáJ/XA333sø3>A ×£€/XA\Â54>A ×£À/XA×£p½>4>A¤p=ú/XAö(\Oe4>Aö(\?0XA¤p=JŠ4>Aš™™y0XAìQ¸±4>AÃõ(|0XAÂõèÓ4>Afffæ0XAÂõ¨ô4>Afffö1XA)\B5>Aö(\4XA…ëÑ5>A ×£`7XAHázÔ5>A×£p;XAš™™5>Aö(\ÿCXA\Âõ5>A{®çOXA…ë5>AìQ¸¾[XAìQ¸5>AÍÌÌÌhXA®G!5>A{®×tXAš™™™5>Afff–}XA{®5>AR¸¥‚XA@5>A¤p=j…XA333³ÿ4>A{®W†XAÍÌÌLó4>A…ëQ˜…XAÂõ(ä4>A= ׄXA ×£°Ñ4>AÃõ(œ‚XA×£pý¿4>AXAR¸Ű4>Aáz‚XAHázÔ 4>Aáz΄XA¤p=Ê4>Aš™™©‰XAÂõh‹4>A)\RŽXA333s4>AÃõ(L‘XAR¸…œ4>A ×£€’XA®Ga«4>A×£pÝ‘XAHáz”¼4>AÍÌÌ|XAš™™ÙÎ4>Aö(\XA¸…+â4>Afff†ŽXA®Gáó4>AHáz´XAÂõh5>AÂõ’XAÃõ(\ 5>A…ëQh•XAHáz5>A…ëQؘXA®Gá5>AR¸…žXA\Âu5>AÃõ(Ì¥XAHáz”5>AÃõ(ì­XAHázÔ5>AR¸e´XAš™™Ù5>A¤p=Ú¹XAq= 5>Aq= wÀXAìQ¸^ 5>AŒØ'€ÂM†@zTüßQn‰@ŒØ'€ÂM†@“7ÀÌd†@xEð¿õr†@ˆ†@fÁÄ…“†@t'Ø=¢†@fÁÄ…³†@ \ņ@ò™ìŸGÙ†@˜//Àë†@v6䟙õ†@‡@š>;àz‡@hÐÐ?á0‡@†« ®K‡@!ê>)`‡@ŒØ'€Âw‡@zTüßQ„‡@f`¸–‡@xEð¿õ¦‡@ìlÈ?3·‡@ßÁÿÖÇ@˜//ÀÕ‡@zTüßQä‡@˜//Àõ‡@zTüßQˆ@†« ®ˆ@ßÁÿÖ#ˆ@fÁÄ…3ˆ@fÁÄ…Gˆ@ŒØ'€ÂWˆ@†« ®kˆ@ŠÉ`fzˆ@“7ÀÌŽˆ@ðŠà뛈@xEð¿õ¦ˆ@„+ p±ˆ@v6䟙¿ˆ@†« ®Ëˆ@fÁÄ…çˆ@ŒØ'€Â÷ˆ@‰@v6䟙‰@ \/‰@þðóߣ4‰@ŒØ'€Â7‰@fÁÄ…=‰@hÐÐ?áD‰@î{Ô_R‰@ \Y‰@ŒØ'€Âa‰@fÁÄ…g‰@†« ®k‰@zTüßQn‰@ßÁÿÖm‰@v6䟙i‰@hÐÐ?ád‰@xEð¿õZ‰@„+ pQ‰@†« ®K‰@“7ÀÌB‰@hÐÐ?á:‰@u€4‰@ŠÉ`f0‰@ßÁÿÖ-‰@˜//À)‰@(‰@‰@î{Ô_‰@„+ p‰@ßÁÿÖùˆ@h š™™)ÓXA333³Ø4>AR¸•ëXAÍÌÌŒ5>Aš™™)ÓXAÍÌÌŒ5>AÂõÈÖXAR¸Å5>Aš™™©ÛXAffffý4>A ×£°ßXAHáz”ï4>A333³äXA ×£0Ü4>AR¸•ëXA333³Ø4>AfÁÄ…)ˆ@ìlÈ?3aˆ@ìlÈ?3aˆ@“7ÀÌNˆ@†« ®Aˆ@zTüßQ:ˆ@ìlÈ?3-ˆ@fÁÄ…)ˆ@t ×£píÝXA¤p=Šc4>A333cçXA ×£0Æ4>A333cçXAÃõ(Æ4>Aq= GçXA ×£0Æ4>A¸…ÛãXA)\B»4>A{®·áXAR¸Å 4>AÃõ(<ßXAÃõ(܇4>A×£píÝXA…ëv4>AR¸EßXA¤p=Šc4>Aþðóߣ ˆ@“7ÀÌ.ˆ@f`¸ ˆ@þðóߣ ˆ@ðŠàë%ˆ@„+ p'ˆ@fÁÄ…)ˆ@zTüßQ.ˆ@“7ÀÌ.ˆ@Œ ö(\ÏÍXAÂõh4>AR¸•áXAR¸…,5>A ®GÑØXAÂõh4>A…ëQøÝXA¤p=Ê4>A…ëàXA…ëQ8»4>AR¸•áXAÃõ(œÔ4>Aq= §ÞXA= ×#æ4>Aáz¾ÙXAR¸÷4>AázŽÕXA ×£°5>A)\BÑXA¸…k5>Aö(\ÏÍXAR¸…,5>A(ˆ@hÐÐ?ápˆ@u€4ˆ@“7ÀÌ.ˆ@(ˆ@š>;àz(ˆ@š>;àz2ˆ@f`¸Bˆ@š>;àzRˆ@ìlÈ?3aˆ@hÐÐ?ápˆ@p ®GþXA×£pýx3>A)\Ò5XA{®5>AÃõ(üXA{®5>A{®÷þXAÍÌÌŒ5>A®GþXA¸…ëä4>A…ëAÿXAq= ×È4>A…ëQxXAR¸ů4>A)\‚XA…ëQ—4>AÂõ XAÀ„4>A\ÂeXA®G!{4>A= ×óXA= ×ão4>A…ëQÈXAfffæf4>A\Â¥!XA…ëQx_4>A)\â'XA…ëZ4>A¸…‹-XAÂõ(N4>Aš™™ 3XA= ×#:4>A)\Ò5XA\Âu'4>AÍÌ̬4XAázî 4>A)\Ò2XA®Gáúô3>A®Gáj/XA¤p=JÞ3>A\•,XAÍÌÌ Î3>AÂõH*XA¸…ë³3>Aq= *XAHáz”œ3>A¸…û(XA)\‹3>Aáz~&XA333ó{3>Aš™™I"XA×£pýx3>AR¸¥XAázîz3>AfffVXA®Gáº{3>AXA)\B~3>A333# XA~3>AhÐÐ?á"@fÁÄ…Å@hÐÐ?á"@zTüßQ,@F@zTüßQb@ßÁÿÖw@t'Ø=ª@˜//À½@hÐÐ?áâ@ˆº@ û@v6䟙1Ž@ò™ìŸGKŽ@!ê>)^Ž@†Ž@t'Ø=”Ž@fÁÄ…¯Ž@fÁÄ…ÅŽ@zTüßQÖŽ@ŠÉ`fâŽ@ˆº@ ûŽ@u€&@ \A@ìlÈ?3S@u€f@t'Ø=t@þðóߣ’@u€¦@î{Ô_º@fÁÄ…Å@$ fff†ðXAÃõ(œu3>A®G!0XAÂõh5>A+333# XA~3>AÂõhXA…ëQ¸|3>AÃõ(œþXAR¸…|3>A= ×òXAÃõ(œu3>A…ëañXAHázT¦3>Afff†ðXA×£p=Í3>AìQ¸^ñXA¤p=Jî3>AÂõ¨úXA)\ö3>AHáz”XA= ×cñ3>Aš™™Y XA)\‚ñ3>A333ÃXAR¸Åæ3>AHáztXA…ëQxÊ3>A= ×ÃXA×£p}«3>A…ëÑ XA\Âu“3>AHázTXAR¸Ž3>A¤p=JXA= ×£‹3>AÂõ˜XA®G¡Š3>A\Â¥XA\Âõˆ3>Aáz¾"XAHázÔŠ3>A×£pí$XA¤p=J™3>A= ×S&XA®Gá:­3>AÃõ(Œ'XAfffæ¿3>A…ë)XA\ÂõÒ3>AìQ¸î*XA3333ç3>A…ëa-XAö(\Oø3>A¤p= /XAìQ¸^ 4>A®G!0XAö(\Ï4>AìQ¸¾/XA®Gáz14>Afff–,XA…ë>4>AìQ¸.(XAR¸H4>A¸… #XAR¸EQ4>AR¸5XA\ÂuU4>A ×£0XA®GáY4>AázŽXAffffa4>A¤p=ª XAš™™h4>A{®·XA{®Gs4>Aö(\_XAR¸Å„4>A…ëÑXAÍÌÌ ™4>AÃõ(\þXAÂõè­4>AìQ¸ÎûXAáz.Ë4>A= ×ãúXAìQ¸Þâ4>A×£p­ûXA…ëQø5>A…ëQHýXAÂõh5>AßÁÿÖ@†« ®Ó@fÁÄ…Å@ßÁÿÖË@ßÁÿÖË@ˆº@ Å@ìlÈ?3É@ˆº@ Å@Ä@†« ®Ç@˜//ÀÇ@ðŠàëÍ@ðŠàëÍ@Ð@†« ®Ó@xEð¿õÎ@hÐÐ?áÂ@ìlÈ?3©@zTüßQŒ@ìlÈ?3s@!ê>)^@š>;àzN@ˆº@ 1@˜//À@˜//ÀýŽ@þðóߣèŽ@ðŠàëÍŽ@ºŽ@“7ÀÌ Ž@Ž@þðóߣˆŽ@„+ poŽ@PŽ@:Ž@ò™ìŸG!Ž@þðóߣþ@æ@ˆº@ Ç@¦@ \@u€|@!ê>)^@zTüßQL@!ê>)4@ßÁÿÖ@\ áz^×XA\Âuû4>AázÞæXA ×£p'5>Aáz^×XA ×£p'5>A×£pýÛXA{®5>A333SàXA 5>A)\òãXA…ëQ8þ4>AázÞæXA\Âuû4>A˜//Àkˆ@ˆº@ ‰ˆ@ˆº@ ‰ˆ@v6䟙uˆ@ßÁÿÖoˆ@˜//Àkˆ@†« ®kˆ@ ìQ¸.¬XAÂõè¨4>AìQ¸^ØXA333s.5>AìQ¸.¬XA333s.5>AHázT¯XA…ëÑ(5>A\ÂõµXAš™™Ù-5>A)\R»XA×£p=,5>AHáz„¾XA¤p=Ê5>A{®WÄXA{®G5>AÍÌÌÉXAq= —5>A¤p=jËXA¤p=Š5>A3333ËXA ×£pô4>Afff&ÍXAæ4>Aq= ÷ÍXAìQ¸^Ø4>A ×£`ÎXAÃõ(ÜÌ4>AR¸ÅÊXA®GaÅ4>Aö(\¿ÊXAáz®¶4>A×£pMÏXAR¸…«4>A ×£ÀÔXAÂõè¨4>AìQ¸^ØXA¸…+±4>AÍÌÌ,ØXA…ëQ8Æ4>A×£pM×XA…ëÑÖ4>A¤p=úÓXA®GáºØ4>A333ÑXA×£p=Í4>A˜//Àë‡@ˆº@ “ˆ@ˆº@ “ˆ@zTüßQzˆ@†« ®kˆ@ˆº@ _ˆ@þðóߣVˆ@ŒØ'€ÂCˆ@ßÁÿÖ9ˆ@„+ p1ˆ@ŠÉ`f&ˆ@v6䟙ˆ@þðóߣˆ@˜//Àë‡@ßÁÿÖï‡@t'Ø=î‡@t'Ø=î‡@ŒØ'€Âí‡@ŒØ'€Âí‡@ŒØ'€Âí‡@ŒØ'€Âí‡@ŒØ'€Âí‡@“7ÀÌî‡@˜ ¤p=úžXAìQ¸‚4>AHázTÆXAfff¦²4>A HázTÆXAfff¦²4>A{®‡ÁXAÂõh¯4>A333c½XA ×£p¬4>A{®÷¹XAHázÔ¦4>AfffvµXAš™™™£4>A®G‘°XA\µ 4>AÃõ(ì«XA®GázŸ4>A®GÁ¥XA®GáŸ4>A®Gáš¡XAìQ¸Þ‘4>A¤p=úžXAìQ¸‚4>AŠÉ`fˆ@“7ÀÌ"‰@ŠÉ`fˆ@š>;àz(ˆ@xEð¿õ<ˆ@þðóߣ`ˆ@ìlÈ?3wˆ@žˆ@„+ p±ˆ@v6䟙Ո@ŠÉ`fðˆ@“7ÀÌ"‰@ì )\RiXAáz®»3>A{®·XAö(\Oy4>A{®·XAö(\Oy4>AìQ¸îšXAázîd4>A= ×c˜XAÍÌÌ O4>A×£pÝ–XAÂõè@4>Aq= w”XA®Gáz34>A\ÂEXA= ×c'4>A)\²ŒXA\Â54>A ×£0ˆXAÂõh4>A{®×„XAÍÌÌ 4>A= ×óXA…ëQø3>A ×£ |XAÃõ(Üï3>AÍÌ̬xXA®G¡é3>A¤p=ztXAR¸Åä3>A= ×sqXA= ×#ß3>A ×£ðnXAö(\Ö3>A)\ÒkXAÂõ(É3>A)\RiXAáz®»3>Aî{Ô_4‰@hÐÐ?ᎋ@î{Ô_4‰@“7ÀÌN‰@hÐÐ?ád‰@“7ÀÌx‰@v6䟙Ÿ‰@v6䟙¿‰@ßÁÿÖã‰@hÐÐ?áŠ@î{Ô_(Š@!ê>)@Š@š>;àzfŠ@ŠÉ`f„Š@ŠÉ`f°Š@fÁÄ…çŠ@þðóߣ‹@š>;àzf‹@hÐÐ?ᎋ@4 = ×#EXAq= WÎ4>Aq= ×¹XA®Gá:'5>A…ëñ°XAq= WÎ4>A333ã·XA€Ü4>Aq= ×¹XAö(\ò4>A®Gáš¶XAázî5>AÀ²XA×£p=5>AÃõ( ®XAö(\ 5>AR¸E©XA{®5>AÂõ(¤XAìQ¸ž 5>A\ÂužXA\µ5>AR¸…™XA¸…+5>AÍÌÌ,’XAÃõ(œ5>AÂõˆŒXA{®‡5>AÂõx…XAö(\Ï5>A{®7}XAq= W5>AìQ¸þuXA¸…k5>A333ãpXAHázÔ5>A…ëakXAö(\Ï5>A333CdXA ×£p"5>A\Â^XA®Gá:'5>AÃõ(|WXA€5>A¸…‹OXA¸…«5>AÍÌÌIXAš™™Ù5>A= ×#EXA×£p=%5>Aî{Ô_Ȉ@þðóߣ>‹@f`¸Öˆ@u€ʈ@î{Ô_Ȉ@ˆº@ Óˆ@xEð¿õ܈@þðóߣêˆ@“7À̉@hÐÐ?á$‰@ìlÈ?37‰@ŒØ'€ÂM‰@xEð¿õp‰@ßÁÿÖƒ‰@ìlÈ?3·‰@þðóߣà‰@ \Š@!ê>)6Š@š>;àz\Š@ \yŠ@ìlÈ?3¡Š@ìlÈ?3ÕŠ@fÁÄ…‹@„+ p;‹@þðóߣ>‹@( ÂõBXAÍÌÌŒÉ4>A¤p=šªXA= ×c&5>AÂõBXA= ×c&5>AÍÌÌŒEXAÂõh5>A)\‚JXA\µ 5>AffföPXA¤p=Ê5>AR¸UUXAq=  5>AR¸[XAìQ¸ž5>AÂõØ`XA…ëQ85>AÍÌ̬fXA…ëQx5>A\µmXA{® 5>AÂõHsXA®G¡ 5>AHáz„{XAHáz”5>A333³XA¸…« 5>Afff¶‡XA…ëQx 5>A ×£°XA3333 5>AìQ¸Ž”XAš™™Y5>A`™XA®G!5>A¤p=ZXA= ×c 5>AÂõˆ¢XA€5>Afff¶§XAq= ×ô4>A¤p=šªXA{®Çç4>AázªXAfff&Ö4>A®Gáz¨XAÍÌÌŒÉ4>Au€êˆ@f`¸@‹@f`¸@‹@!ê>)@‹@xEð¿õ:‹@ðŠàë/‹@ò™ìŸG ‹@ŒØ'€Â׊@u€žŠ@“7ÀÌ‚Š@˜//À_Š@þðóߣ*Š@hÐÐ?áî‰@ȉ@t'Ø=¬‰@þðóߣ€‰@ŒØ'€Âm‰@f`¸V‰@ßÁÿÖ9‰@ˆº@ )‰@ŠÉ`f‰@fÁÄ…ýˆ@!ê>)öˆ@u€êˆ@D Ãõ(L/XAìQ¸ž#5>A ×£0:XA…ëQ¸)5>A ×£0:XA…ëQx&5>A ×£p4XAìQ¸ž#5>AÃõ(L/XA…ëQ¸)5>A˜//À‹@ò™ìŸG7‹@˜//À‹@“7ÀÌ"‹@ò™ìŸG7‹@\ ¸…«XAö(\þ4>A)\¢(XAö(\Ï5>A)\¢(XAö(\Ï5>Aázn#XAÀ5>A…ë‘XA×£p½ 5>A{®ÇXA×£pý5>A¸…«XAö(\þ4>A˜//À_‹@v6䟙3Œ@˜//À_‹@ò™ìŸG‹@!ê>)Ê‹@fÁÄ…Œ@v6䟙3Œ@¼ ¸…«XA= ×cØ3>AHázTZXA…ë‘Õ4>A ÍÌÌLYXA= ×cØ3>AHázTZXAìQ¸û3>AìQ¸®XXA¸…«!4>A)\WXA®GáH4>Aq= ÷TXA×£p½d4>AÂõhSXAìQ¸žx4>Aáz^MXAq= •4>A…ëQøFXAfffæ¬4>A)\Â>XA®Gá:Ä4>A¤p=Š4XA{®Ó4>Aö(\?+XA…ë‘Õ4>AÍÌÌl"XAš™™™Ó4>A¸…«XA333óÍ4>AþðóߣtŒ@ŒØ'€Â«Œ@ðŠà냌@š>;àz†Œ@“7ÀÌ‚Œ@†« ®Œ@š>;àzzŒ@þðóߣtŒ@“7ÀÌvŒ@š>;àzzŒ@†« ®Œ@ŠÉ`f„Œ@u€’Œ@„+ p¥Œ@ŒØ'€Â«Œ@° ®GášXA333óÏ3>A…ëqWXAìQ¸^Æ4>A ®GášXA…ëÂ4>A…ëÁ(XAìQ¸^Æ4>AÂõ(3XAÂõ¨À4>A)\2;XAš™™»4>AìQ¸ÎCXA…ëQx©4>A®GáêJXA¤p=Ê4>A…ëQhOXAffff{4>AÂõ(SXAffffZ4>A{®·UXA)\34>AÍÌÌlWXAìQ¸ 4>A…ëqWXAìQ¸é3>A®G‘VXA333óÏ3>AfÁÄ…{Œ@t'Ø=¶Œ@t'Ø=¶Œ@˜//À³Œ@þðóߣ¨Œ@!ê>)žŒ@˜//À“Œ@xEð¿õ„Œ@fÁÄ…{Œ@f`¸€Œ@ˆº@ ‡Œ@†« ®‰Œ@ \Œ@ìlÈ?3‹Œ@È fffVXA¤p=J3>AзXAÃõ(\N3>AзXA¤p=Ê3>A®G᪲XA3333"3>Aö(\ï­XAffff$3>AìQ¸n©XA×£pý#3>A®G±¢XA ×£° 3>AHáz”›XA®Gáú3>A{®7˜XA)\Â%3>A ×£”XAq= —93>A333cŽXAÃõ(\N3>AfffVXA×£p}F3>AHáz„XA@=3>A¤p=Ê‘XAR¸E33>AÍÌ̬“XA{®Ç$3>A\ÂU”XA¤p=J3>AxEð¿õŠ@˜//ÀiŒ@xEð¿õŠ@“7ÀÌøŠ@zTüßQ.‹@š>;àzp‹@ŠÉ`fš‹@ßÁÿÖË@˜//Àó‹@ò™ìŸG7Œ@˜//ÀiŒ@v6䟙]Œ@ŠÉ`f.Œ@!ê>)Œ@Œ@ðŠàëù‹@\ \ˆXA= ×#63>AHázDXAö(\j3>A‹XA= ×#63>A…ë!‰XA¸…ëH3>A\ˆXAÂõhV3>AázÞŠXA…ë‘b3>AHázDXAö(\j3>AhÐÐ?á8Œ@zTüßQ˜Œ@˜//ÀiŒ@hÐÐ?ᎌ@zTüßQ˜Œ@v6䟙sŒ@hÐÐ?á8Œ@\ ¤p=JsXAÃõ(Ü93>AÂõø‚XAq= —L3>AÂõø‚XAq= —L3>A0XAR¸EA3>A…ëQ˜zXAÃõ(Ü93>A ×£vXA®G!:3>A¤p=JsXA= ×c@3>AŠÉ`fŽŒ@î{Ô_¼Œ@ŠÉ`fŽŒ@t'Ø=–Œ@þðóߣžŒ@“7À̬Œ@î{Ô_¼Œ@ D Ãõ(üÒXA®G¡»3>A\ÂÕÖXA3333á3>Aö(\?ÔXA3333á3>A\ÂÕÖXA×£pýË3>AÃõ(üÒXA®G¡»3>AðŠàëZ@u€d@u€d@†« ®`@ðŠàëZ@!È R¸¥×XA{®Ç„3>Aš™™iëXAÍÌÌŒ4>A{®wâXAÍÌÌŒ4>A`æXAÃõ(œá3>AÃõ(ÌéXAš™™Ù½3>Aš™™iëXAö(\Ÿ3>A×£píéXAÀŽ3>A®GášãXAR¸ÅŠ3>A333sÜXA{®Ç…3>AR¸¥×XA{®Ç„3>A®GášÝXA\Âu˜3>A¸…+âXAffff­3>A¸…›ãXAq= Ä3>AfffváXAš™™YÝ3>AìQ¸¾ÞXAR¸Eõ3>A333#ÞXAq= W4>ADÝ …@ò™ìŸG=@4hèŸp;@4hèŸp+@ŠÉ`f@Ì—`@ò™ìŸG@ºì¿@RC€=@DÝ …@þðóߣ@RC€=@¼"øßz@BÎûÿ(0@BÎûÿ(;@ò™ìŸG=@"t \Â%èXA)\L0>A\ÂuùXA¸…k1>A\Â%èXA¸…k1>A= ×£ìXA{®‡î0>A®GáºîXA= ×£Æ0>A= ×ÃñXAÍÌÌL£0>Aq= ÇöXA¤p= ~0>Afff¦øXA×£p=\0>A\ÂuùXA)\L0>Aò™ìŸG±‡@„+ pEŠ@„+ pEŠ@f`¸Ì‰@ŒØ'€Â7‰@fÁÄ…ˆ@ŠÉ`f0ˆ@ò™ìŸGã‡@ò™ìŸG±‡@#\ š™™9áXA)\L0>Afff†îXAÃ0>Aš™™9áXAÃ0>A¤p=æXA333óš0>A)\ÒéXA333³t0>A)\bîXA…ë‘M0>Afff†îXA)\L0>AþðóߣЇ@ŠÉ`fðˆ@ŠÉ`fðˆ@ŠÉ`ffˆ@zTüßQú‡@t'Ø=އ@þðóߣЇ@$° 333“XA)\L0>AR¸EXA ×£°\1>A š™™Ù XA)\L0>A…ëÑ XA¸…ëR0>A\ XAR¸…n0>Aö(\XA¤p=Š0>AÃõ(ÜXA×£p}¨0>AÍÌ̼XAÍÌÌÌÅ0>AÍÌÌ XAö(\OÝ0>A333“XAš™™Yû0>AffffXA333³1>Aq= — XA×£p=,1>A…ëñ XA)\‚E1>AR¸EXA ×£°\1>A„+ p݆@ðŠàë/Š@„+ p݆@ \å†@ŒØ'€Â-‡@v6䟙_‡@ŒØ'€Â‡@ßÁÿÖŇ@„+ pˆ@!ê>)€ˆ@î{Ô_´ˆ@zTüßQ.‰@þðóߣ ‰@ðŠàë/Š@%¨ ®Gá*XAHáz”™1>A¤p=ZeXAHázÔÞ2>A6q= GWXA…ëQ¸‰2>A×£p½RXA= ×£ 2>Aö(\ÏNXAÍÌÌŒ³2>AìQ¸nLXAHázÔ¼2>AHáz4DXAÂõ(Ã2>A)\"<XA®GáúÀ2>AHázÄ5XA333³¶2>A¤p=ê.XA¨2>AìQ¸^)XA)\‚‹2>A333“&XAq= l2>A)\B&XA333³H2>A×£pí&XAš™™Ù,2>AHázt%XAq= (2>Að"XA×£p}E2>A{®W#XA\Â5h2>Aq= G&XAHázÔ…2>A= ×S*XA…ëQ8ž2>Aö(\ß/XAffffµ2>A{®'3XAHáz½2>A)\b9XA¤p=JÄ2>A×£pý>XAáznË2>A®GáÚDXA®GaÊ2>A ×£€KXAÂõhÆ2>A{®gHXA{®Ð2>Aö(\/DXA\ÂõØ2>A\ÂAXAÂõhÝ2>A{®7>XAHázÔÞ2>A= ד8XA ×£0Ú2>A= ×ó1XAÃõ(\Ð2>A{®-XAÂõ(Ã2>A×£pm(XA¤p=J³2>Aö(\$XAìQ¸ž¡2>AR¸…"XA ×£02>AìQ¸^!XAfffæ|2>AÃõ(Œ XA¸…kj2>A{®×XAìQ¸^T2>A®Gá*XA×£p=>2>AHázD!XAR¸….2>AHáz´#XAHáz"2>AHáz$'XAö(\Ï2>AÃõ(*XAš™™Ù 2>A¸…;-XAR¸Å2>A®GQ1XAq= W÷1>A{®w5XAš™™î1>Aö(\O9XA×£p½ã1>A…ëÁ>XAÍÌÌŒÖ1>Aq= 7FXAHáz”Ì1>A®GOXAHázÔÃ1>AÃõ(ŒUXA@º1>AÃõ(|ZXA¤p=г1>A…ëQ^XAfff&®1>AÂõˆaXA\Âõª1>AÂõ¸cXAìQ¸Þ¤1>A¤p=ZeXAHáz”™1>A \MŒ@„+ pï@ŠÉ`f¤Œ@ðŠàëãŒ@†« ®)@ˆº@ Q@“7ÀÌL@zTüßQL@zTüßQL@ò™ìŸGK@f`¸J@ˆº@ G@ˆº@ G@ˆº@ G@zTüßQL@˜//ÀI@˜//ÀI@˜//ÀI@þðóߣH@u€H@†« ®I@†« ®I@†« ®I@†« ®I@†« ®I@î{Ô_|@ \—@ \Í@„+ pï@xEð¿õî@xEð¿õî@xEð¿õî@xEð¿õî@ \í@ðŠàëã@hÐÐ?áÂ@ò™ìŸG¡@ðŠàë™@þðóߣ’@ˆº@ q@hÐÐ?áX@ßÁÿÖ7@ßÁÿÖ @v6䟙çŒ@„+ pÏŒ@u€²Œ@ŒØ'€Â¡Œ@zTüßQ¢Œ@ \£Œ@ŠÉ`f¤Œ@!ê>)žŒ@!ê>)”Œ@š>;àz°Œ@þðóߣ”Œ@ \cŒ@ \MŒ@&à q= 7XA@J2>A®GÁ<XA= ×#ê2>AÂõHXA@J2>Aq= 7XA€f2>Afff¦XA= ×ãƒ2>A®G! XAÃõ(š2>AÍÌÌŒ#XA{®G¯2>AÍÌÌœ(XAfff¦Ä2>A¸…û-XA…ëÓ2>A®G!3XA×£pýÜ2>A…ë:XA¸…kã2>A®GÁ<XA¤p=Êç2>A®GA8XA= ×#ê2>Aq= ‡1XA333³â2>Aq= '+XA\µ×2>Að%XA¸…«È2>Aáz."XAfffæ·2>Aq= ×XA×£pý©2>AfÁÄ…›@î{Ô_&Ž@fÁÄ…›@v6䟙½@˜//ÀÓ@t'Ø=ê@ìlÈ?3õ@ð@ŠÉ`fî@hÐÐ?áì@†« ®é@v6䟙ç@fÁÄ…Ž@f`¸Ž@î{Ô_&Ž@&Ž@˜//ÀŽ@„+ pŽ@' Ãõ(ü\XA¸…+z2>A ×£àÞXA¸…«2>AÃõ(ü\XAÃõ(„2>A×£pcXA= ×#‰2>Aq= 'kXA333s…2>APsXA®G¡2>A×£pMzXAÂõh2>Aq= Ç‚XAÂõh|2>AÂõ˜‹XAÃõ(\ƒ2>A ×£`”XA¸…+z2>A…ëáœXA¤p=Jz2>AR¸%¦XAR¸…z2>A®G­XA…ë‘2>AÍÌḬ̀XA¸…«2>Aš™™)¹XAffff2>AR¸ÀXAÀ‡2>A…ëQÉXAfffæƒ2>A¤p=ŠÐXA…ëQø‚2>AìQ¸~ØXA¸…+2>A ×£àÞXAÀ2>A)\2ÞXAÃõ(œz2>AfÁÄ…3ˆ@ìlÈ?3uŒ@ìlÈ?3uŒ@<Œ@ˆº@ ý‹@š>;àzЋ@hÐÐ?ᘋ@ìlÈ?3U‹@u€‹@ìlÈ?3ÕŠ@hÐÐ?ᎊ@!ê>)@Š@hÐÐ?áŠ@xEð¿õƉ@zTüßQމ@“7ÀÌN‰@ßÁÿÖùˆ@¨ˆ@ŒØ'€Âcˆ@fÁÄ…3ˆ@„+ pAˆ@(à @ÄXA€ 1>A\ÂåØXA¤p=Š\2>A\ÂåØXA¤p=Š\2>AìQ¸nØXA ×£pZ2>AÍÌÌÜÕXAq= —G2>A×£pÍÓXA333³=2>AÃõ(üÒXAázn!2>A…ëQ8ÒXAÂõh2>AìQ¸îÑXAö(\Oà1>A…ë¡ÑXAffffÈ1>AfffVÒXA)\´1>A®GAÐXA¤p= ¤1>A×£pÎXAö(\OŒ1>A®Gá:ÌXA¸…+q1>AÂõ(ÉXA®GaK1>Aš™™ùÆXAÂõè/1>AR¸µÅXAHáz1>A@ÄXA€ 1>Aš>;àzŽˆ@“7ÀÌxŠ@š>;àzŽˆ@fÁÄ…“ˆ@ßÁÿÖÈ@î{Ô_‰@u€J‰@t'Ø=l‰@þðóߣ€‰@¨‰@“7À̸‰@î{Ô_Þ‰@hÐÐ?áŠ@ŠÉ`f:Š@ˆº@ SŠ@fÁÄ…gŠ@“7ÀÌxŠ@ŒØ'€ÂwŠ@)ì )\²¯XA)\‚ 1>AìQ¸ÎÊXA@³1>AìQ¸ÎÊXA…ëQ¸¡1>AÂõØÇXA3333”1>AàÅXA…ëÑ1>Aš™™ ÄXAáz®o1>AÃõ(ÁXAq= ]1>AÂõ˜½XA333³E1>Aö(\ÿ¹XAÀ11>A= ׃¶XA{®"1>AÃõ(œ²XA¤p= 1>A)\²¯XA)\‚ 1>A…ëÑ´XAš™™01>AHáz¹XAR¸G1>AÂõ½XAHáz_1>A…ëQ(ÀXAfff¦y1>AáznÃXAÍÌÌÌ’1>Afff¦ÆXA333ó§1>AÍÌÌŒÉXA@³1>AßÁÿÖŠ@ \#‹@ŒØ'€ÂŠ@u€TŠ@ò™ìŸGŠ@ \£Š@“7ÀÌÌŠ@ˆº@ ÝŠ@ˆº@ ýŠ@fÁÄ…‹@f`¸‹@ \#‹@t'Ø=‹@fÁÄ…ñŠ@ðŠàëÏŠ@š>;àz¦Š@hÐÐ?ádŠ@ìlÈ?3+Š@ßÁÿÖŠ@*È fffqXAÃõ(\g1>AázžµXA{®‡ø1>AázžµXAÃõ(\g1>A ×£°¯XA×£p½m1>A333“§XAÂõ(u1>AfffF XAfff&|1>AfffÆ™XA\Âõƒ1>AÂõh“XA= ×ã†1>A333cXA×£p½…1>A\Âe†XA{®‡•1>A¸……XAìQ¸^¤1>AHáz¤‚XAfff¦®1>AHázXAÍÌÌ Å1>A…ëQx{XA®GáúÞ1>AR¸åvXAìQ¸ð1>AfffqXA{®‡ø1>AxEð¿õZ‹@“7ÀÌìŒ@xEð¿õZ‹@!ê>)ª‹@ŠÉ`fÚ‹@zTüßQŒ@˜//ÀSŒ@u€’Œ@fÁÄ…»Œ@“7ÀÌìŒ@“7ÀÌìŒ@î{Ô_¼Œ@f`¸ªŒ@ìlÈ?3ŸŒ@zTüßQ˜Œ@œŒ@+° ×£p­\XAÍÌÌL§1>Aš™™ÙyXA= ×cJ2>A š™™ÙyXAÍÌÌL§1>AÂõètXA3333³1>A×£p]qXA…ë»1>A®GQjXA{®GÆ1>A…ëQ(eXA@Ð1>Aš™™ÙaXAÃõ(ÜØ1>A\Â%_XAR¸…ç1>A×£p]XA×£pý÷1>A×£p­\XAš™™™2>AÐ\XA…ëQ¸%2>AÍÌÌŒ]XA)\‚62>AìQ¸N]XA= ×cJ2>AìlÈ?3kŒ@˜//À3@†« ®ŸŒ@ðŠàëyŒ@ìlÈ?3kŒ@†« ®Œ@ò™ìŸG¡Œ@v6䟙nj@ìlÈ?3õŒ@f`¸ @˜//À3@î{Ô_@ŠÉ`fäŒ@xEð¿õºŒ@,P \ÂÕXAÍÌÌÌ 3>AÃõ(œXA…ëQ¸O3>AÃõ(œXA…ëQ¸O3>A…ëQ˜XA\Â563>AÂõXAö(\3>A\ÂÕXAÍÌÌÌ 3>AìlÈ?3©Ž@þðóߣ@þðóߣ@š>;àzäŽ@hÐÐ?áÂŽ@ìlÈ?3©Ž@-È ®GAXA= ×#1>AHáz¤XAÃõ(\¤2>Að XAÃõ(\¤2>AfffvXAÃõ(ÜŠ2>AHáz´XAfff¦o2>A®GAXAfff&U2>Aö(\_XA®G!?2>A\ÂÅXA×£p½&2>Aö(\¿XA×£pý 2>AHázäXA\µí1>A…ëQ8 XA…ëÑÔ1>A ףРXA®GáÃ1>A…ëQˆ XA{®Ç®1>A®GájXA¤p=Jœ1>AÍÌ̼XAìQ¸ˆ1>AHáz¤XA= ×#1>A„+ p»Š@!ê>)~@!ê>)~@ŠÉ`fD@!ê>)@ò™ìŸGáŒ@˜//À³Œ@v6䟙}Œ@„+ pEŒ@zTüßQŒ@Ò‹@ŠÉ`fš‹@u€H‹@ò™ìŸG ‹@xEð¿õЊ@„+ p»Š@.h {®‡÷XAfff&I2>Aq= ‡XA{®Ç²2>Aq= ‡XAfff&I2>AR¸uýXAìQ¸V2>A×£p-úXA\µh2>A{®‡÷XA= ×£ƒ2>A\ÂÕùXA¤p= ™2>A\Â…úXA{®Ç²2>Aî{Ô_¼Œ@ò™ìŸG¡@î{Ô_¼Œ@zTüßQøŒ@š>;àz0@zTüßQL@˜//Ài@ò™ìŸG¡@/P ×£p-éXAHázÔ•2>A{®WòXA\Â5Ù2>A{®WòXAHázÔ•2>A= ×ãîXAš™™²2>A…ëAìXAffffÆ2>A×£p-éXA\Â5Ù2>A!ê>)~@zTüßQ6Ž@!ê>)~@hÐÐ?á¸@!ê>)Ž@zTüßQ6Ž@0D q= ×±XA\Âõ2>AR¸Õ¹XAÃõ(G2>A`´XA\Âõ2>AR¸Õ¹XA ×£0;2>Aq= ×±XAÃõ(G2>Av6䟙iŠ@f`¸–Š@f`¸–Š@v6䟙iŠ@rŠ@1P *XA\Â5J3>Aq= G3XAÃõ(\_3>A…ëQh0XAÃõ(\_3>Aq= G3XA¤p= N3>A= ×Ó.XA\Â5J3>A*XAš™™™O3>AßÁÿÖ@u€@ßÁÿÖ@ŠÉ`f@u€@ßÁÿÖ@2D ×£` XA\Â5 3>AìQ¸~$XA¤p=JH3>AìQ¸~$XA¤p=JH3>A…ëQ"XA ×£0.3>A ×£` XA\Â5 3>A \íŽ@þðóߣ@þðóߣ@þðóߣüŽ@ \íŽ@3Œ 333ãXA)\L0>AÃõ(,XA ×£ð#1>A Ãõ(,XA ×£ð#1>A\•XA…ëÑ1>A×£píXA3333ç0>A¤p=úXA…ë‘Å0>AìQ¸þXA ×£°§0>A333ãXAáznŠ0>A= ×£XA\Â5p0>Aq= çXA…ë‘T0>A…ëaXA)\L0>Aî{Ô_6‡@“7ÀÌx‰@“7ÀÌx‰@zTüßQ‰@!ê>)¬ˆ@˜//ÀKˆ@ˆº@ ÿ‡@ßÁÿÖŇ@f`¸‚‡@hÐÐ?áF‡@î{Ô_6‡@48 Ãõ(\EXA)\L0>A= ׃LXAÃõ(ÜR0>AÃõ(\EXA)\L0>A= ׃LXAÃõ(ÜR0>A“7À̼‡@š>;àzè‡@“7À̼‡@š>;àzè‡@5t ×£ÐeXAR¸E0>A333“†XAfff&¢0>A ×£ÐeXAR¸Å0>A= ×jXAHáz”0>A{®‡oXA)\0>A)\¢uXAR¸E0>A×£p½{XA…ëQx’0>Afff†‚XA®G¡ž0>A333“†XAfff&¢0>Au€ ‰@u€TŠ@u€ ‰@ŠÉ`f:‰@fÁÄ…s‰@u€ª‰@î{Ô_è‰@ŒØ'€Â!Š@u€TŠ@6¤ ö(\¯XA)\‚·0>A®GQÐXAfff&Ê0>A ®GQÐXA×£p}Á0>AÃõ(\ÉXA= ×£Á0>Aáz>ÂXAš™™ÙÄ0>A333¼XAR¸…Å0>A×£p}µXAÉ0>Aö(\¯XAfff&Ê0>Aáz®±XA¤p= Á0>A{®wºXAìQ¸ž½0>A333CÁXAö(\Ϻ0>A®GáÈXAÍÌÌL¹0>AìQ¸¾ÌXA)\‚·0>A˜//ÀuŠ@hÐÐ?á$‹@˜//ÀuŠ@’Š@f`¸¶Š@u€ÔŠ@f`¸‹@hÐÐ?á‹@hÐÐ?á$‹@†« ®‹@u€þŠ@fÁÄ…ÑŠ@þðóߣªŠ@7t ×£pí„XAR¸E¾0>A…ë¥XA\Âõß0>A…ë¥XAR¸E¾0>A…ëQžXA3333Ò0>A\Â%—XA®GaÝ0>A…ëQ(’XA\Âõß0>A)\BXA)\‚ß0>AðˆXAÖ0>A×£pí„XA)\BË0>Aþðóߣ¾Š@ˆº@ '‹@ˆº@ '‹@ŠÉ`f$‹@“7ÀÌ"‹@!ê>) ‹@ŠÉ`f‹@ŠÉ`fäŠ@þðóߣ¾Š@8P )\rXAq= ò0>Aö(\XAffff;1>Aö(\XAq= ò0>Aš™™9ŠXA¤p= 1>Aázž„XAq= —"1>A)\rXAffff;1>AhÐÐ?á8‹@v6䟙‹@hÐÐ?á8‹@f`¸V‹@†« ®u‹@v6䟙‹@9¼ ÍÌÌ,‘XA)\L0>A333Ó®XA{®‡Ã0>A 333Ó®XA)\L0>A{®W¬XA¤p= Z0>AÍÌ̦XA\Âu|0>A= ×SŸXA®G!š0>A333CšXA…ëѰ0>A\ÂU–XAö(\Ͼ0>AÍÌÌ,‘XA{®‡Ã0>AìQ¸®”XA\Âõ£0>AÃõ(¼˜XA…ëQx€0>A333ãœXAÍÌÌŒo0>AÍÌÌìšXA3333c0>A ×£ŸXA®Gá:Q0>AHázÄžXA)\L0>AzTüßQb‹@ŒØ'€Âá‹@ŒØ'€Âá‹@ðŠàëÏ‹@ßÁÿÖ­‹@ \™‹@†« ®‹@fÁÄ…g‹@zTüßQb‹@ŒØ'€Âw‹@ßÁÿÖ‹@ŒØ'€Â¡‹@ìlÈ?3•‹@˜//À©‹@!ê>)®‹@:D  ‘XA= ×ãn0>A®G™XA\Âur0>A®G™XA= ×ãn0>A¤p=š•XA\Âur0>A ‘XAq= —o0>A“7ÀÌâŠ@xEð¿õZ‹@xEð¿õZ‹@ˆº@ ‹@“7ÀÌâŠ@;D fffæXAÂõ({0>A€–XA¸…ë~0>AfffæXAÂõ({0>A\ÂÅ’XA¸…ë~0>A€–XAR¸Å}0>Aò™ìŸG÷Š@zTüßQn‹@ò™ìŸG÷Š@ðŠàëE‹@zTüßQn‹@<ì 0çXA333sC4>Aš™™¹øXA×£p=Ð4>Aš™™¹øXAš™™ÙÅ4>A×£p]öXA®Ga±4>AÐðXAÍÌÌ̸4>A\ÂeìXA…ëQøÁ4>AÃõ(LëXA×£p=Ð4>A{®GèXAfff&Æ4>A ×£ÐèXA333³´4>A)\òíXA ×£° 4>AìQ¸îòXAq= Ž4>AP÷XA¤p=Jz4>A333ó÷XAfffæc4>A…ëQ¨øXA333sC4>Aš™™ùóXA{®GY4>A®GÑðXAìQ¸^p4>A= ×CîXAffff{4>A…ëQ¨éXAÍÌÌŒ‡4>A0çXA ×£ð“4>Aþðóߣ–‡@†« ®+ˆ@˜//À+ˆ@þðóߣ*ˆ@˜//À+ˆ@†« ®+ˆ@ìlÈ?3!ˆ@zTüßQˆ@f`¸ì‡@Þ‡@zTüßQ·@ðŠà뻇@xEð¿õ¦‡@þðóߣ–‡@ \¯‡@î{Ô_¾‡@hÐÐ?áć@ßÁÿÖÙ‡@„+ pÛ‡@=Ô R¸%ëXAáz®»2>AR¸ÅøXAÍÌÌÌ"4>AR¸ÅøXAÍÌÌÌ"4>A¤p=ºøXA= ×£ 4>A…ëQ8øXAö(\O÷3>AHáz”÷XA¸…ëÛ3>Aš™™y÷XA®GẾ3>AR¸…÷XA…ë–3>A®GáZ÷XAÂõ¨~3>AÃõ(üöXA…ëQa3>A333÷XAš™™™A3>A)\²öXAfff&&3>A¸…{öXAázn3>A¤p=:õXA)\Bè2>A{®WóXA®GáÔ2>A)\2ðXA…ëÑÅ2>AR¸%ëXAáz®»2>AŒØ'€Â£‡@î{Ô_>ˆ@ŒØ'€Â£‡@š>;àzȇ@zTüßQä‡@zTüßQî‡@þðóߣê‡@þðóߣê‡@˜//Àë‡@†« ®ë‡@f`¸ö‡@ò™ìŸGˆ@f`¸ˆ@†« ®!ˆ@ìlÈ?3!ˆ@ŒØ'€Â-ˆ@î{Ô_>ˆ@>t ìQ¸¾ÙXAHáz”[2>AR¸EìXAìQ¸ÞŸ2>AR¸EìXAìQ¸ÞŸ2>A…ëQéXA¤p=Jž2>AÃõ(¼åXAáz®’2>AázÎßXAázî~2>A{®×ÜXA\Â5q2>AR¸EÚXA{®^2>AìQ¸¾ÙXAHáz”[2>Au€ ˆ@†« ®ˆ@u€ ˆ@ˆ@ò™ìŸG#ˆ@ŠÉ`f0ˆ@˜//ÀUˆ@†« ®ˆ@†« ®ˆ@?x ö(\ïXA)\L0>A333£VXAR¸Å5>A2ÍÌÌlXAR¸Å5>Aq= WXA\Â55>A)\ÒXA…ëÑä4>AÂõxXAÂõ¨Ã4>AìQ¸¾XA3333¥4>A333“XA)\†4>A¤p=ÊXA®Gá:n4>A®GáŠXAq= WY4>AìQ¸NXA®G!L4>AXAázn74>Aö(\ïXAÍÌÌÌ.4>Aáz~XAö(\4>A×£p=XA®G!4>A)\BXA®G!è3>AÂõ¨XA…ëÑ3>AÃõ(¼XA{®Gµ3>A…ëÁXAÃõ(Ü—3>A{®gXA)\t3>Aö(\XAHázK3>A×£pÍXAìQ¸ž,3>AfffÖXAìQ¸ž 3>A®Gá XA¸…+ë2>A¸…KXAR¸ÅÍ2>A{®WXAÀ¼2>AXAš™™Y¨2>A…ë±XA ×£p—2>AÃõ(| XAfff&…2>Aš™™éXAHázÔf2>AR¸ÅXAR¸…G2>A¤p= XA\Âõ22>A®GáêXA)\2>A®GáXAázîí1>A333£XA¸…kÔ1>A®GÁXA333ó·1>A¸…+XA®Ga–1>AÍÌÌ,XAázn|1>A333"XAffffd1>A{®7'XAázîS1>Aq= G+XA®GáºH1>A×£p -XAHázT>1>AÂõØ/XAázî)1>AR¸54XA®Ga1>A¸…‹8XA€ð0>AÃõ(¼=XA@Ì0>A333cBXA§0>A¤p=:FXA…ë‘0>A{®ÇJXAffff|0>A…ëQøOXA{®Çg0>A UXAÃõ(S0>A333£VXA)\L0>At'Ø=X‡@†« ®Uˆ@†« ®Uˆ@ŠÉ`fFˆ@xEð¿õ0ˆ@u€ˆ@“7ÀÌø‡@î{Ô_Þ‡@v6䟙¿‡@ˆº@ “‡@„+ pq‡@t'Ø=X‡@t'Ø=X‡@˜//Àk‡@fÁÄ…}‡@þðóߣЇ@ò™ìŸG™‡@„+ p§‡@v6䟙©‡@u€´‡@ŒØ'€Â·‡@š>;àz¼‡@t'Ø=‡@ \Ň@ŒØ'€ÂÇ@ßÁÿÖ¯‡@v6䟙Ÿ‡@ \{‡@f`¸Œ‡@v6䟙Ÿ‡@f`¸¬‡@v6䟙µ‡@ŒØ'€Â͇@ \å‡@ò™ìŸGù‡@v6䟙 ˆ@„+ pñ‡@fÁÄ…݇@t'Ø=‡@„+ p§‡@u€€‡@˜//Àk‡@ŒØ'€Âƒ‡@!ê>) ‡@î{Ô_´‡@f`¸Â‡@î{Ô_Ô‡@ßÁÿÖÙ‡@!ê>)À‡@hÐÐ?ᤇ@ \…‡@ŒØ'€Â‡@@  ®GXA)\L0>A¸…ÛSXAÃõ(\61>A ¸…ÛSXA)\L0>Aš™™ÉRXA…ëQøO0>APXA×£p=Z0>A{®'MXAÍÌÌLc0>AìQ¸.KXAš™™Ùj0>AìQ¸nHXAš™™Ùu0>A)\‚FXA…ëQø~0>A€DXA)\B‹0>A®GÁBXA\Âõ—0>AR¸u@XA\Âõ¤0>A®GáZ>XAìQ¸·0>Aö(\/;XAš™™Í0>A)\Â8XAHáz”ß0>AÃõ(ü5XAÍÌÌŒð0>A®Gá 3XA®Gá:1>A®G!0XA333³1>AìQ¸þ-XA×£p=&1>A{®g,XA×£p}/1>A¤p=ê*XAÃõ(\61>Aö(\_(XA¤p=Š21>AHázt$XAö(\,1>A…ëQ!XAÂõh&1>A{®XAÂõ(1>A{®—XA¤p= 1>AHázÄXAq= 1>AÂõ(XAö(\1>AR¸õ XAš™™™1>AÂõ¨ XA{®1>A` XA\Â5ú0>AHázDXAázîð0>A ×£0XAìQ¸^ì0>A®GXAÂõhè0>Aˆº@ s‡@xEð¿õˆ@‚‡@„+ p‡‡@ðŠà뛇@f`¸¢‡@ŠÉ`f°‡@„+ p»‡@þðóߣÀ‡@“7ÀÌ·@ßÁÿÖχ@zTüßQ·@zTüßQć@î{Ô_´‡@v6䟙©‡@xEð¿õœ‡@ðŠà둇@zTüßQއ@„+ p‡‡@ðŠàë…‡@ˆº@ s‡@þðóߣ€‡@ìlÈ?3‡@v6䟙©‡@ˆº@ ³‡@t'Ø=‡@ßÁÿÖÙ‡@“7ÀÌø‡@f`¸ ˆ@ðŠàë%ˆ@†« ®Aˆ@hˆ@xEð¿õ|ˆ@xEð¿õˆ@AD …ëQø!XA¤p=ŠB1>AÂõÈ'XA\ÂuT1>AÂõÈ'XA¤p=ŠB1>A{®—#XA)\BP1>A…ëQø!XA\ÂuT1>Aš>;àzœ‡@ˆº@ ¿‡@š>;àzœ‡@ìlÈ?3·‡@ˆº@ ¿‡@B@ R¸XAìQ¸A1>A{®÷)XA®Gá:—2>A{®÷)XAìQ¸A1>A)\â'XAq= ×G1>Aq= G%XAÂõhN1>Afff&#XAš™™ÙV1>A{®— XA¤p=Ša1>A ×£€XA×£p½l1>A×£pmXAÍÌÌLy1>A ×£XAfffæ‡1>A)\2XAÀ˜1>A)\’XA×£p=¨1>A¤p=ºXA ×£0»1>AìQ¸þXA{®Ï1>A…ëñXAÃõ(œâ1>A)\"XA ×£ðú1>AìQ¸ÎXA333³2>A®GáXAÂõè$2>A¤p=JXA®Gáº@2>A\ÂXAö(\]2>A= ×c XAázîu2>A×£pMXAÂõ¨Ž2>AÃõ(ÌXA333³‡2>AR¸XA®G¡2>A333ãXA®Gá:’2>A¤p=zXA®Gá:—2>AßÁÿÖy‡@hÐÐ?áˆ@ßÁÿÖy‡@ßÁÿÖ™‡@fÁÄ…‡@ßÁÿÖ¯‡@ðŠà뻇@ò™ìŸG͇@„+ pÛ‡@ˆº@ é‡@ˆº@ ó‡@ìlÈ?3ˆ@hÐÐ?áˆ@š>;àzü‡@“7ÀÌî‡@î{Ô_Þ‡@“7ÀÌ·@ \Ň@î{Ô_¾‡@t'Ø=¸‡@hÐÐ?á°‡@ˆº@ ©‡@!ê>)¬‡@„+ p›‡@v6䟙•‡@ \‡@Cà š™™iXAHáz”–2>A…ëQ(XAìQ¸Þ…3>A333“XAHáz”–2>A…ëQ(XAfff&¡2>A¤p=:XA®Gáz¶2>APXAÍÌÌLÊ2>A®GáJXAÃõ(ä2>AÀXA)\Bû2>Aáz>XAÍÌÌL3>A®GáJXA×£pý53>AázXAš™™ÙV3>APXA333³t3>A…ëÑXAìQ¸Þ…3>Aö(\ÿXA…ëK3>AÂõ˜XA×£p}#3>Aš™™9XA®Gaÿ2>A…ëQèXA®Gáúà2>Aš™™iXA ×£°Ê2>AzTüßQ®‡@š>;àz܇@ò™ìŸG¹‡@zTüßQ®‡@ˆº@ ¿‡@Ò‡@ò™ìŸGÙ‡@“7ÀÌØ‡@î{Ô_Ô‡@u€ʇ@†« ®Á‡@zTüßQº‡@ò™ìŸG¹‡@hÐÐ?áć@ßÁÿÖχ@“7ÀÌØ‡@š>;àz܇@š>;àz܇@DÀ ®GQXAÀ«2>Afff†.XA®Gá5>A8fff¶ XA®Gá5>A×£pXA)\Â5>Aš™™É!XAáz.5>AR¸Å#XA{®ÇÞ4>A\Â5&XA{®G³4>AfffV%XA ×£ð¤4>Aš™™y#XA…ë¨4>A ףРXA…ëQ¸Ñ4>A¤p=ÊXAázîù4>A…ëQØ XAìQ¸^ü4>A®GášXA333sÀ4>Aš™™ÙXA¤p=ŠŽ4>A¤p=šXAáznl4>Aš™™I#XA= ×£o4>A®Gq%XAö(\Ïa4>A= ×3XAö(\_4>Aq= ÇXA\Âu04>AÂõXA¸…«û3>A{®—XA{®Ñ3>Aázþ XA…ë‘Î3>A= ×ã$XAázî54>AÍÌÌÌ$XAq= 4>AÍÌÌ|$XAffffì3>A…ëQX$XA)\ÂÉ3>A®Gáj"XA¤p= À3>A¤p=*XA333óÂ3>APXAÂõèÂ3>A333XA333³—3>A)\â XAázîg3>AR¸å XA)\.3>Aö(\?!XAš™™73>Ap"XA®Gáú}3>A®Ga!XAÂõh¤3>Afff†"XAÃõ(œ®3>Aáz.%XAfff¦«3>Afff–%XA¸…+ˆ3>A)\b&XAáz.g3>A¤p=j'XA\µC3>A®G(XAÂõ¨)3>A)\‚#XA…ëQx3>A®GXA®Gáº3>A…ëQØXA…ëQø$3>Aq= ‡XA¤p=Š3>A®GQXA{®GÊ2>Aq= w XAÀ«2>A…ëñ!XA®Gá:Å2>A ×£@(XA…ëQ¸Ê2>AHáz&XA ×£ð3>Aö(\ß!XA®Gáúý2>A®GáZ#XA\µ3>AR¸•*XAš™™Y3>AÃõ(œ,XA¤p=Êë2>AÃõ(l.XA{®‡Ê2>Afff†.XAR¸Ž2>A333c*XA ×£p³2>A…ëQx&XA\Âõ¯2>Aò™ìŸGƒ‡@v6䟙©ˆ@v6䟙©ˆ@¨ˆ@f`¸–ˆ@†« ®‹ˆ@!ê>)vˆ@hˆ@ìlÈ?3aˆ@“7ÀÌbˆ@ðŠàëeˆ@ðŠàëeˆ@ò™ìŸGcˆ@xEð¿õfˆ@fÁÄ…gˆ@î{Ô_hˆ@Hˆ@xEð¿õ<ˆ@ìlÈ?37ˆ@ßÁÿÖ9ˆ@ \Eˆ@ \Eˆ@fÁÄ…3ˆ@!ê>) ˆ@ˆ@ìlÈ?3ˆ@ \ˆ@ò™ìŸGˆ@ò™ìŸGˆ@ßÁÿÖˆ@“7À̈@xEð¿õˆ@xEð¿õˆ@ŒØ'€Âˆ@š>;àzˆ@zTüßQˆ@˜//Àõ‡@ \å‡@f`¸Ö‡@zTüßQć@fÁÄ…½‡@ˆº@ Ó‡@ðŠàëÛ‡@zTüßQä‡@t'Ø=â‡@t'Ø=â‡@ðŠàëå‡@v6䟙߇@ˆº@ ߇@î{Ô_Þ‡@„+ pÛ‡@†« ®Ë‡@xEð¿õ¦‡@þðóߣ–‡@ˆ‡@ò™ìŸGƒ‡@š>;àz¨‡@ \¯‡@EÔ ×£pMXAš™™Y1>Aš™™mXA333³¶2>AO…ëQx&XA\Âõ¯2>A®Gáº!XA333³¶2>A)\XA ×£°©2>A×£pMXA)\–2>A®GaXA)\Bt2>AÃõ(LXAR¸F2>A= ד#XAìQ¸žT2>A\ÂÅ-XA¤p= c2>A{®1XA ×£ðm2>AÐ.XAázn2>A333C-XA= ×c2>Aáz¾1XAq= ©2>A)\24XAR¸Å‹2>AÂõÈ6XA ×£ðs2>AÃõ(ü8XA ×£p\2>A{®76XA®GaQ2>A…ë‘.XA¤p= G2>A333Ã'XAìQ¸Þ;2>A…ëQXAìQ¸^,2>AffföXAö(\Ï2>AìQ¸N#XAìQ¸ÞÑ1>A…ëQè7XAÂõ¨ü1>Aà:XAfff&2>A®Gáº8XAfffæ02>Aáz~3XAffff72>A{®‡4XAfff¦@2>A×£pý:XA)\‚J2>AÂõø=XA®Gáº22>AHáz´@XA®Gáz2>A\ÂCXAÂõ( 2>A{®—?XA333óü1>Aq= ÷:XAq= —ò1>Aö(\O1XAö(\Û1>AìQ¸Þ'XAÍÌÌÌÄ1>A)\Ò'XA§1>A ×£ 'XAÂõ¨‚1>A ×£-XA…ëQ]1>Aö(\ß8XA= ×cƒ1>A…ëQXCXA®G¡¢1>A®Gá*HXAö(\O¼1>AázîDXAÃõ(\×1>AÍÌÌLBXA¸…+ä1>Aš™™i>XAÍÌÌ ã1>A¸…{8XAÍÌÌŒÙ1>A{®·9XAR¸…à1>Aq= ç?XAñ1>AÃõ(ÌEXA ×£ðü1>A{®7IXAö(\è1>AìQ¸nMXA¤p=ŠÏ1>Aq= ‡PXAš™™Y»1>AffföTXAö(\¤1>AÂõYXA33331>A®G‘\XAö(\Ï~1>AÃõ(œXXA ×£pp1>Aö(\oTXAq= W`1>A¤p=ÊNXA×£p=N1>Afff6OXAR¸EX1>A)\²SXAÍÌÌLq1>A…ëATXA= ×c†1>A)\¢MXA333³£1>A…ëQhDXAHázÔ†1>A\Â<XAR¸q1>AÃõ(<4XAáz®[1>A= ×£2XAÂõ(M1>AìQ¸ž<XAÍÌÌŒ#1>A¤p=šCXAš™™™1>A)\bNXA\Âõ51>Aš™™IUXAÂõ(S1>A¤p=šYXAHázÔ^1>A333ã]XA)\`1>A…ëQ¨cXAìQ¸ž=1>A…ë‘bXAö(\O#1>Afff†`XAš™™Y1>A= ×sdXA®Gá:1>AR¸õiXA ×£0#1>Aš™™mXAö(\Ï41>A¤p=*hXAš™™YK1>AÂõhcXAš™™™`1>A®GáZ_XA ×£ðn1>AìlÈ?3m†@v6䟙¿‡@ \¯‡@zTüßQº‡@¾‡@fÁÄ…½‡@î{Ô_¾‡@î{Ô_¾‡@v6䟙¿‡@ˆº@ ¿‡@fÁÄ…½‡@hÐÐ?ẇ@t'Ø=¸‡@„+ pq‡@þðóߣ`‡@t'Ø=N‡@t'Ø=8‡@„+ pQ‡@zTüßQd‡@š>;àzh‡@˜//Àk‡@†« ®k‡@ðŠàëq‡@!ê>)v‡@˜//Àu‡@˜//Àu‡@î{Ô_t‡@zTüßQZ‡@t'Ø=8‡@ðŠàë%‡@ìlÈ?3‡@ßÁÿÖ‡@˜//À‡@“7ÀÌ8‡@>‡@ò™ìŸG9‡@t'Ø=8‡@ìlÈ?37‡@xEð¿õ2‡@!ê>)6‡@ìlÈ?37‡@v6䟙?‡@†« ®A‡@t'Ø=B‡@ìlÈ?3A‡@xEð¿õ<‡@ŒØ'€Â-‡@ŠÉ`f‡@ \û†@!ê>)ì†@fÁÄ…݆@†« ®Ë†@xEð¿õ¼†@ŒØ'€Â­†@š>;àz²†@ŒØ'€Â͆@zTüßQä†@fÁÄ…ó†@u€ ‡@ \‡@f`¸‡@f`¸‡@ \‡@ò™ìŸG‡@ˆº@ ÿ†@þðóߣ‡@u€‡@v6䟙ÿ†@“7ÀÌø†@þðóߣö†@ìlÈ?3׆@xEð¿õÒ†@fÁÄ…Ó†@xEð¿õÒ†@„+ pц@fÁÄ…©†@zTüßQ„†@ìlÈ?3m†@ðŠàë{†@ìlÈ?3—†@î{Ô_”†@Fˆ ×£pÝEXA)\L0>AHáz$‡XAq= WM1>AfffvXXAq= WM1>A…ëQUXAq= <1>AHázôMXA…ëQø 1>A×£pÝEXA…ëQ¸1>A3333MXA𙙨0>Aš™™ÙSXA)\µ0>AfffZXAHázTŽ0>A¸…û`XA®Gáúf0>A¸…ëkXA\ÂuŽ0>A\ÂÕtXA333s¬0>ApvXAö(\ÏÀ0>A¤p=ºoXAÃõ(œî0>A®GeXA®Gáºâ0>AP`XA333sØ0>Aš™™ifXAìQ¸Þñ0>A\ÂkXAq= ×ÿ0>A\ÂõoXAq= 1>Aö(\ŸsXA)\B1>AÃõ(,yXA)\1>AfffF}XA{®ë0>Aö(\Ÿ€XAö(\Ö0>AfffÖ…XA®GázÃ0>AHáz$‡XA ×£p¸0>A…ëQXA= ×c¨0>AR¸{XAÃõ(›0>A333ÃuXAš™™Y0>AR¸õnXA@x0>AÍÌ̼gXAfffæh0>AìQ¸ÞdXA\ÂõZ0>AÃõ(ügXA)\L0>AxEð¿õ†@!ê>)Ö†@ìlÈ?3͆@ßÁÿÖφ@xEð¿õÒ†@š>;àzÒ†@xEð¿õÒ†@„+ pц@“7ÀÌΆ@“7ÀÌΆ@hÐÐ?áІ@fÁÄ…Ó†@!ê>)Ö†@!ê>)Ö†@!ê>)Ö†@š>;àzȆ@¾†@“7ÀÌŽ†@î{Ô_t†@xEð¿õR†@ \;†@v6䟙+†@v6䟙†@xEð¿õ†@t'Ø=†@!ê>)B†@î{Ô_j†@˜//À‹†@ßÁÿÖ†@ŠÉ`fœ†@ðŠà뛆@ðŠà뛆@GP ®G XA)\L0>AÂõ(„XA®Gá:X0>A®G XA)\L0>A®G¡ƒXA®Gá:X0>AÂõ(„XAq= ×P0>AÂõƒXA)\L0>Af`¸”†@v6䟙Ÿ†@v6䟙Ÿ†@ˆº@ Ÿ†@˜//À•†@f`¸”†@H\ ×£pŒXA)\L0>AHázäŸXAÂõè§0>A×£pŒXAÂõè§0>Aáz.“XA= ×£ˆ0>A ×£ šXA…ëk0>AR¸•ŸXAq= WQ0>AHázäŸXA)\L0>AxEð¿õÒ…@“7ÀÌú…@“7ÀÌú…@t'Ø=î…@„+ pÝ…@xEð¿õÒ…@“7ÀÌÖ…@I¤ áz^oXA)\L0>A¸…»XA®G!­0>A ¸…»XA)\L0>AR¸…‹XA ×£ðe0>AìQ¸þˆXA ×£ðh0>A…ëQX„XA ×£00>AìQ¸yXA…ë0>AìQ¸^rXA\Âuh0>Aáz^oXA¤p=Êd0>AR¸ExXA¸…ë†0>AR¸…XAö(\–0>Aš™™Ù‡XAìQ¸ž§0>AìQ¸ÎŠXA®G!­0>AŠÉ`f†@†« ®«†@u€†@fÁÄ…“†@ˆº@ ©†@†« ®«†@†« ®«†@ò™ìŸG£†@†« ®‹†@†« ®‹†@T†@xEð¿õ†@ŠÉ`f†@J àÒXAÂõè·0>AìQ¸þXAÃõ(Üz2>AìQ¸þXAÃõ(Üz2>AìQ¸®XAÂõ¨d2>A{®WXAÍÌÌÌN2>A®G±XAÀ.2>Afff–XAÍÌÌÌ2>AHáz´XAš™™ù1>A…ë¡XAR¸…Þ1>A= ×XA¤p= Å1>AázÞþXA3333«1>A®GáêüXAR¸E•1>A®GÁúXA3333~1>A)\âöXA333³\1>A333ÃòXAÃõ(Ü61>A ×£ÐîXA\Âu1>AR¸õëXAáz®÷0>A{®GéXA®GáÞ0>AáznçXAö(\ÏÐ0>A¸…»ãXA®G!Ê0>A ×£ ÞXAìQ¸Þ½0>Aš™™)ÙXAÂõè·0>AàÒXA@¹0>A!ê>)À‡@xEð¿õZŠ@!ê>)À‡@ò™ìŸGã‡@„+ pñ‡@ðŠàëˆ@î{Ô_4ˆ@hÐÐ?áDˆ@u€Tˆ@f`¸lˆ@˜//Àuˆ@“7ÀÌŽˆ@fÁÄ…ˆ@ßÁÿÖÈ@ßÁÿÖãˆ@š>;àz‰@t'Ø="‰@!ê>)@‰@š>;àz\‰@hÐÐ?ᄉ@ßÁÿÖÙ‰@hÐÐ?áŠ@xEð¿õZŠ@Kì q= 7ÓXAÃõ(ÜÉ0>A{®ÿXA)\Bã2>Aq= 7ÓXAÃõ(ÜÉ0>A×£p­×XAÍÌÌ á0>AázÎÙXAÀÿ0>A¸…ÛÛXAáz.51>A{®GÞXA ×£ðe1>A®GàXAáznŽ1>AR¸eâXAHázT²1>Aáz>äXA)\BÒ1>A333óåXA ×£°ö1>A€èXAÂõ(2>AfffFëXA…ë32>A= ׃ïXAfff¦R2>AR¸…ôXA ×£ðm2>AÍÌÌœøXA×£pý†2>A¤p=šûXA¸…ë¨2>A×£pþXA= ×£É2>A{®ÿXA)\Bã2>Aè‡@ŒØ'€ÂkŠ@ŒØ'€ÂkŠ@t'Ø=VŠ@ŒØ'€Â+Š@u€þ‰@xEð¿õÚ‰@þðóߣ´‰@fÁÄ…‡‰@ \O‰@‰@ðŠàëψ@t'Ø=˜ˆ@hÐÐ?áZˆ@ \/ˆ@!ê>) ˆ@!ê>)ö‡@ò™ìŸGí‡@è‡@L€ ¸…K÷XAö(\‡1>A= ׳ûXA…ëQ¸]2>A= ׳ûXA…ëQ¸]2>A333cúXAR¸F2>A¤p=ZùXAR¸(2>A333£ùXAázî2>A®GùXA®Gáí1>A\ÂåùXA¤p=ŠÎ1>A{®ùXAq= —«1>A¸…K÷XAö(\‡1>AfÁÄ…ó‡@ŒØ'€Â­ˆ@fÁÄ…ó‡@fÁÄ…ˆ@ŠÉ`f:ˆ@„+ pQˆ@rˆ@!ê>)€ˆ@š>;àzœˆ@ŒØ'€Â­ˆ@Mì R¸UèXA…ëQÊ0>AR¸¥XA®Ga{2>AR¸¥XA®Ga{2>A®G¡XA ×£ðZ2>AffffXAáz®C2>A= ×cXA)\B32>AffffXAÃõ(œ2>A®GaXAš™™Ùî1>A®GXAHázÔÐ1>A{®çXA®Ga¸1>A ÿXAö(\›1>A®GáÊýXAìQ¸1>A…ëQhûXAáz.v1>Aq= ·÷XA333³U1>A\Â5ôXA\Âu41>A= ×3ðXA{®G 1>A×£p=íXA…ë‘ò0>A®GáÚêXA ×£pÙ0>AR¸UèXA…ëQÊ0>Aò™ìŸGÇ@hÐÐ?ád‰@ò™ìŸGÇ@t'Ø=â‡@fÁÄ…ý‡@“7À̈@ðŠàë;ˆ@zTüßQNˆ@v6䟙_ˆ@˜//Àuˆ@ˆˆ@“7ÀÌŽˆ@ðŠà륈@ˆº@ Ɉ@xEð¿õæˆ@ðŠàë‰@ò™ìŸG-‰@f`¸L‰@hÐÐ?ád‰@NP ¸…ËëXAR¸EÆ0>A×£pMùXAÍÌÌÌë0>A¸…ËëXAR¸EÆ0>AÂõèïXA…ëQ8Ô0>A= ×3õXA¤p=Jä0>A×£pMùXAÍÌÌÌë0>Af`¸¶ˆ@zTüßQN‰@zTüßQN‰@!ê>)‰@†« ®Õˆ@f`¸¶ˆ@O\ ìQ¸¾ùXAR¸…¶0>A…ëQ(ûXAHáz61>A…ëQ(ûXAHáz61>A)\ÂúXA)\Â1>A×£p]úXAHázå0>Aö(\OúXAö(\ÏË0>AìQ¸¾ùXAR¸…¶0>AxEð¿õ¦ˆ@ßÁÿÖùˆ@xEð¿õ¦ˆ@xEð¿õ¦ˆ@î{Ô_¨ˆ@ðŠàëň@ßÁÿÖùˆ@PP üXA= ×£¸0>A333sþXA…ëQ-1>AüXA= ×£¸0>Afff6ýXAÚ0>A333sþXA…ëQxý0>A333“ýXA…ëQ-1>Aþðóߣ ˆ@ŠÉ`fðˆ@ŠÉ`fðˆ@f`¸¶ˆ@ˆº@ ©ˆ@þðóߣ ˆ@Qt ¸…«XA51>Aq= w#XAìQ¸ÞI1>Aq= w#XAÍÌÌÌD1>AÃõ(¬XAÂõhB1>AR¸EXAìQ¸ÞI1>Aq= —XA…ë‘D1>AázNXA333³81>A®Gá XAÍÌÌL51>A¸…«XA51>AfÁÄ…³‡@Rˆ@fÁÄ…³‡@xEð¿õƇ@hÐÐ?áú‡@ˆ@ðŠàëˆ@“7ÀÌ8ˆ@Rˆ@R˜ ®GáÊ+XA)\L0>A…ëñ7XA\Âu1>A ®GáÊ+XA\Âu1>Aq= ‡,XAö(\1>A®Gáú,XA€î0>AR¸¥-XA…ëQxÚ0>AÂõ8/XAš™™Ã0>AÂõˆ1XAfff¦§0>Aq= —2XAHáz“0>AR¸%4XA…ë‘|0>AÃõ(L6XA¸…+d0>A…ëñ7XA)\L0>Aò™ìŸGÇ@fÁÄ…õˆ@ò™ìŸGÇ@!ê>)ì‡@fÁÄ…ˆ@˜//À5ˆ@ðŠàëeˆ@ˆº@ ‰ˆ@hÐÐ?ᤈ@ìlÈ?3Áˆ@ßÁÿÖãˆ@fÁÄ…õˆ@S¼ Ãõ(Œ)XA)\L0>Aš™™I6XAR¸E.1>A š™™I6XA)\L0>AÍÌÌŒ5XAq= U0>A…ë4XA×£p½i0>AHáz2XAÃõ(‚0>A®Gáš/XA¸…+›0>A{®—-XA\Â5¯0>A\Â¥,XA¤p= Â0>Aáz®+XAÃõ(œÕ0>AÂõx*XAìQ¸ð0>AÃõ(ü)XAázn1>AÃõ(Œ)XAš™™Y1>AHázÔ)XAìQ¸Þ'1>A…ë*XAR¸E.1>A†« ®‡@f`¸èˆ@f`¸èˆ@˜//À߈@ìlÈ?3ˈ@ŒØ'€Â­ˆ@š>;àz’ˆ@†« ®uˆ@ò™ìŸGYˆ@fÁÄ…3ˆ@˜//Àÿ‡@ˆº@ ߇@ìlÈ?3Á‡@t'Ø=¢‡@†« ®‡@T8 ¤p=ê¼XAÍÌÌŒ 5>AÍÌÌ<¿XAHáz5>AÍÌÌ<¿XAHáz5>A¤p=ê¼XAÍÌÌŒ 5>A \‰@zTüßQ.‰@ \‰@zTüßQ.‰@UÈ ¸…»’XAHázT²4>AÍÌÌœ»XA…ëQ5>AÍÌÌœ»XAHázT²4>A¸…[²XA ×£pº4>A×£pͰXA)\‚5>A333¯XA= ×ã5>A¸…[°XA)\Bµ4>A…ëQ˜¢XAR¸…·4>Aš™™™–XAq= W¾4>A¸…»’XAÃõ(\ð4>A\Âe•XA@5>A`œXAš™™ 5>A¸…K¥XAÂõh 5>A)\"¬XA3333 5>Aö(\?³XAš™™Ù 5>A𙙉»XA…ëQ5>A \‰@ŠÉ`fP‰@ò™ìŸG-‰@„+ p1‰@ìlÈ?3+‰@ò™ìŸGC‰@î{Ô_H‰@fÁÄ…G‰@ŠÉ`fP‰@î{Ô_H‰@ŠÉ`f:‰@v6䟙3‰@ò™ìŸG-‰@ðŠàë%‰@“7À̉@ \‰@VD жXA)\B'3>A×£p¾XAìQ¸|3>AжXAìQ¸|3>A®G±ºXAHázTC3>A×£p¾XA)\B'3>AÞ†@f`¸â†@f`¸â†@f`¸â†@Þ†@W@ ¤p=ú˜XA…ë@2>A= ×ó½XA ×£°m3>Aö(\_ºXAš™™Ù3>A)\"´XA ×£°m3>AR¸åªXA¤p=JZ3>A®Gñ£XA\µH3>A{®—³XA…ëQ83>A{®ç±XA×£pý 3>AR¸E£XA…ëQx:3>AHáztžXAázn3>A¤p=ú˜XAÀú2>AÂõ®XAš™™Ùë2>AìQ¸¾®XAÀà2>Ap™XAš™™™è2>AázšXA¸…ëÅ2>A ›XAázn¦2>A333ã®XA…ë½2>A¤p=Ú«XAÂõ¨±2>A333ÛXAö(\š2>Aö(\¿¡XA ×£0q2>AHázdµXA\Âu–2>AHáz$·XAÂõh2>A ×£à¤XA®G¡g2>A¤p=j£XAq= —V2>A®G‘©XA…ë@2>A= ×ó½XA\Âõf2>A \[†@ \»†@!ê>)¶†@t'Ø=¸†@†« ®·†@ \»†@!ê>)¶†@ßÁÿÖ¥†@“7À̤†@“7À̤†@hÐÐ?ᦆ@u€ †@!ê>)Œ†@t'Ø=˜†@v6䟙•†@ßÁÿÖ†@ˆº@ ‰†@ßÁÿÖ™†@˜//À¡†@”†@“7ÀÌ„†@xEð¿õ\†@ò™ìŸGc†@†« ®a†@˜//Àa†@ \[†@XD ®GѪXA×£pý2>AÍÌÌ|²XA®GáA2>AÍÌÌ|²XA®GáA2>A®GѪXAfff¦02>Aáz°XA×£pý2>Av6䟙+†@“7ÀÌ.†@v6䟙+†@v6䟙+†@“7ÀÌ.†@Y8 ¸…³XA¸…kÃ1>A{®—¹XAÃõ(ö1>A¸…³XAÃõ(ö1>A{®—¹XA¸…kÃ1>Aþðóߣö…@t'Ø=ø…@þðóߣö…@t'Ø=ø…@Zà Âõx˜XA= ×c\0>A®GáÊ¿XAÂõhþ0>A®GáÊ¿XAÃõ(œ’0>Aáz^»XA¸…k~0>A= ×ó·XA)\Ân0>Aö(\o´XAÃõ(\a0>A®Gá°XA= ×c\0>A…ëQ8¬XAÂõhc0>A®GኩXAÃõ(œq0>Aà«XA¤p= o0>AÃõ(ì°XAš™™Ùk0>Aq= GµXA…ëQ¸0>Aq= G»XA®GẨ0>A333c¿XAfff&Ã0>A®GኲXAÂõhþ0>A×£p-¥XAq= WÏ0>A®G1XA{®G²0>AÂõx˜XA{®Ç¿0>AxEð¿õˆ…@š>;àzò…@xEð¿õˆ…@xEð¿õ’…@„+ p§…@þðóߣ¶…@ŒØ'€ÂÃ…@xEð¿õÈ…@˜//ÀË…@zTüßQÚ…@ \Û…@Þ…@!ê>)â…@þðóߣà…@f`¸â…@f`¸â…@fÁÄ…é…@š>;àzò…@[Œ = ×ã0XA{®Ç¿0>AÂõx˜XAáz.5>AIÂõx˜XA{®Ç¿0>A¸…+“XA×£pýÕ0>A)\¢XA¸…kî0>A®GáÚ‰XA= ×c1>A{®ç…XAÍÌÌÌ1>A ×£@‚XAfff¦ 1>A×£p-~XAÃõ(œ21>Aq= —zXA\µF1>AìQ¸¾uXA…ë‘\1>AÂõHrXA…ëQk1>A®G!oXAš™™x1>A…ë¡kXA)\ˆ1>AÍÌÌüfXA¸…kœ1>A{®÷bXA…ë°1>A¤p=Z_XA)\Â1>A¤p=:\XA{®ÇÓ1>A333cYXA= ×#â1>AÍÌÌlVXAáz®ó1>A)\SXA ×£°2>Aö(\_OXA®Gá2>A×£p­LXA®Ga22>AÃõ(üIXAÂõ¨D2>A×£pÝGXAX2>A®GEXA®G!l2>A×£pBXAq= ‡2>A®Gñ?XAázn2>A…ëQ>XAR¸ű2>A®Gá;XAÃõ(œÇ2>AÍÌ̼:XA®Gáº×2>A®G¡8XA ×£0ù2>Aáz¾6XAìQ¸3>A×£pí5XA¸…ë.3>A¤p=j4XA\Â5F3>AÂõH3XA®G!_3>AÃõ(œ2XA ×£0u3>A ×£`1XA×£p}•3>A×£p-1XAR¸E¯3>Afffö0XA×£p=Å3>A= ×ã0XA®GáºÞ3>A{®ç0XA¤p=Šü3>A…ë11XAš™™Ù4>AÂõˆ1XAHázT64>A)\’1XA…ëQøU4>AR¸Õ1XAÂõèt4>A333£2XAHázT4>A…ëQÈ2XAÃõ(»4>A®Gá 3XAö(\Oß4>A…ë3XAáz.ù4>AázŽ5XA= ×£5>AHázô8XA ×£ð5>A¤p=Ú?XAìQ¸5>A®GJXA…ëÑ5>AR¸TXA®G¡5>AÂõø\XAR¸5>A¤p=ÚeXAáz.5>A×£p½mXAHázT5>A®GQwXA…ë‘5>A ×£XA¤p=Š 5>A×£p=ƒXA¤p= û4>A{®ƒXA…ëQ8å4>AìQ¸>XA\µÔ4>A¤p=JXA= ×ã»4>A®GÑ~XA¸…ë¥4>AfffF‚XAÍÌÌ ’4>AÃõ(|‡XA…ëц4>A®GáXA@†4>AÃõ(ü’XA)\—4>A𙙉”XA®G¡¬4>AÃõ(Ì“XA\µÂ4>AÂõÈ‘XA@Ù4>AHáz‘XA®Gáºï4>A{®g’XA€ý4>A…ëQ(•XA333s5>Aš>;àzò…@u€t‰@š>;àzò…@ˆº@ ÿ…@ò™ìŸG†@u€ †@š>;àz2†@þðóߣ@†@u€J†@ \e†@!ê>)l†@~†@ßÁÿÖ…†@ŠÉ`fœ†@†« ®¡†@xEð¿õ²†@zTüßQĆ@ìlÈ?3͆@!ê>)Ö†@zTüßQä†@š>;àzò†@fÁÄ…ý†@!ê>) ‡@ \‡@ŠÉ`f&‡@ŒØ'€Â7‡@ßÁÿÖO‡@ \[‡@“7ÀÌn‡@ò™ìŸGy‡@ \…‡@t'Ø=˜‡@u€ª‡@t'Ø=¸‡@ŒØ'€ÂÇ@ŠÉ`fЇ@!ê>)Ö‡@v6䟙é‡@î{Ô_ô‡@þ‡@˜//À ˆ@þðóߣ ˆ@ò™ìŸG#ˆ@˜//À5ˆ@ìlÈ?3Aˆ@ˆº@ Sˆ@ \eˆ@ðŠàë{ˆ@ˆˆ@†« ®•ˆ@fÁÄ…§ˆ@ \¹ˆ@v6䟙ӈ@š>;àz܈@zTüßQøˆ@î{Ô_þˆ@„+ p‰@“7À̉@v6䟙)‰@v6䟙3‰@“7ÀÌ8‰@fÁÄ…G‰@R‰@!ê>)`‰@„+ pe‰@zTüßQn‰@u€t‰@u€t‰@xEð¿õp‰@î{Ô_h‰@ŠÉ`fd‰@!ê>)V‰@ðŠàëE‰@hÐÐ?áD‰@ˆº@ =‰@\( \µcXA@4>Aáz~¸XAš™™Ù¯4>A{®'–XAš™™Ù¯4>A333šXAfff¦¦4>A= ×#¤XAÂõè¢4>A ×£0°XAq= —4>Aáz~¸XAìQ¸Þš4>A¤p=º¶XA¸…«†4>A{®w²XA)\h4>A¤p=Š«XA{®ÇH4>A×£pý§XA>4>A333Ó—XA ×£ð4>Afff6XA®Gáº4>A×£p½„XA@4>A…ëQÈ}XA…ëQ¸4>A×£p sXA ×£°24>AìQ¸¾lXA333sD4>A{®'zXAr4>AR¸•xXAÀt4>AHázôkXA\ÂuI4>A\µcXA®Gáz[4>A…ëÑcXA®G¡•4>A®GázwXAfff&¢4>A333³|XA)\B§4>Af`¸v‰@„+ p›‰@f`¸v‰@ðŠàë‰@fÁÄ…‘‰@ŠÉ`f‰@fÁÄ…‘‰@„+ p›‰@˜//À•‰@ \‰@xEð¿õš‰@ßÁÿÖ™‰@ßÁÿÖ™‰@ŠÉ`fš‰@ŠÉ`fš‰@ \™‰@ \™‰@“7À̘‰@ŠÉ`f‰@xEð¿õ‰@u€”‰@þðóߣ”‰@ŠÉ`f‰@ŒØ'€Âw‰@]h R¸%zXA ×£ðj4>A¸…ËXA{®Ç—4>AR¸%zXAq= ‹4>A ×£@€XA¸…kv4>AÂõøˆXA ×£ðj4>AR¸å’XA ×£ðu4>Aö(\™XA¤p= …4>A¸…ËXA{®Ç—4>Aò™ìŸG‰@ðŠàë‰@hÐÐ?ᎉ@ò™ìŸG‰@ßÁÿÖ‰@ðŠàë‰@ðŠàë‰@ \‰@^¼ ÍÌ̼[XA¤p=J«4>A×£pÝ}XA®Ga 5>A Ház„vXA×£pýþ4>A×£pÝ}XA×£pýó4>AÀ}XA…ëÑÝ4>A= ×|XA¸…ë¹4>AHáz”oXA{®Ç²4>A\ÂupXA…ëQ¸ý4>AR¸åmXA…ëQý4>Aš™™¹lXA…ëQµ4>AÃõ(\aXAáz.­4>AR¸e]XA¤p=J«4>AÍÌ̼[XA¤p=ʱ4>A…ëñ\XAÂõ(ÿ4>A)\‚eXA®Ga 5>A!ê>)*‰@ò™ìŸGC‰@ŠÉ`f:‰@v6䟙?‰@v6䟙?‰@˜//À?‰@ŒØ'€ÂA‰@ò™ìŸGC‰@hÐÐ?á.‰@!ê>)*‰@„+ p1‰@2‰@v6䟙3‰@“7ÀÌ8‰@ˆº@ 3‰@_˜ q= g5XAö(\O°4>Aö(\ÿRXAfff¦5>A áz~5XA®Gáúú4>AÍÌÌü:XAfff¦5>Aq= ×EXA= ×ãÿ4>Aq= çNXA\µú4>Aö(\ÿRXA= ×ãô4>A)\òRXAHázTÔ4>A®GáŠQXAö(\O°4>A= ×ãAXA¤p= ±4>AfffÖ6XAHáz”´4>Aq= g5XA{®ß4>AhÐÐ?ᚈ@þðóߣªˆ@hÐÐ?ᚈ@xEð¿õœˆ@fÁÄ…ˆ@t'Ø=¢ˆ@“7ÀÌ¢ˆ@t'Ø=¢ˆ@“7ÀÌ¢ˆ@xEð¿õ¦ˆ@þðóߣªˆ@fÁÄ…§ˆ@`˜ …ëQø3XAHázTP4>Aš™™ÉQXA)\¢4>A 333Ã4XA= ×ã¡4>AÍÌÌAÃõ(¬IXAÃõ(\œ4>A ×£ðPXA…ë˜4>Aš™™ÉQXA…ëÑu4>Aö(\¿PXA¤p= R4>AázFXAHázTP4>A ×£Ð5XA×£p=Q4>A…ëQh5XA{®‡o4>A…ëQø3XA= ×£4>Aò™ìŸGcˆ@zTüßQ„ˆ@þðóߣjˆ@xEð¿õpˆ@!ê>)vˆ@zTüßQ„ˆ@“7ÀÌ‚ˆ@!ê>)€ˆ@t'Ø=xˆ@xEð¿õ|ˆ@ðŠàë{ˆ@ò™ìŸGcˆ@a˜ ®Ga4XA¸…kí3>A×£p=UXA…ëQ8?4>A ®Gáª4XA…ëQ8?4>A\ÂeCXA{®G>4>AHáz¤NXAìQ¸Þ74>AÍÌÌAš™™YRXA= ×ã4>A×£p=UXA{®‡ñ3>Aq= ·JXA¸…kí3>AÍÌÌü<XA¤p=Jò3>Aáz^6XA¸…+ó3>A®Ga4XA×£p=#4>Aî{Ô_>ˆ@ßÁÿÖOˆ@†« ®Aˆ@t'Ø=Bˆ@ßÁÿÖCˆ@hÐÐ?áDˆ@xEð¿õFˆ@þðóߣJˆ@˜//ÀKˆ@f`¸Lˆ@ßÁÿÖOˆ@î{Ô_>ˆ@bt q= G4XA333s…3>AR¸•XXA333³ã3>A{®—5XAáznß3>Aáz®BXAÃõ(œã3>A®GqTXA333³ã3>AR¸•XXA…ëQ¸3>A@9XA333s…3>AÍÌÌì5XA×£pý¨3>Aq= G4XA¤p= À3>AðŠàëˆ@u€4ˆ@š>;àzˆ@ˆº@ )ˆ@fÁÄ…3ˆ@u€4ˆ@u€4ˆ@ŠÉ`f0ˆ@ðŠàëˆ@ch = ×S6XA×£pý3>Aq= ]XA®Gáº3>A= ×S6XA@k3>A{®ÇJXA ×£0x3>A…ëQÈ[XA®Gáº3>Aq= ]XA)\93>A®Gq;XA×£pý3>A…ë17XA)\BM3>AzTüßQÚ‡@†« ®ë‡@„+ pÛ‡@zTüßQÚ‡@†« ®ë‡@„+ pç‡@è‡@„+ pç‡@dh Ãõ(l;XA×£p=¬2>A¤p=Ê\XAÃõ(œ3>AÃõ(l;XAÂõèû2>AffffHXA333³ 3>A¤p=Ê\XAÃõ(œ3>AìQ¸WXA×£p½É2>A…ëQ¨BXA×£p=¬2>A…ëQh?XA€Ë2>AþðóߣЇ@xEð¿õœ‡@ŒØ'€Â‡@ŒØ'€Â‡@xEð¿õœ‡@fÁÄ…“‡@þðóߣЇ@ \‡@et EXAš™™™A2>A ×£eXA= ×c»2>A EXA…ëQ8•2>A®GÑZXA= ×c»2>AázÎ`XA¤p=Jƒ2>A ×£eXAÃõ(Üp2>AìQ¸~`XA…ëQ8`2>A×£p­PXAš™™™A2>AìQ¸MXA333óM2>Aî{Ô_4‡@ \E‡@zTüßQD‡@ò™ìŸGC‡@ŒØ'€ÂC‡@zTüßQD‡@ \E‡@t'Ø=B‡@î{Ô_4‡@ft = ×ãRXAR¸ÅÑ1>A ×£@tXA…ëQxZ2>Aš™™ÙVXAq= —2>A= ×ãRXA{®G#2>A)\’`XA€D2>AÐiXA…ëQxZ2>A ×£@tXAHáz2>AìQ¸N`XAR¸ÅÑ1>AìQ¸þ\XAÃõ(ß1>Aè†@ìlÈ?3÷†@è†@f`¸ì†@fÁÄ…é†@u€ô†@ìlÈ?3÷†@u€ô†@“7ÀÌî†@g\ = ×sbXA)\B{1>AÍÌÌü…XA®Gáú2>A= ×sbXAfff&Ã1>AÂõhiXAÀ×1>A{®'yXA®Gáú2>AÍÌÌü…XAö(\Ä1>Aö(\¯rXA)\B{1>A†« ®¡†@þðóߣ¶†@þðóߣ¶†@ßÁÿÖ¥†@fÁÄ…©†@f`¸¬†@†« ®¡†@hD = ×stXAfff¦1>A)\Â}XA333ó×1>A= ×stXAfff¦1>A)\Â}XAìQ¸žº1>A…ë¡yXA333ó×1>AzTüßQš†@˜//À¡†@zTüßQš†@ˆº@ Ÿ†@˜//À¡†@i\ …ëQxXAq= W1>AÃõ(,˜XAìQ¸¦1>Afff6~XA×£pýD1>A…ëQxXA ×£ðo1>AÍÌÌì†XAìQ¸¦1>AÃõ(,˜XAfff&^1>AìQ¸Ž†XAq= W1>At'Ø=N†@hÐÐ?áZ†@t'Ø=N†@„+ pQ†@T†@hÐÐ?áZ†@ìlÈ?3W†@j\ €‰XAö(\OÉ0>A ףЬXA×£pýX1>A€‰XAš™™™1>A¤p=J›XA×£pýX1>A ףЬXAHáz1>A®G±šXAö(\OÉ0>Aš™™ —XAš™™™Ú0>Af`¸"†@hÐÐ?á0†@hÐÐ?á0†@hÐÐ?á0†@hÐÐ?á0†@t'Ø=.†@f`¸"†@k0 HázWXAš™™™F1>A{®Ç¾XA333³œ4>A,{®Ç¾XAš™™™F1>A…ëQظXA\Âõ[1>A= ×ã³XA¸…+v1>A ×£ °XA333³Ž1>A)\­XAö(\¡1>A\Â…«XA@º1>A®Gáú¦XA= ×ãÈ1>AHázä¤XAš™™ÙÞ1>AÃõ(,¡XAR¸Åò1>Aš™™ÉœXA®Gáº2>A{®ÇšXA×£p}"2>Aš™™I–XA×£p=:2>A×£p’XAÀO2>A…ëáŽXAš™™Ù_2>A¸…ÛŠXAìQ¸žp2>A ×£ðƒXA×£p=y2>A)\XAffff€2>A®Gñ{XA\Âõ–2>A×£pMvXA§2>A®GñpXA®G!»2>AázmXAHázÔÉ2>A¤p=:lXAq= Þ2>Aš™™©kXAÍÌÌLò2>Aq= §kXA)\B3>A…ëQèjXAHázT3>A®GáªhXAÃõ(Ü23>Aš™™ gXA…ëQ¸M3>AÍÌÌldXA{®‡k3>A…ëñaXA ×£p3>Aázþ^XA\µ›3>A®G\XA333sµ3>AìQ¸YXA×£p½Ò3>A\ÂÅWXAìQ¸Þñ3>A…ëQØWXA333ó4>Aáz®WXAÃõ(\&4>Aáz¾WXAHázÔ:4>Afff†XXAÂõ¨L4>A®GAYXAÍÌÌÌi4>AìQ¸ÞZXAfff¦‰4>A®G[XA333³œ4>Afff¶ZXAR¸Eœ4>AÂõXXXA{®Gh4>AHázWXAfff¦G4>AÂõWXAffff,4>AŠÉ`f2…@hÐÐ?á‰@ŠÉ`f2…@†« ®7…@ŠÉ`f<…@fÁÄ…?…@î{Ô_J…@ìlÈ?3M…@zTüßQP…@v6䟙U…@î{Ô_`…@š>;àzh…@ \q…@!ê>)Œ…@ò™ìŸG™…@fÁÄ…©…@u€À…@t'Ø=Ä…@î{Ô_ô…@ŒØ'€Â†@†@hÐÐ?á0†@H†@xEð¿õ\†@š>;àz’†@ðŠà뻆@ò™ìŸGã†@ˆº@ ‡@H‡@˜//Àk‡@š>;àz’‡@fÁÄ…³‡@!ê>)Ö‡@þðóߣê‡@î{Ô_4ˆ@þðóߣtˆ@u€ªˆ@u€Ôˆ@“7ÀÌâˆ@hÐÐ?áîˆ@!ê>)‰@!ê>) ‰@hÐÐ?á‰@f`¸öˆ@t'Ø=âˆ@ðŠàëň@lP ÍÌÌLaXAHázÔÁ2>A= דkXAÍÌÌLÌ2>A= דkXAÍÌÌLÌ2>AHázäfXA×£pýÇ2>A)\’cXAÃõ(\Â2>AÍÌÌLaXAHázÔÁ2>AðŠàë[†@ˆº@ ߆@ðŠàë[†@ˆº@ ‰†@t'Ø=†@ˆº@ ߆@mP ×£ðyXAáznK2>A)\’ŠXAHázTW2>A)\’ŠXAHázTW2>Afff&„XAáznK2>AìQ¸~XA®G!T2>A ×£ðyXAHázN2>AzTüßQÐ…@!ê>)"†@zTüßQÐ…@zTüßQð…@hÐÐ?á†@!ê>)"†@nP Âõ}XA= ×c-2>A333ó’XAö(\O<2>AÂõ}XAö(\O<2>A…ëQH…XA= ×c-2>A…ëQXAHáz”/2>A333ó’XAáz.;2>AŠÉ`fÜ…@†« ®W†@†« ®W†@t'Ø=8†@ŠÉ`f†@ŠÉ`fÜ…@ot ÍÌÌüžXA\Â5F1>Afff†»XAìQ¸žÜ1>AÍÌÌüžXAìQ¸žÜ1>Aš™™)ŸXA¹1>A)\Ò£XA𙙤1>AìQ¸®¥XAÀ‹1>AHázĬXAÃõ(\v1>AázN²XA)\Â`1>Afff†»XA\Â5F1>AŒØ'€ÂC…@„+ pg…@î{Ô_`…@„+ pg…@ˆº@ _…@“7ÀÌZ…@þðóߣV…@J…@ŒØ'€ÂC…@pP {®‡‹XAfff& 1>AìQ¸^XAö(\ª1>AìQ¸^XAfff& 1>A®G¡–XAq= §1>AÍÌÌ\XAö(\ª1>A{®‡‹XA\Âu©1>A \{…@ìlÈ?37†@ \{…@ìlÈ?3Ã…@f`¸ø…@ìlÈ?37†@qP ÂõxŒXA®Gá¯1>AÍÌÌ,XA ×£0À1>AÂõxŒXA ×£0À1>AÂõ8’XAq= ×½1>Aö(\O˜XAÃõ(ܹ1>AÍÌÌ,XA®Gá¯1>A“7ÀÌŽ…@ˆº@ I†@ˆº@ I†@†« ®÷…@š>;àzÈ…@“7ÀÌŽ…@rì = ×£„XAö(\Ï´2>A{®·¼XA×£pýœ3>AÍÌÌl–XAR¸ÅÄ2>AÃõ(ŒXA…ëQøÀ2>A{®‰XAö(\Ï´2>A= ×£„XAfff¦½2>A333ŒXAš™™YÖ2>Aq= G’XAHázÔê2>A®GኖXA…ë3>Aö(\ß—XA®G!3>A¤p=º™XAfffæ03>Aö(\_šXA®GáºD3>A333œXA= ×£V3>AОXAÃõ(\g3>A333“¤XA ×£0x3>A¸…›«XAázîŠ3>Aq= ‡°XA…ëQø”3>A333¶XA×£pýœ3>A{®·¼XAÂõèš3>Av6䟙†@²‡@”†@v6䟙†@ˆ†@u€€†@ðŠà뛆@þðóߣ¶†@˜//ÀÕ†@u€‡@u€ ‡@ˆº@ ?‡@„+ pq‡@ \{‡@t'Ø=‚‡@u€Ї@fÁÄ…“‡@ŒØ'€Â£‡@²‡@s ÍÌÌütXA®G!¹2>Aq= GºXA{®‡¤3>Aq= GºXA{®‡¤3>A®GáµXA…ë¢3>AR¸űXA{®Ÿ3>Aö(\Ÿ¬XAš™™•3>A…ëQ8¨XAÍÌÌ̇3>Afff¶¡XA…ëQ¸w3>A®GáÊXA®Gáºi3>A\•›XA ×£°^3>A…ëñ™XA)\ÂQ3>A®Gá™XAÂõèE3>A)\¢˜XAR¸83>A…ëQˆ—XAÂõè&3>AÃõ(ü•XA×£p=3>A@“XA®Gáz3>AÂõèXAq= ×ü2>Afff&ŒXAìQ¸žó2>AÍÌÌ܈XA¸…kë2>AÃõ( „XA333óá2>A¸…‹~XAázîÕ2>Aö(\xXA®Gá:È2>AÍÌÌütXA®G!¹2>AìlÈ?3-†@hÐÐ?ᤇ@hÐÐ?ᤇ@ßÁÿÖ™‡@þðóߣЇ@ŠÉ`f†‡@ \{‡@î{Ô_t‡@ŠÉ`fp‡@t'Ø=b‡@ðŠàëQ‡@fÁÄ…3‡@t'Ø=‡@î{Ô_þ†@zTüßQä†@î{Ô_¾†@!ê>)¬†@š>;àz’†@ßÁÿÖ…†@î{Ô_t†@“7ÀÌd†@ðŠàëQ†@ìlÈ?3-†@th {®~XAÍÌÌŒó2>AŠXA\µ3>AfffÖXAÍÌÌŒó2>A¸…Û…XA…ëÑ3>AŠXA= ×#3>AP†XA\Â53>A ×£@ƒXAR¸E3>A{®~XA\µ3>At'Ø=â†@ \O‡@t'Ø=â†@ŠÉ`fæ†@†« ®!‡@†« ®K‡@ìlÈ?3M‡@ \O‡@u\ àŒXA®Gáº3>Aö(\¿’XA¸…«(3>AàŒXA3>A…ë±’XA¸…«(3>Aö(\¿’XA®Gáº3>A…ëQÈXA)\Â3>Afff&XA®Gáº3>Aî{Ô_‡@þðóߣJ‡@î{Ô_‡@þðóߣ‡@xEð¿õ<‡@þðóߣJ‡@†« ®‡@vP ÂõH‰XA\Âõ&3>A¤p=ú—XAHázT\3>AÂõH‰XA\Âõ&3>AÂõXAìQ¸Þ:3>A…ëQX–XAáznM3>A¤p=ú—XAHázT\3>AðŠàëE‡@v6䟙‡@ðŠàëE‡@þðóߣj‡@“7ÀÌx‡@v6䟙‡@wP ®G‘•XAìQ¸ž3>A333£˜XA¸…«Ä3>A®Ga–XAìQ¸ž3>A®G‘•XA)\Ÿ3>A®GQ–XA{®‡¸3>A333£˜XA¸…«Ä3>AßÁÿÖã‡@zTüßQNˆ@ßÁÿÖã‡@„+ pˆ@“7ÀÌ8ˆ@zTüßQNˆ@xt …ëQ˜XAR¸Ž3>A¤p=*¿XAÂõ¨Ú3>A…ëQ˜XAR¸Ž3>A×£p]¤XAö(\¨3>Aš™™)«XA= ×#À3>AHázįXA®Gá:Ë3>A\µ´XA…ëQxÔ3>A{®wºXAÂõ¨Ú3>A¤p=*¿XA= ×#Ø3>AßÁÿÖˆ@š>;àzƈ@ßÁÿÖˆ@t'Ø=8ˆ@ŒØ'€ÂMˆ@“7ÀÌXˆ@u€Šˆ@š>;àzƈ@hÐÐ?áĈ@yD Ãõ(ì³XA= ×#4>A®GáʵXA)\ÂA4>AÃõ(ì³XA)\ÂA4>A\•µXA= ×#$4>A®GáʵXA= ×#4>AfÁÄ…'‰@v6䟙i‰@v6䟙i‰@†« ®U‰@fÁÄ…'‰@zP fff†¬XA¸…«è3>A\µ­XAR¸E)4>AÍÌÌ­XAR¸E)4>Afff†¬XAHáz4>Aö(\¯¬XAq= Wú3>A\µ­XA¸…«è3>A¨ˆ@H‰@H‰@ðŠàë‰@š>;àzÒˆ@¨ˆ@shapelib-1.6.1/tests/shape_eg_data/masspntz.dbf0000664000175000017500000001635114573117335016512 00000000000000` /A WIDN 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0shapelib-1.6.1/tests/shape_eg_data/CoHI_GCS12.dbf0000664000175000017500000000137214600371435016243 00000000000000q !vWatlas_stcoCatlas_nameCatlas_capsCatlas_areaNatlas_acreNentityCcntyaCcntynN 15001Hawaii HAWAII 4028.43700 2578199.68000County 001 1 15003Honolulu HONOLULU 600.62600 384400.64000County 003 3 15007Kauai KAUAI 619.94100 396762.24000County 007 7 15009Maui MAUI 1173.51500 751049.60000County 009 9shapelib-1.6.1/tests/shape_eg_data/anno.aux0000664000175000017500000000010314573117335015614 00000000000000AuxilaryTarget: anno.shp METADATA_VEC_1_LAYER_TYPE: WHOLE_POLYGONS shapelib-1.6.1/tests/shape_eg_data/csah.dbf0000664000175000017500000003066214573117335015552 00000000000000c |AdWHWY_N HWY_IDN NAMECLOWN HIGHN HWYCALT_HWYCCOUNTYNMVQ_CLASSN 54 9233 43 0.000 6.03043 3 1 55 9273 47 0.000 2.12847 3 1 56 9273 47 2.128 13.72247 3 1 107 205956 10 16.740 17.42510 56 3 300 84729 14 0.000 4.36614 29 3 312 87429 42 0.000 0.90042 29 3 320 9223 42 0.000 0.84442 3 1 321 9223 42 0.844 4.61642 3 1 963 8983 17 0.000 3.11017 3 1 964 8993 18 0.000 12.61518 3 0 965 9003 19 0.000 1.00119 3 1 966 9013 20 0.000 1.05920 3 3 967 9013 20 1.059 2.60320 3 3 968 9063 26 0.000 0.42426 3 0 970 9073 27 0.000 4.57027 3 2 971 9083 29 0.000 1.37829 3 1 972 9083 29 1.378 18.63629 3 1 974 9253 45 0.000 3.04445 3 1 975 9263 46 0.000 4.29646 3 1 1554 20814 10 0.000 22.42910 14 3 1559 21014 12 8.502 29.05912 14 3 1572 22114 24 0.000 4.02824 14 3 1574 22314 26 0.000 29.57126 14 3 1580 22914 34 0.000 28.26334 14 3 1586 23514 42 0.000 10.00642 14 3 1592 24114 6 0.000 2.9856 14 3 1629 27615 39 0.000 10.79539 15 3 2132 86329 32 0.000 5.31932 29 3 2134 86529 34 0.000 3.85134 29 3 2142 87329 41 0.969 2.04441 29 3 2154 8903 1 0.000 8.8861 3 1 2155 8913 10 0.000 3.21110 3 2 2156 8923 11 0.000 11.21911 3 1 2157 8933 12 0.000 12.49212 3 0 2158 8943 13 0.000 9.41713 3 0 2159 8953 14 0.000 3.48414 3 0 2161 8953 14 15.770 19.92214 3 1 2163 8973 16 0.000 3.00116 3 0 2165 9023 21 21.201 25.37521 3 1 2167 9043 24 0.000 4.06924 3 1 2169 9093 30 0.000 0.90230 3 1 2170 9103 31 0.000 9.02631 3 1 2173 9123 33 0.000 2.49233 3 1 2176 9143 35 0.000 16.30035 3 1 2177 9153 36 0.000 5.83436 3 1 2178 9163 37 0.000 22.29937 3 1 2179 9173 38 0.000 6.16038 3 1 2180 9183 39 0.000 2.90239 3 1 2181 9183 39 2.902 15.00239 3 1 2182 9183 39 15.002 20.79339 3 1 2183 9193 4 0.000 4.7494 3 1 2184 9203 40 0.000 3.99540 3 1 2185 9203 40 3.995 9.84940 3 1 2186 9213 41 0.000 2.98241 3 1 2187 9283 49 0.000 2.03949 3 1 2188 9293 5 0.000 13.1425 3 1 2189 9303 51 0.000 1.02151 3 0 2190 9313 52 0.000 0.92452 3 3 2191 9323 53 0.000 1.69153 3 1 2192 9333 54 0.000 5.44454 3 1 2193 9343 56 0.000 8.63156 3 1 2195 9363 6 0.000 5.5786 3 1 2196 9363 6 5.578 8.5486 3 1 2197 9363 6 8.548 13.2576 3 1 2198 9373 7 0.000 20.7207 3 0 2199 9383 8 0.000 2.0348 3 3 2200 9393 80 0.000 0.50680 3 0 2201 9403 81 0.000 0.29181 3 0 2202 9413 82 0.000 0.06882 3 1 2203 9423 83 0.000 0.44783 3 1 2204 9433 84 0.000 0.33984 3 1 2205 9443 85 0.000 0.10285 3 2 2206 9453 86 0.000 0.54386 3 2 2207 9463 87 0.000 0.30787 3 1 2208 9473 9 0.000 7.8569 3 0 2753 155244 13 0.000 4.70813 44 3 2758 156344 28 0.000 2.41828 44 3 3210 201054 38 0.000 6.02238 54 3 3266 206356 13 0.000 5.07813 56 3 3271 206756 17 0.000 6.67417 56 3 3273 206956 19 11.395 17.38319 56 3 3276 207056 2 8.324 9.0612 56 3 3277 207156 20 0.000 3.23920 56 3 3278 207156 20 3.239 4.25720 56 3 3279 207156 20 4.257 4.60020 56 3 3285 207456 23 5.129 10.20523 56 3 3308 209256 4 14.061 18.9764 56 3 3321 210256 49 4.094 4.48449 56 2 3327 210556 51 0.146 9.52951 56 3 3330 210756 53 0.000 12.91553 56 3 3347 212056 67 16.146 31.74167 56 3 3357 212856 75 25.484 31.82775 56 2 3371 213956 9 5.398 10.6009 56 3 4576 337280 16 0.000 1.80716 80 3 2166 9033 22 0.000 12.73022 3 3 2166 9033 22 0.000 12.73022 3 1 2162 8963 15 0.000 7.55615 3 1 2162 8963 15 0.000 7.55615 3 2 2164 9023 21 0.000 21.20121 3 2 2174 9133 34 0.000 19.27034 3 3 2174 9133 34 0.000 19.27034 3 1 0 0 0.000 0.000 0 3 2168 9053 25 0.000 6.26325 3 2 2168 9053 25 0.000 6.26325 3 2 2171 9113 32 0.000 9.11632 3 1 2171 9113 32 0.000 9.11632 3 2 0 0 0.000 0.000 0 3 969 9063 26 0.424 26.60426 3 3 969 9063 26 0.424 26.60426 3 1 2164 9023 21 0.000 21.20121 3 1 2164 9023 21 0.000 21.20121 3 1 0 0 0.000 0.000 0 3 2175 9133 34 19.270 26.29234 3 1 2175 9133 34 19.270 26.29234 3 1 2172 9113 32 9.116 12.14032 3 1 2172 9113 32 9.116 12.14032 3 3 0 0 0.000 0.000 0 3 973 9243 44 0.000 14.04644 3 3 973 9243 44 0.000 14.04644 3 1 2194 9353 58 0.000 4.07558 3 1 2194 9353 58 0.000 4.07558 3 3 2160 8953 14 3.484 15.77014 3 3 2160 8953 14 3.484 15.77014 3 0 0 0 0.000 0.000 0 3shapelib-1.6.1/tests/shape_eg_data/pline.shp0000664000175000017500000024344414573117335016006 00000000000000' £’è€ïÇ3A ;Û A«à3A@ô A(`0ß3A@X– A@»ß3A€½– A`0ß3A@X– A@»ß3A€½– A(@»ß3A€£– A@Yà3A€½– A@»ß3A€½– A@Yà3A€£– A(€\ß3A`…‚ A€aß3Aà ˆ A€\ß3A`…‚ A€aß3Aà ˆ A(@eß3A X A iß3A`·’ A iß3A`·’ A@eß3A X A(€aß3Aà ˆ A@eß3A X A@eß3A X A€aß3Aà ˆ A( uß3AÀå° Aà3A@"± Aà3AÀå° A uß3A@"± A( àÞ3A@"± A uß3AÀG± A uß3A@"± A àÞ3AÀG± A(€õÜ3A ü‚ A`£Ý3Aà*ƒ A€õÜ3Aà*ƒ A`£Ý3A ü‚ A (€õÜ3Aà*ƒ AàöÜ3A@3ˆ AàöÜ3A@3ˆ A€õÜ3Aà*ƒ A (`£Ý3A å‚ A€÷Ý3A ü‚ A`£Ý3A ü‚ A€÷Ý3A å‚ A (€÷Ý3AÀ¸‚ A@—Þ3A å‚ A€÷Ý3A å‚ A@—Þ3AÀ¸‚ A (@—Þ3A`…‚ A€\ß3AÀ¸‚ A@—Þ3AÀ¸‚ A€\ß3A`…‚ A (€„Þ3AÀ?– A`0ß3A@X– A€„Þ3AÀ?– A`0ß3A@X– A¸ 1Þ3A’Ÿ AÕÞ3A@ˆ§ A4 ²Þ3A@ˆ§ A ·Þ3AP§ A`ÄÞ3AÀL§ A ÄÞ3Aà§ AàÃÞ3A § A ÄÞ3A€â¦ A@ÅÞ3A´¦ A ÆÞ3AÀ¦ AÀÉÞ3A`l¦ A ÍÞ3A@8¦ A ÍÞ3A .¦ AÀÏÞ3A@ú¥ AÀÐÞ3A Ø¥ AÑÞ3A Ê¥ A€ÑÞ3Aàƒ¥ AÀÑÞ3A@_¥ A ÒÞ3AÀ2¥ A`ÒÞ3AÀ ¥ AÀÒÞ3Aà⤠AÓÞ3A຤ A`ÓÞ3AàŠ¤ AÔÞ3AC¤ A@ÔÞ3A¤ A ÔÞ3Aó£ AÕÞ3AÀÄ£ AàÔÞ3A ³£ A ÓÞ3As£ A€ÓÞ3A k£ A€ÑÞ3Aà,£ A ÑÞ3A`%£ A`ÎÞ3A€è¢ AÎÞ3A@ᢠAÊÞ3A€Ÿ¢ AÀÅÞ3Ah¢ A@ÅÞ3A`b¢ A€ÀÞ3A .¢ Aà¿Þ3AÀ'¢ A`ºÞ3Aø¡ A ¹Þ3A@ò¡ A€³Þ3AÇ¡ AÀ²Þ3A€Â¡ A@¬Þ3A@œ¡ A€¤Þ3Aàv¡ A £Þ3A`s¡ A`œÞ3A X¡ A`›Þ3AàT¡ A “Þ3A ?¡ AàŠÞ3A@.¡ A`ŠÞ3A€!  A€8Þ3A€.  A€8Þ3AàÈŸ A 1Þ3A’Ÿ A `‘Þ3A€©Ÿ A@ÿÞ3A@ˆ§ A1 ²Þ3A@ˆ§ AàÎÞ3A€‚§ A`ÍÞ3AÀi§ AÌÞ3AJ§ A ËÞ3Aà§ A@ËÞ3A@æ¦ AÌÞ3AƦ A ÍÞ3A §¦ AÀÐÞ3A`{¦ A`ÓÞ3A Q¦ A@ÔÞ3A@¦ A ÖÞ3A`¦ A€×Þ3Aàä¥ AØÞ3AàÍ¥ A`ØÞ3A œ¥ AÀØÞ3A q¥ A€ÙÞ3A€0¥ AÀÚÞ3A@r¤ AÛÞ3A@E¤ A@ÛÞ3A@¤ A ÛÞ3A`õ£ AÜÞ3A`È£ AÀÛÞ3A€ª£ A€ÚÞ3A`j£ A@ÚÞ3AÀ]£ A@ØÞ3A£ AÀ×Þ3A`£ AÕÞ3A€Õ¢ A`ÔÞ3AÉ¢ AàÐÞ3A€Ž¢ AÐÞ3A@‚¢ AÀËÞ3AÀJ¢ AËÞ3A@A¢ A@ÆÞ3A€ ¢ AÅÞ3AࢠA€¿Þ3A Ò¡ A@¾Þ3A@È¡ A ¸Þ3A¡ A·Þ3A€•¡ A€°Þ3A@o¡ A¯Þ3A g¡ A¨Þ3A F¡ A ¦Þ3A @¡ A`ŸÞ3A`%¡ A Þ3Aà¡ AÀ‘Þ3AÀ¡ A`‘Þ3A€h  A@ÿÞ3A`M  AÀþÞ3A€©Ÿ A(€Ý3A@M¶ AÝ3A`åº AÝ3A`åº A€Ý3A@M¶ A0àÜ3A@M¶ A€Ý3A@· A€Ý3A@M¶ A€þÜ3A`n¶ AàÜ3A@· A(`JÞ3AÀG± A àÞ3A m± A àÞ3AÀG± A`JÞ3A m± A( ´Ý3A m± A`JÞ3A ’± A`JÞ3A m± A ´Ý3A ’± A(Ý3A ’± A ´Ý3A ´± AÝ3A ´± A ´Ý3A ’± A(Ý3A ´± A€Ý3A@M¶ A€Ý3A@M¶ AÝ3A ´± A(àöÜ3A@3ˆ A øÜ3AÀ A øÜ3AÀ AàöÜ3A@3ˆ A¸€ÄÜ3A`cå Aà Ý3Aàaè AÀÆÜ3Aàaè A€ÓÜ3A`ÿç A€ÄÜ3A –ç AÈÜ3A@wç AÀÌÜ3AàLç AÀÑÜ3A ç AÀÔÜ3Aÿæ Aà×Ü3AÀÝæ AàÚÜ3A¼æ AÀÝÜ3A`›æ A àÜ3A{æ A ãÜ3A€Zæ A€æÜ3Aà9æ A`éÜ3A`æ A@ìÜ3Aàøå A@ïÜ3AØå A òÜ3A€·å AõÜ3A—å A ûÜ3A`cå Aà Ý3AàÓå A`à Ý3AÀ5å A éÝ3Aà¨è A) éÝ3A ^ç A`ÝÝ3A€xç A¾Ý3Aà¨è A ºÝ3A Žè AÀ·Ý3AÀ}è A`²Ý3A@\è A€®Ý3A Cè A`ªÝ3A +è A@¦Ý3A è A¡Ý3A`÷ç AàÝ3Açç AÀ™Ý3AÑç A€•Ý3Aàºç A€‘Ý3A@¥ç A@Ý3A@ç A ‰Ý3A@yç Aà„Ý3A@cç AÀ€Ý3A Mç A |Ý3A 7ç A`xÝ3A!ç A@tÝ3A ç ApÝ3Aàôæ AàkÝ3AàÞæ A gÝ3AÀÈæ A€cÝ3A ²æ A`_Ý3A œæ A [Ý3A€†æ AWÝ3A€pæ AÀRÝ3A`Zæ A NÝ3A`Dæ A€JÝ3A@.æ A`FÝ3A æ A BÝ3A@æ A>Ý3A@ìå AÀ9Ý3A@Öå A 5Ý3A@Àå A1Ý3AÀ§å A@Ý3AÀ5å AÝ3A 9å A€Ý3A ¡å Aà Ý3AàÓå A€`ÇÝ3A ^ç AàÞ3A`‹ð A- éÝ3A ^ç A@èÝ3AÄç A`ÇÝ3A@òè A@ÍÝ3A é A€ÒÝ3A Ké A ×Ý3A`té A@ÜÝ3A@¦é A`àÝ3A€Ïé A@åÝ3A€ê AàèÝ3A .ê A íÝ3Aàhê AàðÝ3A ‘ê A õÝ3A€Ïê Aà÷Ý3A@öê AúÝ3Aë A`þÝ3A€_ë A þÝ3A@dë A Þ3A@§ë AÞ3A@Ìë AàÞ3Añë AÀÞ3Aì A  Þ3A;ì A€ Þ3A`ì A€ Þ3A…ì A`Þ3A ªì A@Þ3A Ïì A Þ3A ôì AÞ3Aí AÞ3A>í AàÞ3A@cí A Þ3A™í A€Þ3Aà¬í AÀÞ3AÀ×í AàÞ3A î AÀÞ3AÀî A`Þ3A@Dî AàÞ3A`pî A Þ3A`Šî A`Þ3A ¬î AÀÞ3AÀ¶î AÀ Þ3A`Îî A Þ3AÞî A Þ3A ãî AþÝ3A êî A`Þ3A`‹ð A` >Ý3Aðï A`Þ3Aà•ñ A)`Þ3A`‹ð A úÝ3AàYð A úÝ3Aðï A€ôÝ3A òï A€ïÝ3Aàôï A€êÝ3A ÷ï A€äÝ3Aàúï A€àÝ3A€ýï A ÛÝ3AÀð A ÖÝ3Að A ÑÝ3A@ð A@ÌÝ3AÀ ð A ÇÝ3Að AÀÂÝ3A ð AÀ½Ý3A ð AÀ¸Ý3AÀð A´Ý3A !ð Aà®Ý3A`'ð Aà©Ý3A`-ð A¥Ý3A@3ð A Ý3A@9ð AœÝ3A >ð A –Ý3AÀFð A@‘Ý3ANð A`ŒÝ3A@Uð A`…Ý3A€_ð AàƒÝ3AÀað A }Ý3A lð AÀxÝ3A uð AàsÝ3A }ð A@lÝ3A‹ð A@eÝ3A™ð A€`Ý3Aà¢ð A [Ý3A ¬ð A€TÝ3A»ð A MÝ3AÌð A`HÝ3A ×ð A CÝ3A@âð A >Ý3A@ïð ACÝ3AàTñ A ?Ý3Aà•ñ A `Þ3A 1ì AÀ#ß3A`‹ð AAÀ#ß3A 1ì A !ß3AÀOì A@ß3A`hì A@ß3AÀ„ì Aß3Aà©ì A@ß3A Öì A@ß3A êì Aß3A@ í AÀß3A !í A€ ß3A`Fí A@ß3AÀkí A ß3A€€í A ß3AÀœí A ýÞ3A@°í AÀøÞ3A@Òí A`ôÞ3A ðí AñÞ3Aî A êÞ3A€+î AÀäÞ3AàJî A`àÞ3Aàaî A@ÜÞ3A@uî AÀÕÞ3A@“î A ÏÞ3A ­î AàÊÞ3Aà¾î A ÆÞ3AÏî A ÀÞ3A`áî A@¿Þ3Aàåî A ¸Þ3A@úî A´Þ3Aï A ®Þ3A ï A ¨Þ3AÀ ï A¥Þ3A@&ï A  Þ3AÀ.ï A œÞ3AÀ5ï A@–Þ3A=ï A Þ3A Eï A`ŒÞ3A Iï A`‡Þ3A`Pï A€‚Þ3A@Wï A€}Þ3A^ï A xÞ3AÀdï AÀsÞ3A€kï AÀnÞ3A@rï AàgÞ3AÀ{ï AàdÞ3A€ï A@aÞ3A…ï A [Þ3A€ï A VÞ3A`”ï A@QÞ3A ›ï A KÞ3A€£ï A@GÞ3A€§ï A`BÞ3A ¬ï A`=Þ3AÀ±ï A`8Þ3Aà¶ï A€3Þ3A¼ï A€.Þ3A Áï A€)Þ3A@Æï A $Þ3A`Ëï A Þ3A Ðï A Þ3AÀÕï AÀÞ3AàÚï AÀÞ3Aàï AàÞ3Aèï AàÞ3AàMð A`Þ3A`‹ð A(€\ß3A ?‚ Aà3A`…‚ A€\ß3A`…‚ Aà3A ?‚ A(à3A€‚ A«à3A ?‚ Aà3A ?‚ A«à3A€‚ A(ÀÝ3A`Ù› A Ý3A §  AÀÝ3A §  A Ý3A`Ù› A( ÄÝ3AÀ?– A€„Þ3A€q– A ÄÝ3A€q– A€„Þ3AÀ?– A HÀÝ3A’Ÿ A 1Þ3A §  A 1Þ3A’Ÿ A *Þ3AàÈŸ A`*Þ3A 1  A@”Ý3A€K  A”Ý3A   AÀÝ3A §  A!@€æÝ3A’Ÿ A 1Þ3AÀÙ§ AëÝ3AÀÙ§ A@éÝ3A š§ A€æÝ3A€á  A`1Þ3A€Ì  A 1Þ3A’Ÿ A"(ÀÝ3A€q– A ÄÝ3AÀ\— AÀÝ3AÀ\— A ÄÝ3A€q– A#(ÀÝ3AÀ\— A Ý3A`Ù› A Ý3A`Ù› AÀÝ3AÀ\— A$(ÀÝ3A §  A@Ý3Aà ¡ AÀÝ3A §  A@Ý3Aà ¡ A%0SÜ3A€·– AÀÝ3AÀ\— AÀÝ3AÀ\— A ëÜ3AÀF— ASÜ3A€·– A&(`Ó3AÀÃd A ¡Ó3A×d A`Ó3A×d A ¡Ó3AÀÃd A'(àyÒ3A`žd A}Ò3A`³i A}Ò3A`³i AàyÒ3A`žd A((àyÒ3A`žd A`Ó3A×d AàyÒ3A`žd A`Ó3A×d A)( FÑ3A@5i A`ôÑ3AJi A`ôÑ3A@5i A FÑ3AJi A*(`•Ð3AJi A FÑ3A_i A FÑ3AJi A`•Ð3A_i A+( óÏ3A_i A`•Ð3A`ri A`•Ð3A_i A óÏ3A`ri A,è #Ï3AËk A€NÏ3A u A #Ï3AËk AÀ*Ï3Aà l Aà3Ï3AÀl Aà3Ï3A ­q A NÏ3A ªq A@NÏ3A Òq A@NÏ3A úq A`NÏ3A "r A`NÏ3A Jr A€NÏ3A ‰r A`NÏ3A£r A€MÏ3A€Ír AàLÏ3AÀÜr A`JÏ3Aàs A HÏ3Aà"s A DÏ3A Js AÀBÏ3Ags AAÏ3A œs A @Ï3A`Às Aà@Ï3Aàçs ABÏ3Aà t A CÏ3A€,t A`GÏ3A ]t A@JÏ3A yt AàCÏ3A Ït A FÏ3A u A-0`ôÑ3A@5i A}Ò3A`³i A`ôÑ3A@5i AàhÒ3A€¢i A}Ò3A`³i A.(àúÐ3A`Št A ÁÑ3A—t A ÁÑ3A`Št AàúÐ3A—t A/0 Ï3Aš A 1Ï3A°  Aà Ï3A°  A Ï3Aš A 1Ï3Aš A0 1Ï3A@™ AZÐ3Aš AZÐ3Aນ A€RÐ3A ‚™ A RÐ3A@™ A@YÏ3A2™ A@TÏ3A`2™ AÀNÏ3Aà2™ AÀIÏ3Aà6™ A DÏ3AàC™ A@BÏ3AJ™ A =Ï3Ac™ AÀ8Ï3A`‚™ A@6Ï3A€›™ A`3Ï3A Æ™ AÀ1Ï3A ô™ A 1Ï3Aš A1è`Î3A࣑ AZÐ3Aນ A:Î3A࣑ A€Î3AÊ‘ AàÎ3A ô‘ AÀÎ3A`’ A€Î3A E’ AàÎ3A f’ AÎ3A ˜’ AÀÎ3Aà¶’ A`Î3A ß’ A`Î3Añ’ AÎ3A /“ A€Î3A _“ A Î3A “ AàÎ3A€¦“ A Î3A`Ñ“ A€Î3A`õ“ A€Î3A ” A€Î3AÀA” AàÎ3A€j” A Î3A@‘” A !Î3AÀ°” A#Î3A Ý” A€$Î3A€• A %Î3A• A(Î3AÀN• AÀ*Î3A@‰• AÀ*Î3A@‰• AÀ-Î3A½• Aà0Î3A€ñ• Aà0Î3A€ñ• A€4Î3A (– A€7Î3A V– A`9Î3A€n– A<Î3A€– A ?Î3A¹– A€AÎ3A Ó– A`DÎ3A`ô– A`GÎ3A@— A@JÎ3Aà4— A`MÎ3A€T— A PÎ3A€q— AÀSÎ3A ’— AàXÎ3A Á— AZÎ3AË— A \Î3AÀÛ— A@aÎ3A`û— AàfÎ3A€˜ A`kÎ3A€"˜ AàqÎ3A@.˜ A€sÎ3AÀ/˜ AàxÎ3A@1˜ Aà~Î3AÀ0˜ AàƒÎ3A`0˜ A€‹Î3A /˜ A Ð3A@˜ AàÐ3A@ë˜ AÀYÐ3A à˜ AZÐ3Aນ A2`Î3A@ì AÍÎ3A࣑ A)ÍÎ3A@ì AàÇÎ3A@,Ž AÃÎ3Aà2Ž Aà¼Î3A`;Ž A ¹Î3A?Ž A@´Î3AÀCŽ A@¯Î3A`HŽ AàªÎ3A LŽ A@¥Î3A OŽ A@ Î3AàQŽ A šÎ3AUŽ A`–Î3A VŽ A`‘Î3A@WŽ A@ŒÎ3A@YŽ A ‡Î3Aà[Ž A‚Î3AÀ`Ž A |Î3A`fŽ A€xÎ3A€lŽ A`rÎ3AvŽ AÀnÎ3AÀ}Ž AàiÎ3A ˆŽ A@eÎ3A`“Ž A `Î3A  Ž A\Î3A ®Ž A`WÎ3AÀ½Ž AàRÎ3A@ÎŽ A`NÎ3A@àŽ A@JÎ3A@ñŽ A EÎ3A` AàAÎ3A  A <Î3Aà8 A€7Î3A@P A5Î3A€Z A`+Î3Av A@-Î3A@Å A`*Î3AÀé AÀ'Î3A  ‘ A€%Î3Aà/‘ A#Î3AàV‘ A@!Î3AÀx‘ AÎ3A࣑ A3p@•Ë3A€Ù• A«Ì3A`Û™ A+«Ì3Aàï˜ Aà¤Ì3Aàј AÀÌ3A`è— AÀPÌ3AÀI™ AÀLÌ3A`a™ AÀHÌ3A y™ A DÌ3A`™ A @Ì3A£™ A ;Ì3A ´™ Aà6Ì3A€Â™ A@2Ì3A@Ι A@-Ì3AÀÖ™ A@(Ì3A`Û™ A@#Ì3AÙ™ A€Ì3AàЙ AÀÌ3AàÙ A@Ì3A ±™ AÌ3A€›™ Aà Ì3AÀ„™ AÀÌ3A@n™ A Ì3A€W™ A@þË3A`3™ A€ÔË3A€A˜ A€ÔË3A€A˜ A ÏË3A`&˜ A@ÊË3A ˜ A@ÊË3A ˜ AÀË3AÀÒ— AÀË3AÀÒ— A»Ë3A€±— A@¶Ë3AÀ‘— A@¶Ë3AÀ‘— A ­Ë3AàK— A ­Ë3AàK— A©Ë3A€(— A€¤Ë3A€— A€¤Ë3A€— A€œË3A€²– A€œË3A€²– A@™Ë3A – A@•Ë3Aà^– AÀŸË3A`%– A ¢Ë3A€Ù• A4(‘Ë3A`î„ A,Ì3A@… A‘Ë3A@… A,Ì3A`î„ A5( AÎ3AÀ”„ A€1Ï3A °„ A AÎ3A °„ A€1Ï3AÀ”„ A6(€|Í3A °„ A AÎ3A€Ç„ A€|Í3A€Ç„ A AÎ3A °„ A7@€‚Ë3A@… A §Ë3A@Ê… A€‚Ë3Aà¡… A@‹Ë3A@Ê… A`§Ë3A@È… A §Ë3A d… A‘Ë3A@… A8(@½Ì3A€Ç„ A€|Í3Aâ„ A@½Ì3Aâ„ A€|Í3A€Ç„ A9(,Ì3Aâ„ A@½Ì3A`î„ A,Ì3A`î„ A@½Ì3Aâ„ A:(@½Ì3Aâ„ A Í3AÀž‰ A@½Ì3Aâ„ A Í3AÀž‰ A;8@/Ï3A€ø~ A\Ï3AVƒ A$À/Ï3A@¶‚ A@/Ï3AVƒ A4Ï3A`Tƒ A 9Ï3A Tƒ A`>Ï3AÀSƒ A`CÏ3A€Oƒ A IÏ3A Bƒ AàJÏ3AÀ;ƒ A PÏ3A "ƒ A`TÏ3Aàƒ AàVÏ3A€é‚ AÀYÏ3A@¾‚ A`[Ï3A€‚ AÀ[Ï3A€‚‚ A\Ï3A`a‚ Aà[Ï3AÀ)‚ Aà[Ï3AÀ‚ Aà[Ï3AàÙ AÀ[Ï3Aà± AÀ[Ï3Aà‰ A [Ï3Aàa A [Ï3A3 A[Ï3A  A€ZÏ3A ø€ A@XÏ3AË€ A€UÏ3A §€ A€RÏ3A€ˆ€ AàOÏ3A h€ A MÏ3A 4€ A`LÏ3AÀ€ A LÏ3Aò AÀLÏ3A`Å AàMÏ3A@¤ A@PÏ3A y A€CÏ3A* A@CÏ3A€ø~ A<¨É3AÀ} AÀ4Ë3A 2‚ AÀ4Ë3A 2‚ A€-Ë3Aàø A` Ë3Aàø A  Ë3AÀ} A 7Ê3AÀ©} AÀ»É3A`3 A »É3A A`¸É3AÀÞ~ A¶É3A Â~ A@³É3Aà©~ Aà®É3A@~ A «É3A€|~ A@§É3Aq~ A£É3AÀh~ AÀžÉ3Af~ AÀ—É3A€k~ A`’É3A y~ AÉ3A€Þ} A=0ºÌ3A`z A |Í3A•ƒ A# |Í3A ‰ƒ AÀÍ3A”ƒ AÀÍ3A€”ƒ A  Í3A•ƒ A@Í3A•ƒ A@Í3AÀŽƒ A Í3Aà‹ƒ A`úÌ3A@{ƒ AöÌ3A iƒ A ðÌ3AàKƒ AìÌ3Aà'ƒ AàêÌ3AÀƒ A çÌ3AÀñ‚ AåÌ3A€Î‚ A âÌ3A ‚ A`ÈÌ3A d€ A ÉÌ3Aà?€ AËÌ3A`€ AÌÌ3Aàñ A ÍÌ3AÀÊ AÎÌ3A`­ AÏÌ3AÀ{ A ÐÌ3A€A A ÐÌ3A€A AàÐÌ3A` A€ÑÌ3A Ô~ A ÑÌ3AÀ¶~ AàÑÌ3A~ AÒÌ3Aàg~ AàÑÌ3A`?~ AÀÑÌ3A@~ A ÑÌ3A@ñ} A`ÑÌ3A ±} AÎÌ3A`z AºÌ3A€z A>x |Í3A€œw A€Î3A ‰ƒ A, |Í3A ‰ƒ A àÍ3A`}ƒ A åÍ3AÀ|ƒ A êÍ3A |ƒ A€ïÍ3A@zƒ AàóÍ3A@sƒ AÀùÍ3A@bƒ A ÿÍ3A`Iƒ A Î3A @ƒ A Î3A@ƒ AÎ3Aàƒ A@ Î3A@Ö‚ Aà Î3AÉ‚ A  Î3A@œ‚ A€Î3A€e‚ A Î3A G‚ AÀ Î3A ‚ A@ Î3A@ø Aà Î3A€Ð A` Î3A ¨ A Î3Aà€ A€ Î3AY A Î3A 1 A  Î3A@ A@ Î3A`ဠAÀ Î3A€¹€ A` Î3A ‘€ AàÎ3AÀi€ A€Î3AÀA€ AÎ3Aà€ A Î3Aò A Î3A Ê AÀÎ3A@¢ A@Î3A`z AàÎ3A€R A`Î3A * AàÎ3AÀ A€Î3AÛ~ A Î3A€¹~ A@Î3AÀŠ~ A€Î3A Z~ A€Î3A€y Aà Î3Aàµw A öÍ3A€œw A?x€êÎ3A ”t A rÏ3A€ø~ A @CÏ3A€ø~ AÀEÏ3A`´~ ANÏ3A ‚~ A€êÎ3Aà°z A rÏ3Aàœz AÀkÏ3A˜t A@gÏ3Aà¨t AbÏ3AÀ±t A€]Ï3A ³t A@YÏ3A¯t A`PÏ3A ”t A FÏ3A u A@@À4Ë3A 2‚ A€‚Ë3Aà¡… A€‚Ë3Aà¡… AyË3Aàf… A6Ë3Aàk… A 5Ë3A@j„ AÀ4Ë3A 2‚ AAP€ýÌ3A ‰ƒ A€|Í3A€Ç„ A€|Í3A€Ç„ A jÍ3A@X„ A@Í3A b„ A€ýÌ3A 5„ A ýÌ3A΃ A oÍ3Aà A |Í3A ‰ƒ AB( Í3AÀž‰ A‚Í3AP A Í3AÀž‰ A‚Í3AP AC`‚Í3A`rŒ AÍÎ3A€H AI‚Í3AP A Í3A`rŒ A ’Í3A@„Œ A`–Í3A “Œ A›Í3A £Œ A ŸÍ3A ³Œ A ¤Í3A ÃŒ AÀ¨Í3A ÓŒ A@­Í3A ㌠Aà±Í3A óŒ A€¶Í3A  A»Í3A  A`ÀÍ3AÀ% A ÄÍ3A@5 A ÊÍ3A€O A ÍÍ3A [ A`ÑÍ3A€o A€ÔÍ3A@~ AàÙÍ3A`› AÞÍ3A ² AàáÍ3A@Ë AàæÍ3Aàê A€éÍ3A€þ A@ïÍ3A@(Ž A@ïÍ3A@(Ž A`ôÍ3A RŽ A`÷Í3A jŽ A ûÍ3A ŽŽ AàþÍ3A ±Ž A@Î3A@ÖŽ AÎ3AÀæŽ A€Î3A A Î3A  A`Î3A% A`Î3A@9 A Î3AàB A€Î3A€H A %Î3A F A 'Î3A€C A@,Î3A`: A@2Î3A' AÀ3Î3A! A 8Î3A  A =Î3A ìŽ ABÎ3Aà׎ A`GÎ3A¾Ž AÀJÎ3A`°Ž A QÎ3A`–Ž A QÎ3A`–Ž A@XÎ3A~Ž A@[Î3AtŽ A aÎ3A€bŽ A eÎ3A`WŽ A kÎ3A`KŽ A pÎ3A€@Ž AàtÎ3A 9Ž A zÎ3A0Ž AÎ3A@)Ž A …Î3A $Ž A@†Î3A@$Ž AÀŽÎ3AàŽ Aà’Î3AàŽ AšÎ3A@Ž AàœÎ3AÀŽ AÀ¡Î3AŽ AÀ¦Î3A@Ž A ªÎ3A Ž A °Î3A€Ž A µÎ3Aà Ž A`»Î3A€Ž A€¿Î3Aàþ A`ÄÎ3A@ø AÍÎ3A@ì AD@ZÐ3A`U— A`4Ñ3Aນ AZÐ3Aນ A€aÐ3A@€™ A€aÐ3A`™ A`4Ñ3A`™ A@4Ñ3A`U— AEh –É3A@Š A Ê3A`• A* –É3A`• AàªÉ3A@_• Aà«É3A€ Aà«É3A€Ù A¬É3A€± A¬É3A j A¬É3A j A€¬É3A`9 Aà¬É3A` A`­É3A€éŽ Aà­É3AÀ²Ž Aà­É3AÀ²Ž Aà¯É3AÀaŽ Aà¯É3AÀaŽ A€²É3A@Ž A€²É3A@Ž A¶É3A€Â A¶É3A€Â A@ºÉ3A€u A »É3A@g A@¿É3A ( A@¿É3A ( A ÄÉ3A@㌠A ÄÉ3A@㌠A ÊÉ3A ŸŒ A ÊÉ3A ŸŒ A ÎÉ3Aà}Œ A`ÑÉ3AÀ^Œ A`ÑÉ3AÀ^Œ A ØÉ3A€"Œ A ØÉ3A€"Œ A`àÉ3A`ê‹ A`àÉ3A`ê‹ AÀèÉ3AÀ¶‹ AÀèÉ3AÀ¶‹ A`ñÉ3Aˆ‹ A`ñÉ3Aˆ‹ A€úÉ3A`^‹ A€úÉ3A`^‹ A Ê3A`9‹ A Ê3A`ÔŠ A@Ê3A@Š AF¸ –É3A`• A`ÄÊ3A Õ› AT`ÄÊ3A<› A ¿Ê3AÀ› A@¶Ê3AàÍš A@²Ê3Aàâš AÀ­Ê3A`ûš A@©Ê3Aà› A@©Ê3Aà› A@ Ê3A@>› A`žÊ3A E› AÀ•Ê3A€g› AÀ•Ê3A€g› A ŒÊ3A‡› A ŒÊ3A‡› AÀÊ3A`¢› AÀÊ3A`¢› A`wÊ3A¸› A`wÊ3A¸› A rÊ3A ¿› A lÊ3A€Ç› A lÊ3A€Ç› AàaÊ3A`Ñ› AàaÊ3A`Ñ› AWÊ3A Õ› AWÊ3A Õ› A@LÊ3AàÒ› A@LÊ3AàÒ› A`AÊ3A Ê› A`AÊ3A Ê› AÀ6Ê3A`¼› AÀ6Ê3A`¼› AÀ1Ê3Aಛ A€,Ê3A©› A +Ê3Aছ Aà!Ê3A€Ž› Aà!Ê3A€Ž› AÀÊ3Aàn› AÀÊ3Aàn› AÊ3AÀI› AÊ3AÀI› A`Ê3A@› A`Ê3A@› A ûÉ3Aàðš A ûÉ3Aîš A öÉ3A`К A€õÉ3A@Ìš A`ìÉ3A ‹š A`ìÉ3A ‹š A èÉ3Aàiš A`ãÉ3A@Dš A`ãÉ3A@Dš A ÛÉ3A€ø™ A ÛÉ3A€ø™ A€×É3AÔ™ A€ÓÉ3A€ª™ A ÓÉ3A€¦™ AÀÎÉ3A t™ AÌÉ3A S™ A@ÉÉ3A€/™ AÀÅÉ3Aà™ AÀÅÉ3Aà™ AÀÁÉ3A Ã˜ A ¿É3AÀ¢˜ A€½É3A@~˜ A€ºÉ3A`H˜ A€ºÉ3A`H˜ Aà·É3A˜ A ¶É3Aàé— A ´É3A× A@²É3A ‰— A@²É3A ‰— A€°É3A O— A@¯É3A'— A@¯É3A'— A­É3A Ö A­É3A Ö A ¬É3AŠ– A€«É3Aà^– A€«É3Aà^– AÀªÉ3A ú• AÀªÉ3A ÷• A ªÉ3A`Õ A ªÉ3A`–• A ŸÉ3A`—• A –É3A`• AG `ÄÊ3A€Ù• A ¢Ë3A<› A1 ¢Ë3A€Ù• AànË3A`Ñ– A lË3Aà§– A€iË3A ‘– A eË3AÀu– AÀ_Ë3A`b– A`\Ë3A\– AÀVË3A Y– A`TË3A [– AàNË3AÀg– AMË3A@o– ACË3AÀ˜– ACË3AÀ˜– A`<Ë3A ·– A`5Ë3AÀ×– A`5Ë3AÀ×– A /Ë3A ö– A@(Ë3A — A@(Ë3A — A@#Ë3Aà9— A`Ë3Aàf— A`Ë3Aàf— A@Ë3A€— A`Ë3AÀš— A Ë3A€¶— A Ë3A€¶— A Ë3A é— A`Ë3A ˜ A`Ë3A ˜ A@ýÊ3Aà;˜ A@øÊ3A€d˜ A@øÊ3A€d˜ AóÊ3AÀ’˜ A íÊ3A`˜ A íÊ3A`˜ A@éÊ3A€í˜ A ãÊ3AÀ$™ A ãÊ3AÀ$™ A àÊ3A@L™ A ÝÊ3AÀl™ A@ÚÊ3A`™ A`×Ê3Aà­™ A€ÔÊ3A`Ι A@ÑÊ3Aò™ A@ÑÊ3Aò™ A@ÊÊ3A€4š A€ÆÊ3AàSš AÀÓÊ3AàÏš A`ÄÊ3A<› AH( êÊ3A@… A‘Ë3A`… A‘Ë3A@… A êÊ3A`… AI(àÊ3A`… A êÊ3A`+… A êÊ3A`… AàÊ3A`+… AJ(@VÉ3A`+… AàÊ3A`@… A@VÉ3A`@… AàÊ3A`+… AK¨@Ê3Aà¡… A€‚Ë3A`#‹ A@Ê3A@Š AÀ Ê3A`#‹ AÊ3A`‹ A`Ê3AÀ‹ A`Ê3AÀ‹ Aà!Ê3A îŠ Aà!Ê3A îŠ A@,Ê3A አA@,Ê3A አA7Ê3A€ÙŠ Aà=Ê3AÀ׊ A>Ê3AÀ׊ A@FÊ3AàÖŠ AÀNÊ3AÖŠ A \Ê3A@ÓŠ A <Ë3A`ÉŠ A`=Ë3A`£… A€‚Ë3Aà¡… AL8 ÷Ê3A@€ AÀ4Ë3A 2‚ AÀ4Ë3A 2‚ A`Ë3A@2‚ A Ë3AÀ€ A ÷Ê3A@€ AM( uÒ3A (” AÀ{Ò3A¾š A uÒ3A (” AÀ{Ò3A¾š AN@˜Ð3Aà#‹ AœÑ3AàùŒ A @˜Ð3A R‹ A`£Ð3Aàf‹ A ­Ð3Aà#‹ Aà³Ð3A T‹ Aà³Ð3A T‹ A»Ð3A ‹ A»Ð3A ‹ A@ÁÐ3A€Ÿ‹ AàÈÐ3A ¿‹ AàÈÐ3A ¿‹ A€ÏÐ3AÀÔ‹ AÀÓÐ3A`ß‹ AØÐ3AÀé‹ AßÐ3A€õ‹ A ßÐ3AÀõ‹ AÀçÐ3AÀý‹ A`ïÐ3A€ÿ‹ AÀïÐ3A ÿ‹ A ùÐ3AÀþ‹ A lÑ3Aô‹ A qÑ3A€ó‹ A wÑ3Aàò‹ A |Ñ3AÀô‹ A ‚Ñ3A€þ‹ AÀƒÑ3AÀŒ A ‰Ñ3A Œ A@Ñ3AÀ+Œ A@‘Ñ3A`BŒ A•Ñ3AàPŒ AœÑ3A€aŒ A`›Ñ3A€ÂŒ A@–Ñ3AàùŒ AO(€1Ï3Aà}„ AàõÏ3AÀ”„ A€1Ï3AÀ”„ AàõÏ3Aà}„ AP(àõÏ3Aà}„ AÀ|Ð3A@€„ AàõÏ3Aà}„ AÀ|Ð3A@€„ AQ(À|Ð3A u„ A@ÊÐ3A@€„ AÀ|Ð3A@€„ A@ÊÐ3A u„ AR(@ÊÐ3A O„ A@ˆÑ3A u„ A@ÊÐ3A u„ A@ˆÑ3A O„ AS(@ˆÑ3AÀD„ AÀåÑ3A O„ A@ˆÑ3A O„ AÀåÑ3AÀD„ AT(ÀåÑ3A@C„ AàdÒ3AÀD„ AÀåÑ3AÀD„ AàdÒ3A@C„ AU(àdÒ3A@C„ A@kÒ3A`^Š AàdÒ3A@C„ A@kÒ3A`^Š AV¸À|Ð3A@€„ A £Ð3A R‹ AÀ|Ð3A@€„ AÀ’Ð3A€-… Aà“Ð3AàO… A ”Ð3Aà€… A ”Ð3A@¡… A ”Ð3A ç… AÀ”Ð3A 6‰ AÀ”Ð3A@8‰ Aà”Ð3AÀc‰ A •Ð3A œ‰ AÀ•Ð3A@£‰ A@—Ð3AàÛ‰ AÀ˜Ð3A@Š AÀ™Ð3A@ Š A`œÐ3AVŠ A`œÐ3AVŠ A Ð3AÀŠ A £Ð3A@¹Š A€˜Ð3A úŠ A@˜Ð3A R‹ AW0àdÒ3A $„ A Ó3A@C„ AàdÒ3A@C„ AyÒ3AA„ A Ó3A $„ AX0À|Ð3A ¸} A °Ð3A@€„ AÀ|Ð3A@€„ A€Ð3AÀ̓ A °Ð3A ¸} AY(@kÒ3A`^Š AoÒ3A)Ž A@kÒ3A`^Š AoÒ3A)Ž AZ(oÒ3A)Ž A uÒ3A (” AoÒ3A)Ž A uÒ3A (” A[ˆ€ïÇ3A`@… A@VÉ3A€” A€ïÇ3A@k“ A€ïÇ3A`” Aà0È3A€” A€=È3AÀË“ A¼È3A@Ï“ A`»È3A€†ˆ A ±È3A`Z‡ A ±È3A i† A ·È3Aà† AÈÈ3Aà† A`É3A`† A  É3A h… AÀ?É3A`^… A@VÉ3A`@… A\(@NÔ3A ck AÀ Õ3A “k AÀ Õ3A ck A@NÔ3A “k A](@{Ô3AÀ,d A Õ3A`¤d A Õ3AÀ,d A@{Ô3A`¤d A^( Õ3AÀå^ A Õ3AÀ,d A Õ3AÀ,d A Õ3AÀå^ A_(Õ3A€”Y A Õ3AÀå^ A Õ3AÀå^ AÕ3A€”Y A`(@ßÔ3A@LY AÕ3A€”Y AÕ3A€”Y A@ßÔ3A@LY Aa(@ Ô3A@LY A@ßÔ3A@gY A@ßÔ3A@LY A@ Ô3A@gY Ab( yÔ3A ËO AàÕ3A@ìO AàÕ3A ËO A yÔ3A@ìO Ac( BÔ3A@ìO A yÔ3AòO A yÔ3A@ìO A BÔ3AòO Ad(€žÓ3AòO A BÔ3A P A BÔ3AòO A€žÓ3A P Ae(ÝÔ3A©H AàÕ3A ËO AàÕ3A ËO AÝÔ3A©H Af(ÝÔ3A@šD A õÔ3A©H AÝÔ3A©H A õÔ3A@šD Ag( õÔ3A@šD A`[Õ3A@ÐE A õÔ3A@šD A`[Õ3A@ÐE Ah(`[Õ3A ¾E A þÕ3A@ÐE A`[Õ3A@ÐE A þÕ3A ¾E Ai( þÕ3A@­E A@ Ö3A ¾E A þÕ3A ¾E A@ Ö3A@­E Aj(@ Ö3A€¢E Aà×3A@­E A@ Ö3A@­E Aà×3A€¢E Ak(à×3A`ŸE A@t×3A€¢E Aà×3A€¢E A@t×3A`ŸE Al(`r×3A@È< A@t×3A`ŸE A@t×3A`ŸE A`r×3A@È< Am(`[Õ3A`"@ AànÕ3A@ÐE A`[Õ3A@ÐE AànÕ3A`"@ An(ànÕ3AÀè; AÀtÕ3A`"@ AànÕ3A`"@ AÀtÕ3AÀè; Ao(ÀtÕ3AÀè; AÀòÕ3A€ = AÀtÕ3AÀè; AÀòÕ3A€ = Ap(ÀòÕ3A€ = AÀyÖ3AÀ£= AÀòÕ3A€ = AÀyÖ3AÀ£= Aq( rÕ3A€)7 AÀtÕ3AÀè; AÀtÕ3AÀè; A rÕ3A€)7 Ar( kÓ3A`+; A`wÔ3A@J; A kÓ3A@J; A`wÔ3A`+; As(À Õ3AÀui AÀ Õ3A ck AÀ Õ3AÀui AÀ Õ3A ck At( Õ3AÀ,d AÀ Õ3AÀui AÀ Õ3AÀui A Õ3AÀ,d Au( rÕ3A r4 A ÆÕ3A€)7 A rÕ3A€)7 A ÆÕ3A r4 Av( ÆÕ3A`a4 AsÖ3A r4 A ÆÕ3A r4 AsÖ3A`a4 Aw(sÖ3A€R4 A@ ×3A`a4 AsÖ3A`a4 A@ ×3A€R4 Ax0^Ï3AÀ^5 A€Ð3AÀR6 A€Ð3AÀ^5 A^Ï3Aàk5 A ^Ï3AÀR6 Ay0à_Ï3Ab; AàÏ3AÀÁ= AàÏ3AÀÁ= Aà_Ï3Aàæ; A |Ï3Ab; Az(@tÒ3A [ A@wÒ3A (` A@wÒ3A (` A@tÒ3A [ A{(@üÒ3A P A€žÓ3A P A€žÓ3A P A@üÒ3A P A|(àlÒ3A P A@üÒ3AÀ+P A@üÒ3A P AàlÒ3AÀ+P A}(àlÒ3AÀ+P A€oÒ3AÀU A€oÒ3AÀU AàlÒ3AÀ+P A~(€oÒ3AÀU A@tÒ3A [ A@tÒ3A [ A€oÒ3AÀU A(ÀjÒ3A K AàlÒ3AÀ+P AàlÒ3AÀ+P AÀjÒ3A K A€(€gÒ3A ¹E AÀjÒ3A K AÀjÒ3A K A€gÒ3A ¹E A(cÒ3AÀQ> A€gÒ3A ¹E A€gÒ3A ¹E AcÒ3AÀQ> A‚(`aÒ3A€m; AcÒ3AÀQ> AcÒ3AÀQ> A`aÒ3A€m; Aƒ(`aÒ3A@J; A kÓ3A€m; A`aÒ3A€m; A kÓ3A@J; A„@cÒ3AÀQ> AàRÓ3A °? AcÒ3AÀQ> A`pÒ3AÀ? AqÒ3AÀ›? A@MÓ3A€‡? AàRÓ3A °? A…8`êÌ3A@¾- A Í3AÀ. A Í3A@. AëÌ3AÀ. A`êÌ3AÀ¿- A Í3A@¾- A†(`WÍ3A ZH A \Í3ARP A`WÍ3A ZH A \Í3ARP A‡( \Í3ARP AaÍ3A ñV A \Í3ARP AaÍ3A ñV Aˆ(@EÐ3AÀ5\ AàÇÐ3A b\ A@EÐ3A b\ AàÇÐ3AÀ5\ A‰(àÇÐ3A@/\ A€âÑ3AÀ5\ AàÇÐ3AÀ5\ A€âÑ3A@/\ AŠ(€âÑ3A \ A`LÒ3A@/\ A€âÑ3A@/\ A`LÒ3A \ A‹(@EÐ3A b\ A ƒÐ3AÀæ` A@EÐ3A b\ A ƒÐ3AÀæ` AŒ( )Ï3A€z\ A ÔÏ3A€–\ A ÔÏ3A€z\ A )Ï3A€–\ A( §Î3A€–\ A )Ï3A »\ A )Ï3A€–\ A §Î3A »\ AŽ0ÈÑ3AIK A`8Ò3A“K A`8Ò3AIK AÒ3A“K AÈÑ3AàK A( ÔÏ3A b\ A@EÐ3A€z\ A ÔÏ3A€z\ A@EÐ3A b\ A( lÌ3A UZ A dÍ3Aà,\ A lÌ3A UZ A dÍ3Aà,\ A‘(aÍ3A ñV A dÍ3Aà,\ AaÍ3A ñV A dÍ3Aà,\ A’( dÍ3Aà,\ A §Î3A »\ A §Î3A »\ A dÍ3Aà,\ A“0à‘Ñ3A ¥: A€7Ò3Aè; A€7Ò3A ¥: A ’Ñ3A ª: Aà‘Ñ3Aè; A”€@Ð3Aè; Aà‘Ñ3A@ª@ A à‘Ñ3Aè; A@”Ð3A€ô; A€”Ð3A@= AÀ•Ð3A€—> Aà•Ð3AÀÊ> AÀ•Ð3A ? A •Ð3AÀ ? A ”Ð3AA? A`”Ð3AJ? A@’Ð3A †? A@Ð3AÀ? A`¿Ð3A c@ A@ÃÐ3A@ª@ A•Ø@ÎÍ3A A5 A@•Î3A@œ: AÓÍ3A@œ: A@ÑÍ3AÀ[: AÑÍ3A: AÑÍ3A: A@ÐÍ3A@Ø9 AÀÏÍ3A`°9 A@ÏÍ3A †9 A@ÏÍ3A †9 AÀÎÍ3A@99 A`ÎÍ3A@ñ8 A`ÎÍ3A@ñ8 A`ÎÍ3AÀÁ8 A@ÎÍ3AÀ™8 A@ÎÍ3A \8 A@ÎÍ3A \8 A€ÎÍ3A"8 AÀÎÍ3Aú7 AÏÍ3AÀÈ7 A€ÏÍ3A@•7 A€ÏÍ3AŠ7 AÏÍ3AàZ7 A€ÐÍ3AÀ˜5 A ŒÎ3A€y5 A@•Î3A A5 A–°ÓÍ3A@œ: A +Î3A ÙA A3ÓÍ3A@œ: A@ÓÍ3A ®: A ÔÍ3A@ë: A€ÕÍ3A ; A ÖÍ3AàB; A ÖÍ3AàB; A`ØÍ3A`…; A€ÚÍ3A`Ó; A€ÚÍ3A`Ó; AàÛÍ3Aý; A ÝÍ3A #< A@ßÍ3AÀc< A@ßÍ3AÀc< A@áÍ3A@—< A âÍ3A€½< A äÍ3A@ò< A äÍ3A@ò< A`çÍ3Aà.= AéÍ3A€T= AàêÍ3A ~= A€ìÍ3A`ž= A`îÍ3A`Ã= A@ðÍ3A`è= AàñÍ3A > A ôÍ3A€1> A@öÍ3A V> A€ùÍ3A ‘> A€ùÍ3A ‘> A üÍ3A Â> AàþÍ3Aàå> AàÎ3Aà? AàÎ3Aà? A Î3A€`? A Î3A€`? Aà Î3A ”? A€ Î3A@·? A Î3A€â? A Î3A€â? AàÎ3A`@ A Î3AÀF@ A Î3AÀF@ AÀÎ3A`‰@ A Î3Aà¯@ A Î3Aà¯@ Aà!Î3A@ö@ Aà#Î3AÀA A€%Î3A`AA AÀ(Î3A ŠA AÀ(Î3A ŠA A@*Î3A@³A A +Î3A ÙA A—ÈÀøÍ3A?M A [Î3AÀéP A [Î3AÀéP A8Î3A`ÆO A2Î3A`˜O A /Î3AÀ~O A +Î3A@bO A(Î3AàEO A€$Î3A@)O A€$Î3A@)O AÀÎ3AÀÐN AÀÎ3AÀÐN A€Î3A °N A€Î3A tN A€Î3A tN A`Î3AÀQN AÀÎ3A N AÀÎ3A N AÀÎ3A`ïM AÀÎ3AÀ°M AÀÎ3AÀ°M AàýÍ3A`‰M AÀøÍ3A?M AÀøÍ3A?M A˜à9Ï3A`YK A Ð3AàS A  Ð3AàS A iÏ3AüQ AÀdÏ3AÀóQ Aà_Ï3A€ëQ A[Ï3A@ãQ A SÏ3AÀÖQ A SÏ3AÀÖQ AàLÏ3A ÈQ A GÏ3A€²Q ACÏ3A@”Q A AÏ3A ‰Q A>Ï3AàaQ A@<Ï3A`EQ A€:Ï3A Q Aà9Ï3A`èP A:Ï3AàÖP AÀ:Ï3A ²P A <Ï3AàP A@=Ï3AàZP A ?Ï3AP A VÏ3A@ÚL A@WÏ3A±L A`YÏ3AÀŽL A\Ï3A}L AÀ`Ï3A€eL AfÏ3A€?L A hÏ3A`$L AkÏ3AàûK A€lÏ3A ×K A@mÏ3A ¤K AàlÏ3A`‚K AÀkÏ3A`YK A™@@Ñ3AàK AÈÑ3A`]L A%ÈÑ3AàK AÃÑ3A@K A¾Ñ3A K A¹Ñ3A ‘K A´Ñ3A€‘K A¯Ñ3Aà‘K AªÑ3A@’K A¥Ñ3A ’K A Ñ3A “K AÀ—Ñ3AÀ“K AÀ—Ñ3AÀ“K A`“Ñ3A`”K AŒÑ3A@—K AÀ‚Ñ3AÀšK AÀ‚Ñ3AÀšK A}Ñ3AŸK A xÑ3A ¢K AàqÑ3A@§K AàqÑ3A@§K A@iÑ3A±K A@aÑ3Aà¹K A@aÑ3Aà¹K A`ZÑ3A ÄK AÀPÑ3AÀÒK AÀPÑ3AÀÒK AÀKÑ3A@ÜK AàFÑ3A@åK A@@Ñ3AÀñK A@@Ñ3AÀñK A`8Ñ3AÀL A 0Ñ3A L A 0Ñ3A L A *Ñ3Aà&L A`%Ñ3A 3L A Ñ3A AL A Ñ3A AL A@Ñ3A`]L Aš€óÐ3A`]L A€MÑ3Aà­Q A@Ñ3A`]L A€Ñ3A «L A Ñ3Aà»L A€Ñ3AÌL AÀÑ3AÀÜL A`ÿÐ3A êL A ùÐ3AÀõL A€óÐ3Aà÷L A@Ñ3A`©N AÀÑ3A ÍN AÀÑ3A ÍN A` Ñ3Aà O A@Ñ3A€-O A Ñ3A NO AÑ3AànO AàÑ3A`O AÀÑ3A°O A Ñ3A ÐO A€ Ñ3A@ñO A`#Ñ3AàP A@&Ñ3A€2P A€)Ñ3A VP Aà,Ñ3A`yP Aà,Ñ3A`yP A€2Ñ3A±P A 5Ñ3AÐP A ;Ñ3AÀ Q A ;Ñ3AÀ Q A€MÑ3Aà­Q A›X Ð3AÀîL A€MÑ3A`:S AH€MÑ3Aà­Q A€CÑ3A«Q A@6Ñ3A .Q A@6Ñ3A .Q A1Ñ3AàúP Aà-Ñ3AàÛP A *Ñ3Aà¼P A`'Ñ3A œP A@$Ñ3A |P AÀ#Ñ3AwP A Ñ3A =P AÀÑ3A€P AàÑ3AàûO AÑ3A ÛO A Ñ3AàºO A@Ñ3A@šO A` Ñ3A yO A€ Ñ3AYO A Ñ3A8O AÀÑ3A`O AÑ3A€íN AàþÐ3AÒN A@ëÐ3AÀîL A ºÐ3AÀN A ºÐ3A N Aà²Ð3A€5N A ¬Ð3A@^N A ¬Ð3A@^N A€§Ð3A ƒN Aà£Ð3A€žN A Ð3A ºN A Ð3A ºN A ™Ð3AàñN Aà“Ð3AÀO Aà“Ð3AÀO A ŽÐ3A€HO AÀˆÐ3A {O Aà‡Ð3AÀƒO Aà‡Ð3AÀƒO A€Ð3AàÀO A }Ð3A`êO A }Ð3A`êO A xÐ3A€P AÀrÐ3A WP AÀrÐ3A WP A@oÐ3A`P AÀjÐ3Aà³P AÀjÐ3Aà³P AgÐ3AÀãP AÀaÐ3Aà&Q AÀaÐ3Aà&Q A@_Ð3A@JQ AÀ\Ð3AmQ A@YÐ3AàœQ A@YÐ3AàœQ A UÐ3AÀÖQ A QÐ3A R A QÐ3A R A OÐ3AàBR A MÐ3A@gR A JÐ3Aà’R A€GÐ3A ¼R AÀFÐ3AÆR A€BÐ3A€ìR A?Ð3AÀS AÀ9Ð3A`S A 8Ð3A€#S A 2Ð3A`3S A -Ð3A€9S A`'Ð3A`:S A€Ð3A`.S A Ð3AàS Aœ àrÎ3A`YK AÀkÏ3A }R A!ÀkÏ3A`YK AàeÏ3A@¡K AÀeÏ3A€ÆK AÀdÏ3A`áK A`bÏ3AÀ L Aà]Ï3A0L A@[Ï3A?L A VÏ3AZL ATÏ3AÀjL A`PÏ3A¥L A'Ï3A }R A€ØÎ3A€õQ A ÓÎ3A íQ AÀÎÎ3AÀäQ AÀÉÎ3A€ÜQ AàÄÎ3A ÔQ AÀÎ3AÀËQ A ¹Î3AàÀQ A ¹Î3AàÀQ A`±Î3A`±Q A«Î3A€¥Q A«Î3A€¥Q Aà¢Î3Aà’Q A œÎ3A „Q A œÎ3A „Q AÀ”Î3A nQ A ŽÎ3AÀ]Q A ŽÎ3AÀ]Q AÀ†Î3ADQ Aà€Î3A 1Q Aà€Î3A 1Q AyÎ3A Q AàrÎ3AÀÉP A8@ZÎ3AÀÉP AàrÎ3A`ÇQ AàrÎ3AÀÉP A mÎ3A`ÇQ A@ZÎ3A ÆQ A [Î3AÀéP Až8€Ï3A€–\ A€,Ï3A ‚` A )Ï3A€–\ A€,Ï3A€N` A`Ï3A€N` A€Ï3A ‚` AŸ(@ÚÍ3A A5 A@•Î3AÀL5 A@•Î3A A5 A@ÚÍ3AÀL5 A Ð€rÏ3A@0> A@ÃÐ3A@(B A7@ÃÐ3A@ª@ A °Ð3A p@ A ­Ð3A ”@ A@­Ð3A š@ A`¨Ð3A Ó@ A€£Ð3AàA Aà¢Ð3A€ A A@Ð3A 8A AàœÐ3AÀ:A AÀ–Ð3A@dA A@–Ð3A gA A Ð3A`‘A AàŒÐ3A`œA AÀ‡Ð3A µA AÀ€Ð3AÑA A€Ð3AàÓA AàwÐ3AÀíA AàwÐ3AÀíA A oÐ3AÀB AhÐ3A B A gÐ3A B A`_Ð3A`B A`XÐ3AÀB A`SÐ3AB AÀ Ð3A@(B A€Ð3A &B AÐ3A&B A üÏ3A@B A üÏ3AÀB AàóÏ3AÀB A@ëÏ3AýA A@ëÏ3AýA AãÏ3A`äA A âÏ3A áA AàÚÏ3A`ÅA A@ÚÏ3A ÂA A@ÓÏ3A@¢A A€ÒÏ3A@žA A@ËÏ3A`uA AÊÏ3A€mA A`ÄÏ3AàGA A ¾Ï3A@A A¾Ï3AàA A€¸Ï3A â@ A ¸Ï3A Þ@ A`³Ï3A¬@ A¯Ï3A s@ AÀ®Ï3A p@ Aà«Ï3A E@ A`©Ï3A !@ Aà¥Ï3AÀï? A€¢Ï3A`¾? AÀ†Ï3A@0> A ~Ï3A`Y> A€rÏ3A K> A¡X€(Ð3A€5 A@HÑ3A  6 A@HÑ3AÀÙ5 A€?Ñ3A€Ö5 A 7Ñ3A@þ5 AÀ3Ñ3A6 A`.Ñ3A  6 A€òÐ3A 6 AÀòÐ3A€5 A€(Ð3A€#5 A¢@•Î3A`)5 A@HÑ3A€C6 A@HÑ3AÀÙ5 A@EÑ3Aø5 A@BÑ3A  6 A@<Ñ3AÀ+6 A€7Ñ3A :6 Aà2Ñ3A A6 A .Ñ3A€C6 A ëÐ3AÀ>6 A ëÐ3A B5 A <Ð3A[5 A@7Ð3Aà5 A`Ð3A`‚5 A Ð3A`)5 A IÏ3A 45 A@•Î3A A5 A£ðHÏ3A€#5 A (Ð3A K> A€rÏ3A K> A ¦Ï3A@^= A tÏ3A`†: Aà[Ï3A€#9 A€YÏ3A`9 A WÏ3A`Ý8 A TÏ3A@º8 A@RÏ3A —8 AàOÏ3A t8 AàLÏ3AÀH8 A@KÏ3A€,8 A@IÏ3AÀý7 AàHÏ3A€ñ7 AHÏ3A`¼7 A HÏ3A@•7 A IÏ3A`b7 A IÏ3A V7 A@KÏ3A 17 A@NÏ3A 7 A OÏ3A@ø6 A@SÏ3A€Ï6 AÀXÏ3AÀ£6 A€aÏ3A 6 AànÏ3Aàl6 A (Ð3A ]6 A (Ð3A@]5 A€(Ð3A€#5 A¤0`LÒ3A [ A@tÒ3A \ A`LÒ3A \ A€`Ò3A@†[ A@tÒ3A [ A¥0`8Ò3A K AÀjÒ3AIK A`8Ò3AIK AÀVÒ3A`*K AÀjÒ3A K A¦0€7Ò3A ¥: A`aÒ3A€m; A`aÒ3A€m; A MÒ3A ; A€7Ò3A ¥: A§X Í3A@. A@ÚÍ3A€W5 A@ÚÍ3AÀL5 A 1Í3A€W5 AÀ/Í3AÀb1 A/Í3A 1 A Í3A1 A€Í3AàŸ. A`Í3A`¡. A Í3A@. A¨@@êË3Ax/ AàÍ3A í0 A@êË3A í0 A`Í3AÈ0 A@Í3A 0 AÀÍ3A@Ã/ AàÍ3Ax/ A©(Õ3AˆY AàÇÕ3A€”Y AÕ3A€”Y AàÇÕ3AˆY Aª(`TÖ3A fY Aà×3AÀyY A`TÖ3AÀyY Aà×3A fY A«(@t×3A`ŸE A@|×3AÀ´O A@t×3A`ŸE A@|×3AÀ´O A¬8à×3A _Y A@Ž×3A€` Aà×3A fY A€Š×3A _Y A@Ž×3A@` AÀz×3A€` A­(àÇÕ3AÀyY A`TÖ3AˆY AàÇÕ3AˆY A`TÖ3AÀyY A®(€Ô3A@„ A˜Ô3AÀ „ A€Ô3AÀ „ A˜Ô3A@„ A¯(À(Õ3A€äƒ A¯Õ3A÷ƒ AÀ(Õ3A÷ƒ A¯Õ3A€äƒ A°(¯Õ3A Øƒ AÀ%Ö3A€äƒ A¯Õ3A€äƒ AÀ%Ö3A Øƒ A±(À%Ö3A@ȃ AÀÈÖ3A Øƒ AÀ%Ö3A Øƒ AÀÈÖ3A@ȃ A²(˜Ô3A÷ƒ AÀ(Õ3A@„ A˜Ô3A@„ AÀ(Õ3A÷ƒ A³(àÅÖ3A@p~ A ÇÖ3AÀ¬ A ÇÖ3AÀ¬ AàÅÖ3A@p~ A´(@ÄÖ3Aàz AàÅÖ3A@p~ AàÅÖ3A@p~ A@ÄÖ3Aàz Aµ(@ÄÖ3A Fy A e×3Aàz A@ÄÖ3Aàz A e×3A Fy A¶(`Õ3AàÛ} A Õ3AÀ ‚ A Õ3AÀ ‚ A`Õ3AàÛ} A·(ÀÕ3A@·x A`Õ3AàÛ} A`Õ3AàÛ} AÀÕ3A@·x A¸(Õ3A ns AÀÕ3A@·x AÀÕ3A@·x AÕ3A ns A¹(@Õ3A`Nn AÕ3A ns AÕ3A ns A@Õ3A`Nn Aº(À Õ3A ck A@Õ3A`Nn A@Õ3A`Nn AÀ Õ3A ck A»0 Õ3AÀ ‚ AÀ(Õ3A÷ƒ A Õ3AÀ ‚ A #Õ3A@Qƒ AÀ(Õ3A÷ƒ A¼0 ÇÖ3AÀ¬ AÀÈÖ3A@ȃ A ÇÖ3AÀ¬ AÀÇÖ3A`(ƒ AÀÈÖ3A@ȃ A½(ÀÈÖ3A@Àƒ A`×3A@ȃ AÀÈÖ3A@ȃ A`×3A@Àƒ A¾(`×3A`´ƒ AŽ×3A@Àƒ A`×3A@Àƒ AŽ×3A`´ƒ A¿(@Õ3A`Nn A@ÔÕ3A \n A@Õ3A`Nn A@ÔÕ3A \n AÀ@ÀÖ3A@|m AàP×3Aàîs A ÁÖ3Aàîs AÀÖ3A@üm A K×3A€àm A M×3A€°m AàP×3A@|m AÁ( ÁÖ3Aàîs A@ÄÖ3Aàz A@ÄÖ3Aàz A ÁÖ3Aàîs AÂ@`ÁÖ3A@Ùq A€ÎÖ3Aàîs A ÁÖ3Aàîs A`ÁÖ3A`s A@ÉÖ3A€Ør A ÉÖ3Aàr A€ÎÖ3A@Ùq AÃHàÇÖ3A@|m A T×3A@Ùq A€ÎÖ3A@Ùq AÊÖ3A`˜q AàÇÖ3A@8n AàS×3An A T×3A ®m AàP×3A@|m AÄÐ@ÕÎ3AÀõ+ AàXÏ3A`%- A@ÕÎ3A ‡, AÀÝÎ3Aàs, A@éÎ3A š, A€ëÎ3As, A€îÎ3A@L, A€ñÎ3A4, A`õÎ3A, A ùÎ3AÀ, A ýÎ3A`ý+ AÀÏ3AÀö+ AÀÏ3AÀõ+ A Ï3Aàû+ A@Ï3A@ , AàÏ3A@, AÏ3A =, AàÏ3A€X, A  Ï3A@, A@"Ï3A  , A`#Ï3A×, A@#Ï3A ù, A`"Ï3A`%- A QÏ3A w, AàXÏ3A q, AÅh@•Î3A ‡, AîÎ3A A5 A*@•Î3A A5 A˜Î3A`ÿ4 A`šÎ3Aæ4 A@žÎ3A Ë4 A¢Î3AÀ¸4 A`¦Î3A@¤4 A ¨Î3A4 AªÎ3Ak4 A@ªÎ3Aà=4 AÀ®Î3A 81 A±Î3AÀ 1 A`²Î3Aàí0 Aà³Î3AÈ0 AàµÎ3A ™0 A`·Î3A |0 A ¹Î3A€W0 A€»Î3A@)0 A ½Î3A` 0 A@¿Î3Aé/ AàÁÎ3A@»/ AàÁÎ3A@»/ AàÅÎ3A`}/ AàÈÎ3A P/ AàÈÎ3A P/ A@ÍÎ3AÀ/ A ÐÎ3Aàç. A ÐÎ3Aàç. A`ÕÎ3A@¯. AÙÎ3Aà‚. AÙÎ3Aà‚. AàÝÎ3A@M. AàáÎ3A@!. AàáÎ3A@!. AçÎ3A@î- AÀëÎ3A€¾- A`íÎ3Aà§- AîÎ3A€Œ- AÀìÎ3Af- A@êÎ3A`?- A èÎ3AÀÿ, A ÚÎ3A€Í, A@ÕÎ3A ‡, AÆ(@wÒ3A (` AàyÒ3A`žd AàyÒ3A`žd A@wÒ3A (` AÇP€Ï3A ‚` A 6Ï3AËk A€Ï3A ‚` A`Ï3A ¤` Aà,Ï3A ¤` A4Ï3A€Ìi A 6Ï3A ’k A )Ï3A ’k A #Ï3AËk AÈ(àÓ3AÀ „ A€Ô3A„ AàÓ3A„ A€Ô3AÀ „ AÉ( Ó3A„ AàÓ3A $„ A Ó3A $„ AàÓ3A„ AÊP Î3AI A ãÎ3Aà- A ãÎ3Aà- A ÚÎ3A€Ò A@ÑÎ3A€ A@ÅÎ3A`D A@Î3AÀO A Î3AÀ Aà@Î3AI AË0 †Ï3A@ä AµÏ3Aàì AµÏ3A@à A€†Ï3Aàì A †Ï3A@ä AÌ(€6Ñ3A Dú A€8Ñ3AÀ•ý A€6Ñ3A Dú A€8Ñ3AÀ•ý AÍ(€8Ñ3AÀ•ý A€:Ñ3AÀÙ A€8Ñ3AÀ•ý A€:Ñ3AÀÙ AÎ(À3Ñ3AÀÙ A€:Ñ3A`3 A€:Ñ3AÀÙ AÀ3Ñ3A`3 AÏØ€/Í3A€l Aà`Í3A¨ A`CÍ3A€l A`<Í3A Š A€/Í3A` A@1Í3A ‘ A`1Í3A ¹ A€1Í3A@á A 1Í3A@  A 1Í3A@1 AÀ1Í3A@Y Aà1Í3A  A2Í3AຠA 2Í3A€Å A@3Í3Aàô A`5Í3A " AÀ8Í3AÀJ A€;Í3A c A`@Í3Aà A€EÍ3A@— A`GÍ3A A LÍ3A § A`RÍ3A@­ A@WÍ3A ² A _Í3A » Aà`Í3A¨ AÐP`ÕÎ3A`û A`lÐ3A º% A'`ÕÎ3A`û AÀàÎ3AàX AÀîÎ3A ü AàòÎ3AÀ) A ÷Î3A`_ A@úÎ3A€… A@üÎ3A ¤ A þÎ3A`Ç A Ï3A€ä A Ï3A A€Ï3A€F A@ Ï3A} A€ Ï3A « A@Ï3A î AÀÏ3A€ AÏ3Aà: A Ï3A€{ A`Ï3A`¯ AÀÏ3Aàå A@Ï3A`> A€Ï3A O A`Ï3A€Œ A Ï3A@Æ A€ÓÏ3AÀ…" A`6Ð3A Ë# AÀ9Ð3Aß# A`>Ð3A€ü# ACÐ3A $ AFÐ3A€0$ A KÐ3AÀZ$ A€PÐ3AÀ„$ A SÐ3A Ÿ$ A WÐ3AàÀ$ A@[Ð3Aàç$ A bÐ3A 2% A€bÐ3A`6% A dÐ3A@K% A€hÐ3A€% A`lÐ3A º% AÑà`Í3A   AàÝÎ3A`û Aà`Í3A¨ A jÍ3A`v A@kÍ3A   A nÍ3A  AuÍ3A  A€{Í3AÀ! A ƒÍ3Aà0 A€ˆÍ3Aà9 A Í3A E A@•Í3A€X A`›Í3A€j Aà¡Í3A`} A@©Í3A— A@®Í3A€¨ A@²Í3A¹ Aà¹Í3A@Ù A`¿Í3AÀñ AÀÃÍ3A  A`ÊÍ3A! A@ÖÍ3AY A`¬Î3A ! AºÎ3A@\ A ÂÎ3A † AàÉÎ3A`´ AÀÐÎ3AÀã A ÕÎ3A  AÀÙÎ3A 0 AàÝÎ3A_ AàÓÎ3A µ A`ÕÎ3A`û AÒ(@2Ñ3A 3ó A€6Ñ3A Dú A@2Ñ3A 3ó A€6Ñ3A Dú AÓ(À&Ñ3Aóñ A@2Ñ3A 3ó A@2Ñ3A 3ó AÀ&Ñ3Aóñ AÔHÍ3A Aà`Í3A`" AÍ3A`" AÍ3A A WÍ3A@ A@WÍ3A`‡ A`ZÍ3A`ˆ Aà`Í3A¨ AÕˆÍ3A€û AÀÒÍ3A`" AÍ3A`" A,Í3A€p! A@ Í3Aàp! A@©Í3AÀo! AàªÍ3A€n! A ®Í3Ae! A€²Í3AÀC! A€µÍ3A€-! AºÍ3A`! AÀ½Í3A! A ÁÍ3A! A`ÈÍ3A€û A€ÌÍ3Aàþ AÀÒÍ3Aàÿ AÖ°ÀµÐ3AÀ A@ìÐ3A@î A3à·Ð3AÀ A ¶Ð3AÀ/ AÀµÐ3A c A¶Ð3A‚ A¹Ð3A@÷ A@¹Ð3A . A@ºÐ3A n AÀºÐ3A— A »Ð3A© A½Ð3A€ú AÀ¾Ð3A 3 AÀÐ3Aà^ A`ÁÐ3A€€ AàÃÐ3A`Á A@ÆÐ3Aàñ A€ÈÐ3AÀ! A@ÊÐ3A€B AÌÐ3Aà] A ÎÐ3A€„ A@ÑÐ3A`¿ A ÓÐ3A@ô A ÕÐ3A`! AÀÖÐ3A@@ A ÙÐ3Aà„ A`ÚÐ3A€´ AàÛÐ3A@ê A@ÝÐ3A`* AÞÐ3AÀL AÞÐ3AÀy AÞÐ3AÀ¡ AÞÐ3AÀÉ AÞÐ3AÀñ AÞÐ3AÀ A€ÝÐ3A€A AàÜÐ3Ak A`ÝÐ3Aà A€àÐ3AಠAàãÐ3AàË A`çÐ3A@î A€éÐ3A  AëÐ3A , A@ìÐ3A`b A@ìÐ3A€‚ A`ëÐ3Aà® AêÐ3AàÎ A èÐ3A@ë A ãÐ3A A`àÐ3A`. AÚÐ3A J A`ÝÐ3A ° A`ÜÐ3A@î A×``ÄÏ3A ™ Aà·Ð3A`| A)à·Ð3AÀ A”Ð3AÀ  A@Ð3A ç A Ð3AÑ AÀ‡Ð3AÀµ A ‚Ð3A࣠A@€Ð3A   A uÐ3A ™ A@_Ð3A› A@ZÐ3A@› A@UÐ3A€› A@PÐ3Aà› A@KÐ3A œ A@FÐ3A`œ A@AÐ3AÀœ A@<Ð3A A@7Ð3A@ A@2Ð3A  A -Ð3Aà A (Ð3A ž A #Ð3A€ž A Ð3AÀž A Ð3AŸ A Ð3A`Ÿ A Ð3A Ÿ A Ð3A¡ A`Ð3A€² AàÐ3A@Ì AàüÏ3A Í Aà÷Ï3AàÎ AÀòÏ3A@Ð AÀíÏ3A€Ñ AÀèÏ3AàÒ AÀãÏ3A Ô AàÞÏ3A`Õ AàÙÏ3AÀÖ AàÔÏ3AØ AàÏÏ3A`Ù A ÌÏ3A Û A ÌÏ3A€X A`ÄÏ3A`| AØèà®Î3AÀ´ A`ÄÏ3A`| A`ÄÏ3A`| AÄÏ3Aà› A ŒÏ3A « A ‡Ï3Aª A ‚Ï3A¨ A }Ï3A ¥ A xÏ3AÀ¢ A sÏ3A€Ÿ A nÏ3Aà› A iÏ3AÀ— A@dÏ3A@“ A@_Ï3A`Ž A@ZÏ3A‰ A`UÏ3A@ƒ A`PÏ3A } A€KÏ3A€v A€FÏ3A€o A€@Ï3A@f AàËÎ3A`j A ÇÎ3A@a A ÂÎ3AZ A@½Î3AÀT A@¸Î3A€Q A@³Î3A P Aà®Î3AàS Aà®Î3AÀ´ AÙ0`¾Ö3A ú AÀØÖ3AÀ A`¾Ö3AÀ AÀØÖ3Aàˆ AàÎÖ3A ú AÚ(€‘Ñ3A`Iè A@ùÑ3A`Iè A@ùÑ3A`Iè A€‘Ñ3A`Iè AÛ0`lÐ3A º% A@˜Ñ3A`i* AC`lÐ3A º% A`nÐ3A`Ö% AàpÐ3A& A@sÐ3A +& AàtÐ3A`K& A wÐ3Aàƒ& AàyÐ3A¼& A€{Ð3A â& A}Ð3A' Aà~Ð3A`6' A€ƒÐ3A Œ' AÀ†Ð3A ¿' AÀˆÐ3A@ß' A ‹Ð3A ( AÀŽÐ3A`.( AàÐ3A@G( A`•Ð3A`z( Aà™Ð3A`¥( AàœÐ3AÂ( A€ Ð3A`à( Aà¤Ð3A ) A€§Ð3Aà) A ­Ð3A`C) Aà²Ð3A`d) AÀ¶Ð3A |) AàºÐ3A@’) A`ÀÐ3A€¯) A ÃÐ3A ¼) A€ÇÐ3AàÏ) A€ÊÐ3A Ý) A`ÐÐ3Aó) A ÕÐ3A * A`ÙÐ3Aà* AàßÐ3Aà%* A€çÐ3A 8* AëÐ3A @* AàðÐ3AàJ* A€öÐ3AÀT* A úÐ3A Y* AàÑ3A@b* A Ñ3A€h* A@Ñ3AÀh* A Ñ3A`i* A@Ñ3A`h* A@"Ñ3AÀg* A@'Ñ3A g* A@,Ñ3A€f* A@1Ñ3Aàe* A@6Ñ3A@e* A@;Ñ3A d* A@@Ñ3Ad* A@EÑ3A`c* A@JÑ3AÀb* A@OÑ3A b* A@TÑ3A€a* A@YÑ3Aà`* A@^Ñ3A@`* A@cÑ3A _* A@hÑ3A_* A@mÑ3A`^* A@rÑ3AÀ]* A@wÑ3A ]* A@|Ñ3A€\* A@Ñ3Aà[* A@†Ñ3A@[* AŽÑ3A@Z* A@˜Ñ3AàX* AÜ(@2Ñ3A 3ó A`¡Ñ3A 6ó A`¡Ñ3A 6ó A@2Ñ3A 3ó AÝà·Ð3AŒ A !Ò3A@d A= !Ò3A@d A Ò3A B A Ò3A  AÒ3A ò AàÒ3A Ê AÀÒ3A‹ AÀÒ3Aà† A@Ò3A ] A€Ò3A@, A Ò3Aà A Ò3Aàæ AÒ3AÀÅ AÒ3A`ª A Ò3A — A`Ò3A@“ A`Ò3AŒ A@üÑ3A€Œ AÀõÑ3A AÀðÑ3A  AÀêÑ3A Ž AÀÉÑ3A`– A€‡Ñ3A@— A€‚Ñ3AÀ— A€}Ñ3A@˜ A€xÑ3A ˜ AàpÑ3A`™ A€iÑ3A@œ A`eÑ3Aà A€_Ñ3A £ AàYÑ3A © A UÑ3A° A€NÑ3A@» A@CÑ3AàÓ A`=Ñ3A ä A@8Ñ3A ó A4Ñ3Aà A -Ñ3A  A`#Ñ3A@D AàÑ3A` A€Ñ3A v A Ñ3A € AàÑ3A™ A Ñ3Aµ A`Ñ3AàÊ A`Ñ3A€Û A ýÐ3A ÷ A ýÐ3Aù AÀöÐ3A@ A`òÐ3AÀ A íÐ3Aà, A`æÐ3AàA A`ßÐ3A R A€ÚÐ3A ^ AÀÕÐ3Ag A ÎÐ3A u AËÐ3A | AàÅÐ3AàŽ A@ÄÐ3A`– A`¿Ð3A µ A ¼Ð3A€Í Aà·Ð3AÀ AÞ( /Ò3Aà<è A 3Ò3A@"î A /Ò3Aà<è A 3Ò3A@"î Aß(€9Ò3AÀ7ø A`<Ò3A@'ý A€9Ò3AÀ7ø A`<Ò3A@'ý Aà(`<Ò3A@'ý A ?Ò3A ¶ A`<Ò3A@'ý A ?Ò3A ¶ Aá( ?Ò3A ¶ A@BÒ3A€ A ?Ò3A ¶ A@BÒ3A€ Aâ( Ø3A ‹ A`°Ø3A / A Ø3A / A`°Ø3A ‹ Aã( °Ø3A Ï A`°Ø3A ‹ A`°Ø3A ‹ A °Ø3A Ï Aä( Ö3A t A !Ö3A „! A Ö3A t A !Ö3A „! Aå(€'Ô3A@™ A ÕÔ3A€¬ A ÕÔ3A@™ A€'Ô3A€¬ Aæ(`ÑÔ3Aí AÓÔ3AÀZ AÓÔ3AÀZ A`ÑÔ3Aí Aç8À©Õ3A` A@»Õ3A@ AÀ¬Õ3A@ AÀ©Õ3AÀC AÀ´Õ3A @ A@»Õ3A` Aè( !Ö3A „! A $Ö3Aà¢( A !Ö3A „! A $Ö3Aà¢( Aé( $Ö3Aà¢( A€%Ö3A€â+ A $Ö3Aà¢( A€%Ö3A€â+ Aê(€%Ö3A€â+ AÀ&Ö3Aàþ. A€%Ö3A€â+ AÀ&Ö3Aàþ. Aë(€%Ö3AÖ+ A@pÖ3A€â+ A€%Ö3A€â+ A@pÖ3AÖ+ Aì(@pÖ3A€½+ A@×3AÖ+ A@pÖ3AÖ+ A@×3A€½+ Aí0`ÔÔ3A@™ A Õ3A " A ÕÔ3A@™ A`ÔÔ3A " A Õ3A`" Aî(ÀwÓ3A€¬ A€'Ô3A À A€'Ô3A€¬ AÀwÓ3A À Aï(`îÒ3A À AÀwÓ3A`Ï AÀwÓ3A À A`îÒ3A`Ï Að( PÒ3A`Ï A`îÒ3AÀë A`îÒ3A`Ï A PÒ3AÀë Añ(ÀLÒ3A@Œ A PÒ3AÀë A PÒ3AÀë AÀLÒ3A@Œ Aò(àIÒ3A€Î AÀLÒ3A@Œ AÀLÒ3A@Œ AàIÒ3A€Î Aó(àGÒ3AࢠAàIÒ3A€Î AàIÒ3A€Î AàGÒ3AࢠAô(ÀDÒ3A@> AàGÒ3AࢠAàGÒ3AࢠAÀDÒ3A@> Aõ(@BÒ3A€ AÀDÒ3A@> AÀDÒ3A@> A@BÒ3A€ Aö(ÀDÒ3A€- A@½Ò3A@> AÀDÒ3A@> A@½Ò3A€- A÷(@½Ò3A@ A Ó3A€- A@½Ò3A€- A Ó3A@ Aø( Ó3A@ú A ÏÓ3A@ A Ó3A@ A ÏÓ3A@ú Aù@×Ô3A`" A` Õ3Aà?- A Õ3A`" AàÕ3A N" A` Õ3A¶" A×Ô3A@¿" AÛÔ3Aà?- Aú(ÓÔ3AÀZ A ÕÔ3A@™ A ÕÔ3A@™ AÓÔ3AÀZ Aû0à‰Ö3AÀu A€¹Ö3AÀR A€¹Ö3AÀu Aà‰Ö3A€@ A`ŒÖ3AÀR Aü8`¥Õ3A`£ A@»Õ3A` A@»Õ3A` A€´Õ3A ý A ©Õ3A û A`¥Õ3A`£ Aý(@qÓ3A ì AÀwÓ3A À AÀwÓ3A À A@qÓ3A ì Aþ( PÒ3AÀë AàRÒ3A€ü$ AàRÒ3A€ü$ A PÒ3AÀë Aÿ(àRÒ3A€ü$ AVÒ3Aq* AVÒ3Aq* AàRÒ3A€ü$ A( 6Ò3A@=ó A€9Ò3AÀ7ø A 6Ò3A@=ó A€9Ò3AÀ7ø A( ÕÔ3A Š A`XÕ3A@™ A`XÕ3A Š A ÕÔ3A@™ A(`XÕ3A@ AÀ¬Õ3A Š AÀ¬Õ3A@ A`XÕ3A Š A(À¬Õ3A t A Ö3A@ A Ö3A t AÀ¬Õ3A@ A( Ö3A@_ AÀÝÖ3A t AÀÝÖ3A@_ A Ö3A t A(ÀÝÖ3A O AÀj×3A@_ AÀj×3A O AÀÝÖ3A@_ A( Ø3Aà9 A .Ø3AÀ> A .Ø3Aà9 A Ø3AÀ> A(Àj×3AÀ> A Ø3A O A Ø3AÀ> AÀj×3A O A( .Ø3A / A Ø3Aà9 A Ø3A / A .Ø3Aà9 A ( Ø3A / A &Ù3A@u A &Ù3A@u A Ø3A / A ( &Ù3A`Y A èÙ3A@u A èÙ3A`Y A &Ù3A@u A (@ÅÙ3A¸ A èÙ3A`Y A@ÅÙ3A¸ A èÙ3A`Y A (@dÛ3Aà" A€ÄÛ3Aà- A€ÄÛ3Aà" A@dÛ3Aà- A (€ÂÙ3A`i A@ÅÙ3A¸ A€ÂÙ3A`i A@ÅÙ3A¸ A(ÁÙ3AÀM A€ÂÙ3A`i AÁÙ3AÀM A€ÂÙ3A`i A(À½Ù3A`- AÁÙ3AÀM AÀ½Ù3A`- AÁÙ3AÀM A(À½Ù3Aà A`lÚ3A`- AÀ½Ù3A`- A`lÚ3Aà A(ÀÙ3A`- AÀ½Ù3A @ AÀÙ3A @ AÀ½Ù3A`- A(`bØ3A @ AÀÙ3A@S A`bØ3A@S AÀÙ3A @ A( ,Ø3A ú A .Ø3Aà9 A .Ø3Aà9 A ,Ø3A ú A(À)Ø3A / A ,Ø3A ú A ,Ø3A ú AÀ)Ø3A / A(À)Ø3A@S A`bØ3A / AÀ)Ø3A / A`bØ3A@S A(€²×3A@S A`bØ3AÀg A`bØ3A@S A€²×3AÀg A€€¹Ö3AÀg A€²×3AÀu A €¹Ö3AÀu A€ÄÖ3A@& A€×Ö3A€\ A ýÖ3A z A ×3A€q A ×3Aàb AÀ×3AÀM A=×3A@° A`C×3A`“ AàJ×3Aà| A R×3Aàq AZ×3A`p A€²×3AÀg A( 3Ò3A@"î AÀ4Ò3A `ñ A 3Ò3A@"î AÀ4Ò3A `ñ A(À4Ò3A `ñ A 6Ò3A@=ó AÀ4Ò3A `ñ A 6Ò3A@=ó A0@ùÑ3A<è A /Ò3A`Iè A /Ò3Aà<è AÀÒ3A<è A@ùÑ3A`Iè A0`¡Ñ3A 6ó A 6Ò3A@=ó A 6Ò3A@=ó A@"Ò3A =ó A`¡Ñ3A 6ó A8@%Ò3AÀÏ A€­Ò3AàÏ A€­Ò3AÀÏ A1Ò3A Ü A@%Ò3AàÚ Aà'Ò3AàÏ A(€,Ò3A»â A /Ò3Aà<è A€,Ò3A»â A /Ò3Aà<è A(€ÄÛ3A A@!Ü3Aà" A@!Ü3A A€ÄÛ3Aà" A(€ÄÛ3AÀ A ñÛ3Aà" A€ÄÛ3Aà" A ñÛ3AÀ A (àíÛ3A × A ñÛ3AÀ AàíÛ3A × A ñÛ3AÀ A!`À)Ò3A ;Û A @Ó3A»â A  @Ó3A€>Ü A ;Ó3A@aÜ A@.Ó3AdÜ A€Ó3A ;Û A€¼Ò3AIÝ A€¶Ò3AÑÝ A ªÒ3A ¬Þ AÀ)Ò3Aà»Þ A€,Ò3A»â A"(VÒ3Aq* AàWÒ3A@Í, AàWÒ3A@Í, AVÒ3Aq* A#(àWÒ3A@Í, A€[Ò3A€b1 AàWÒ3A@Í, A€[Ò3A€b1 A$@@˜Ñ3AÀ?* AàWÒ3A@Í, AàWÒ3A@Í, A€LÒ3AÀ, A€LÒ3A ¤+ AÀÒ3AÀ?* A@˜Ñ3AàX* A%(€[Ò3AÀü0 A }Ó3A€b1 A€[Ò3A€b1 A }Ó3AÀü0 A&8 !Ò3A@d AàIÒ3A€Î AàIÒ3A€Î A 5Ò3A  Aà!Ò3A A !Ò3A@d A'( èÙ3AàC A€¤Ú3A`Y A€¤Ú3AàC A èÙ3A`Y A((€¤Ú3A9 A@Û3AàC A@Û3A9 A€¤Ú3AàC A)(@Û3Aà- A@dÛ3A9 A@dÛ3Aà- A@Û3A9 A*(^Ò3A`¤5 A`aÒ3A€m; A`aÒ3A€m; A^Ò3A`¤5 A+(^Ò3AÀy5 AàkÓ3A`¤5 A^Ò3A`¤5 AàkÓ3AÀy5 A,8 Í3A`" AÍ3A@. A Í3A@. AÍ3Aàb. AÍ3A _. AÍ3A`" A-(€[Ò3A€b1 A^Ò3A`¤5 A^Ò3A`¤5 A€[Ò3A€b1 A.(@†Ò3Aay A ˆÒ3A`R} A ˆÒ3A`R} A@†Ò3Aay A/(`‚Ò3A Îr A@†Ò3Aay A@†Ò3Aay A`‚Ò3A Îr A0(`‚Ò3A Îr A€.Ó3A ]t A`‚Ò3A Îr A€.Ó3A ]t A1( €Ò3A`o A`‚Ò3A Îr A`‚Ò3A Îr A €Ò3A`o A2(}Ò3A`³i A €Ò3A`o A €Ò3A`o A}Ò3A`³i A30 ÁÑ3AÀ€t A WÒ3A`Št A WÒ3AÀ€t A ÁÑ3A`Št A ÁÑ3A`Št A40 WÒ3A Îr A`‚Ò3AÀ€t A WÒ3AÀ€t AànÒ3AÀ‹s A`‚Ò3A Îr A5( ˆÒ3A`R} A€‹Ò3A3‚ A€‹Ò3A3‚ A ˆÒ3A`R} A6(àdÒ3A3‚ A€‹Ò3A@C„ AàdÒ3A@C„ A€‹Ò3A3‚ A7( òÎ3A ó A€ Ï3A@cù A€ Ï3A ó A òÎ3A@cù A8(`"Ð3Aà"ó A`Ð3A 'ó A`Ð3A 'ó A`"Ð3Aà"ó A9(zÏ3AÀó A`"Ð3Aà"ó A`"Ð3Aà"ó AzÏ3AÀó A:( òÎ3A@cù A õÎ3AÀÕý A òÎ3A@cù A õÎ3AÀÕý A;( õÎ3AÀÕý A@øÎ3A : A õÎ3AÀÕý A@øÎ3A : A<(@øÎ3A : A ûÎ3A@ç A@øÎ3A : A ûÎ3A@ç A=@`"Ð3Aà"ó A=Ð3A€uø A`"Ð3Aà"ó A€&Ð3Aàõó A@'Ð3Aþ÷ A@<Ð3A þ÷ A=Ð3A€uø A>(€ Ï3A ó AzÏ3AÀó AzÏ3AÀó A€ Ï3A ó A?(`Ð3A 'ó A@2Ñ3A 3ó A`Ð3A 'ó A@2Ñ3A 3ó A@(XÚ3A€`ƒ A@ðÚ3Amƒ AXÚ3Amƒ A@ðÚ3A€`ƒ AA(@ðÚ3AàSƒ A`tÛ3A€`ƒ A@ðÚ3A€`ƒ A`tÛ3AàSƒ AB(XÚ3Amƒ A`\Ú3A ȇ AXÚ3Amƒ A`\Ú3A ȇ AC0`VÚ3Aà¨} AXÚ3Amƒ A`VÚ3Aà¨} A€WÚ3A€Ï‚ AXÚ3Amƒ AD(`tÛ3A @ƒ A€CÜ3AàSƒ A`tÛ3AàSƒ A€CÜ3A @ƒ AE( Û3Aà· A`‰Û3Aà+· A Û3Aà+· A`‰Û3Aà· AF(`‰Û3A · A Ü3Aà· A`‰Û3Aà· A Ü3A · AG( }Û3AÀw« A ëÛ3A@‚« A }Û3A@‚« A ëÛ3AÀw« AH(ÀzÚ3A`i± AÚ3A 7· AÚ3A 7· AÀzÚ3A`i± AI(Ú3A 7· A ‚Ú3A@Ï» A ‚Ú3A@Ï» AÚ3A 7· AJ(+Û3A@‚« A }Û3A@Š« A+Û3A@Š« A }Û3A@‚« AK(À¡Ú3Aà+· A Û3Aà3· AÀ¡Ú3Aà3· A Û3Aà+· AL(Ú3Aà3· AÀ¡Ú3A 7· AÚ3A 7· AÀ¡Ú3Aà3· AM(€[Û3A€¨ AàÐÛ3Aà³ A€[Û3Aà³ AàÐÛ3A€¨ AN(âÚ3Aà³ A€[Û3A`¿ AâÚ3A`¿ A€[Û3Aà³ AO( €Ú3A`¿ AâÚ3AÀÇ A €Ú3AÀÇ AâÚ3A`¿ AP(à`Ú3AÀÇ A €Ú3AË Aà`Ú3AË A €Ú3AÀÇ AQ(`\Ú3A ȇ Aà`Ú3AË A`\Ú3A ȇ Aà`Ú3AË AR0é×3Aˆç AØ3A@mé AØ3A@\é A ê×3A@mé Aé×3Aˆç ASHà(Û3A@ýñ A@Ü3A@ô A&à(Û3A cò A 8Û3A@]ò AÀ<Û3A@ýñ AàGÛ3A€#ò A MÛ3AÀ5ò AÀUÛ3A`Pò A€ZÛ3A ^ò A`Û3AÀoò A hÛ3A@‡ò A`mÛ3A ”ò A sÛ3Aà£ò A {Û3A`¸ò A€€Û3AàÃò A`†Û3AÒò AÛ3A€ãò Aà“Û3A€íò AšÛ3Aúò A€¢Û3A ó A`§Û3Aó A`¬Û3A€ó A®Û3A`ó A@¶Û3Aà'ó A »Û3AÀ.ó A€ÁÛ3AÀ7ó AÊÛ3Aà@ó AàÎÛ3A Fó A ÕÛ3A`Mó AÀÝÛ3AÀSó AÀâÛ3A€Wó A éÛ3Aà\ó AàñÛ3A€`ó AÀöÛ3AÀbó AàýÛ3Aàeó AàÜ3Agó Aà Ü3AÀgó AÜ3AÀgó AÜ3AàÏó A@Ü3A@ô AT0”Ú3Aàï Aà)Û3A cò A#”Ú3Aàï A ¢Ú3AàIï A§Ú3A^ï A@«Ú3A rï A ¯Ú3A@†ï Aà³Ú3A`šï A@¸Ú3A€®ï A ¼Ú3AàÂï AàÀÚ3A Öï A@ÅÚ3AÀêï A€ÉÚ3Aàþï AàÍÚ3Að A ÒÚ3A 'ð A€ÖÚ3A@;ð AÀÚÚ3A`Oð A ßÚ3A€cð A€ãÚ3A wð AÀçÚ3Aà‹ð A ìÚ3A ð A`ðÚ3A ´ð AÀôÚ3A@Èð AùÚ3A`Üð A`ýÚ3A€ðð AÀÛ3A ñ AÛ3Añ A` Û3A ,ñ A Û3A @ñ AÛ3A Tñ A Û3A@eñ AàÛ3A@{ñ A@ Û3AÀñ A $Û3A` ñ Aà)Û3A¶ñ A€%Û3A ò Aà(Û3A cò AUÐÀá×3A€/à A@’Ø3Aˆç Aé×3Aˆç AÀá×3A ?à A +Ø3A 8à A 0Ø3AÀ7à A 5Ø3AÀ6à A :Ø3Aà5à A ?Ø3Aà4à A DØ3A4à A IØ3A3à A NØ3A 2à A SØ3A 1à A XØ3A@0à A`\Ø3A€/à A€bØ3AÀ0à A hØ3Aà1à A€lØ3A 5à A€qØ3Aà8à A€vØ3A€=à A`{Ø3AàCà Aà€Ø3AÀJà AŒØ3Aà^à A€‹Ø3A Êà A@’Ø3A á AV@@’Ø3A`tà A pÙ3AÀÚç A%@’Ø3A á A@“Ø3A`tà AÀ˜Ø3A€}à A€œØ3A`ˆà A Ø3A ’à A ¥Ø3A ¢à A`ªØ3A µà A`°Ø3A@Ëà A`³Ø3A`Øà AÀ·Ø3A€ëà A`»Ø3Aûà A@ÀØ3Aá AàÅØ3A`0á A€ÈØ3AÀ?á A€ÌØ3A Wá AÐØ3A€ká A@ÔØ3Aà‡á A ØØ3A ¡á A ÛØ3Aà»á A@ߨ3AÀ×á A âØ3A€ñá A æØ3A â A ëØ3A ;â AðØ3A jâ A óØ3A@‰â A`öØ3A ¨â A€ùØ3AÇâ A üØ3AÀåâ AàÿØ3A ã AÙ3A€#ã A Ù3A`Bã A@ Ù3Aà`ã A€ Ù3AÀã A Ù3A žã A@Ù3Aßã A pÙ3A Fç A`Ù3AÀÚç AWà`Ù3A·ç A”Ú3Aàï A9`Ù3AÀÚç AiÙ3A@0è A@{Ù3A·ç A`~Ù3AàÕç A Ù3AÀôç AÀ„Ù3AÀè AˆÙ3A 2è A ‹Ù3A€Qè A@ŽÙ3A€pè A€‘Ù3A`è A ”Ù3A@®è AÀ—Ù3A@Íè A›Ù3A ìè A žÙ3A é A`¡Ù3A*é A€¤Ù3AàHé A §Ù3A gé AàªÙ3A€†é A`®Ù3A ©é A@±Ù3AàÃé A`´Ù3A`âé A ·Ù3Aê A@»Ù3Aà"ê A@¾Ù3A@=ê A ÁÙ3AÀZê AÅÙ3A@xê A ÈÙ3AÀ—ê AÌÙ3Aà²ê A€ÏÙ3A`Ïê AÀÑÙ3Aàáê A€ÖÙ3A ë A@ÚÙ3A@#ë AàÝÙ3AÀ>ë A€áÙ3A Zë AåÙ3A`të AéÙ3AÀë AÀìÙ3Aà©ë A€ðÙ3AàÃë AôÙ3A Ûë A@øÙ3A öë A üÙ3A€ì A Ú3A`(ì A€Ú3A >ì A Ú3AàXì A Ú3A€pì A Ú3A ˆì A€Ú3A ›ì A`Ú3A ¶ì A€Ú3A€Ìì AÀ Ú3Aàâì Aà#Ú3A ôì A )Ú3A í A`-Ú3A`#í A 1Ú3A`8í Aà4Ú3A@Hí A :Ú3A€`í A”Ú3Aàï AX¸ `Ú3A á AªÚ3Aàï A”Ú3Aàï AªÚ3A`áí Aà¨Ú3A@Ôí A ¦Ú3A ©í A ¤Ú3Aàyí A`¤Ú3A Wí A@¤Ú3A@#í AÀžÚ3A`.å A@ŸÚ3Aà¬â AÀœÚ3A•â Aà˜Ú3A `â A —Ú3AÀEâ A –Ú3A (â AÀ•Ú3AÀîá AÀ•Ú3A€èá A •Ú3A ¦á A€•Ú3A@~á A`•Ú3A 7á A`gÚ3A9á A `Ú3A á AY€ `Ú3A á A`QÛ3A ,æ A- 0Û3A ,æ A`/Û3A Þå A`QÛ3A@xä A MÛ3A@cä A HÛ3A Jä AEÛ3A <ä A @Û3A &ä AÀ:Û3AÀ ä Aà2Û3AÀîã A-Û3Aà×ã A@%Û3AÀ¼ã A Û3A€§ã A`Û3A ã AÛ3A}ã A Û3A iã A€Û3A`Xã AÀúÚ3AHã AôÚ3AÀ9ã AïÚ3Aà0ã A`éÚ3A€'ã A`âÚ3A€ã A€ÝÚ3A@ã A€ØÚ3Aà ã A ÓÚ3A ã AÀÎÚ3A@úâ AÊÚ3A òâ A ÅÚ3AÀéâ A@ÀÚ3A€áâ A@»Ú3A Ùâ A µÚ3A Îâ A°Ú3A Äâ A®Ú3Aà½â A©Ú3A §â A ¤Ú3Aàˆâ A ¢Ú3Aqâ A ŸÚ3A Fâ A`žÚ3A 7â AÚ3Aà â AÀœÚ3A`çá A œÚ3A »á A€œÚ3A “á A€œÚ3AÀká A`œÚ3AÀCá A œÚ3A á A `Ú3A á AZ8,×3A €æ Aé×3A Ÿç A,×3A €æ A€2×3A šæ A Z×3A Ÿç Aé×3Aˆç A[¨Ø3A@\é A€Ù3A€÷ñ A2Ø3A@\é AÀØ3A@Vì A€Ø3AÀ„ì A Ø3A`¬ì AÀØ3A Ùì A€Ø3A€æì A Ø3Aàí A Ø3A€3í AÀ"Ø3AàFí Aà'Ø3A ]í AÀ-Ø3A@kí AÀ/Ø3A mí A@5Ø3A`oí A€:Ø3A@mí A`@Ø3AÀlí A GØ3A lí A`OØ3A`oí AàSØ3A qí A`YØ3Aví A€`Ø3A`|í A hØ3Aà†í AmØ3A€í AÀqØ3A€–í A@yØ3AÀ¤í A €Ø3A@µí A€…Ø3AàÁí A ‰Ø3AàÍí A`‘Ø3AÀäí A€—Ø3Aàùí AàœØ3A€ î AàŸØ3A î A ¨Ø3A`:î A€¨Ø3A<î Aà­Ø3A Uî A`³Ø3Aànî A ºØ3A •î Aà½Ø3A`§î A ÂØ3A€Äî AÈØ3Aàäî A@ÎØ3A@ï AÀÑØ3A (ï AÀÕØ3A€Eï A€ÙØ3A `ï A ÝØ3A {ï AààØ3A –ï A€äØ3A ±ï A@èØ3A Ìï A€Ù3A™ð A ÜØ3A`Àñ A ÛØ3A€÷ñ A\@ ÛØ3A`Àð A`qÙ3A`Vó A ÛØ3A€÷ñ AâØ3A éñ A` Ù3A`Àð A€dÙ3A`Vó A`qÙ3AÀßò A]` '×3A@8Ô A`Ù×3A@D× A `Ù×3A@8Ô A Õ×3AqÔ A Õ×3A`³Õ A Í×3AÀ³Õ A Í×3AïÕ A Î×3AÀžÖ A@-×3A`¥Ö A@-×3A@ × A '×3A@D× A^P`Ù×3A@8Ô A  Ø3A × A`Ù×3A@8Ô A Þ×3AàoÔ A€Þ×3Aà«Õ AÀ•Ø3AÀ•Õ A€–Ø3A ÛÕ A šØ3A ãÖ A  Ø3A × A_@  Ø3A€aÖ A@¡Ù3A × A  Ø3A × A`¥Ø3A@áÖ A`¥Ø3A€uÖ A@¡Ù3A€aÖ A@¡Ù3A€× A`8 ªÚ3A€ Ø AÄÚ3A@«Ø AÀªÚ3A@«Ø AÄÚ3A¨Ø A`ÃÚ3A€ Ø A ªÚ3A€ Ø AaÈ@¡Ù3A€OÖ A ªÚ3A Ø A@¡Ù3A€× A ¨Ù3A`ÇÖ A ¨Ù3A€]Ö A DÚ3A PÖ A IÚ3A PÖ AàOÚ3A€OÖ A@SÚ3A QÖ AÀXÚ3A@[Ö A ZÚ3AÀ`Ö A`Ú3A€vÖ A dÚ3A”Ö A`gÚ3A¬Ö A jÚ3AÀÕÖ AÀlÚ3A × A@mÚ3Aà× AnÚ3A :× A nÚ3Aàd× A@nÚ3AàŒ× A@nÚ3Aµ× A`nÚ3AÝ× A€nÚ3A Ø A ªÚ3A€ Ø AbH `Ú3A€ Ø A ªÚ3A á A ªÚ3A€ Ø A`¢Ú3A ?Ø A€–Ú3A ?Ø AÀ›Ú3A@Žà AÀfÚ3A@’à A `Ú3A á Acè–Ú3A`QÔ A ™Û3A€ Ø A@Û3A`QÔ A rÛ3AWÔ A`rÛ3AàqÕ A™Û3AàqÕ A ™Û3A ‘Õ A ™Û3A`wÖ A ’Û3A€_Ö A@‘Û3A \Ö AŠÛ3AÀJÖ AàˆÛ3AÀHÖ A`Û3A =Ö A@|Û3A9Ö A xÛ3A@6Ö AÀqÛ3A@6Ö A@®Ú3A`GÖ A`«Ú3A€LÖ AÀ¦Ú3A`[Ö A€¢Ú3A pÖ AÀžÚ3A@ŠÖ A€›Ú3A©Ö A™Ú3A€ËÖ A@—Ú3AÀðÖ A–Ú3A€3× A`–Ú3A@×× A ¢Ú3AÀÖ× A ªÚ3A€ Ø Adð zÛ3A`QÔ AÀÜ3A Þ A;@Û3A`QÔ A zÛ3AŽÔ A zÛ3AÀ0Õ A€¤Û3Aà2Õ A€¤Û3A Õ A¥Û3A ¯Ö A ¨Û3A`ÅÖ A`®Û3A`íÖ A ¯Û3AàòÖ A`´Û3A€× A µÛ3Aà&× A ¹Û3A W× A€¼Û3A |× A€¾Û3A`™× AÀÁÛ3A Ð× A ÂÛ3A@×× A€ÄÛ3A Ø A@ÆÛ3A@1Ø AÈÛ3A VØ AÀÉÛ3A`|Ø A`ËÛ3Aà¡Ø A ÍÛ3A`ÇØ AàÎÛ3AíØ A ÐÛ3A€Ù A`ÒÛ3A 8Ù AÔÛ3A ]Ù A`ÖÛ3A Ù A€×Û3AÀ¨Ù A@ÙÛ3A`ÎÙ AÛÛ3AàóÙ A ÜÛ3A`Ú A`ÞÛ3Aà>Ú A àÛ3A`dÚ A âÛ3A šÚ A äÛ3A¹Ú A`åÛ3A ÔÚ A@çÛ3AàùÚ AéÛ3A Û AÀëÛ3AWÛ AÀîÛ3A ŽÛ A ðÛ3Aà²Û A òÛ3A ×Û AôÛ3A@ñÛ AàöÛ3A Ü AùÛ3A DÜ A ûÛ3A hÜ A ýÛ3AàˆÜ A ÿÛ3AÀ¯Ü AàÜ3A@ÓÜ A@Ü3AÀöÜ AÀÜ3AÀÝ A Ü3A =Ý A€ Ü3Aà_Ý AÜ3AÀ‚Ý A Ü3A€¯Ý AÜ3AàÇÝ AÀÜ3A`Þ A` Ü3AÀTÞ Aà Ü3A Þ Ae(`„Û3A€ËË A@ýÛ3A ×Ë A`„Û3A ×Ë A@ýÛ3A€ËË Af( éÕ3AÆ A€|Ö3A€Æ A éÕ3A€Æ A€|Ö3AÆ Agp@ñ×3A OÀ A Ù3A˜Â A @ñ×3A OÀ A@Ø3A ˜Á AàèØ3A„Á A€ñØ3A@†Á A ÷Ø3A ŠÁ A`ýØ3A€•Á AÙ3A ¨Á AàÙ3A`½Á A  Ù3Aà A€ Ù3AS A Ù3A˜Â Ah( 9Ø3A — A`Ø3A — A`Ø3A — A 9Ø3A — Ai(@¦×3A — A 9Ø3A`,— A 9Ø3A — A@¦×3A`,— Aj(»Õ3AÀA— A ¬Ö3AÀX— A»Õ3AÀX— A ¬Ö3AÀA— Ak( ¬Ö3A`,— A@¦×3AÀA— A ¬Ö3AÀA— A@¦×3A`,— Al8`aÔ3A ËÊ AnÕ3A@†Ë A`aÔ3A ËÊ A dÔ3AàË AàeÔ3A@†Ë AnÕ3A€zË Am8nÕ3AÀxË A@äÕ3AÍ AnÕ3A€zË AÝÕ3AÀxË AÝÕ3A ÌÌ A@äÕ3AÍ An8 iÕ3A€Æ A éÕ3A€zË AnÕ3A€zË ApÕ3A€;Ë A iÕ3A`˜Æ A éÕ3A€Æ Ao0`ŸÓ3A๖ Aà¢Õ3A — A`ŸÓ3A — Aà¢Õ3A@Z— A`¢Õ3A๖ Ap@`¢Õ3AF– Aà¿Õ3AÀX— A»Õ3AÀX— Aà¿Õ3A`Ÿ– A ¿Õ3AF– A ¢Õ3A H– A`¢Õ3A๖ Aq( í×3A ÷» A@ñ×3A OÀ A í×3A ÷» A@ñ×3A OÀ Ar(€é×3Aà€· A í×3A ÷» A í×3A ÷» A€é×3Aà€· As(€é×3Aàc· AÁØ3Aà€· A€é×3Aà€· AÁØ3Aàc· At(@å×3A@–± A€é×3Aà€· A€é×3Aà€· A@å×3A@–± Au€ #×3A ÷» A í×3AD½ A  í×3A ÷» A`æ×3Aà[¼ A`æ×3A`Ò¼ A`À×3A`Ò¼ A ¼×3A@´¼ A€¸×3AŸ¼ A ³×3AàŠ¼ A`¯×3A ‚¼ A€©×3AÀ}¼ A€¢×3Aà~¼ A@'×3Aš¼ A &×3A€ ½ A #×3AD½ Av(ÁØ3AÀI· AÀÐÙ3Aàc· AÁØ3Aàc· AÀÐÙ3AÀI· Aw(`ÉØ3A`·« A`]Ù3A`Å« A`]Ù3A`·« A`ÉØ3A`Å« Ax(`]Ù3AÀ¨« A`ôÙ3A`·« A`ôÙ3AÀ¨« A`]Ù3A`·« Ay@ÀÐÙ3A@Û¶ AÀ¡Ú3AÀI· AÀÐÙ3AÀI· A jÚ3AÀ8· A rÚ3AÀݶ Aà–Ú3A@Û¶ AÀ¡Ú3Aà3· Az(€°×3A`º¢ A€)Ø3AÀ½¢ A€°×3AÀ½¢ A€)Ø3A`º¢ A{8Ù×3AÀLÊ AÀØ3A@8Ô A`Ù×3A@8Ô A@Þ×3A@úÓ AÙ×3ANÊ AÀØ3AÀLÊ A|x  ×3AGÌ A`Ù×3A@8Ô A `Ù×3A@8Ô A Ö×3A€Ô A@Ñ×3A ßÌ A Ð×3A`µÌ AÀÌ×3A –Ì A Ê×3A~Ì AàÅ×3A fÌ A`Á×3A`RÌ A@½×3AGÌ A@×3AàTÌ A`×3A@³Ì A  ×3A çÌ A}H@äÕ3A@UÌ A  ×3AÍ A  ×3A çÌ Aà×3A®Ì A€×3A@UÌ A ëÕ3A lÌ A ëÕ3A ÈÌ A@äÕ3AÍ A~HÀkØ3ADÊ A`êØ3Aà·Ì AÀkØ3ADÊ A oØ3A`ƒÊ AÀoØ3A@àÊ AäØ3A ÜÊ AäØ3AÀ}Ì A`êØ3Aà·Ì A@ÀØ3ADÊ AÀkØ3A@ìÊ AÀkØ3ADÊ A fØ3A€„Ê AÀeØ3AßÊ AàØ3A@ìÊ AÀØ3AÀLÊ A€( ½Ù3Amƒ AXÚ3A`~ƒ A ½Ù3A`~ƒ AXÚ3Amƒ A(À(Ù3A`~ƒ A ½Ù3A Œƒ AÀ(Ù3A Œƒ A ½Ù3A`~ƒ A‚(@“Ø3A Œƒ AÀ(Ù3Aàšƒ A@“Ø3Aàšƒ AÀ(Ù3A Œƒ Aƒ(ÀŸ×3A ø AÀ–Ø3A`Ž AÀŸ×3A`Ž AÀ–Ø3A ø A„( ›×3A`ˆ AÀŸ×3A`Ž A ›×3A`ˆ AÀŸ×3A`Ž A…(@*Õ3A 8ˆ A /Õ3A LŽ A@*Õ3A 8ˆ A /Õ3A LŽ A†( /Õ3A€3Ž A /Ö3A LŽ A /Ö3A€3Ž A /Õ3A LŽ A‡( /Õ3A LŽ A 3Õ3AÀ’’ A /Õ3A LŽ A 3Õ3AÀ’’ Aˆ(à„Ô3A LŽ A /Õ3AÀ\Ž Aà„Ô3AÀ\Ž A /Õ3A LŽ A‰(À–Ó3AÀ\Ž Aà„Ô3A sŽ AÀ–Ó3A sŽ Aà„Ô3AÀ\Ž AŠ(À×3A`Ž AÀŸ×3A€Ž AÀ×3A€Ž AÀŸ×3A`Ž A‹( /Ö3A€Ž AÀ×3A€3Ž A /Ö3A€3Ž AÀ×3A€Ž AŒ(1Ù3A€Û AàÂÙ3A€é A1Ù3A€é AàÂÙ3A€Û A(À–Ø3A€é A1Ù3A ø AÀ–Ø3A ø A1Ù3A€é AŽ@àÂÙ3A@j A €Ú3A€Û AàÂÙ3A€Û A KÚ3AÀÌ A`RÚ3A@o AÀtÚ3A@j A €Ú3AÀÇ Aˆ@Ö3A€rá A,×3A €æ A@Ö3AÀ“â AàÖ3A €â AÀÖ3AÀ/â AÀÖ3A 7â A "Ö3A 9â A 'Ö3A@3â A`,Ö3A`(â Aà0Ö3Aâ A5Ö3Aÿá A€8Ö3A âá A ;Ö3AàÂá A>Ö3A Ÿá AÀ@Ö3A€rá A,×3A €æ A8ÀÉÕ3A€P× A@ÝÕ3A VØ AÀÉÕ3A`W× A€ÊÕ3A VØ A@ÝÕ3AÀOØ AÜÕ3A€P× A‘ÜÕ3A€P× AÖ3AÀ“â AÜÕ3A€P× AÖ3A`Q× AÀÖ3A`…à AÀ Ö3A žà A` Ö3A@»à A Ö3A€Ýà AàÖ3A€á A Ö3A@*á AàÖ3A@Rá A`Ö3A zá AÖ3A  á A@Ö3A Ãá A@ Ö3A`ãá A Ö3A â A@Ö3AÀ“â A’@€ÛÕ3A`¦Ö A '×3A€P× AÜÕ3A€P× A€ÛÕ3A`¦Ö AÀ ×3AªÖ Aà ×3A@× A '×3A@D× A“(àØ3Aàšƒ A@“Ø3Aঃ AàØ3Aঃ A@“Ø3Aàšƒ A”(Ž×3Aঃ AàØ3A`´ƒ AŽ×3A`´ƒ AàØ3Aঃ A•(À(Õ3A÷ƒ A@*Õ3A 8ˆ AÀ(Õ3A÷ƒ A@*Õ3A 8ˆ A–˜sÔ3AÀ¢ A`Õ3A€ ª A`Õ3A@é© AÀúÔ3A@Ø© AàÄÔ3A€ ª AÀÔ3A€r© A ºÔ3A © AÀ©Ô3A@¨ A`Ô3AÀ§ A Ô3A@ § A`Ô3A`½¦ AÀtÔ3AàŒ¦ AsÔ3Aà#¥ A Ô3A þ¤ AÀŒÔ3A@³¤ A ²Ô3A@È¢ A £Ô3A€e¢ A¢Ô3AÀ¢ A—À¢Ô3AàJ¡ A —Ö3Aধ A¢Ô3AÀ¢ A€¬Ô3AÀ¢ A·Ô3A€R¢ AÀÆÔ3A ð¡ A`ØÔ3A ¥¡ A`ëÔ3A€u¡ A@ÿÔ3AÀa¡ A ÷Õ3AàJ¡ A@ Ö3A`V¡ AÖ3A€y¡ Aà.Ö3A³¡ A@?Ö3Aàÿ¡ A`NÖ3Aàc¢ AaÖ3A€£ A jÖ3A€ž£ AÀpÖ3A`/¤ AÀtÖ3A Ô¤ A }Ö3A€$§ A`‚Ö3A ž§ A@ŽÖ3Aàr§ A —Ö3Aধ A˜h †Ö3Aধ A ÔÖ3A@ï° A  —Ö3Aধ A€’Ö3A@ݧ A †Ö3AÀ ¨ A`ÇÖ3A ç¬ A@ÎÖ3A`ô­ A`ÏÖ3A€­® A@ËÖ3A€Â¯ AàÄÖ3A@l° A@ÒÖ3A ‹° A ÔÖ3A@ï° A™(À{Ò3A¾š A€€Ò3A`xŸ AÀ{Ò3A¾š A€€Ò3A`xŸ Aš(€€Ò3A`xŸ A`„Ò3AÀŠ£ A€€Ò3A`xŸ A`„Ò3AÀŠ£ A›°àúÕ3A а A #×3AD½ A #×3AD½ AÀ×3A€ ½ AÀ×3A€–¼ A€ÏÖ3A@¼ A`§Ö3Aà€¼ AÀÖ3AÀK¼ A XÖ3Aþ» A€2Ö3A`˜» AàúÕ3A Ðº A`Ö3A@¾¹ A  Ö3A@¤¹ AàÖ3AàO¹ AàÖ3A€à¸ AÀ Ö3Aàˆ¸ AÖ3A€Ë· AÀ9Ö3Aàe¶ A ¯Ö3A`¼± A@ÀÖ3A а A ÔÖ3A@ï° AœH@ÿÎ3A÷¦ A Ï3A@´¬ A@ÿÎ3A@´¬ AÀÏ3Aެ A@Ï3A@L¬ AàÏ3A ¬ A Ï3A È« A@Ï3A÷¦ A(à Ï3A°  A@Ï3A÷¦ A@Ï3A÷¦ Aà Ï3A°  Až°àEÌ3A@>˜ A ùÌ3A û¤ A ùÌ3A û¤ AÀõÌ3A³¤ A@äÌ3A`¬¤ A@äÌ3A`Ï¢ A ÞÌ3A€¡ A`ÐÌ3A€  A@¼Ì3A€´ž A@«Ì3A Ö A`“Ì3A Ýœ AvÌ3A`ì› A€PÌ3A › A@IÌ3A ·š A FÌ3A@{š AàEÌ3A Jš A€GÌ3A@ü™ AÀNÌ3Aà™ A ŒÌ3A@>˜ A œÌ3AÀ☠A«Ì3Aàï˜ AŸØ ßË3A€¤ A€¼Ì3A¬ Aà»Ì3A¬ A€¼Ì3A` ¥ AÀ¹Ì3A@¦¤ A@´Ì3A d¤ A ¯Ì3AÀD¤ A€ªÌ3AÀ-¤ A`ŸÌ3AÀ¤ A cÌ3A€¤ AàSÌ3A %¤ AàCÌ3A@O¤ A@6Ì3A`ޤ Aà)Ì3A è¤ A€Ì3A “¥ A Ì3AÀÐ¥ A€#Ì3Aà4¦ A@%Ì3A¦ A`#Ì3A Û¦ AÌ3A€,§ AàÌ3Aàj§ AàÌ3A w§ A üË3A h§ AóË3AÀ9§ A`èË3Aƒ§ A ßË3A’§ A à ßË3A€à£ A ùÌ3A’§ A ùÌ3A û¤ A@óÌ3A`Ù¤ AÃÌ3A Ý¤ A¾Ì3AÀo¤ A ·Ì3A-¤ AÀ­Ì3A ü£ A€£Ì3A`ä£ A cÌ3A€à£ AKÌ3Aþ£ A =Ì3AÀ)¤ Aà0Ì3A€h¤ A #Ì3Aà̤ A Ì3AÀ8¥ AÀÌ3AÀ¥ AÀÌ3AÍ¥ AÀÌ3A 4¦ A@Ì3A`|¦ AÀÌ3AÀʦ A@Ì3A § AÌ3A@4§ A Ì3A <§ A ùË3A@§ AàòË3Aܦ A âË3A`I§ A ßË3A’§ A¡(`„Ò3AÀŠ£ Aà‰Ò3A@Ѩ A`„Ò3AÀŠ£ Aà‰Ò3A@Ѩ A¢(`vÚ3Aà™« AÀzÚ3A`i± A`vÚ3Aà™« AÀzÚ3A`i± A£(`vÚ3A`—« A`–Ú3Aà™« A`vÚ3Aà™« A`–Ú3A`—« A¤(`–Ú3A@Š« A+Û3A`—« A`–Ú3A`—« A+Û3A@Š« A¥(€)Ø3Aà«¢ A ÁØ3A`º¢ A ÁØ3Aà«¢ A€)Ø3A`º¢ A¦@`ôÙ3A`—« A`–Ú3A`÷« A`–Ú3A`—« AÀŒÚ3Aàô« A gÚ3A`÷« A _Ú3A`œ« A`ôÙ3AÀ¨« A§(à`Ú3AË AdÚ3A’ AdÚ3A’ Aà`Ú3AË A¨(@4Ù3Aõ– A ÉÙ3A`ý– A@4Ù3A`ý– A ÉÙ3Aõ– A©(`Ø3A`ý– A@4Ù3A — A@4Ù3A`ý– A`Ø3A — Aª(ðÚ3A@j¢ AÀhÛ3Aàu¢ AðÚ3Aàu¢ AÀhÛ3A@j¢ A«(ÀhÛ3A`_¢ A€âÛ3A@j¢ AÀhÛ3A@j¢ A€âÛ3A`_¢ A¬(`Û3AÖ AàØÛ3AÀÖ– A`Û3AÀÖ– AàØÛ3AÖ A­( kÚ3A@~œ ApÚ3A@~¢ A kÚ3A@~œ ApÚ3A@~¢ A®(pÚ3A@~¢ A@sÚ3A Ý¦ ApÚ3A@~¢ A@sÚ3A Ý¦ A¯(€gÚ3AÀå– A kÚ3A@~œ A kÚ3A@~œ A€gÚ3AÀå– A°(@sÚ3A Ý¦ A`vÚ3Aà™« A@sÚ3A Ý¦ A`vÚ3Aà™« A±(€gÚ3Aâ– A`…Ú3AÀå– A€gÚ3AÀå– A`…Ú3Aâ– A²(`…Ú3AÀÖ– A`Û3Aâ– A`…Ú3Aâ– A`Û3AÀÖ– A³(dÚ3A’ A€gÚ3AÀå– A€gÚ3AÀå– AdÚ3A’ A´( ÁØ3A œ¢ A``Ù3Aà«¢ A``Ù3A œ¢ A ÁØ3Aà«¢ Aµ(``Ù3A@¢ A`ìÙ3A œ¢ A``Ù3A œ¢ A`ìÙ3A@¢ A¶@ ÉÙ3Aâ– A`…Ú3A`I— A ÉÙ3Aõ– ARÚ3Aàæ– AÀYÚ3A`I— A }Ú3AàF— A`…Ú3Aâ– A·(`ìÙ3A@~¢ ApÚ3A@¢ A`ìÙ3A@¢ ApÚ3A@~¢ A¸(pÚ3Aàu¢ AðÚ3A@~¢ ApÚ3A@~¢ AðÚ3Aàu¢ A¹( ‚Ú3A@Ï» A ƒÚ3A !½ A ƒÚ3A !½ A ‚Ú3A@Ï» AºP`†Ú3A@3 A Ú3AàáÅ AàšÚ3A@3 Aà“Ú3A c A`†Ú3A b A ‰Ú3A`‡Å A€™Ú3A`‡Å A€™Ú3AÀ¯Å A Ú3AàáÅ A»@ ƒÚ3A !½ AàšÚ3A@3 AàšÚ3A@3 Aà•Ú3A`óÁ AÀ•Ú3AÁ A …Ú3A€Á A ƒÚ3A !½ A¼0 ¨Ú3A Ê A Û3AàäË A ¨Ú3A Ê AÀ¨Ú3AàäË A Û3A`âË A½( Û3A ×Ë A`„Û3A`âË A Û3A`âË A`„Û3A ×Ë A¾@@€Ú3A@3 A ¨Ú3A Ê AàšÚ3A@3 A@€Ú3Aà6 A†Ú3AàÜÉ A ¡Ú3AàÜÉ A ¨Ú3A Ê A¿@À‰Ú3AàáÅ A ¨Ú3A Ê A ¨Ú3A Ê A ¨Ú3A «É Aà‹Ú3A «É AÀ‰Ú3AÀâÅ A Ú3AàáÅ AÀ°À‡Ú3A Ê A ªÚ3A€ Ø A ¨Ú3A Ê A ¡Ú3A`8Ê AàŒÚ3A >Ê A@’Ú3A€Õ A`Ú3A`Õ A€Ú3Aà©Õ A`Ú3A` Ö A ™Ú3A  Ö Aà•Ú3A :Ö A`’Ú3AÀVÖ A@Ú3A€vÖ AÀŒÚ3Aà˜Ö A ŠÚ3A@½Ö A ‰Ú3A`ãÖ A ˆÚ3A€ × AÀ‡Ú3A 9× A@ˆÚ3AÀÖ× A ¢Ú3A@×× A ªÚ3A€ Ø AÁH`êØ3AÀÙÊ A ÙÙ3Aà·Ì A`êØ3Aà·Ì A`ïØ3A`ƒÌ A€ïØ3A ãÊ A€ÒÙ3AÀÙÊ AàÓÙ3AmÌ A ÙÙ3AÀ Ì AÂH ÙÙ3A Ê A ¨Ú3AÀ Ì A ÙÙ3AÀ Ì A àÙ3A@kÌ A€ßÙ3AàÇÊ A bÚ3A€´Ê A`bÚ3A Ê A ¨Ú3A Ê Að 0Û3Aàæ AÀÆÜ3A ’é ASÀÆÜ3Aàaè A ÆÜ3A€þç A¿Ü3A€Àç A€»Ü3AÀÛç A ·Ü3Aàöç A ±Ü3A€è Aà«Ü3A€Bè A §Ü3AÀ\è AÀ£Ü3A@qè A ŸÜ3A`‡è A Ü3A ”è A —Ü3A€°è A ’Ü3A€Çè A`ŽÜ3AÀÖè Aà‰Ü3A€èè AÀ†Ü3A õè AÀ€Ü3Aà é A {Ü3AÀé A€wÜ3A@(é AÀrÜ3A 5é A`oÜ3A@?é A iÜ3ANé A@cÜ3Aà[é A`_Ü3Aàbé A€ZÜ3AÀké AàVÜ3A€ré AÀPÜ3A zé A`JÜ3A ƒé AàFÜ3A †é AàAÜ3A@Šé Aà=Ü3A é Aà7Ü3AÀé A@1Ü3A ’é Aà-Ü3A ‘é Aà(Ü3A‘é A $Ü3A`é AàÜ3AàŒé A Ü3AÀˆé AÜ3A@…é AÜ3Aàé A€ Ü3A{é A Ü3A`ré A ÿÛ3A gé A ÷Û3A@Wé AàòÛ3A`Mé AîÛ3A`@é AàæÛ3AÀ-é AàßÛ3A`é A ÛÛ3A@é AÀÖÛ3AÀ÷è A ÏÛ3A`Ýè A`ÉÛ3A Áè A ÄÛ3A­è AÀÀÛ3A ™è AºÛ3A`wè A@´Û3AÀVè A@°Û3A`@è A ¬Û3AÀ'è A ¨Û3A€è A ¤Û3A`÷ç A  Û3A@ßç A œÛ3AÇç A ˜Û3Aà®ç A ”Û3AÀ–ç A@Û3A ~ç A@ŒÛ3A`fç A@ˆÛ3A@Nç A@„Û3A`6ç A@€Û3A@ç A`|Û3A ç A`xÛ3Aîæ A`tÛ3AÀÕæ A`pÛ3A ½æ A`lÛ3A€¥æ A`hÛ3A`æ A`dÛ3A uæ A``Û3A]æ A€\Û3AàDæ A€XÛ3A ,æ AÀSÛ3Aàæ A IÛ3A ræ A€:Û3A€"æ A 0Û3A ,æ AÄÈà Ü3AÀeÞ Aà Ý3AàÓå A6à Ý3AàÓå A Ý3A@?å AÀÕÜ3Aàüã AÀÓÜ3A`àã AÐÜ3A»ã A€ÍÜ3A`§ã AÉÜ3A`ã AÀÄÜ3Azã A ÀÜ3A dã A€½Ü3AUã A@¸Ü3Aà7ã A ´Ü3A !ã A °Ü3A@ ã A`¬Ü3AÀõâ Aà§Ü3A@Ûâ Aà£Ü3A`Ãâ AàŸÜ3A «â A€›Ü3A`‘â A˜Ü3A zâ A”Ü3A€aâ A Ü3A€Hâ A ‹Ü3A (â A`ˆÜ3A`â A „Ü3A ûá Aà€Ü3Aààá A@{Ü3Aà¹á AÀuÜ3AÀá A€pÜ3Ajá A`pÜ3A iá AàkÜ3A€Fá A`gÜ3A !á AàcÜ3A@á A@`Ü3AÀèà A@]Ü3AÐà A`YÜ3AÀ®à AVÜ3A`‘à A RÜ3Aàsà AOÜ3A@Tà ALÜ3A€8à AÀHÜ3Aà A€EÜ3A ûß A`AÜ3A Ôß A ?Ü3A ¾ß A <Ü3AÀžß A9Ü3A`ß A`4Ü3AÀPß Aà/Ü3Aàß A-Ü3A ÿÞ A*Ü3A`ßÞ A(Ü3A`ÉÞ A`$Ü3A@Þ A€ Ü3AÀeÞ A€Ü3A žÞ Aà Ü3A Þ AŸ@Ü3AÀ ñ A ?Ý3A@ô A4 ?Ý3Aà•ñ AÀ6Ý3A`uñ A@2Ý3AÀ ñ A $Ý3A€7ñ Aà Ý3A@<ñ A Ý3A@Nñ AàÝ3Aà[ñ AàÝ3A@pñ AàÝ3A †ñ A@Ý3A •ñ A þÜ3A€¤ñ A€øÜ3A@¸ñ A`øÜ3Aà¸ñ A`ñÜ3AÀÐñ A`éÜ3Aïñ A éÜ3AÀïñ A@ãÜ3A€ò A ÞÜ3A`ò AÀÖÜ3Aà/ò A ÐÜ3A Bò AÌÜ3AQò AÀÃÜ3A€jò Aà½Ü3Aàzò A ¹Ü3Aˆò A€´Ü3A•ò A °Ü3A Ÿò AàªÜ3A ­ò A¦Ü3A ¹ò A`Ü3AàÍò A€—Ü3AÚò AÀ’Ü3Aäò Aà‰Ü3A€öò A „Ü3A€ó A@Ü3A ó A vÜ3Aó A€pÜ3A !ó A kÜ3A (ó A`bÜ3A€5ó AÀ\Ü3AÀ;ó AÀWÜ3A`Aó A€NÜ3A Kó AÀHÜ3A Pó AàCÜ3A Tó A`:Ü3A [ó Aà4Ü3A@^ó Aà/Ü3A `ó A`&Ü3A@eó A&Ü3A@eó AÀ Ü3A@fó A€Ü3A@hó A@Ü3A€Îó A@Ü3A@ô AÆ(@ýÛ3Aà¿Ë A@vÜ3A€ËË A@ýÛ3A€ËË A@vÜ3Aà¿Ë AÇ( Ü3A@· AàÜ3A · A Ü3A · AàÜ3A@· AÈ( ëÛ3Aài« AÀ{Ü3AÀw« A ëÛ3AÀw« AÀ{Ü3Aài« AÉ(€âÛ3AàR¢ AàZÜ3A`_¢ A€âÛ3A`_¢ AàZÜ3AàR¢ AÊ(àØÛ3A€·– ASÜ3AÖ AàØÛ3AÖ ASÜ3A€·– AË(@!Ü3A  A@Ü3A A@Ü3A  A@!Ü3A AÌ(€CÜ3Aà*ƒ A€õÜ3A @ƒ A€CÜ3A @ƒ A€õÜ3Aà*ƒ Ashapelib-1.6.1/tests/shape_eg_data/csah.shx0000664000175000017500000000210414573117335015607 00000000000000' "è¤p= ‡bAyȦȾSA&zAfffDðSA2Àöˆ‚XÞäêð(@` „˜ ð0H8„(°ˆ <h ¨h8P˜ìòøþ "(.P‚8¾ˆ J  îP"B²"øH#D8#€X%Ü0)Ø)ì0/ @/d (;=œ hK0M<HMˆ8PÄTààVÄ@W$X0HX|0X°¨^\X^¸P_ ` Àddgøk  k°lĈoPxoÌpp@JpŽ(pº8pö0q*0q^Pq²(qÞøsÚ8t8tRtXt^tdtj(t–0tÊ(tötü0u0u6(ubuhun(uš(uÆuÌuÒ0v`}j~nP~ÂH€(€:x†¶(†âhˆN(ˆz@Œ¾€B(nŽ‚ˆ•ð˜ø˜þ(™*@™nH™º¸›v(›¢(›ÎpBŸV0ŸŠPŸÞx Zx Öshapelib-1.6.1/tests/shape_eg_data/multipatch.dbf0000664000175000017500000000011614573117335016775 00000000000000bA WIDN 1shapelib-1.6.1/tests/shape_eg_data/anno.shp0000664000175000017500000007345414573117335015634 00000000000000' ;–è ±ÃAà: RA %.A›¼gš³-RA@|¢„ ªA`á,RAïlÏ»P¯Aª –/‡-RA &«A`á,RA|¢„ ªAÂp1Èè,RAŒéq 7®Aª –/‡-RAïlÏ»P¯Aè™dÇ-RA &«A`á,RA@cùüQ™A 6,RA¢v” TŸA3 ˜i,RAນA 6,RAcùüQ™A|A(ŠH,RAp‘FêžA3 ˜i,RA¢v” TŸAòà­W,RAນA 6,RA@µÞ„$£A r,RAüÁˆké¦Ažï‰Ó˜,RA £A r,RAµÞ„$£A`Ù’y„,RA±  á|¦Ažï‰Ó˜,RAüÁˆké¦A>÷ù†,RA £A r,RA@Š}Úÿõ—A̩ڠò*RA@›A§ñͶd+RA@›A@ù*RAíÐÚ­qšA̩ڠò*RAŠ}Úÿõ—As›¨^+RA¬ÿ‘™A§ñͶd+RA@›A@ù*RA@ ÿÂ~’‘AÒåD'$,RA P”A^|r,RA P”A *,RA‡Š‰­0“AÒåD'$,RA ÿÂ~’‘A0ƒâl,RA‚t9ñ±’A^|r,RA P”A *,RA@‡5Ãh Až¾ÛÛz,RA`e’A9·,RA`e’A`,RAùw/F‘Až¾ÛÛz,RA‡5Ãh AØð´°,RA޽3™,‘A9·,RA`e’A`,RA`‹Ø1w“AJCû¡{+RA@–A§…~,RA @–A„+RAi[G}•AJCû¡{+RA@`Œ ÷“A™#>µ­+RA‹Ø1w“AøóÉÓ+RA"*Zì“A§…~,RA«ê†ò•AU)ÊÑ,RA P”A`Õ+RA •A@µ+RA@–A„+RA@å:ºôþ”A ê+RAœŒ©½˜AŽâ¢•,RAà:•A ê+RAå:ºôþ”A™Í…Yý+RAÇн˜AŽâ¢•,RAœŒ©½˜AõÜõ+RAà:•A ê+RA @5í¯™A`}+RAü¼]q£A =?QÏ+RAàz™A`}+RA5í¯™AŽÜ4+RA1©-ÿ¢A =?QÏ+RAü¼]q£A’` ›½+RAàz™A`}+RA @Õɬ»›A r+RAfù°€ŸAZŸØ˜+RA %œA r+RAÕɬ»›A2I…„+RA;Ã]ŸAZŸØ˜+RAfù°€ŸA(šœ†+RA %œA r+RA @í†D%ãŸA ê*RAuSƒ§AðÝ%+RA P A ê*RAí†D%ãŸA‰³Ösü*RAbÚÇ•’¦AðÝ%+RAuSƒ§AgM®+RA P A ê*RA @%·ƒïi¹AŒ+RA~äJ×/½AÁ‡“W±+RA@ѹAŒ+RA%·ƒïi¹A:|ø+RA£›Î†È¼AÁ‡“W±+RA~äJ×/½A©M_Ÿ+RA@ѹAŒ+RA @È< &6µA«lÚÕ*RA@‘ºADéæÞ¢+RA@‘ºAÜ*RAãfÇûo¹A«lÚÕ*RAÈ< &6µAïëR¹œ+RAåÕAjW¶ADéæÞ¢+RA@‘ºAÜ*RA@jY÷ð¢°A*0ÓÁ¶*RA ѵAŸ8äÓp+RA ѵA@½*RA?ù̱´A*0ÓÁ¶*RAjY÷ð¢°AÉh·Uj+RAiþC±AŸ8äÓp+RA ѵA@½*RA@Nê ‡¿¯AÄ}ï¡Z+RA`æ±Añú–+RA`æ±A`+RA¤U"*Á°AÄ}ï¡Z+RANê ‡¿¯Aµ œ‘+RAª”ç¼ä°Añú–+RA`æ±A`+RA`ÈÎ ªa¯Aå¸Õ“%+RAа-‡C¶A•0R ,RA `f±Aô+RAm`@5²A•0R ,RA_?à9¨µAf™FÏ+RAа-‡C¶AÔ*ª +RAŒ8ˆS°Aå¸Õ“%+RAÈÎ ªa¯Aôý£>1+RAÀû´A`¥+RA ‘´A`Å+RA`f±Aô+RA@6“-}k´A@‘*RA™Yüñ½AY¡ÝË*RAà»´A@‘*RA6“-}k´A³"8¬£*RAÏì>™¡½AY¡ÝË*RA™Yüñ½Ae6iq¹*RAà»´A@‘*RA@Y|JÚâÀA‘›Ôª*RA ÑÄAk0N#/+RA ÑÄA@±*RAÃl–á±ÃA‘›Ôª*RAY|JÚâÀAüËÏ·(+RA–´˜ÂAk0N#/+RA ÑÄA@±*RA@žÃwºA dm ,RA`ѼAo?ÉE,RA`ѼA,RAS„²»A dm ,RAžÃwºAx”£6?,RAšÁÀâ•»Ao?ÉE,RA`ѼA,RA`àºÆAÀÁ&RA\²ŠVÑAú^3Àò&RA àºÆAá&RAŒ¤ €+ÇAú^3Àò&RALÎîrÝËA¶eöÔ&RA`’EUÎA«Á5Ö&RAeüõ­ ÑA˥κ×&RA\²ŠVÑA.bT¥Ä&RA@_ÎA Ã&RAÀ§ËAÀÁ&RAàºÆAá&RA@¬¼°:r®A€×&RAüˆ`úT³AùR½'RA ß®A€×&RA¬¼°:r®A$‚iWé&RA¨Eè²AùR½'RAüˆ`úT³AÕÐS¹ò&RA ß®A€×&RA@õ>ìxÖ´A€ý&RAë¬3ÿ—¸AwrOI&'RASµA€ý&RAõ>ìxÖ´AE¾ûï'RAàëx¸AwrOI&'RAë¬3ÿ—¸A2´SÙ'RASµA€ý&RA@‹³—u¾Aì;/ÂK&RA`ÂA%ÁÙ½&RA`ÂA`R&RAò$ýÅðÀAì;/ÂK&RA‹³—u¾ANð;·&RA™x¶1”¿A%ÁÙ½&RA`ÂA`R&RA@;]½AÀ±ä±&RA m¿Aã 'î&RA m¿AÀ¶&RAš Å$F¾AÀ±ä±&RA;]½ApÊÌKé&RAkT„¾Aã 'î&RA m¿AÀ¶&RA@GÛB½A Ö&RAµl ¿ÂAì/¶°'RAຽA Ö&RAGÛB½A³|¯ç&RAѳ9º¦ÁAì/¶°'RAµl ¿ÂA9®9!ô&RAຽA Ö&RA@–•„ùWÂA ø&RAýàúÆA¤—&'RA`½ÂA ø&RA–•„ùWÂA°ä_# 'RA“v›¸ÅA¤—&'RAýàúÆAô#7# 'RA`½ÂA ø&RA@dë¼v²Aø¼QÄ&RA ¥´A˜8Y®'RA ¥´AàÉ&RAÖ|yÓ€³Aø¼QÄ&RAdë¼v²Aõoû&RAŽnCTš³A˜8Y®'RA ¥´AàÉ&RA@@3Lv´A,×Õ%RAàè¹AÖ ky¢&RAàè¹A Ü%RATíï]ȸA,×Õ%RA@3Lv´Af—0œ&RAì"CΖµAÖ ky¢&RAàè¹A Ü%RA@ PžAR`¦,&RA5Þb2ä§AÆE¾à`&RA PžA@N&RA\û?Ó“žAÆE¾à`&RA5Þb2ä§AHG?&RAÙâ"ÿ §AR`¦,&RA PžA@N&RA@À¿¬A6ާè%RAöN úŸ±Aœda»&RAÀ¿¬A&RAø'Ç!1­Aœda»&RAöN úŸ±Ažšïbú%RAþ&Y˜.±A6ާè%RAÀ¿¬A&RA@Åèâ´Ã¶A@&RAÑ‹ý¾A¾Š Á&RA`1·A@&RAÅèâ´Ã¶A”K­‘&RAUù³à¾A¾Š Á&RAÑ‹ý¾A*ºÜ:¯&RA`1·A@&RA @¤–ÿìõ¸A`t&RA¼ :´Ö½AŽ>¢&RA`f¹A`t&RA¤–ÿìõ¸A7èP!†&RA`¤9Af½AŽ>¢&RA¼ :´Ö½AWÀ|&RA`f¹A`t&RA!`Ó©Ü•A9=IC;%RA á˜AQ!åD&RA  á˜A >%RA—ߪ޴—A9=IC;%RAú“÷Ó–A8ozÙ‰%RA X×…—AÞ€»†³%RAÓ©Ü•A2©i«@&RA¸Ê->–AQ!åD&RA`I˜AÀ´%RA ˜A Š%RA á˜A >%RA"`·Àˆ™AªB¤Ž%RAc'~ï­A…Š™\9%RA ¥™Aà%RA·Àˆ™A®ã,%RAEšPœÕ¡A…Š™\9%RALd7´Ñ¦A‡·¶¾,%RAc'~ï­A3Ý‘o%RAÌ—÷’Á­AªB¤Ž%RAࢦAà%RAàË¡A &%RA ¥™Aà%RA#`ò‹d´«Aâ°µMÅ#RAà®Až¨H³—$RA à®AÉ#RAêÓ- r­Aâ°µMÅ#RAæ(A¬AgÀì%$RA+Rµ=’«A” )f$RAò‹d´«A{5~¹”$RA‘€J¬Až¨H³—$RAÀ¿¬A@i$RA m­A`)$RAà®AÉ#RA$`f£âIý¥AB&RA Ü©AŒÚxgÑ&RA `Z©AB&RAÿ¡.:¨A+ :WH&RAM#Õ.œ¨A83w½Y&RA>c<•8¨A²j¡o&RAf£âIý¥AÔñBjÊ&RAdí§AŒÚxgÑ&RA`Z©AÀu&RA Ü©A Y&RA`Z©AB&RA%@>³`ΧA:Êôf‚&RA 3ªAÔÑ&RA 3ªA`‡&RA»¯€£ ©A:Êôf‚&RA>³`ΧAKž&Ì&RAdŽ2]õ¨AÔÑ&RA 3ªA`‡&RA&@¤D_Êv§A··Ë–Ç&RA ™­A1ŠŸh'RA ™­A Ð&RAâíÇ÷‹¬A··Ë–Ç&RA¤D_Êv§AèAký^'RAÂV—òƒ¨A1ŠŸh'RA ™­A Ð&RA'@Ô¯L5©A’?,f 'RA@ƒ­AK>Úie'RA@ƒ­A'RABÒx …¬A’?,f 'RAÔ¯L5©AÝ}ÐZ'RA’ÝÓ-3ªAK>Úie'RA@ƒ­A'RA(` |•A€'RA»!ÏÓ AÛÔoèY'RA |•A€.'RAMJY”Ë•A–8Bð@'RA-ùL¥ ™Aœç^÷2'RAÅÄš¶†›AVPÅÈ8'RAœ™|w[ AÛÔoèY'RA»!ÏÓ AO¿)[H'RA`Ú›A@&'RA@÷˜A€'RA |•A€.'RA)P`Z A[‘{š'RAz7<ì¤AÝm¼QM'RA`Z A :'RAåAŽ­˜ AÝm¼QM'RA ծř¢AAŠ»£F'RAz7<ì¤AR5-'RA >M¤A[‘{š'RA@÷¡A@5'RA`Z A :'RA*`@k–AàÉ&RAsÅö  A¶Lv'RA @k–AÀç&RA/Û¶Ú#—A¥:÷ö&RAÍyE]H™AtøÜ&RA¨’¯_ºšAtøÜ&RAN#½VŸA¶Lv'RAsÅö  Ad4%š'RA€,›AàÉ&RA á˜AàÉ&RA@k–AÀç&RA+P€þžAå&RAøåº¢¢Aaž_'RA€þžAÀç&RAd—÷€AŸA¤csaú&RAV/äxÇŸA9´¤ø&RA©þk¥H¢Aaž_'RAøåº¢¢AÓ¶Xí&RA@ŸAå&RA€þžAÀç&RA,@Ò!¼÷®A®ùl×-&RA hµAE+oõ&RA hµA 5&RA m5¡Q´A®ùl×-&RAÒ!¼÷®A¶>˜¦í&RAǧ뺰AE+oõ&RA hµA 5&RA-``ýA§}uì"RA¯ö·+·™A»™§±#RA `ýAàŸ#RAi^áxA»™§±#RAaeï’AOÕΠ#RA:håÈa”Aæ'”Aw#RA¯ö·+·™Aq›L5÷"RA޵˜A§}uì"RA Y“A m#RAÀ’A`‘#RA`ýAàŸ#RA.@ Ì•As‹lœ+#RA¡R šAÂ\2t&$RA Ì•A "$RAÕ¶f¤ü–AÂ\2t&$RA¡R šA5èžp/#RAÌ]ëé˜As‹lœ+#RA Ì•A "$RA/`7@°O‘A ’!RAØK.¡º›AºÁ›"RA À’A ’!RA7@°O‘A`פ$¡!RA7ÕÖÞ“Aq˜ŸÂ!RA¶Ä¶zæ—A‚d â!RA”SƒßšAºÁ›"RAØK.¡º›A=b{ã"RA ˜A Ò!RA@‡”A ²!RAÀ’A ’!RA0@ ÊšAÀê!RA|mžA@ "þ!RA ÊšAÀê!RA ÊšA@ "þ!RA|mžA@ "þ!RA|mžAÀê!RA ÊšAÀê!RA1@prGªAÀ#!RAËß&=•Ap´µa!RA@ÔAÀ#!RAprGªAà&ýó6!RA;RnÞ”Ap´µa!RAËß&=•A¸èM!RA@ÔAÀ#!RA2@çkþš~„A€… RAÙ*†?á—AD¡Á¾ RA ¤„A€… RAçkþš~„A+†Ÿ¼˜ RAÀ–„:»—AD¡Á¾ RAÙ*†?á—A”…« RA ¤„A€… RA3@¹X™.€AÔv RA`H‚A½:V!RA`H‚A RA†î‹óAÔv RA¹X™.€A‘#°N!RA3j ›DA½:V!RA`H‚A RA4@Nv‘]BÅA@ñµ4(RA@šÍA—>³jñ(RA@šÍA`?(RAjvµG—ÌA@ñµ4(RANv‘]BÅA—~¤Àæ(RAäÿÛUEÆA—>³jñ(RA@šÍA`?(RA5@ Ó òø±A€d(RAsê/ä¾AÐT®ŸÀ(RA€d²A€d(RA Ó òø±Aè%®v(RAâö¡x¾AÐT®ŸÀ(RAsê/ä¾Aè.—q®(RA€d²A€d(RA6@³ÙÎrÖ¯A@Ý)RAÃY8&£»ALEâ«1*RA`@°A@Ý)RA³ÙÎrÖ¯A\£wï)RAv399»ALEâ«1*RAÃY8&£»Að·>t*RA`@°A@Ý)RA7@Ñ1n q A;Rå(RA€ô§AѪ]ü)RA€ô§A ì(RA!ÏÒ¦A;Rå(RAÑ1n q A娏õ)RA°bWm“¡AѪ]ü)RA€ô§A ì(RA8@)j õåÍAMì”,Þ'RA€XÖA¸âߟ)RA€XÖA€å'RAH `9ÕAMì”,Þ'RA)j õåÍAÏtLý(RAáLìÏA¸âߟ)RA€XÖA€å'RA9`׃Ì:{A#!RAðÛÞ +–A›¬²P"RA |A#!RA׃Ì:{A€lùr0!RAPI¬€A?rSÛ!RAd¦è²¶ƒAî^‡[¡!RAä³™®•A›¬²P"RAðÛÞ +–Aeç· "RA A„A!RAÀA`p!RA |A#!RA:@umÚè33#RAà)eA`ì"RA_5·eAx¢ÿ"RA,3Çc¬tA>è33#RAÍ•‘ŒÏtA#p$ñ#RAà)eA`ì"RA>@!JÈÍ‹A0rf¸"RA`AÃ¥.-#RA`A@""RAü¦näŽA0rf¸"RA!JÈÍ‹Aó•‹)#RA%꣹þŒAÃ¥.-#RA`A@""RA?@bñêºAÀq"RA¬Á’fÞ-A©‹  "RA6AÀq"RAbñêºA=j…"RA³}!½-A©‹  "RA¬Á’fÞ-Aà!ÈŒ"RA6AÀq"RA@@‡ŒˆNêArMjØú"RA@AiЫd $RA@A@þ"RA­È„ñäArMjØú"RA‡ŒˆNêAÛý$RAÚÃAiЫd $RA@A@þ"RAA@Õj«–“6A†rc|#RA =;A'.ŽX$RA =;AÀ#RA©¼m :A†rc|#RAÕj«–“6Aš‘JU$RA,®©IÅ7A'.ŽX$RA =;AÀ#RAB`@‚A U#RAŸ‡·Âß*AV<[€#RA @‚A@a#RA4O°AoÃkt#RATF*a!A¦2z%i#RAöÒnÇ#AE´hºk#RAcîµç«*AV<[€#RAŸ‡·Âß*A†Q ?m#RA€:#A€X#RAÀX!A U#RA@‚A@a#RAC@)ÒŽRA zhÅ"RAàbVA#sò;š#RAàbVA@É"RAü)åå2UA zhÅ"RA)ÒŽRA/íd–#RA èC̾SA#sò;š#RAàbVA@É"RAD@p<á9zéA³P¹g#RAŸìA¼ÖÇ#RAŸìAà#RA–×£ámëA³P¹g#RAp<á9zéAo'ÍÄ#RAÚd=X«êA¼ÖÇ#RAŸìAà#RAE@Ul{šÞAZ®¶be"RA`°áAo •Œ#RA`°áAÀh"RAåYLô~àAZ®¶be"RAUl{šÞAÉ»K/#RApÂæËßAo •Œ#RA`°áAÀh"RAF` ±ÃAö9û Ó$RAy^òžÙAþ?æ f%RA ±ÃAàR%RAèˆ9<ßÃAþ?æ f%RAMåHöÅA Ãa%RA†&ÕúhÈAÔ¿€K%RAy^òžÙAÖ=<å$RAi£k3ÙAö9û Ó$RA€æÇA`9%RAÅA`N%RA ±ÃAàR%RAG@ê·C—mËA@á#RA߃ã*8ÛAoœ×r $RA@ŒËA@á#RAê·C—mËAÝ¡¾‰ô#RAÉ;'‚ÛAoœ×r $RA߃ã*8ÛA’ú)ú#RA@ŒËA@á#RAH`1ÔŒô`õA€W$RAÅk*,A,Ø<Ï$RA À¡õA€W$RA1ÔŒô`õA„"‹tj$RAÎþW4ìúAãög}$RAa¯Ñ"8AÐ@ܱ$RAo —î—A,Ø<Ï$RAÅk*,A¸QL6¾$RAàÉAÀ $RA VûAk$RAÀ¡õA€W$RAI@C9\÷ÊÍA µ%RA\[)¬ÛAˆa$)!&RA€BÎA µ%RAC9\÷ÊÍAzŒ©‚Ç%RAŸ”…ö4ÛAˆa$)!&RA\[)¬ÛAÕzF&RA€BÎA µ%RAJ@3ðG¡êA ü$RA$$‰vÃùAz¿Ó¥h%RA`ëA ü$RA3ðG¡êA£2~7%RAWÑ)TùAz¿Ó¥h%RA$$‰vÃùA׌UŽV%RA`ëA ü$RAK@Y€ƒ£ êANT>®%RA@ðA;ÏJv“&RA@ðA £%RAóßÞîANT>®%RAY€ƒ£ êA‰#‰„&RAf¤Ò0ëA;ÏJv“&RA@ðA £%RAL@y3eŽqÿAô&RAÉ Uw AÓÒú”X'RA€ßÿAô&RAy3eŽqÿAn¹Æ'RABFpc AÓÒú”X'RAÉ Uw Ae4uF'RA€ßÿAô&RAM@†*ÀàQA¦Åšìª(RA®A¼-×!³)RA®Aà°(RAr9SÙ†A¦Åšìª(RA†*ÀàQAbóq.­)RAñlyA¼-×!³)RA®Aà°(RAN@móà'ýA^(RA*¥v½òA~fýÖ²(RA€’ýA^(RAmóà'ýA¢Š•3p(RA0jˆA~fýÖ²(RA*¥v½òAÜÛg£ (RA€’ýA^(RAO@i]YZØîAl)RAW4ÜTAîÖâPï)RA IïAl)RAi]YZØîAW4< ~)RAx´–ãAîÖâPï)RAW4ÜTA—¢¦EÝ)RA IïAl)RAP@ q‡^ÀðA î*RA5DÔZA3Áy+RA 2ñA î*RA q‡^ÀðAOÿ0(+RA@µ–éA3Áy+RA5DÔZAäýf+RA 2ñA î*RAQ@F«­ÎÅA€,RAUA¨HK(Aàzz¿W,RAà/A€,RAF«­ÎÅAƒPѶ",RA›ìU7á'Aàzz¿W,RAUA¨HK(A]*©ˆE,RAà/A€,RAR@¨m¾±+AàZ,RA±I–0A½mk{ˆ,RA ‹+AàZ,RA¨m¾±+A' Ûÿl,RAY·€¨¥/A½mk{ˆ,RA±I–0A–d[v,RA ‹+AàZ,RASPgu5˜„1A@,RAÀ3AÅóÂ7š,RA€î1A@,RAgu5˜„1AÅóÂw“,RAgu5Ø­2AÅóÂ7š,RAÀ3Aˆ,RAÀ3Aˆ,RAÀ3Aˆ,RA€î1A@,RAT` ðA€-+RA+#A¦Ý‚¡+RA ðA`š+RA¢ª)RAà@$A Ý(RA¢ý #AeS!0Ü(RA¢ý›¿"AeS!°=)RA`õ#A >)RA`õ#A >)RA`õ#A >)RAà@$A Ý(RA`PºŸ'K¤3AЮÚúö&RAÀ>5A@´'RAÀ>5A ÷&RAºŸ'Ë4AЮÚúö&RAºŸ'K¤3AЮښ³'RA@Ú4A@´'RA@Ú4A@´'RA@Ú4A@´'RAÀ>5A ÷&RAaPØ:A`-)RA¿ÔŸ9?A¯Š1:Ñ)RAØ:A€Ê)RA¿ÔŸÙú;A¯Š1:Ñ)RA¿ÔŸ9?A¯Š14)RA`z>A`-)RA`z>A`-)RA`z>A`-)RAØ:A€Ê)RAbP¨Ð•Š=A@ð)RA¯CA[ÿ-G&*RA€ü=A@ð)RA¨Ð•Š=A[ÿ-G*RA¨Ð=CA[ÿ-G&*RA¯CA@*RA¯CA@*RA¯CA@*RA€ü=A@ð)RAcP@É;’RA€î(RAÀ—AÃ(ZX.)RA`¼A€î(RA@É;’RAÃ(Z¸)RA@É;ò-AÃ(ZX.)RAÀ—A )RAÀ—A )RAÀ—A )RA`¼A€î(RAdP­ø5"$HA Z'RA`1NA&aí¹'RA ˜HA Z'RA­ø5"$HA&aí™l'RA­ø5b½MA&aí¹'RA`1NAÀ~'RA`1NAÀ~'RA`1NAÀ~'RA ˜HA Z'RAePÔ¹/ÛJA"'RA¿PAÔÒµ:R'RAà>KA"'RAÔ¹/ÛJAÔÒµZ4'RAÔ¹O[PAÔÒµ:R'RA¿PAà?'RA¿PAà?'RA¿PAà?'RAà>KA"'RAfP¸:înSAy¿—Ð(RA SWA T)RA SWA×(RA¸:î.VAy¿—Ð(RA¸:înSAy¿7N)RA “TA T)RA “TA T)RA “TA T)RA SWA×(RAgP¼w3°ûGA €)RA`áNAb.Ú–¸)RAÀeHA €)RA¼w3°ûGAb.ÚÖ’)RA¼w3PwNAb.Ú–¸)RA`áNA`¦)RA`áNA`¦)RA`áNA`¦)RAÀeHA €)RAhP'Ü HLAà1(RATAO$“q(RA¸LAà1(RA'Ü HLAO$óC(RA'Ü ¦SAO$“q(RATA€_(RATA€_(RATA€_(RA¸LAà1(RAiP6Žç˜UA’«o¬'RA@áYA€>(RA@áYA ²'RA6Žg½XA’«o¬'RA6Žç˜UA’«oñ7(RAÀ¼VA€>(RAÀ¼VA€>(RAÀ¼VA€>(RA@áYA ²'RAjP$à‹§w{A`*RA`ƒA©uäE*RAê{A`*RA$à‹§w{A©ud*RA$à‹£‚A©uäE*RA`ƒAà3*RA`ƒAà3*RA`ƒAà3*RAê{A`*RAkPrÖí%¨{A›jŠ"¼(RAàðA P)RAàðA Â(RArÖí¥Ì~A›jŠ"¼(RArÖí%¨{A›jŠ¢I)RA`Ì|A P)RA`Ì|A P)RA`Ì|A P)RAàðA Â(RAlPuŸc mA =(RAànuAán•_(RA€“mA =(RAuŸc mAán•O(RAuŸÃûtAán•_(RAànuA`o(RAànuA`o(RAànuA`o(RA€“mA =(RAmP™ÔXüütA` (RA@c}A56Y§P(RAànuA` (RA™ÔXüütA56Yg(RA™ÔX\ñ|A56Y§P(RA@c}A >(RA@c}A >(RA@c}A >(RAànuA` (RAnP.¹éáp~AÀ#'RAS†AàO'RA`Ü~AÀ#'RA.¹éáp~A ötî5'RAà9†AÀò}<'RAà9†AàO'RAà9†AàO'RAS†AàO'RA`Ü~AÀ#'RAoP±ŸÅÇ$fAHsZçÛ(RA€ZiA€C)RA€ZiA â(RA±ŸÅÇ4hAHsZçÛ(RA±ŸÅÇ$fAHsZG=)RA€JgA€C)RA€JgA€C)RA€JgA€C)RA€ZiA â(RApP¨ð¯p©oA»:¬ `'RA`sA Ø'RA`sAàe'RA¨ð¯ëqA»:¬ `'RA¨ð¯p©oA»:¬ÍÒ'RA@ÑpA Ø'RA@ÑpA Ø'RA@ÑpA Ø'RA`sAàe'RAqPœÜÊAàs%RA@A ]Má%RA rAàs%RAœÜÊA ]-„%RAœ|×A ]Má%RA@AÑ%RA@AÑ%RA@AÑ%RA rAàs%RArPh~k9•AA`›&RAàŠKAŒ;¹ê&RABA`›&RAh~k9•AAŒ;¹a­&RAh~kKAŒ;¹ê&RAàŠKAØ&RAàŠKAØ&RAàŠKAØ&RABA`›&RAsPÜóÓ/5A…;H%RAÀÛ6A è%RAÀÛ6AI%RAÜóó¥5A…;H%RAÜóÓ/5A…;ºç%RA e6A è%RA e6A è%RA e6A è%RAÀÛ6AI%RAt`ï-C›Aà+$RA˜­¥.A´žþ6n$RA `ÕAà+$RAï-C›Aмßê>$RAt›§‡AȶLßM$RAk'p²¨!AÄVǾY$RAg ¹þ†.A´žþ6n$RA˜­¥.AöHíZ$RA@Î!A€F$RA@ºAÀ:$RA`ÕAà+$RAuPaÅfÇ5BAàl$RA sKATNÇŒ$RAàNBAàl$RAaÅfÇ5BATNÇ1€$RAaÅfZKATNÇŒ$RA sKAÀx$RA sKAÀx$RA sKAÀx$RAàNBAàl$RAvP@~BA`‘%RA.W²Ý¿FA]’>Ÿ&RA@~BA &RA.W²=œCA]’>Ÿ&RA.W²Ý¿FA]’>ߘ%RAà¡EA`‘%RAà¡EA`‘%RAà¡EA`‘%RA@~BA &RAwPÃÅVEAØ{®ª%RAÀ;IAÀ &RAÀ;IAà±%RAÃÅHAØ{®ª%RAÃÅVEAØ{Ž&RAÀvFAÀ &RAÀvFAÀ &RAÀvFAÀ &RAÀ;IAà±%RAxP!Û¶Ó9A ¥$RAàìFA³WÐÕ$RA€ÿ9A ¥$RA!Û¶Ó9A³WP¸$RA!ÛÁFA³WÐÕ$RAàìFA Â$RAàìFA Â$RAàìFA Â$RA€ÿ9A ¥$RAyP´$³Ã$ A`”%RA`èA¥Åˆs^&RA`N A`”%RA´$³Ã$ A¥ÅˆÓ™%RA´$³Ã¾A¥Åˆs^&RA`èAY&RA`èAY&RA`èAY&RA`N A`”%RAzPür6Ä;A %%RAÀfBAXG%RAð;A %%RAür6Ä;AXÐ8%RAürö:BAXG%RAÀfBA`4%RAÀfBA`4%RAÀfBA`4%RAð;A %%RA{`äBy=5AŽ&RA¦;¥¤"A“=Ï{ï&RA ÅAŽ&RAäBy=5AxÇ®+Ÿ&RA¤R´Ú.AcýzÀ&RA{¢È¸A—¦,Í&RA‘\€ÙY"A“=Ï{ï&RA¦;¥¤"Aƒ`;¬Ü&RA€ A€º&RA¦A€®&RA ÅAŽ&RA|`.¼„mkA@“$RAÆ®ú¹AO’qrå$RA ‰kA@“$RA.¼„mkAIkZަ$RAiëknAþƒÒÕª$RAKÐîAZsAr¥׺$RAøúdwAO’qrå$RAÆ®ú¹AfŒ„Ò$RA`šsAà§$RA`˜nA —$RA ‰kA@“$RA}X ðAç%RAZ<‹Ò‘A¤º‡‘ˆ&RA ðA@&RA 3LA¤º‡‘ˆ&RAÅ|G"÷A‡õ Ë=&RAZ<‹Ò‘AD?©"ê%RA€ Aç%RA€ Aç%RAÀÊA€8&RA ðA@&RA~`às~A{WÑU%RA0i ªU…A’8žÆÿ%RA às~Aàï%RA#‹¿9%A’8žÆÿ%RAýÚR€h‚Aq!YbÛ%RAvWìÏ™ƒAËacÚ¼%RA0i ªU…A½%3%RA…Æòð"„A{WÑU%RA p‚A¶%RA ƒAÀÍ%RAàs~Aàï%RA`ˆO2$jA ª%RAĽYÊxAl¼ß¢ß%RA `ljA ª%RAˆO2$jA–±Êù¼%RAmœ(‡lAœÀ!Æ%RA‰#u½oAtA@:Ì%RAê²-g xAl¼ß¢ß%RAĽYÊxA>ojnÌ%RAÀäoA¹%RAÀ½lA³%RA`ljA ª%RA€P€¥^A9ì«ç#RA€ `Aà|$RA€ `Aê#RA×·©ŸÕ^A9ì«ç#RAÆW°_A·ÇŽi$RA€¥^A`{$RA€¥^A`{$RAÀì^Aà|$RA€ `Aê#RAP•úIÄzNAñ)eH&RA@ñQA ¹&RA@ñQAÀN&RA•úIDÌPAñ)eH&RA•úIÄzNAñ)E³&RAÀŸOA ¹&RAÀŸOA ¹&RAÀŸOA ¹&RA@ñQAÀN&RA‚X‘ÚÅ–XA@ã$RAÀ”dA_ëN¶3%RA@¶XA@ã$RA‘ÚÅ–XA½Gmˆö$RA,Ÿ^cA‡¨!%RA,Ÿ^cA_ëN¶3%RAÀ”dA_ëN¶3%RAÀ”dA ö$RAÀ”dA ö$RA@¶XA@ã$RAƒPC ð~eA`âL^%RA@giA@ý%RA@giA`d%RAC ð¾@hA`âL^%RAC ð~eA`â,÷%RA@fA@ý%RA@fA@ý%RA@fA@ý%RA@giA`d%RA„@àÍÎA°!RA¸£[A@¢è!RAàÍÎA°!RAàÍÎA@¢è!RA¸£[A@¢è!RA¸£[A°!RAàÍÎA°!RA…@ÀíÎA€ø RA %.A@"1!RAÀíÎA€ø RAÀíÎA@"1!RA %.A@"1!RA %.A€ø RAÀíÎA€ø RA†@àÍÎA ? RA„ú A@Âw RAàÍÎA ? RAàÍÎA@Âw RA„ú A@Âw RA„ú A ? RAàÍÎA ? RA‡@`ÐÎA #RAä’õ A@ŠJU#RA`ÐÎA #RA`ÐÎA@ŠJU#RAä’õ A@ŠJU#RAä’õ A #RA`ÐÎA #RAˆ@`ÐÎAàk"RAä’õ A@ŠŠ£"RA`ÐÎAàk"RA`ÐÎA@ŠŠ£"RAä’õ A@ŠŠ£"RAä’õ Aàk"RA`ÐÎAàk"RA‰@+‚yUØóA À&RA)ì~! A¦ÁK~'RA@=õA À&RA+‚yUØóAvRY:ø&RATnø6²A¦ÁK~'RA)ì~! A0oòwF'RA@=õA À&RAŠ@äü_•A *,RA¹Š,.0µAE¦Ø&-RAÀn–A *,RAäü_•A…¤5Ma,RA‡ŒýгAE¦Ø&-RA¹Š,.0µAÀZ+ð,RAÀn–A *,RA‹@Œå5jM¶A€'RA Bm&ÇÔA¾çq0(RA`¬·A€'RAŒå5jM¶A„ÚŒµP'RA˜'£0hÓA¾çq0(RA Bm&ÇÔA: åúÅ'RA`¬·A€'RAŒ`FTÙK…Aƒ`ˆÞ$RAˆá£ÄA"—b%RA Àè…A@ê$RAFTÙK…Alû» $%RA·Òn—A™§÷“T%RA”r±Ž4¡A"—b%RAˆá£ÄAÔ4.%RA ¿®›ÃAƒ`ˆÞ$RAÀ¡A '%RA€Œ—A`%RAÀè…A@ê$RA@5ø©{=A"RA¦J^LA‰ÐèW¨"RAÀžA"RA5ø©{=A4êbPY"RAÛBÌžKA‰ÐèW¨"RA¦J^LAUæ…n"RAÀžA"RAŽ`Ô%µrßóAÀh$RAª¤ê A©‰ª@1&RA `ÂôAÀh$RAÔ%µrßóA"‚£¡$RA¹–¡uùABtì·$RA$?pÍJAßsúÔ %RAØÑO&âA©‰ª@1&RAª¤ê Av®y&RA+A`Ø$RA ÆúAÀ€$RA`ÂôAÀh$RA@à5wA,«^¾'RA‘%Ði‹A¹ÇÖdœ*RAà5wAÀ‡*RA@¢á£zA¹ÇÖdœ*RA‘%Ði‹A剂Ó'RAQF‚Îû‡A,«^¾'RAà5wAÀ‡*RA`ªã7©£vA !RAð(ž ïAÛ‘å/#"RA @SyA !RAªã7©£vAM))!RAÔ± {AA(èt!RA˜Ëã¤É€A/ÇÒoº!RAXR1ŒAÛ‘å/#"RAð(ž ïAkFÁqð!RA€Ñ‚A€‰!RA@‚}A@I!RA@SyA !RA‘@tòBA@'RA£ãU AòZ5}¨'RA æA@'RAtòBAW¹%V'RAÖe°VAòZ5}¨'RA£ãU Ac|—q'RA æA@'RA’@€N~A „$RA€ÆA ¼$RA€N~A „$RA€N~A ¼$RA€ÆA ¼$RA€ÆA „$RA€N~A „$RA“@tå'æA Ä*RA/ªêYøAPʤ+RA`yçA Ä*RAtå'æATÕóû*RA7ЦAPʤ+RA/ªêYøAüEÌm+RA`yçA Ä*RA”@8TYöiüA L+RAÆIIC~ AÐö$×+RA ·ýA L+RA8TYöiüA'%ºƒ+RAþ¢™0 AÐö$×+RAÆIIC~ Aòªi  +RA ·ýA L+RA•@kM¿–œ A•+RAâÕ¶8AÜ@‹÷,RAà A•+RAkM¿–œ A`ÏIË+RAl/•mÊAÜ@‹÷,RAâÕ¶8A|!¼­Ù+RAà A•+RA–@ ÕFA·íÃ_N)RA¦~eo¯YA3ǾÏõ+RA ÕFA@á+RAaP CJA3ǾÏõ+RA¦~eo¯YAê´‚ïb)RAEfï@VA·íÃ_N)RA ÕFA@á+RA—@€¾ÆA RV(RA¬lÔ4ØAAïÜÇ*RA€¾ÆA ³*RAôïoñ.ÊAAïÜÇ*RA¬lÔ4ØAIúŽj(RA¸|dçÔA RV(RA€¾ÆA ³*RA˜@@BòA`q RA@bLA`Ø RA@BòA`q RA@BòA`Ø RA@bLA`Ø RA@bLA`q RA@BòA`q RA™@@t}AÀl$RA@d„AÀÛ$RA@t}AÀl$RA@t}AÀÛ$RA@d„AÀÛ$RA@d„AÀl$RA@t}AÀl$RAš@€”ÃAà: RA€„ÊAà© RA€”ÃAà: RA€”ÃAà© RA€„ÊAà© RA€„ÊAà: RA€”ÃAà: RA›@`n¾A !RA`^ÅA r!RA`n¾A !RA`n¾A r!RA`^ÅA r!RA`^ÅA !RA`n¾A !RAœ@`N*A€'RA`Æ-AW'RA`N*A€'RA`N*AW'RA`Æ-AW'RA`Æ-A€'RA`N*A€'RA@À¨)AÀ'RAÀ˜0AÀt'RAÀ¨)AÀ'RAÀ¨)AÀt'RAÀ˜0AÀt'RAÀ˜0AÀ'RAÀ¨)AÀ'RAž@`â,A7$RA`Z0A€n$RA`â,A7$RA`â,A€n$RA`Z0A€n$RA`Z0A7$RA`â,A7$RAŸ@ •,A $RA …3A ‰$RA •,A $RA •,A ‰$RA …3A ‰$RA …3A $RA •,A $RA @ ÜA`G'RA T”Aà~'RA ÜA`G'RA ÜAà~'RA T”Aà~'RA T”A`G'RA ÜA`G'RA¡@ A ('RA ÿ–A —'RA A ('RA A —'RA ÿ–A —'RA ÿ–A ('RA A ('RA¢@`AA 'RA`HA v'RA`AA 'RA`AA v'RA`HA v'RA`HA 'RA`AA 'RA£@@îAAÀ'RA@fEA@V'RA@îAAÀ'RA@îAA@V'RA@fEA@V'RA@fEAÀ'RA@îAAÀ'RA¤@ ¾gA@Y)RA ®nA@È)RA ¾gA@Y)RA ¾gA@È)RA ®nA@È)RA ®nA@Y)RA ¾gA@Y)RA¥@àhA q)RAà÷kA ©)RAàhA q)RAàhA ©)RAà÷kA ©)RAà÷kA q)RAàhA q)RA¦@€ZA@ù&RA€ldAÀŸ'RA€ZA@ù&RA€ZAÀŸ'RA€ldAÀŸ'RA€ldA@ù&RA€ZA@ù&RA§@`œ]A€'RA`hAµ'RA`œ]A€'RA`œ]Aµ'RA`hAµ'RA`hA€'RA`œ]A€'RA¨@`ä\A ,'RA`LgA Ó'RA`ä\A ,'RA`ä\A Ó'RA`LgA Ó'RA`LgA ,'RA`ä\A ,'RA©@`×[A'RA`?fA€ª'RA`×[A'RA`×[A€ª'RA`?fA€ª'RA`?fA'RA`×[A'RAª@ÀhYAà'RAÀÐcA`Á'RAÀhYAà'RAÀhYA`Á'RAÀÐcA`Á'RAÀÐcAà'RAÀhYAà'RA«@À-[A`&'RAÀ•eAàÌ'RAÀ-[A`&'RAÀ-[AàÌ'RAÀ•eAàÌ'RAÀ•eA`&'RAÀ-[A`&'RA¬@€gZA þ&RA€cA`‰'RA€gZA þ&RA€gZA`‰'RA€cA`‰'RA€cA þ&RA€gZA þ&RA­@`ä\A@/'RA`eAº'RA`ä\A@/'RA`ä\Aº'RA`eAº'RA`eA@/'RA`ä\A@/'RA®@ …YA@'RA 1bAª'RA …YA@'RA …YAª'RA 1bAª'RA 1bA@'RA …YA@'RA¯@€[A %'RA€ËcA`°'RA€[A %'RA€[A`°'RA€ËcA`°'RA€ËcA %'RA€[A %'RA°@ \A 'RA ¼dA`'RA \A 'RA \A`'RA ¼dA`'RA ¼dA 'RA \A 'RA±@`ª]A€'RA`VfA@š'RA`ª]A€'RA`ª]A@š'RA`VfA@š'RA`VfA€'RA`ª]A€'RA²@À©XA@?'RAÀÍdA€(RAÀ©XA@?'RAÀ©XA€(RAÀÍdA€(RAÀÍdA@?'RAÀ©XA@?'RA³@@\A P'RAdhAà(RA@\A P'RA@\Aà(RAdhAà(RAdhA P'RA@\A P'RA´@€¶ZA A'RA€ÚfA`(RA€¶ZA A'RA€¶ZA`(RA€ÚfA`(RA€ÚfA A'RA€¶ZA A'RAµ@`oXA`]'RA`“dA (RA`oXA`]'RA`oXA (RA`“dA (RA`“dA`]'RA`oXA`]'RA¶@À9[Au'RAÀ]gA@7(RAÀ9[Au'RAÀ9[A@7(RAÀ]gA@7(RAÀ]gAu'RAÀ9[Au'RA·@LWA ~'RApcA`@(RALWA ~'RALWA`@(RApcA`@(RApcA ~'RALWA ~'RA¸@€PZA ’'RA€tfA`T(RA€PZA ’'RA€PZA`T(RA€tfA`T(RA€tfA ’'RA€PZA ’'RA¹@ÀÈVA€¢'RAÀìbAÀd(RAÀÈVA€¢'RAÀÈVAÀd(RAÀìbAÀd(RAÀìbA€¢'RAÀÈVA€¢'RAº@`êYA@º'RA`fA€|(RA`êYA@º'RA`êYA€|(RA`fA€|(RA`fA@º'RA`êYA@º'RA»@ÀVAÇ'RAÀ=bA@‰(RAÀVAÇ'RAÀVA@‰(RAÀ=bA@‰(RAÀ=bAÇ'RAÀVAÇ'RA¼@`YA@Ø'RA`BeA€š(RA`YA@Ø'RA`YA€š(RA`BeA€š(RA`BeA@Ø'RA`YA@Ø'RA½@@£WA Ú'RA@ÇcA`œ(RA@£WA Ú'RA@£WA`œ(RA@ÇcA`œ(RA@ÇcA Ú'RA@£WA Ú'RA¾@`oXA@(RA`“dA€Ä(RA`oXA@(RA`oXA€Ä(RA`“dA€Ä(RA`“dA@(RA`oXA@(RA¿@àVA ø'RAà£bA`º(RAàVA ø'RAàVA`º(RAà£bA`º(RAà£bA ø'RAàVA ø'RAÀ@@öTA€ê'RA@aAÀ¬(RA@öTA€ê'RA@öTAÀ¬(RA@aAÀ¬(RA@aA€ê'RA@öTA€ê'RAÁ@ †WA@+(RA ªcA€í(RA †WA@+(RA †WA€í(RA ªcA€í(RA ªcA@+(RA †WA@+(RAÂ@@¥UA@!(RA@ÉaA€ã(RA@¥UA@!(RA@¥UA€ã(RA@ÉaA€ã(RA@ÉaA@!(RA@¥UA@!(RAÃ@ðSAà(RA`A Ò(RAðSAà(RAðSA Ò(RA`A Ò(RA`Aà(RAðSAà(RAÄ@`[^A`÷&RA`jA ¹'RA`[^A`÷&RA`[^A ¹'RA`jA ¹'RA`jA`÷&RA`[^A`÷&RAÅ@Àa_AÑ&RAÀ…kA@“'RAÀa_AÑ&RAÀa_A@“'RAÀ…kA@“'RAÀ…kAÑ&RAÀa_AÑ&RAÆ@Àä_A³&RAÀlA@u'RAÀä_A³&RAÀä_A@u'RAÀlA@u'RAÀlA³&RAÀä_A³&RAÇ@ …`A@’&RA ©lA€T'RA …`A@’&RA …`A€T'RA ©lA€T'RA ©lA@’&RA …`A@’&RAÈ@@×VAàL(RA@ûbA )RA@×VAàL(RA@×VA )RA@ûbA )RA@ûbAàL(RA@×VAàL(RAÉ@ üUA@g(RA  bA€))RA üUA@g(RA üUA€))RA  bA€))RA  bA@g(RA üUA@g(RAshapelib-1.6.1/tests/shape_eg_data/polygon.shp0000664000175000017500000052725014573117335016366 00000000000000' WTèÀ\ÁA@. RA@1ÝA ê-RA¸|FA .-RAÀRA ê-RA`/IA -RAÀ(GAà’-RA|FA`®-RA€ÉGA ¶-RA œLAàØ-RA`LA Ý-RA NA ê-RA )OA€Ê-RA´QAàU-RAÀRA€E-RAàNA .-RA AMAàL-RAàKMA`^-RA@cMAàt-RA ïLAà-RAàNLAà¡-RAà°KA`¸-RA€—JA€®-RA€ÏIA€•-RA`/IA -RA¸À›<AÀ3-RA œLA Ý-RA`LA Ý-RA œLAàØ-RA€ÉGA ¶-RA|FA`®-RAÀ(GAà’-RA`/IA -RA`HA`m-RA GAC-RA°CA C-RAÀÍBA C-RAäAAàB-RA ¢?A 4-RA@s?AÀ3-RA M>AÀU-RA =A@o-RAàÖ<A m-RAÀ›<Aàv-RAÀ·>A „-RA€^FAàµ-RA`LA Ý-RAÈÀÊYA Ô+RAàŸ’A€¸-RA6œdAàQ-RA@dA`j-RAÀŽbAà²-RA ncA€¸-RA|eAÀY-RA@ufA@--RA }gA`6-RA iA>-RAàKkA€;-RA`nA`;-RA@ßpAH-RA:sA@b-RA ïtA f-RAæwA€h-RA@×}A g-RA@ €A`l-RA`„A“-RAÒ…A˜-RAÀ_‡A€•-RA`‹A ˜-RAÀNŒA-RA€bŒA˜-RA€ŒŒA“-RA`AÀ•-RA€×ŽAàU-RA@œ‘AÕ,RAàŸ’A@®,RA ’A«,RAà‰A`t,RA`€A@@,RA ôyA ,RAàztA ú+RA &nA Ô+RA`gkA S,RAÀ¡jAàp,RAžgA [,RAîZA ,RAÀÊYA€,RAÀ?\A`<,RA@©]AàR,RAÀÝ]A Z,RA`¿^A…,RA€Ö]A Ð,RAàÑ]A ×,RAÀ^Aé,RA†^AÀï,RAà¼^Aàó,RA@ç^A`ö,RA@M_A€ú,RAàeAà-RA@µeA`-RA`weA`'-RA€eAà<-RAœdAàQ-RA@7>A@Ö,RA@cMA`¸-RA`/IA -RA€ÏIA€•-RA€—JA€®-RAà°KA`¸-RAàNLAà¡-RA ïLAà-RA@cMAàt-RAàKMA`^-RA LAÀ\-RAàûJAW-RA€\JAR-RA€ÙGA@0-RA GA--RA sFAà&-RA€WFAÀ -RAàFA-RA EA€ -RA ðDA`-RA CDA`ð,RA@@A@Ö,RA@7>AÀ+-RA@s?AÀ3-RA ¢?A 4-RAäAAàB-RAÀÍBA C-RA°CA C-RA GAC-RA`HA`m-RA`/IA -RAÈ dTA€-RAœdAà²-RA dTA€U-RA ]A€Ž-RAÀŽbAà²-RA@dA`j-RAœdAàQ-RA  dA M-RA –cAÀI-RA€ÅbA@B-RA çbA 2-RA`,`A€"-RA@`A 3-RA`Ã]A P-RAÀ]AB-RAa[AÀ2-RAàŠZA--RA hZA ,-RAàãXA%-RAàåWA€-RA@ôVA€-RAtUAÀ(-RAàßTA€=-RA dTA€U-RAø ’A`)RA aÏAÀ~-RA< ’A«,RAàŸ’A@®,RAÀG—A`Ì,RA ½£A€-RAÀö­A€T-RA@À®AX-RA`¯A\-RA`‡¯A€^-RAàÿ´A€|-RA€JµAÀ~-RA /¹A`Ô,RA€¯¹A ¸,RA€•ºA ,RA @»Aq,RAá»A€W,RA@K¼A D,RAÁ¿Aà¬+RA@àÂA'+RA ­ÃA€+RA ÄAÜ*RA@ôÄAàÌ*RA€ÅAàÆ*RA€#ÇAl*RAÀmÇAà]*RAHÊAâ)RA aÏA`)RA€ÉÉA >)RA +ÄA€8)RA@`ÃAàK)RAÀ«ÂAÀo)RA€µ¾A ,*RA€ô¹A *RA€u¹A *RAà¶Aàú)RA™¶Aå)RA@Ù¶A`×)RA@å¶A@É)RA@ ·A¿)RAk¶Aà½)RAÀݵAÎ)RA`Ø´AÆ)RAÀ8³A€¼)RA R²Aä)RA ²¯A Õ)RA #¬AÁ)RA1¨A ¨)RA€‹¤A ‘)RA€G£A Ç)RA€ó¢A Ù)RAàà¡A *RAÀú A (*RAàCžA ›*RAÀ"AÀÑ*RA ÝœA`ß*RA`M™A w+RA`˜A Ÿ+RAàÅ–A ê+RAà`–Aà,RAàc•A€,RA ’A«,RAè ®1A€ƒ,RA€'AAàv-RAÀ›<Aàv-RAàÖ<A m-RA@7>AÀ+-RA@@A@Ö,RA€'AA@²,RA `@A ¦,RA Ó?A ,RA*>A€ƒ,RA ©<A À,RAÀÃ:AÀ´,RA@s8A ¥,RA œ4A€Ž,RA÷3A`¬,RAÀ¯3A ¼,RA@¿3A€É,RAÀÂ3AàÜ,RAÀ˜4A`ß,RAl7A -RA t6A -RA`6A -RA5Aà-RA€ð3AÀñ,RA@ 3A€û,RA ®1A3-RA¥:Ak-RAÀ›<Aàv-RAHàÖ<AÀ+-RA@s?A@o-RAàÖ<A m-RA =A@o-RA M>AÀU-RA@s?AÀ3-RA@7>AÀ+-RAàÖ<A m-RA ¸ CDA`ð,RAàNA`^-RAàKMA`^-RA AMAàL-RAàNA .-RAàKA-RAÀHA€-RA ßGA-RA``FA@ -RA`ªFA€ÿ,RA CDA`ð,RA ðDA`-RA EA€ -RAàFA-RA€WFAÀ -RA sFAà&-RA GA--RA€ÙGA@0-RA€\JAR-RAàûJAW-RA LAÀ\-RAàKMA`^-RA àKAÀ…,RA nWA€U-RAÀRA€E-RA dTA€U-RAàßTA€=-RAtUAÀ(-RA@ôVA€-RAWA -RA`2UA -RAàrTA@-RA€ TAÀ-RA nWA`ä,RAÀÐVA`É,RA`—VAÀÅ,RA`=VA`»,RA€!UA@°,RA ÑSA ©,RA šQA@,RA@OAÀ…,RA€tNA š,RA@©OA¤,RA€„PA ¯,RAðPAÀº,RA@^QA@Ï,RAà^QA Ý,RA PAÀ-RA ÄNA€-RAwMAÀ-RA,LA -RA@ÄKA-RAàKA-RAàNA .-RAÀRA€E-RA ÀDA @+RA@µeAàQ-RA=@ôVA€-RAàåWA€-RAàãXA%-RA hZA ,-RAàŠZA--RAa[AÀ2-RAÀ]AB-RA`Ã]A P-RA@`A 3-RA`,`A€"-RA çbA 2-RA€ÅbA@B-RA –cAÀI-RA  dA M-RAœdAàQ-RA€eAà<-RA`weA`'-RA@µeA`-RAàeAà-RA@M_A€ú,RA@ç^A`ö,RAà¼^Aàó,RA†^AÀï,RAÀ^Aé,RAàÑ]A ×,RA€Ö]A Ð,RA`¿^A…,RAÀÝ]A Z,RA@©]AàR,RAÀ?\A`<,RAÀÊYA€,RA@èXA ,RAÀ¤WA û+RAÀ9VAàú+RA@_UA,RAÀgPA î+RAvOA`ã+RAÀOA@Ý+RA` OA€É+RAÀFPA`ª+RAÀÖPAàm+RA`'OA T+RA@½IA @+RA ¢IA@D+RA€ÃGA`”+RAÀDA€2,RA@øDAàC,RAààMA ‡,RA@OAÀ…,RA šQA@,RA ÑSA ©,RA€!UA@°,RA`=VA`»,RA`—VAÀÅ,RAÀÐVA`É,RA nWA`ä,RA€ TAÀ-RAàrTA@-RA`2UA -RAWA -RA@ôVA€-RA À óA ú+RA@ 3A3-RA ®1A3-RA@ 3A€û,RAÕ1A ï,RA`00A ç,RA`ñ.AÀ×,RA@Ä-AàÑ,RAÀ.A`¼,RAz.A ¥,RAà/A ,RAà/A€},RAÂ/Aàp,RA€+A T,RA ¤#A &,RA`6Aþ+RA@yA ú+RAMA ,RA óAÀ”,RA€)"A€Õ,RA &Aî,RA ö+A@-RA ®1A3-RA È@Ä-Aàp,RAl7A -RA@ 3A€û,RA€ð3AÀñ,RA5Aà-RA`6A -RA t6A -RAl7A -RAÀ˜4A`ß,RAÀÂ3AàÜ,RA@¿3A€É,RAÀ¯3A ¼,RA÷3A`¬,RA œ4A€Ž,RAÂ/Aàp,RAà/A€},RAà/A ,RAz.A ¥,RAÀ.A`¼,RA@Ä-AàÑ,RA`ñ.AÀ×,RA`00A ç,RAÕ1A ï,RA@ 3A€û,RAð@@A€2,RAà^QA-RAÀHA€-RAàKA-RA@ÄKA-RA,LA -RAwMAÀ-RA ÄNA€-RA PAÀ-RAà^QA Ý,RA@^QA@Ï,RAðPAÀº,RA€„PA ¯,RA@©OA¤,RA€tNA š,RA@OAÀ…,RAààMA ‡,RA@øDAàC,RAÀDA€2,RAÿCA 6,RAKCA€U,RA0CAÀ],RAÀ›BAq,RA€ÖAA€‘,RA€'AA@²,RA@@A@Ö,RA CDA`ð,RA`ªFA€ÿ,RAÀHA€-RA@``FA€ÿ,RAÀHA-RAÀHA€-RA`ªFA€ÿ,RA``FA@ -RA ßGA-RAÀHA€-RAø œ4A`·+RA€ÖAA À,RA€'AA@²,RA€ÖAA€‘,RA È?A€w,RA`a>A _,RA ý=AX,RA`î=A`R,RA@£=A€F,RA@_<A 6,RA <A (,RA@%=A ¿+RA€B;A`·+RA€ó:A Ä+RA`c:AÅ+RA`9A¸+RA@ð8Aà¸+RA ¬7A€â+RA'7Aàï+RAÀ>6Aà>,RA€c5AÀf,RA ò4A`{,RA œ4A€Ž,RA@s8A ¥,RAÀÃ:AÀ´,RA ©<A À,RA*>A€ƒ,RA Ó?A ,RA `@A ¦,RA€'AA@²,RAˆà‰A`ò+RAàc•A«,RAà‰A`t,RA ’A«,RAàc•A€,RA`ÙA`ò+RA`{AÀÿ+RA@ŽA ,RA`A +,RAÀ•‹AÀ3,RAú‹A€I,RAàœŒA`i,RA FŒAÀ},RA@zŠA r,RA` ‰A€k,RAà‰A`t,RA°ÉAà@+RA€ÕAÀ”,RA óAÀ”,RAMA ,RA@yA ú+RA ÏAï+RA áA ¾+RAÀcA ©+RA€ÕA€m+RA€#AàT+RAÀA€S+RAàAàS+RA@¨Aà@+RAÀA [+RA A`N+RA`AàŸ+RA ˆAÀ¹+RA È A ˆ+RA ® A+RAÉA &,RA óAÀ”,RA <A`+RA@½IA€‘,RA€ÖAA€‘,RAÀ›BAq,RA0CAÀ],RAKCA€U,RAÿCA 6,RAÀDA€2,RA€ÃGA`”+RA ¢IA@D+RA@½IA @+RAÀœAA`+RA`'AA`+RAàÿ@Aà+RA @A '+RAà„@A€5+RAà–@A B+RA $AAài+RACAy+RACCA`|+RAà·BA@}+RA`ˆAA |+RA`/>A@+RA€Ÿ=A “+RA@%=A ¿+RA <A (,RA@_<A 6,RA@£=A€F,RA`î=A`R,RA ý=AX,RA`a>A _,RA È?A€w,RA€ÖAA€‘,RA¸`+AÛ+RAÀ>6A€Ž,RAÂ/Aàp,RA œ4A€Ž,RA ò4A`{,RA€c5AÀf,RAÀ>6Aà>,RA C5A 5,RA€;4A3,RAÀ4AÀ,RAàÃ3A€û+RAÀ2A è+RAÀƒ0A@Ü+RA Y-AÛ+RA o,A Þ+RAÀ§+A þ+RA`+A€,RAà+A !,RAàP+A 0,RAÀj+AàD,RA€+A T,RAÂ/Aàp,RAà`€A@Ö+RA`ÙAÀ},RA`€A@@,RAà‰A`t,RA` ‰A€k,RA@zŠA r,RA FŒAÀ},RAàœŒA`i,RAú‹A€I,RAÀ•‹AÀ3,RA`A +,RA@ŽA ,RA`{AÀÿ+RA`ÙA`ò+RA€êŽA ì+RAà‹A@Ö+RAà"‹A ã+RA ŠA à+RA •‰AÀã+RA…ˆA`,RA'ˆA@,RAÀ†A ,RA`…A€û+RA yƒA€ñ+RA 1‚A ê+RA@‚Aàô+RA`€A@@,RAàÀÊYA 6+RAoAàp,RAÀÊYA€,RAîZA ,RAžgA [,RAÀ¡jAàp,RA`gkA S,RA &nA Ô+RA znAÀÄ+RAoAà°+RA@ðlA@£+RA |iA€+RAÀgA`~+RA` eA€u+RA dAj+RA üdAÀB+RA@±bA 6+RA€0aA€+RAÀÈ`AÀŽ+RAÀ@aA Ÿ+RA@ÅaAà®+RAà=bAÌ+RA ¤aA`á+RA@aAàå+RA@`A@á+RA€ó^A Ø+RAÀÊYA€,RAø‚#A€@+RACA T,RA< ¤#A &,RA€+A T,RAÀj+AàD,RAàP+A 0,RAà+A !,RA`+A€,RAÀ§+A þ+RA o,A Þ+RA Y-AÛ+RAÀƒ0A@Ü+RAÀ2A è+RAàÃ3A€û+RAÀ4AÀ,RA€;4A3,RA C5A 5,RAÀ>6Aà>,RA'7Aàï+RA ¬7A€â+RA@ð8Aà¸+RA`9A¸+RA`c:AÅ+RA€ó:A Ä+RA€B;A`·+RA@%=A ¿+RA€Ÿ=A “+RA`/>A@+RA`ˆAA |+RAà·BA@}+RACCA`|+RACAy+RA $AAài+RA€¢:A€@+RA 9At+RA`8Aˆ+RAàü6AÀŽ+RA@K6A «+RA56AÀ®+RAÀ;5A@¢+RA c4Aà›+RA€–3AÀ+RAà 2A ˜+RA€Š1Aà™+RA1A€¬+RA@€.A`›+RA@ï.A‰+RA`\.AÀ…+RAÀß-A +RA Z-A`˜+RA`A,AÀ‘+RAc+A }+RA`h*AÀˆ+RA@)A “+RA #(A€ž+RA ê&A€¢+RA€“&A ¡+RA ¿#A`“+RA‚#A`¥+RA ™$Aàë+RAŒ$A ,RA ¤#A &,RA  &nA -+RA`·ƒA@@,RA`€A@@,RA@‚Aàô+RA 1‚A ê+RA`·ƒA ¦+RA`ÑA€+RA€A ‘+RAÀkyA`j+RA€ xA€t+RA€auA`ë+RAÀ³tA ð+RA€„wA€o+RAàØxA€e+RAàýxAÀ]+RAà_uAÀF+RA`ÉtA e+RA 1sA [+RA€ÌsAà:+RA äqA -+RA@mpAm+RAoAà°+RA znAÀÄ+RA &nA Ô+RAàztA ú+RA ôyA ,RA`€A@@,RAÀKA@Ÿ+RAáA ¡+RA@ÁA`°+RA A@°+RAÀKA@Ÿ+RAØ@yAàÔ*RAàü6A &,RA8@yA ú+RA`6Aþ+RA ¤#A &,RAŒ$A ,RA ™$Aàë+RA‚#A`¥+RA ¿#A`“+RA€“&A ¡+RA ê&A€¢+RA #(A€ž+RA@)A “+RA`h*AÀˆ+RAc+A }+RA`A,AÀ‘+RA Z-A`˜+RAÀß-A +RA`\.AÀ…+RA@ï.A‰+RA@€.A`›+RA1A€¬+RA€Š1Aà™+RAà 2A ˜+RA€–3AÀ+RA c4Aà›+RAÀ;5A@¢+RA56AÀ®+RA@K6A «+RAàü6AÀŽ+RA 4A |+RA ˆ2A@s+RAàX1Aàl+RA .0Aàd+RA@Ð/AÀq+RAm/A`u+RA`q.A k+RA€U.A€b+RA */A S+RAÀã.A@;+RA Ù-A 9+RAà•-Aà-+RAà+/A€ +RA ^0A +RA ð0Aà+RA ÿ,A ê*RAàÓ)AàÔ*RA`»&A+RAÀ¶%Aà+RA€ÕA€m+RA@£"A`‹+RA`ø!A@™+RA€d!A °+RA@èAÀ³+RAÀcA ©+RA áA ¾+RA ÏAï+RA@yA ú+RA€ 1‚A ¦+RAà‹A@,RA 1‚A ê+RA yƒA€ñ+RA`…A€û+RAÀ†A ,RA'ˆA@,RA…ˆA`,RA •‰AÀã+RA ŠA à+RAà"‹A ã+RAà‹A@Ö+RA ‰A@Æ+RA`·ƒA ¦+RA 1‚A ê+RAÀ ˆA 2+RA`M™A€,RA`ÙA`ò+RAàc•A€,RAà`–Aà,RAàÅ–A ê+RA`˜A Ÿ+RA`M™A w+RA@¡—Aàl+RAÀ•A@]+RAàïA 2+RAà A`A+RA€ßAM+RAôA€]+RA€0ŽAÀt+RAàd‹A+RAà‘‰A@+RA ˆA´+RA`P‰AÀ¹+RA ‰A@Æ+RAà‹A@Ö+RA€êŽA ì+RA`ÙA`ò+RAèvOA`P+RAà=bA€,RAvOA`ã+RAÀgPA î+RA@_UA,RAÀ9VAàú+RAÀ¤WA û+RA@èXA ,RAÀÊYA€,RA€ó^A Ø+RA@`A@á+RA@aAàå+RA ¤aA`á+RAà=bAÌ+RA@ÅaAà®+RAÀ@aA Ÿ+RAÀÈ`AÀŽ+RA€0aA€+RAÀš_A@u+RA ì]AÀj+RAà»[A \+RAàçYA`P+RAGXAà™+RA`ŽVA+RA °UA †+RA`#UA +RA€¶OA€ß+RAvOA`ã+RAXÀ³tAÀ]+RAÀkyA ð+RAÀkyA`j+RAàýxAÀ]+RAàØxA€e+RA€„wA€o+RAÀ³tA ð+RA€auA`ë+RA€ xA€t+RAÀkyA`j+RAè@½IAÀô*RA`‡UA`ã+RAvOA`ã+RA€¶OA€ß+RA`#UA +RA€TA€Œ+RA‹TAà€+RA@,UA x+RA`‡UA@e+RA€TA [+RA@ETA I+RAàÛTA0+RA€MSA`&+RAÀœRA€"+RA€fRA ,+RA@½QA (+RA ìPA@#+RA`ÁOA`+RA üOA€+RA@ƒKAÀô*RA@ìIA;+RA@½IA @+RA`'OA T+RAÀÖPAàm+RAÀFPA`ª+RA` OA€É+RAÀOA@Ý+RAvOA`ã+RA°·uAàð)RAÀ"A@Æ+RA3 ‰A@Æ+RA`P‰AÀ¹+RA ˆA´+RA ß†AÀ¨+RA€›‡A Œ+RAÀ†A ‚+RA ÜAi+RAàp‚A@R+RAnA@K+RAŸƒA ï*RAÀªˆA€+RAàïA 2+RAÀ•A@]+RA@¡—Aàl+RA`M™A w+RA ÝœA`ß*RAÀ"AÀÑ*RAœA Ê*RA U‘A€‰*RA@_‹A€d*RA È‡A M*RA …A@*RA`cƒA`0*RA °‚Aà+*RAîA@'*RA l€A*RAÀ |A`*RA XzA ö)RA‚yAàð)RAÀAÀ}*RAàà6A€‰*RA€¯6A*RAÀ4A ÷*RAu3A`+RA€¢:A€@+RA.@ 1sAà:+RAà_uA e+RAà_uAÀF+RA€ÌsAà:+RA 1sA [+RA`ÉtA e+RAà_uAÀF+RA/`nA ï*RAÀªˆAÀ_+RA àp‚A@R+RA`¯ƒAÀW+RAà…AÀ_+RAÀ¾†A+RA9ˆAà+RAÀªˆA€+RAŸƒA ï*RAnA@K+RAàp‚A@R+RA0¨ äqA‘*RA@þ}AÀ]+RAà_uAÀF+RAàýxAÀ]+RA 6yA@T+RA@ÝyA`U+RAà„zA€.+RA·yA@ÿ*RA +{Aàô*RAÀ|AÀ+RA@ç|A +RA@þ}A Û*RA \|A€Ò*RA`[zA`Æ*RAààzA€³*RA·uA‘*RAàÃsAàá*RA äqA -+RA€ÌsAà:+RAà_uAÀF+RA1à€“ A€]*RAÀÏ.A Q+RA€“ A Q+RA@Ø!A?+RA ?#Aà'+RAà%A€+RA`&AÀ+RA 3(Aê*RAàÓ)AàÔ*RAàd.A@¨*RAÀÏ.A¦*RA Ï-Aàm*RA.A€]*RA€°-Aà]*RA >*A€r*RAÀ¿(A€¥*RA@/&A ¦*RA`É$A€©*RA &AÀ±*RAÃ%A€»*RA`\$A@³*RAàt$A ª*RA 6$A ª*RA  $A`±*RA4"A` +RAE!A€4+RA€“ A Q+RA2H@±bAÀÝ*RAÀìfAÀB+RA@±bA 6+RA üdAÀB+RAÀõeA +RAÀìfA@ë*RA ÁdAÀÝ*RA@±bA 6+RA3hÀÏ.AÀÛ)RA %OA @+RA*`'AA`+RAÀœAA`+RA@½IA @+RA@ìIA;+RA@ƒKAÀô*RAMA ²*RA`NAàˆ*RA€qNA v*RA %OAÀW*RA`xKAÀ?*RA ÍFAÀ!*RA@ÀEAà*RA fDAà*RA Ž@A@ü)RA?Aó)RA =A€ã)RA ‡;AÀÛ)RA@š:AÀ*RA :A€*RA`¬8A *RA`•7A*RA›6AÀ*RAà+;A P*RA`/:Ah*RA¡5AÀ8*RA@Ó4AÀD*RA€M4A@Q*RA q3A@d*RA92A`|*RAÀ0A@›*RAàAÀ}*RAàá@A`}*RAÀcAA ˆ*RA  AA–*RA@Á?AàÞ*RAù?A ö*RA`'AA`+RA4¸ÀSA „*RA`ð]A@+RAàÛTA0+RA€”VA€<+RA@@WA@+RAà(XAÀ&+RAÀZA`+RA€§[A +RAÀØ\A` +RA`õ\A í*RA ]A á*RAê\A Í*RA@/]A`Å*RA`ð]A³*RA#ZA€›*RA ?VA „*RAààTA`Ä*RAÀ•SA º*RAÀSAÀÖ*RA¸TA`â*RA€MSA`&+RAàÛTA0+RA5À@1ùA`K)RA`BA€=+RA5@1ùA+RA 9A€=+RAàèA`'+RAíÿAï*RA@€þA@Ò*RAA °*RA€‹A|*RA ÚA F*RA sAà4*RA@¬ A€%*RA  A€**RA@… Aà&*RA`{A€%*RAÀIA`$*RAÀ7A *RA ”Aàþ)RACA Û)RA  AÀ¦)RA`eA˜)RA€5A@¥)RA`BA Q)RA A`K)RA`VA`Œ)RAàA )RAõA \)RAÔA T)RA€øAw)RA`LA`p)RAàõA z)RA“AÀ…)RA`Aàš)RA'A£)RA A ¥)RA@ A«)RAàO A ¼)RA`8 A`Õ)RAàà AàÜ)RA p A ø)RA@„ Aö)RA`”A â)RA ¬A@Ñ)RAÀ%AÀÓ)RAàŸA`¹)RA€Aàª)RA ›A@˜)RADAà)RAÀ4A`»)RA¼AÀÍ)RA€‚þA%*RA@ÖüAr*RAŠûA®*RA@,úA@ç*RA@1ùA+RA68  bAÀÝ*RA ÁdA 6+RA@±bA 6+RA ÁdAÀÝ*RA  bAàþ*RA@±bA 6+RA7 gAà}*RA·uA -+RA à¯pA@&+RA äqA -+RAàÃsAàá*RA·uA‘*RAzrAà}*RA #rAÀ‹*RA`™qA€¦*RA@HtAÀ±*RA…sA`Ð*RAàWrA Ë*RA`MqA Á*RA€qA`¹*RAÀ'pA »*RAàDnA€²*RA€PlA`¥*RAà—kAà–*RA`kA ”*RA€¨iA€Œ*RA ÊhA€¯*RAÀ¶iAà¶*RA JiAË*RAÀIhA`Å*RA gAï*RA@~jA+RAÀÔjA`ó*RA HmA +RA€mAà+RA 7nA@+RA@„nA@ +RA@‡oA +RAÀèpA`+RAà¯pA@&+RA8@@½QA`+RAÀœRA ,+RA@½QA (+RA€fRA ,+RAÀœRA€"+RA€îQA`+RA@½QA (+RA9H ìPA€+RA€îQA (+RA ìPA@#+RA@½QA (+RA€îQA`+RA mQA`+RAà)QA€+RA ìPA@#+RA:p@ƒKA ²*RA¸TA`&+RA ÀœRA€"+RA€MSA`&+RA¸TA`â*RAÀSAÀÖ*RAMA ²*RA@ƒKAÀô*RA üOA€+RAà)QA€+RA mQA`+RA€îQA`+RAÀœRA€"+RA;H€IoA +RAÀèpA@&+RA€IoA`+RAàioA€+RAà¯pA@&+RAÀèpA`+RA@‡oA +RA€IoA`+RA<@`ÁOA€+RAà)QA@#+RA ìPA@#+RAà)QA€+RA üOA€+RA`ÁOA`+RA ìPA@#+RA=@à%AÀ+RA`»&Aà+RAÀ¶%Aà+RA`»&A+RA`&AÀ+RAà%A€+RAÀ¶%Aà+RA>@ 7nA@ +RA@‡oA`+RA 7nA@+RA€IoA`+RA@‡oA +RA@„nA@ +RA 7nA@+RA?@`&AàÔ*RAàÓ)A+RA`&AÀ+RA`»&A+RAàÓ)AàÔ*RA 3(Aê*RA`&AÀ+RA@@ S1A`í*RAÀ4A`+RA S1A@+RAu3A`+RAÀ4A ÷*RA@à1A`í*RA S1A@+RAAX@uñA@¶*RA@,úA+RA@1ùA+RA@,úA@ç*RAÀû÷A@×*RA z÷A Ò*RA€ßöA Ê*RAÀfõA@¶*RA@uñAâ*RA@1ùA+RABH@~jA`ó*RA HmAà+RA@~jA+RAÀJlA@ +RA€mAà+RA HmA +RAÀÔjA`ó*RA@~jA+RAC€àÓ)A€‰*RAàà6A@+RA ð0Aà+RA S1A@+RA@à1A`í*RAÀ4A ÷*RA€¯6A*RAàà6A€‰*RA@2A Â*RA€K1A`Å*RAÀÏ.A¦*RAàd.A@¨*RAàÓ)AàÔ*RA ÿ,A ê*RA ð0Aà+RAD¨`ð]AàN*RA€¨iAï*RAÀìfA@ë*RA gAï*RAÀIhA`Å*RA {hA@¾*RA ÊhA€¯*RA€¨iA€Œ*RAàPhA „*RA€ÜcAàc*RA€ibA [*RAÀÝ`AàR*RA€ `AàN*RA`ð]A³*RA `A`¿*RAaAÀÅ*RAÀ2bAÀË*RA` cA@Ó*RA ÁdAÀÝ*RAÀìfA@ë*RAEXÀfõAr*RA@ÖüA@ç*RAÀfõA@¶*RA€ßöA Ê*RA z÷A Ò*RAÀû÷A@×*RA@,úA@ç*RAŠûA®*RA@ÖüAr*RAÀfõA@¶*RAF  °çA Ä)RAÀfõAâ*RA!@uñAâ*RAÀfõA@¶*RA ÇôA`­*RA ÕóA ¨*RA€LòAÀ¥*RAÀ€ñA ©*RAà<ñA œ*RA +òA l*RA!óA =*RA ýñA 6*RA 8ñA€W*RAÀ9ñAÀh*RA@ÇïAk*RA`‹îA k*RA ÚíA h*RAà ìAa*RA /îA*RA@íA*RAÀ-ìA*RA`†ìA`ô)RA@ÄìA@ð)RA`OïA *RAÀhðAà*RA ÍðA`*RA ŒïA@ù)RA@™íA á)RA îA€Ñ)RAÀyíA€Æ)RA °ìA Ä)RA@iéAZ*RA °çAà¤*RA@.êA ´*RA@uñAâ*RAG@`×aAÀË*RA` cA ß*RA` cA@Ó*RAÀ2bAÀË*RA`×aA`Ù*RAÀÍbA ß*RA` cA@Ó*RAH@ ¥_A`¿*RAaAÚ*RAaAÀÅ*RA `A`¿*RA ¥_A€Ô*RAà»`AÚ*RAaAÀÅ*RAI€MAÀW*RA ?VAÀÖ*RA MA ²*RAÀSAÀÖ*RAÀ•SA º*RAààTA`Ä*RA ?VA „*RA àTAà{*RA@°SA s*RA %OAÀW*RA€qNA v*RA`yOA€}*RAà OAà*RA`NAàˆ*RAMA ²*RAJÐ U‘Aàù)RAàCžAÀÑ*RAÀ"AÀÑ*RAàCžA ›*RA@AÀ”*RA€œAà*RA É›A`‰*RAÀÀšAt*RAàc›AX*RAÀ—œA@G*RAà œA 7*RA@hšAK*RAàw™A e*RA`à˜A j*RAÀÜ—A N*RA ã™A@4*RAIšA`$*RA û˜A€*RA€˜A *RAàð—A@*RAÀ”Aàù)RA€”A@*RA U‘A€‰*RAœA Ê*RAÀ"AÀÑ*RAK€¨iA Ý)RA½vA`Ð*RA€¨iA€Œ*RA`kA ”*RAà—kAà–*RA€PlA`¥*RAàDnA€²*RAÀ'pA »*RA€qA`¹*RA`MqA Á*RAàWrA Ë*RA…sA`Ð*RA@HtAÀ±*RA`™qA€¦*RA #rAÀ‹*RAzrAà}*RA·uA‘*RA½vAàh*RA@´sA V*RAà3sAm*RA€8rA€g*RA`»rA`P*RA@oA@9*RA@SmA 2*RA àmA *RA@ oA@æ)RAà—mA Ý)RA clA *RA ;kA€L*RA€kAQ*RA€¨iA€Œ*RALHÀIhA€¯*RAÀ¶iAË*RAÀIhA`Å*RA JiAË*RAÀ¶iAà¶*RA ÊhA€¯*RA {hA@¾*RAÀIhA`Å*RAMˆõAÀ¦)RA  A`È*RA.`oAà†*RA€ªAÀ{*RA  A Œ*RA #Ao*RAàÒAàX*RA`ÙA`C*RA KAÀ*RA@AÀ*RAàA@õ)RAÀŠA *RA`-A@%*RA€ Aà *RAÀñA@*RAàCAÀÜ)RAAÆ)RAlA ³)RA  AÀ¦)RACA Û)RA ”Aàþ)RAÀ7A *RAÀIA`$*RA`{A€%*RAÀ†A€e*RAàOAg*RA`˜ A€}*RAõA ‹*RA ¢ A`®*RAÀã Aµ*RA ì A@Å*RA@­A@­*RAà;A`’*RA€¶A`È*RAà)A@¬*RAÀ×Aà¨*RAàAàº*RAA`­*RA çA ©*RA@Aà·*RA A ±*RA€õA “*RAàªA@”*RA@ÀA ‚*RA 6A q*RA`tAàh*RAÀüA ƒ*RA`oAà†*RANH`\$A€©*RA &A€»*RAàt$A ª*RA`\$A@³*RAÃ%A€»*RA &AÀ±*RA`É$A€©*RAàt$A ª*RAOÈà<ñAÀ *RA€‚þA@¶*RAÀfõA@¶*RA@ÖüAr*RA€‚þA%*RAÀÂýA  *RAÀ ýA *RA ´úA€ *RAGùAÀ *RAà›øA@*RA øA /*RA Y÷A@Q*RAÀ÷A f*RAáöA@e*RAÀ™õA@x*RAÉôA y*RAoóA@u*RA +òA l*RAà<ñA œ*RAÀ€ñA ©*RA€LòAÀ¥*RA ÕóA ¨*RA ÇôA`­*RAÀfõA@¶*RAP¸ %OAô)RA€ `A³*RA ?VA „*RA#ZA€›*RA`ð]A³*RA€ `AàN*RA ™]A =*RA <\A 6*RAÀŸ[A€2*RA`[A .*RA`.XA *RA °WA`4*RA€lUA &*RA@ôUA@*RA€6TA€*RA`sQAô)RA ÄPA@*RAÀ(PAà,*RA %OAÀW*RA@°SA s*RA àTAà{*RA ?VA „*RAQ@ 1#A`¢*RA 6$A`±*RA 1#A «*RA  $A`±*RA 6$A ª*RAàX#A`¢*RA 1#A «*RAR@À "A›*RAàX#A «*RAÀ "A ¤*RA 1#A «*RAàX#A`¢*RA="A›*RAÀ "A ¤*RAS°  A ](RAÀ”0A ª*RAR>CHM 6$A ª*RAàt$A ª*RA`É$A€©*RA@/&A ¦*RAÀ¿(A€¥*RA >*A€r*RA€°-Aà]*RA.A€]*RA` 0A`*RA`/A ä)RA¢-A@¥)RAÀ‘*Ae)RAÀZ*A`a)RAÀ*A)RA F+Aù(RA ,A î(RA P.A í(RA`‰.A@ä(RAÛ.A Ù(RAÀ”0AÀ”(RA@¹*A`p(RA 9(Aà`(RA€·'A ](RAÀ¢&A €(RAÀK"A€e(RA X!Aàf(RA AÀe(RAÀ‚Aàu(RAÀ„AÀ (RAàÏA ©(RA@hA »(RAàJAÄ(RA ÔAàÏ(RAÀ±A)RAà Aàø(RAàSA )RAàîA )RAÀAi)RA@OAàV)RA`BA Q)RA€5A@¥)RA`eA˜)RA  AÀ¦)RAlA ³)RAAÆ)RAàCAÀÜ)RAÀñA@*RA€ Aà *RA`-A@%*RAÀŠA *RAàA@õ)RA@AÀ*RA KAÀ*RA`ÙA`C*RAàÒAàX*RA #Ao*RA  A Œ*RA@à A`‘*RA@s!A`•*RA="A›*RAàX#A`¢*RA 6$A ª*RAào,A@*RA -A *RA`0-A@*RA`s,A *RAào,A@*RA à"A Ì)RA ³#A@Î)RA@…#A Þ)RA ¶"A`Û)RA à"A Ì)RA€3#A@…)RA@$A †)RA$A š)RA€ #A`—)RA€3#A@…)RA@ñ$A`¤(RAàØ%A`¨(RA`q%A ¼(RA Ž$A ´(RA@ñ$A`¤(RATà Ï-AÀà)RAà+;A¦*RAÀÏ.A¦*RAà)RA`*AG)RA@ý}A@C)RA€ž}A€?)RAÛyAàã)RA‚yAàð)RA XzA ö)RAÀ |A`*RA l€A*RAîA@'*RA °‚Aà+*RAf À‘YA _)RA`—fAÀ)*RA!ÀCbA*RA »cA *RA ;eAÀ)*RAàSeA %*RA`—fAð)RA ÈeA@è)RAeA ç)RA€§cA Þ)RA bAÀÔ)RA CbAÐ)RAÀ(cA §)RA abAÀ£)RAÀbAÀ¨)RA€paAÀ¦)RAÀ`AÀœ)RA€G`Aà‘)RA7aA i)RA€`A g)RAà´^A _)RAÀE^A€q)RA€s]Aà)RAàÂ\AÀŒ)RA`L\AàŸ)RAà7[A@˜)RA€·ZA¬)RA ZA`Ç)RAÀ‘YAÞ)RA@ [Aàç)RAÀr\A`ï)RA ü]AÀù)RA ÷^Aÿ)RA€ä`A` *RAÀCbA*RAg`¤÷Aà¦)RA¼A%*RA ´úA€ *RAÀ ýA *RAÀÂýA  *RA€‚þA%*RA¼AÀÍ)RAÀaÿA`Å)RA€fúAà¦)RAÀãùAà¹)RA€øA³)RA`¤÷AàÖ)RAààøA ß)RAÆùAàä)RA`@úAî)RA 7ûAÀõ)RA ´úA€ *RAh€›ƒAÄ)RA õA`$*RA ›ƒA *RA`o†A *RA ‡A *RA€‰A` *RA€ÊŒA`$*RAÀhA` *RA õAÀó)RAàˆAÀÏ)RA ‡AÀÉ)RA ¼†A Í)RA€…AÄ)RAÀ¹„A€×)RA›ƒA *RAi À‘*Ae)RA ‡;A€*RA! É6A@ *RA`•7A*RA`¬8A *RA :A€*RA@š:AÀ*RA ‡;AÀÛ)RA@\:AÀÓ)RA €7A`Â)RA@]7A`Â)RAà¼4A@°)RA t3A@¨)RA ò1Aàž)RAà0A€’)RAS-A@€)RA L+A@m)RAÀ‘*Ae)RA¢-A@¥)RA`/A ä)RA /A@â)RAÀ›0AÀà)RA€Æ1A è)RA@3Añ)RA@š3A€é)RA`f4Aï)RA 04A ø)RA`s4Aàù)RA ¸4Aàð)RAÀŽ5AÀö)RA€X5A *RA€æ5A€*RA 56A û)RAà÷6A*RA É6A@ *RAj°À˜ñA`m)RA 7ûA@*RAà›øA@*RAGùAÀ *RA ´úA€ *RA 7ûAÀõ)RA`@úAî)RAÆùAàä)RAààøA ß)RA`¤÷AàÖ)RA€øA³)RAÀãùAà¹)RA€fúAà¦)RA ØñA`m)RAÀ˜ñAÀz)RA òA`)RA "÷A¦)RAÁôA@õ)RAÀ,öA þ)RA‘÷A *RAà›øA@*RAk@ào,A@*RA`0-A@*RAào,A@*RA`s,A *RA`0-A@*RA -A *RAào,A@*RAlÀ Ž@AÀ¸(RA`üKAà*RA Ž@A@ü)RA fDAà*RA:EA@ê)RA€ÐEA`Ð)RA ŒFAÀ²)RA ôGA y)RAÀA ")RA`?A )RA@<AÀò(RA Ï;A )RA€';AÀ-)RAÀÛ=Aà<)RA%=A€Y)RAàu<AÀu)RAÓ;Aà‘)RA€«;A —)RAà#;Aà¯)RA@\:AÀÓ)RA ‡;AÀÛ)RAÀ=A`y)RA`ë=A€)RA ¿=Aˆ)RA`Ü<A€)RAÀ=A`y)RArPDA`–(RAàõA ø)RA'DAà)RA ›A@˜)RA€Aàª)RAàŸA`¹)RAÀ%AÀÓ)RA ¬A@Ñ)RA`”A â)RA@„ Aö)RA p A ø)RAàà AàÜ)RA`8 A`Õ)RAàO A ¼)RA@ A«)RA A ¥)RA'A£)RA`Aàš)RA“AÀ…)RAàõA z)RAà$ A \)RA ® A@o)RAºAd)RA ‡A \)RA€kA K)RA $A€:)RA ‡A`.)RAàýAÀ)RAÀÅ A€ý(RA  A Þ(RA€é AÀÜ(RAàx AÎ(RA@À A€¿(RA  Aà±(RA@B A ¦(RAà Aàž(RAàÕA`–(RAÀ„Aà§(RAà²A@")RA`°A€~)RADAà)RAs@@3A€é)RA`f4A ø)RA@3Añ)RA 04A ø)RA`f4Aï)RA@š3A€é)RA@3Añ)RAt °ìA`\)RA "÷Aàõ)RA îA€Ñ)RA `ïA€Û)RA@ÂðA@ë)RA€ùñA`ò)RA@¯òAÀõ)RAàÀóAàõ)RAÁôA@õ)RA "÷A¦)RA òA`)RAÀ˜ñAÀz)RA ØñA`m)RA€0ïA`\)RA °ìA Ä)RAÀyíA€Æ)RA îA€Ñ)RAuÈà·A@÷(RA ÖÀA@õ)RA€@»A€B)RA`ʺAàm)RA ³ºA@õ)RA€ ¼AÀé)RA`Ü¿A _)RA UÀAÀK)RA`sÀA`H)RA ÖÀA /)RA eÀA )RA Ä¿A )RA`»¼Aà )RA€~¹A@÷(RA ¹A )RA€ŽºA )RA€ºA@$)RA`W¸A )RA 3¸A@÷(RA€.·A€ø(RAà·A€)RAà|·A ")RAà¸A .)RA€@»A€B)RAv¨ècAà¼(RA  Aàð)RA2 €uA€Õ)RAœvA Þ)RA ÌxAÀê)RA‚yAàð)RAÛyAàã)RA€ž}A€?)RA@eAÀó(RA  A`ë(RA€d}A ê(RAs{A`ì(RA@-xA€ø(RAàExA`ò(RAÀxA@â(RAÀyA@Ì(RA avAà¼(RA ÞuAàÑ(RA@LuA€è(RA uA`ö(RA`¿tAà)RAõpA ú(RA pAù(RAÀØmA€ô(RA`äjA ð(RAà iA€î(RA`ŒgA@é(RA àfAàæ(RA@ fA€ï(RA€ÉeAÀ)RAÀûcA c)RAècAÀf)RAÀŽdA k)RA ÅdA€l)RAàwfA )RAà_hA€%)RA jAà0)RAÀ‚jA€)RA`ÅjAÀ)RA@-kA@)RA@4oA)RA 1tA€>)RAÀ³tAàP)RA@IuA V)RAà®uA@M)RAÀPvA`T)RA vA ])RA—vAàb)RA`¸vAà{)RA ÞvA@’)RA`*vA`³)RA €uA€Õ)RAwØÀ`A`X)RAàñhAð)RA`—fAð)RAÀägA@¹)RAàñhA@ˆ)RA€ChA€‚)RA`mgA})RA@ˆfA€w)RA@fAÀt)RA ÅdA€l)RAÀŽdA k)RAècAÀf)RA@°aA`X)RA7aA i)RA€G`Aà‘)RAÀ`AÀœ)RA€paAÀ¦)RAÀbAÀ¨)RA abAÀ£)RAÀ(cA §)RA CbAÐ)RA bAÀÔ)RA€§cA Þ)RAeA ç)RA ÈeA@è)RA`—fAð)RAxø€‹¤A œ(RAà|·Aä)RA€‹¤A ‘)RA1¨A ¨)RA #¬AÁ)RA ²¯A Õ)RA R²Aä)RA L³AÀ^)RA u¶A !)RAà|·A ")RAà·A€)RA€.·A€ø(RA`·AàÏ(RA ë´A€±(RA@¸²A œ(RA€²AÀ«(RA Ø´A`Ì(RA´AÚ(RA s±AÀÂ(RA`ú°AàÙ(RA Ã¯AàÞ(RA [®A`æ(RAÀ¢¬Aàà(RA`=¬A ÷(RA`¤¨Aàá(RA€¨A ý(RA@o§A`)RA ³¦A 6)RA`v¥A`h)RA€‹¤A ‘)RAy¸ R²A !)RA€@»Aä)RA R²Aä)RAÀ8³A€¼)RA`Ø´AÆ)RAÀݵAÎ)RAk¶Aà½)RA@ ·A¿)RA`1·A©)RAÀ:·A`–)RA@÷A‹)RA$¸A ƒ)RA@Ô¸A€v)RA s¹A€m)RA` ºA`)RA`¤ºA`U)RA€@»A€B)RAà¸A .)RAà|·A ")RA u¶A !)RA L³AÀ^)RA R²Aä)RAz@ ¶"A Ì)RA ³#A Þ)RA à"A Ì)RA ¶"A`Û)RA@…#A Þ)RA ³#A@Î)RA à"A Ì)RA{ÐòRAà)RA s\AÞ)RA ]TA ¾)RA`’UAÀÆ)RA )RA@C2A`[)RA`ÿ0AQ)RA@‰1A 4)RAÀ 0A€-)RA`b.A@#)RA€7-A )RA€:.AÀð(RA P.A í(RA ,A î(RA F+Aù(RAÀ*A)RAÀZ*A`a)RAÀ‘*Ae)RA~@€ž}A ±(RAÀ¿’AÀÏ)RA%€…AÄ)RA ¼†A Í)RA ‡AÀÉ)RAàˆAÀÏ)RA`¯ˆA¹)RA`§ŠA``)RAÀV‹A ?)RA¹ŽAà)RA ™A§)RA h‘A _)RAÀ´‘A S)RAàù‘AC)RAÀ¿’AÀ$)RA ö‘A@)RAÀvA@)RA {A`)RA@Aà)RAàîŒA)RA 6ŒAÀú(RAÀE‡A`Ü(RA@AƒA`¿(RA`Õ€A ±(RA  A`ë(RA@eAÀó(RA€ž}A€?)RA@ý}A@C)RA`*AG)RAA`>)RA €A 9)RAà”€A`7)RA€9‚Aà<)RA@xƒAÀ)RA`/‡A )RA kˆA %)RA g‰A :)RAÀyˆA€S)RA€…AÄ)RAøàw÷AÇ(RAà²AÀÍ)RA€fúAà¦)RAÀaÿA`Å)RA¼AÀÍ)RAÀ4A`»)RADAà)RA`°A€~)RAà²A@")RA ÿA€)RA`DA )RAÀA`)RAÀ~þA€å(RAÀãýA×(RA ®ûAÇ(RA@ûA Þ(RA î÷A Ê(RAàw÷A@ß(RA —úA@ó(RA@!úAà)RA`ÜùA)RA`'ùA)RA`HùA@')RA@ÜøA€=)RA`TøAÀN)RA ®ùA`U)RA@ÀúA€U)RA`ûA€z)RA ëúA`‹)RA€fúAà¦)RA€@à&SA¹)RA ]TAàÉ)RA ]TA ¾)RA€sSA¹)RAà&SA Ã)RA TAàÉ)RA ]TA ¾)RA hKAÀ2)RA€DUA@­)RA hKAàŽ)RA€dMA ™)RA`OA ¤)RA ½PA@­)RAà}QA@’)RA2RAt)RA  TAÀ)RA •TA`l)RA ?UAàI)RA€DUAF)RA€ËQAÀ2)RAÀQAÀN)RA`yPAàj)RA ÌLA V)RA hKAàŽ)RA‚ ]ñA)RA`ûAà¦)RA ØñA`m)RA€fúAà¦)RA ëúA`‹)RA`ûA€z)RA@ÀúA€U)RA ®ùA`U)RA`TøAÀN)RAMóAÀ7)RA`óA)RA€<òAÀ )RA`QòA`1)RAàØñA G)RA ]ñAÀY)RA`,òA€_)RA ØñA`m)RAƒ¸À2WA )RA@°aAàŸ)RAà7[A@˜)RA`L\AàŸ)RAàÂ\AÀŒ)RA€s]Aà)RAÀE^A€q)RAà´^A _)RA€`A g)RA7aA i)RA@°aA`X)RAÀJ]A =)RAà–[Aà2)RA ÏYA€&)RA ÐWA )RAÀ2WA€5)RAÀ8YA C)RA`ÂZAàP)RA s\A])RA@G\Ae)RA€ß[A u)RAà7[A@˜)RA„È ÅdA@)RA@4oA`)RAàñhA@ˆ)RA¥iA@Š)RA`]jA )RA"kA`•)RAàÈkA ™)RA@hlA`)RAÀWmAàr)RAà?nA€J)RAÀÇnA€4)RA@4oA)RA@-kA@)RA`ÅjAÀ)RAÀ‚jA€)RA jAà0)RAà_hA€%)RAàwfA )RA ÅdA€l)RA@fAÀt)RA@ˆfA€w)RA`mgA})RA€ChA€‚)RAàñhA@ˆ)RA…@€ #A@…)RA@$A š)RA€3#A@…)RA€ #A`—)RA$A š)RA@$A †)RA€3#A@…)RA†Ø ÔšA`Ã(RA ³¦A ‘)RA ÔšA V)RA žA m)RA`  Aàu)RA À Aàz)RAà‡¡A €)RAà]¢A€„)RA@ø¢A ˆ)RA€‹¤A ‘)RA`v¥A`h)RA ³¦A 6)RA`£¤Aà))RAÀï¢A`)RA`Ÿ£AÀ)RA`6¢A û(RA Ù¢AÀÞ(RAàbžA`Ã(RA ÝA Ò(RA A ü(RA€žA )RA@JŸAÀ )RA@DžA ;)RAÀaAÀ7)RA`ΛAÀ,)RA ÔšA V)RA‡0 $Aà±(RAàîA`Œ)RA#àõA z)RA`LA`p)RA€øAw)RAÔA T)RAõA \)RAàA )RA`VA`Œ)RA A`K)RA`BA Q)RA@OAàV)RAÀAi)RAàîA )RAàSA )RAàÀAÀ)RAÀ3A@ý(RAãA ð(RA@gAÀÙ(RA kAÔ(RA@°AÉ(RA ´A Â(RA  Aà±(RA@À A€¿(RAàx AÎ(RA€é AÀÜ(RA  A Þ(RAÀÅ A€ý(RAàýAÀ)RA ‡A`.)RA $A€:)RA€kA K)RA ‡A \)RAºAd)RA ® A@o)RAà$ A \)RAàõA z)RAˆ@`Ü<A`y)RA`ë=Aˆ)RAÀ=A`y)RA`Ü<A€)RA ¿=Aˆ)RA`ë=A€)RAÀ=A`y)RA‰¸€0ïAàû(RA`HùA`m)RA€0ïA`\)RA ØñA`m)RA`,òA€_)RA ]ñAÀY)RAàØñA G)RA`QòA`1)RA€<òAÀ )RA`óA)RAMóAÀ7)RA`TøAÀN)RA@ÜøA€=)RA`HùA@')RA`'ùA)RA`öAàû(RA GõAÿ(RA õóA )RA`ÆòA )RA ëñAà )RA@8ñA )RA€0ïA`\)RAŠÀ)RAÀ7A€V)RA€Æ9A e)RA :A H)RA€';AÀ-)RA@@IuA@M)RAÀPvA ])RA@IuA V)RA vA ])RAÀPvA`T)RAà®uA@M)RA@IuA V)RAŽpà?nA)RAÀ³tA\)RA à?nA€J)RA@#qA@Z)RA ŽrA€S)RA@ÀrA\)RA@DtA Z)RA+tA€Q)RAÀ³tAàP)RA 1tA€>)RA@4oA)RAÀÇnA€4)RAà?nA€J)RAÀ ö‘A`§(RA`ΛA V)RA ÔšA V)RA`ΛAÀ,)RAàbšA #)RAàï˜Aà)RA@›AàÃ(RA •™A ¹(RA 6˜Aà¯(RA`”–A`§(RA`¸•AÎ(RA Æ“A`Ê(RA``’A` )RA ö‘A@)RAÀ¿’AÀ$)RA`”A`.)RA@•A`3)RAà‡•A€7)RAÀ{–A`<)RAÀä—AE)RA¢˜A I)RA d™AàM)RA ÔšA V)RA€ÀAàÍ(RA aÏA >)RA ÖÀA /)RAà ÂA *)RAÀÃA 4)RA +ÄA€8)RA€ÉÉA >)RA aÏA`)RA@DËA ú(RA€ÚÇA ã(RAàRÄAàÍ(RA bÃAàó(RA`ÀA á(RAÀ<ÀA ô(RA€ÀA€)RA eÀA )RA ÖÀA /)RA‘ 6˜A`…(RA`¤¨A ;)RA ³¦A 6)RA@o§A`)RA€¨A ý(RA`¤¨Aàá(RAx£A`Ä(RA@®¢Aà¼(RAÀïžA §(RA@¨šAÀ(RAÀ7™A`…(RAÀ¯˜A€š(RA 6˜Aà¯(RA •™A ¹(RA@›AàÃ(RAàï˜Aà)RAàbšA #)RA`ΛAÀ,)RAÀaAÀ7)RA@DžA ;)RA@JŸAÀ )RA€žA )RA A ü(RA ÝA Ò(RAàbžA`Ã(RA Ù¢AÀÞ(RA`6¢A û(RA`Ÿ£AÀ)RAÀï¢A`)RA`£¤Aà))RA ³¦A 6)RA’H >A )RAàŠAA€.)RAàŠAA€)RA`…@A` )RA`?A )RA >A ")RA ã@A€.)RAàŠAA€)RA“È€#=A`œ(RA€=HA@+)RAˆEA@+)RAàûEA)RAÀ/FA@ )RA€ÜFA`ð(RA€=HAÀ¸(RA`sFA@®(RA¸DA £(RAàåCA¿(RA€JCAÚ(RAàÔAA Ð(RA „@A È(RA€,AAà¬(RA i>A`œ(RAà¹=A ¸(RA€#=A@Ô(RA º?A æ(RA`?A )RA`…@A` )RAàŠAA€)RA€BA )RAÀÂCA )RAˆEA@+)RA”¸xOAÀf(RA€À\A€&)RA ÐWA )RA ÏYA€&)RA€žZA€)RA€Ä[A`Ô(RAe\A ¸(RA€À\A@­(RAJYAÀ™(RAÀÑYA@(RA`ÛYAÀ{(RA 8VAÀf(RA¸UA ƒ(RAàêTA@¢(RAaTA ¿(RA`ÀSA Ø(RA  RAÏ(RA@PA Å(RAxOA`å(RASA€ü(RAàŒVAà)RA ÐWA )RA•€¶A{(RAàRÄA@$)RA 3¸A@÷(RA`W¸A )RA€ºA@$)RA€ŽºA )RA ¹A )RA€~¹A@÷(RA`»¼Aà )RA Ä¿A )RA eÀA )RA€ÀA€)RAÀ<ÀA ô(RA`ÀA á(RA bÃAàó(RAàRÄAàÍ(RA VÁA ¼(RA §½A@¥(RAÀ«¶A{(RA€¶A`(RA`¸A`•(RA€`¸Aàª(RA ƸA@œ(RA€½Aà·(RA¼AÅ(RA@‰ºA`¹(RA€ºA »(RA` ºAàÊ(RA $¼A€Ù(RAÀ­»Aë(RAÀ}¹A ß(RA€õ¸A ò(RA 3¸A@÷(RA–à`ÆòAà‹(RAàÕA@")RA`ÆòA )RA õóA )RA GõAÿ(RA`öAàû(RA`'ùA)RA`ÜùA)RA@!úAà)RA —úA@ó(RAàw÷A@ß(RA î÷A Ê(RA@ûA Þ(RA ®ûAÇ(RAÀãýA×(RAÀ~þA€å(RAÀA`)RA`DA )RA ÿA€)RAà²A@")RAÀ„Aà§(RAàÕA`–(RA`$Aà‹(RAÀqúAà¿(RA`Û÷AÀ´(RA ýöA Ù(RA`ÆòA )RA—ÀÀ’‹A€?(RAÀ7™A@)RA 6ŒAÀú(RAàîŒA)RA@Aà)RA {A`)RAÀvA@)RA ö‘A@)RA``’A` )RA Æ“A`Ê(RA`¸•AÎ(RA`”–A`§(RA 6˜Aà¯(RAÀ¯˜A€š(RAÀ7™A`…(RA è˜A`‚(RA—AÀ{(RA¹“AÀc(RA ’AàH(RAt‘A€?(RAàOA w(RAÀ’‹A Â(RA 6ŒAÀú(RA˜@àûEA@ )RA@GA€)RAàûEA)RA ÊFA€)RA@GAà)RAÀ/FA@ )RAàûEA)RA™hàÕA€C(RA€Ü'A )RA*ãA ð(RAÀ3A@ý(RAàÀAÀ)RAàSA )RAà Aàø(RAÀ±A)RA ÔAàÏ(RAàJAÄ(RA@hA »(RAàÏA ©(RAÀ„AÀ (RAÀ‚Aàu(RA AÀe(RA X!Aàf(RAÀK"A€e(RAÀ¢&A €(RA€·'A ](RA€Ü'A U(RAàÐ!A€R(RA@» A€C(RAàÕA`–(RAà Aàž(RA@B A ¦(RA`Ü A ~(RAàú AÀ\(RA€© Aà`(RA` A@c(RA@cAq(RA(A`t(RA@ûA r(RAàA@p(RAÀÓA@o(RAÀ½A@p(RAÀbA`z(RA¸A„(RAàuAà(RA@Aà¡(RAÀmA¯(RAQA€Ç(RAàèAÏ(RAàGA`Ú(RAãA ð(RAšÀà׳A`œ%RA@1ÝA`)RAUàRÄAàÍ(RA€ÚÇA ã(RA@DËA ú(RA aÏA`)RA¥×A Í'RAà«ØA`ª'RA hÙA@‰'RAéÙAàu'RA }ÚA@\'RA@7ÛAà4'RA —ÛA'RA«ÛA@'RA ¾ÛAæ&RA ÜA Î&RA@aÜA`¹&RA ÄÜA`¡&RA@1ÝA€’&RA ¯ÛA ‚&RA€ŸØA`‰&RAOÖAà€&RA9ÒAÀ`&RAÀ´ÐA`]&RA`ÏA€g&RA@¬ÍA@Z&RAOÌA<&RA ©ÊA€ &RA€ÕÊAý%RAàÏËAÀÜ%RA€©ÊA Â%RA ™ÇA ±%RA@MÅA ž%RA ÇÄA`§%RAàQÄA¡%RA ¨ÃA` %RAàåÀA@ %RA¹ÀAÀ%RAÀpÀA`œ%RA ê¾A ž%RA ޾A@¡%RA€ç½A©%RA€½A «%RA@ö¼A`¬%RA ³¼Aà¬%RAÀ6¼Aà±%RA€«»A@µ%RA@»AÀ·%RA`zºAàÔ%RA ß¶Ax&RA`÷¿A€¯&RA€@¿A€×&RA¼ÂAÀñ&RA ÌA@·&RA¤ÒA@¾&RAÀÄÒA Ë&RA€ ÓAÐ&RAà³ÓA€Õ&RA`?ÔA€Ü&RAQÔA â&RAàÔÓA€í&RA`.ÓA ù&RA äÒA 'RA ØÒA 'RA MÒA 7'RA@ÒA A'RA ÅÐA b'RAà€ÎA –'RAGÇA l'RA ¯ÆA`g'RAÀS¶A m'RAà׳AàÜ'RA`·A ï'RA M»A`(RA஺A  (RAÀ»Aà*(RA L¼AÀ'(RAàv½Aà-(RAàú½Aà3(RA ¾A@;(RA U¿A E(RA@›¿A R(RAÀ¿Aàj(RA ¾Aà’(RA §½A@¥(RA VÁA ¼(RAàRÄAàÍ(RA›€@8ñA9(RA@» Aà )RA @8ñA )RA ëñAà )RA`ÆòA )RA ýöA Ù(RA`Û÷AÀ´(RAÀqúAà¿(RA`$Aà‹(RAàÕA`–(RA@» A€C(RA ›øA@:(RA`ûõA9(RA€§ôA€r(RA@8ñA )RAœ8@<A î(RA`?A )RA@<AÀò(RA`?A )RAàL>A î(RA@<AÀò(RAH@<A@Ô(RA º?A )RA@<AÀò(RAàL>A î(RA`?A )RA º?A æ(RA€#=A@Ô(RA@<AÀò(RAžXJYA[(RAÀŒzAà)RA( àfAàæ(RA`ŒgA@é(RAà iA€î(RA`äjA ð(RAÀØmA€ô(RA pAù(RAõpA ú(RA`¿tAà)RA uA`ö(RA@LuA€è(RA ÞuAàÑ(RA avAà¼(RAÀyA@Ì(RAÀšyAà¶(RA 6zA€¡(RAÀŒzA‹(RA€DzA ‡(RA ®wA@x(RAàævA€r(RA`úuAàl(RA ?uAÀh(RA`ûrA[(RAÀlpA Ê(RAÀpA Ö(RA`ÜnA Î(RAàrlA Á(RAÀlA Ë(RAÀœjA Â(RAàþgAà°(RA egA È(RA@ÜeA`¿(RAÀ|cA`³(RA&cA`»(RA€`A`§(RA ñ\A “(RAÀÑYA@(RAJYAÀ™(RA€À\A@­(RAàódA á(RA àfAàæ(RAŸ ^‚A)(RAt‘AÀú(RAÀE‡A`Ü(RA 6ŒAÀú(RAÀ’‹A Â(RAàOA w(RAt‘A€?(RA åA)(RA@ÀŽAÀ9(RA@ AàI(RA`«ŠA <(RA HŠAàO(RA5ŠA U(RAàà‰A`b(RAÀ]‰A@w(RA@ö…A@b(RA`í‚A P(RA^‚A€h(RAÀE‡A`Ü(RA À@-xA€(RAÀE‡A€ø(RAÀyA@Ì(RAÀxA@â(RAàExA`ò(RA@-xA€ø(RAs{A`ì(RA€d}A ê(RA  A`ë(RA`Õ€A ±(RA@AƒA`¿(RAÀE‡A`Ü(RA^‚A€h(RA }A€(RAÀä|A(RA D|A4(RA`­{A N(RA ìzA€m(RA€DzA ‡(RAÀŒzA‹(RA 6zA€¡(RAÀšyAà¶(RAÀyA@Ì(RA¡¨ ë´A@œ(RA€½A€ø(RA€.·A€ø(RA 3¸A@÷(RA€õ¸A ò(RAÀ}¹A ß(RAÀ­»Aë(RA $¼A€Ù(RA` ºAàÊ(RA€ºA »(RA@‰ºA`¹(RA¼AÅ(RA€½Aà·(RA ƸA@œ(RA€`¸Aàª(RAà5·A@¤(RA@–µA ¢(RA ë´A€±(RA`·AàÏ(RA€.·A€ø(RA¢¸`¤¨AÀ9(RA Ø´A ÷(RA`¤¨Aàá(RA`=¬A ÷(RAÀ¢¬Aàà(RA [®A`æ(RA Ã¯AàÞ(RA`ú°AàÙ(RA s±AÀÂ(RA´AÚ(RA Ø´A`Ì(RA€²AÀ«(RA@¸²A œ(RA@=±A (RAàØ±A`\(RA ·¯AàO(RA U¬AÀ9(RA Œ«A`X(RAàתAr(RAÀñ©A˜(RA`ë¨A Á(RA`¤¨Aàá(RA£ÈÀ¢7A S(RA¸DAÀò(RA@<AÀò(RA€#=A@Ô(RAà¹=A ¸(RA i>A`œ(RA€,AAà¬(RA „@A È(RAàÔAA Ð(RA€JCAÚ(RAàåCA¿(RA¸DA £(RAÀÖAA`‘(RA iAA`Ž(RA@Ö@A Š(RA@"?Aà~(RA F<A n(RA  :A ^(RA€(8A@T(RA ö7A S(RAÀ¢7A _(RA€Ð7A€¦(RA@u8Aà°(RA@<AÀò(RA¤è`Ü Aà`(RA@A ð(RA  Aà±(RA ´A Â(RA@°AÉ(RA kAÔ(RA@gAÀÙ(RAãA ð(RAàGA`Ú(RAàèAÏ(RAQA€Ç(RAÀmA¯(RA@Aà¡(RAàuAà(RA¸A„(RAÀbA`z(RAÀ½A@p(RAÀÓA@o(RAàA@p(RA@ûA r(RA(A`t(RA@cAq(RA` A@c(RA€© Aà`(RA F A`o(RA`Ü A ~(RA@B A ¦(RA  Aà±(RA¥° P.A@](RA€Ð7A í(RA P.A í(RA 6A×(RA }7AàÈ(RAÀÉ7A`µ(RA€Ð7A€¦(RAÀ¢7A _(RA A7A _(RAà46A@](RA ”5Aq(RA¡6A`s(RA€±6Aà“(RA€g5A`¥(RA@–4A Ÿ(RAÀø2A ”(RAàÙ0A`‰(RAÀ”0AÀ”(RAÛ.A Ù(RA`‰.A@ä(RA P.A í(RA¦°ÀÖAA€=(RA@PA`å(RA`üKAÑ(RA ËMA`Ü(RAxOA`å(RA@PA Å(RA€«LA€°(RA €MA “(RA@ûMA`x(RA`]KAàj(RA€/A (RA@Ô/A@(RA ú0A@&(RA ’1A€+(RA`â2A 2(RA ð1AàZ(RAÉ1A_(RA€1AÀ}(RAàÙ0A`‰(RA±Ð ·¯A ü'RA ¾A@¥(RA §½A@¥(RA ¾Aà’(RA€Ð¼A ‹(RA€ºAàz(RA૸Ar(RAÀ´¹AÀF(RA »A K(RAÀl»A@9(RAÀ»Aà*(RA€Å¹A€.(RAÀ¤¸A@((RA$¸Aà=(RA ˳A $(RA=³A(RAÀG·A€(RA .·A ü'RA@#³A ý'RAI±A`(RA ·¯AàO(RAàØ±A`\(RA ‘²AÀ`(RAÀ«¶A{(RA §½A@¥(RA²:€·'A`¥'RA`â2AÀ”(RA$À”0AÀ”(RAàÙ0A`‰(RA€1AÀ}(RAÉ1A_(RA ð1AàZ(RA`â2A 2(RA ’1A€+(RA ú0A@&(RA@Ô/A@(RAÀ>/A (RA@O.A@@(RA{,A 5(RAü+A 2(RA€È,A (RAÀ¦.A@(RA Œ/A`ï'RA`¯0A Ã'RA`(/A º'RA@®.AÀ¶'RAÀg-A¬'RA€,A`¥'RA A+A ×'RAÀY*A ü'RA ó)A ú'RAà’(A4(RA`K(A€@(RA€Ü'A U(RA€·'A ](RA 9(Aà`(RA@¹*A`p(RAÀ”0AÀ”(RA€¶(AÀC(RAàÞ)A@K(RA°)A€R(RA(AK(RA€¶(AÀC(RA³˜૸AÀ'(RA@›¿Aà’(RAÀ»Aà*(RAÀl»A@9(RA »A K(RAÀ´¹AÀF(RA૸Ar(RA€ºAàz(RA€Ð¼A ‹(RA ¾Aà’(RAÀ¿Aàj(RA@›¿A R(RA U¿A E(RA ¾A@;(RAàú½Aà3(RAàv½Aà-(RA L¼AÀ'(RAÀ»Aà*(RA´˜@"?A`(RAà+DA`‘(RA iAA`Ž(RAÀÖAA`‘(RA€ƒBAàs(RA@ðBA`d(RAàœCA E(RAÀËCA€=(RAà+DA +(RA cAA`(RA Í@A5(RA@A T(RAÊ?Ab(RA@"?Aà~(RA@Ö@A Š(RA`AA(RAà¡AA@„(RA iAA`Ž(RAµ€ bAý'RAÀ»lAÀ(RA €‚gA`v(RAÀ³kAÀ(RAàBlA@t(RAÀ»lA€[(RAÀ¥hA`@(RAàciAà(RAàAfA (RAÀîcAý'RAÀcAà(RAà£bA@6(RA bA :(RA hA Z(RA€‚gA`v(RA¶@@Ö@A(RAà¡AA`Ž(RA@Ö@A Š(RA iAA`Ž(RAà¡AA@„(RA`AA(RA@Ö@A Š(RA·ˆ GA(RAâRA@(RA€A` (RA`?A`ù'RA j?A€é'RAÀÅ=A à'RA` =A Ú'RA`±<AÜ'RA `<Aí'RA ‘9A (RA€09AÀ)(RA ö7A S(RA€4=A 2(RA€³=A`5(RA =A`<(RA=A 9(RA€4=A 2(RAº@`Ü AÀ\(RA€© A ~(RA`Ü A ~(RA F A`o(RA€© Aà`(RAàú AÀ\(RA`Ü A ~(RA»€âRAÀ(RA@![AÀ{(RA 8VAÀf(RA`ÛYAÀ{(RA`cZAàf(RA@ƒZA ](RA [AÀG(RA@![A@C(RAà–WA€/(RAèUA@%(RA`pUA` (RA >TAÀ(RAâRAàT(RAÀšTA€^(RA 8VAÀf(RA¼p`pƒA@ (RA`äŠA@w(RA @ö…A@b(RAÀ]‰A@w(RAàà‰A`b(RA5ŠA U(RA HŠAàO(RA`«ŠA <(RA`äŠA@4(RA€]„A@ (RA`pƒA9(RA^†AàL(RA@ö…A@b(RA½¸à¿\AàÕ'RA hA v(RA`6aA v(RAÀlaA@n(RAàbA`S(RA€‚gA`v(RA hA Z(RA bA :(RAà£bA@6(RAÀcAà(RAÀîcAý'RA ˆcA`ú'RA@Þ`A€ê'RA `A`é'RA l]AàÕ'RAà¿\A ÷'RA@ó_A (RAÀ\_A€&(RAàè^A @(RA`C^AàX(RA ^Ae(RA`6aA v(RA¾`Ë™A p'RA@(±Ar(RA àתAr(RA Œ«A`X(RA U¬AÀ9(RA€Q­A`(RA ¯A@Ç'RAÀ+°Aà˜'RA@(±A p'RA¤AÀu'RA ¼¢A ˆ'RA@Ë¡A€†'RAÀë A`‘'RA€[ AÀ’'RA`ןAàŒ'RA@€ŸAà‹'RA æžAà'RA`²žAàœ'RA€BžA Ÿ'RA@ÿœA¥'RA@l›Aà¨'RA`Ë™A Æ'RA`§œAÀ×'RA ÝŸA`ë'RA€¡A ó'RA€i A (RAàò¡A@(RA€T£A (RAàç¤AÀ'(RA ™¦AÀ2(RA E§A€=(RA@þ©AÀN(RA`l©AÀh(RAàתAr(RA¿  }AÀ­'RA^†A€h(RA^‚A€h(RA`í‚A P(RA@ö…A@b(RA^†AàL(RA`pƒA9(RA€]„A@ (RAೄAàù'RA yA`æ'RA¨A`Ü'RA`èAÔ'RAP‚A ¾'RA ·€A`´'RA€XAÀ­'RA€µ~A`Ê'RA~Aé'RA }A€(RA^‚A€h(RAÀ˜Í>A€é'RAÀðJA`d(RAÀËCA€=(RAÀãFA€N(RA€A` (RAÀ,AAÀ(RA cAA`(RAà+DA +(RAÀËCA€=(RAÁ`W A Ö'RA ó)A U(RA(#àÐ!A€R(RA€Ü'A U(RA`K(A€@(RAà’(A4(RA ó)A ú'RAà÷(A`ò'RAÀ“'Aë'RA€&AÀß'RA e$A Ö'RAàj#Aë'RAÀa"Aàý'RA`×!A (RA@!A@ (RAW A ((RA …"A 8(RAàÐ!A€R(RA ¨%A-(RA ”&A /(RA&A€6(RA€£%A`4(RA ¨%A-(RAÀì"Aà((RAÀ¬#A€/(RA€g#A`8(RA ¬"AÀ1(RAÀì"Aà((RA×$A+(RA@ž$A`3(RAÀù#AÀ,(RA0$A $(RA@}$A`'(RAàÎ$A(RA Ž%A`"(RA`%A ,(RA×$A+(RAàŒ"A  (RAÀ8#A (RA`#A (RA€Q"A@(RAàŒ"A  (RA l]A~'RA€¤sA`U(RA àciAà(RAà~mA 8(RA ½nA ?(RA &oA B(RAÀ pA€H(RA@œqA R(RA€YrA`U(RA èrA:(RA€¤sA(RAÀdpA€ (RAàøpA€ì'RA` qA â'RA {qAÓ'RA€rAàº'RA 7rA@­'RAÀ£rA`˜'RAàÞrA Š'RAÀÎmA Ž'RA`äjA'RA ¹hA`'RA€—bAŒ'RA5_A~'RA`È^A 'RA€/^A°'RA@Ù]AàÂ'RA l]AàÕ'RA `A`é'RA@Þ`A€ê'RA ˆcA`ú'RAÀîcAý'RAàAfA (RAàciAà(RAÃHàþPA (RA >TAàT(RAàþPA`J(RAâRAàT(RA >TAÀ(RAàëSAÀ(RA`gRA (RAàþPA`J(RAÄ ;3A@"'RA@\=A S(RA¦4A@ê'RAÀñ3Aà(RA Ì3AÀ (RAÀS3A€(RA ;3A #(RA`Ä5Aà!(RA ×5A`E(RAà™6A J(RA Ý6AL(RAÀc7AP(RA ö7A S(RA€09AÀ)(RA ‘9A (RA `<Aí'RA`±<AÜ'RAàL;A@œ'RA !;A ‡'RA@\=A`4'RAE=A@"'RA Á<A #'RA;A@*'RA@×8A`3'RA€Î8A`L'RAÃ8A``'RA°8Aàq'RA€$7A`s'RA`7A Œ'RA 7Aà“'RA Ý6A æ'RA¦4A@ê'RAÅü`ûõA 'RA e$A€R(RA;!&+16@» A€C(RAàÐ!A€R(RA …"A 8(RA@ A:(RA üAà(RAà7A€(RA  A (RA€ËA`$(RAW A ((RA@!A@ (RA`×!A (RAàË A ø'RA e$A Ö'RAà$AÓ'RA 5#A Î'RA`p"A É'RA`@!A`Á'RAKA ®'RA`ZA@—'RAÀA w'RAvA Q'RA`EA 'RAàsA #'RA@_ûA W'RAÀgöA€'(RA`ûõA9(RA ›øA@:(RA@» A€C(RAÀA`(RAÀ:A` (RA`éA€(RA€A€(RAÀA`(RA ÛA Á'RA™A`Æ'RA@eA Ð'RAà¢A`Ë'RA ÛA Á'RA€÷Aà§'RAÀŠA`¯'RA`hAÀ¸'RAàÃAà³'RA€÷Aà§'RA`° AàŸ'RA@f A@¤'RA@7 A@©'RAà4 Aà¬'RA k A€¨'RA`° AàŸ'RA€0 A@‹'RA€Ü A ‘'RAš A`›'RAé AÀ•'RA€0 A@‹'RAÀ AÀ|'RA <A'RAÿ A Š'RA€d A …'RAÀ AÀ|'RAÆ@(AÀC(RAàÞ)A€R(RA€¶(AÀC(RA(AK(RA°)A€R(RAàÞ)A@K(RA€¶(AÀC(RAÇ0 U¬Ax&RAQÔAàO(RA# U¬AÀ9(RA ·¯AàO(RAI±A`(RA@#³A ý'RAà׳AàÜ'RAÀS¶A m'RA ¯ÆA`g'RAGÇA l'RAà€ÎA –'RA ÅÐA b'RA@ÒA A'RA MÒA 7'RA ØÒA 'RA äÒA 'RA`.ÓA ù&RAàÔÓA€í&RAQÔA â&RA`?ÔA€Ü&RAà³ÓA€Õ&RA€ ÓAÐ&RAÀÄÒA Ë&RA¤ÒA@¾&RA ÌA@·&RA¼ÂAÀñ&RA€@¿A€×&RA`÷¿A€¯&RA ß¶Ax&RA$µA€Å&RA /´A€ò&RA@¥²Aà,'RA@(±A p'RAÀ+°Aà˜'RA ¯A@Ç'RA€Q­A`(RA U¬AÀ9(RAÈh€¬KAÀÉ'RA`gRA`J(RA €¬KA`)(RA€HOA ?(RAàþPA`J(RA`gRA (RA ˜PA€(RA £QAß'RA úMAÀÉ'RA@èLA@ï'RA`ELA (RA€¬KA`)(RAÉèdŠAà™'RA`Ë™AàI(RA`äŠA@4(RA`«ŠA <(RA@ AàI(RA@ÀŽAÀ9(RA åA)(RAt‘A€?(RAàq–A à'RA²—AàÇ'RAÀ0˜A Ä'RA``™A@Ç'RA`Ë™A Æ'RAàM—A ¶'RAÀá”A¨'RA¯’Aà™'RA ’Aà²'RA ÂA€¨'RA8AÀ¼'RAÀÒŽA Ï'RAà#AÀÅ'RAÀ°A€ª'RA Q‹A@'RAdŠA È'RA ¹ŒAàØ'RAÏ‹A (RA`S‹A (RA`äŠA@4(RAÊÊàVA€¯'RA l]A@C(RAà–WA€/(RA@![A@C(RA ¦[A€,(RA€ÿ[A (RA@=\AÀ(RAà¿\A ÷'RA l]AàÕ'RAàZAÃ'RAÔVA€¯'RAàVA`Ñ'RA`ÌWA€Ü'RA ‰XAÀß'RAàZXAàí'RA@xWAé'RAàWA`þ'RA€wXA`(RAà–WA€/(RA`ìYA Ë'RA`ôZA€Ñ'RA€ÅZA@Ù'RA¶YAÓ'RA`ìYA Ë'RAˈ@#³AàÜ'RA M»Aà=(RA@#³A ý'RA .·A ü'RAÀG·A€(RA=³A(RA ˳A $(RA$¸Aà=(RAÀ¤¸A@((RA€Å¹A€.(RAÀ»Aà*(RA஺A  (RA M»A`(RA`·A ï'RAà׳AàÜ'RA@#³A ý'RAÌ@=A 2(RA€³=A`<(RA€4=A 2(RA=A 9(RA =A`<(RA€³=A`5(RA€4=A 2(RAÍH üAà(RA …"A:(RA …"A 8(RAW A ((RA€ËA`$(RA üAà(RA@ A:(RA …"A 8(RAÎ@ ¬"Aà((RAÀ¬#A`8(RAÀì"Aà((RA ¬"AÀ1(RA€g#A`8(RAÀ¬#A€/(RAÀì"Aà((RAÏ@€£%A-(RA ”&A€6(RA ¨%A-(RA€£%A`4(RA&A€6(RA ”&A /(RA ¨%A-(RAÐÀ yA €'RA ¾ŽA@4(RA€]„A@ (RA`äŠA@4(RA`S‹A (RAÏ‹A (RA ¹ŒAàØ'RAdŠA È'RA Q‹A@'RAÀ°A€ª'RA ¾ŽA †'RA@qŽA`'RA€Ñ‹A €'RA€`‡A 'RA %‡A€Œ'RA€Í…A€Æ'RAÀ™…AÒ'RAP‚A ¾'RA`èAÔ'RA¨A`Ü'RA yA`æ'RAೄAàù'RA€]„A@ (RAÑHÀù#A $(RA×$A`3(RA×$A+(RA@}$A`'(RA0$A $(RAÀù#AÀ,(RA@ž$A`3(RA×$A+(RAÒ  ˜PA`Ñ'RA€wXA€/(RA >TAÀ(RA`pUA` (RAèUA@%(RAà–WA€/(RA€wXA`(RAàWA`þ'RA@xWAé'RA`ÌWA€Ü'RAàVA`Ñ'RASUAàó'RA`êTAò'RA`^SA`é'RA £QAß'RA ˜PA€(RA`gRA (RAàëSAÀ(RA >TAÀ(RAÓH@}$A(RA Ž%A ,(RA@}$A`'(RA×$A+(RA`%A ,(RA Ž%A`"(RAàÎ$A(RA@}$A`'(RAÔ j?A k'RA`ELA`)(RA@GHA(RA€¬KA`)(RA`ELA (RA ñHA@ú'RA`™IAÜ'RA mJAÀ¶'RAÀ“GA`¥'RA 9EA™'RAàEA@}'RAàlBA k'RAÀBA`}'RA ©BA€'RA BA ‰'RA@ÑAA …'RA@§AAÀŠ'RA ë@Aà©'RAàþCAà¼'RA@0DA µ'RA ÃDAÀ¸'RAà‡DA Á'RA`ÿDA€Ã'RA€øDAÐ'RAÞDA â'RA€E@Aàè'RA j?A€é'RA`ÏAA`ø'RA`ñDAà (RA`EA (RA@GHA(RAÕ@ üA€(RA  A`$(RA üAà(RA€ËA`$(RA  A (RAà7A€(RA üAà(RAÖ@€Q"A  (RAÀ8#A (RAàŒ"A  (RA€Q"A@(RA`#A (RAÀ8#A (RAàŒ"A  (RA×@€A`(RAÀ:A€(RAÀA`(RA€A€(RA`éA€(RAÀ:A` (RAÀA`(RAØHàË A Ö'RA e$A (RA`×!A (RAÀa"Aàý'RAàj#Aë'RA e$A Ö'RAàË A ø'RA`×!A (RAÙàEA m'RA úMA (RA`ELA (RA@èLA@ï'RA úMAÀÉ'RALAÀÀ'RA@øLAÀœ'RA@DKA 'RA`ƒHA €'RA@pEA m'RAàEA@}'RA 9EA™'RAÀ“GA`¥'RA mJAÀ¶'RA`™IAÜ'RA ñHA@ú'RA`ELA (RAÚÐKAT'RAàØ,A ü'RA e$A Ö'RA€&AÀß'RAÀ“'Aë'RAà÷(A`ò'RA ó)A ú'RAÀY*A ü'RA A+A ×'RA€,A`¥'RA€É,A@Ž'RAàØ,AÀe'RAàë*A `'RA .)A€Y'RAx'AT'RA'A s'RA`u(A|'RAKA ®'RA`@!A`Á'RA v!Aà·'RAà²"A ¼'RAàh#A€Ã'RAI$AÉ'RAà$AÓ'RA e$A Ö'RAÛ˜ úMA ƒ'RAÔVAàó'RA £QAß'RA`^SA`é'RA`êTAò'RASUAàó'RAàVA`Ñ'RAÔVA€¯'RAàÈTA€¡'RAà(SAà—'RA‡RA”'RA@?RAàœ'RA@FQA —'RA€wQA Ž'RAtOA ƒ'RA±NA ¥'RA úMAÀÉ'RA £QAß'RAÜ@@xWA€Ü'RA ‰XAàí'RA@xWAé'RAàZXAàí'RA ‰XAÀß'RA`ÌWA€Ü'RA@xWAé'RAÝ`r0A ö&RAE=A@ê'RA Ô4A Þ'RA¦4A@ê'RA Ý6A æ'RA 7Aà“'RA`7A Œ'RA€$7A`s'RA°8Aàq'RAÃ8A``'RA€Î8A`L'RA@×8A`3'RA;A@*'RA Á<A #'RAE=A@"'RAF<AÀ'RA y8AÀ 'RAàÐ5A ö&RAà¿5A€'RAà¨5A %'RA ¸5A5'RAÀ 4A 7'RA`r0A€G'RAt0Aàe'RA€2A€o'RA€V5A`ƒ'RAP5A •'RA :5Aà¡'RA`ì3A`š'RA€I3A¶'RAà65A Â'RA Ô4A Þ'RAÞ  !;A`4'RA@§AA€é'RA j?A€é'RA Ã?AÝ'RA€ò?A Ô'RA`A@A€Æ'RA ë@Aà©'RA@§AAÀŠ'RA€?A y'RA w?A ['RA€ÿ?A`G'RA€³=A@6'RA@\=A`4'RA !;A ‡'RAàL;A@œ'RA`±<AÜ'RA` =A Ú'RAÀÅ=A à'RA j?A€é'RAß@ j?AÝ'RAc@A€é'RA j?A€é'RA€E@Aàè'RAc@A€á'RA Ã?AÝ'RA j?A€é'RAàx Ã?Aà©'RA`ÿDAàè'RA  Ã?AÝ'RAc@A€á'RA€E@Aàè'RAÞDA â'RA€øDAÐ'RA`ÿDA€Ã'RAà‡DA Á'RAàþCAà¼'RA ë@Aà©'RA`A@A€Æ'RA€ò?A Ô'RA Ã?AÝ'RAáð€,A'RA€V5A Þ'RA`¯0A Ã'RAÀú1A Ë'RA@#3A`Ó'RA Ô4A Þ'RAà65A Â'RA€I3A¶'RA`ì3A`š'RA :5Aà¡'RAP5A •'RA€V5A`ƒ'RA€2A€o'RAt0Aàe'RA`r0A€G'RAà×/A€A'RAß/Aà:'RA`û/AÀ'RAàá.A'RA`é-A`'RAà-A 'RA€(-A@6'RAàØ,AÀe'RA€É,A@Ž'RA€,A`¥'RAÀg-A¬'RA@®.AÀ¶'RA`(/A º'RA`¯0A Ã'RAâ@¶YA Ë'RA`ôZA@Ù'RA`ìYA Ë'RA¶YAÓ'RA€ÅZA@Ù'RA`ôZA€Ñ'RA`ìYA Ë'RAãÀàÈTAÀ;'RAÀˆ_AàÕ'RAÔVA€¯'RAàZAÃ'RA l]AàÕ'RA@Ù]AàÂ'RA€/^A°'RA`È^A 'RA5_A~'RAK_A@v'RAÀˆ_A k'RA “\AàX'RA€ [A€Q'RA'YA H'RA`¶WA ?'RAWAÀ;'RA@ïVAà?'RAÀÇVA E'RA@ VAÀL'RAàSVA ]'RA@UAà}'RAàÈTA€¡'RAÔVA€¯'RAä@ 5#A€Ã'RAI$AÓ'RA 5#A Î'RAà$AÓ'RAI$AÉ'RAàh#A€Ã'RA 5#A Î'RAå@à¢A Á'RA™A Ð'RA ÛA Á'RAà¢A`Ë'RA@eA Ð'RA™A`Æ'RA ÛA Á'RAæàà#AÀu'RA¤A Ï'RAÀ°A€ª'RAà#AÀÅ'RAÀÒŽA Ï'RA8AÀ¼'RA ÂA€¨'RA ’Aà²'RA¯’Aà™'RAÀá”A¨'RAàM—A ¶'RA`Ë™A Æ'RA@l›Aà¨'RA@ÿœA¥'RA€BžA Ÿ'RA`²žAàœ'RA æžAà'RA@€ŸAà‹'RA`ןAàŒ'RA€[ AÀ’'RAÀë A`‘'RA@Ë¡A€†'RA ¼¢A ˆ'RA¤AÀu'RA@qŽA`'RA ¾ŽA †'RAÀ°A€ª'RAçP`@!Aà·'RAàh#A Î'RA 5#A Î'RAàh#A€Ã'RAà²"A ¼'RA v!Aà·'RA`@!A`Á'RA`p"A É'RA 5#A Î'RAèXF<AàË&RAÀcPAÀÉ'RA(@§AAÀŠ'RA@ÑAA …'RAÀBA`}'RAàlBA k'RAàEA@}'RA@pEA m'RA`ƒHA €'RA@DKA 'RA@øLAÀœ'RALAÀÀ'RA úMAÀÉ'RA±NA ¥'RAtOA ƒ'RA`xNA€|'RA`ÌNA n'RAtOA ƒ'RAÀcPA@_'RAà)OA€Y'RAOA@`'RAÀNA€['RA`8NA T'RA@ÀLA L'RA`úIAÀ;'RA€%GA`,'RA ßEA#'RA ?DA€'RA@eAA'RA@ABA€é&RA ‡?A€×&RAà>A@Í&RA€ñ=AàË&RA G=A æ&RAF<AÀ'RAE=A@"'RA@\=A`4'RA€³=A@6'RA€ÿ?A`G'RA w?A ['RA€?A y'RA@§AAÀŠ'RAé@àþCA µ'RA ÃDA Á'RAàþCAà¼'RAà‡DA Á'RA ÃDAÀ¸'RA@0DA µ'RAàþCAà¼'RAê@àÃAà§'RAÀŠAÀ¸'RA€÷Aà§'RAàÃAà³'RA`hAÀ¸'RAÀŠA`¯'RA€÷Aà§'RAë€À·äAž&RAàsA ¯'RA- åA£'RAÀ·äA ¯'RA@_ûA W'RAàsA #'RAÀ Aà 'RA€£ýA@ß&RA`KøA`½&RAHóAž&RAÀÂòAÀ±&RA£óAÀ¶&RAà×òA Æ&RA€ïðA»&RA ÞïAÀÁ&RAÀÉîA`½&RA@îAàÉ&RA ¤ïAàå&RAÀ_ïAó&RA ¢îA€ò&RA@íA Õ&RA 3ìA`Ü&RAà:ëAå&RA@-ìA`õ&RA ëìAÀ'RA „ïA'RA ÐïA`"'RA€ïA€*'RAàçìA 'RAÀvìAà3'RA`SîAK'RAÀÎîAb'RA “íA`i'RAà"ìA@h'RA€ùëA€w'RA`pêA@x'RA`ÍêA€_'RA_éAÀT'RA ÉèA@s'RA`“èAÀ„'RA@0çA Ž'RA †æAˆ'RAÀèA H'RAà“èAÀ;'RAà‹çA`6'RA@xåAà•'RA åA£'RAìÂ@AÀè%RA`u(A ®'RA4 %*/KA ®'RA`u(A|'RA'A s'RAx'AT'RA€Ž'A''RA &A'RAà„"A@ë&RAÀ¯A Ý&RA 8AàÙ&RAàìAàÍ&RA=%AÀ¯&RAÀÙ%AÀ­&RAàX#A@–&RA ¦A m&RA`¶AÀZ&RA ?A`9&RA §Aà&RA€ƒAàò%RA@AÀè%RA `A`ö%RAàHA ‡&RAàAÂ&RA`EA 'RAvA Q'RAÀA w'RA`ZA@—'RAKA ®'RAÀøA A'RA€sA P'RA ‚A@X'RAA K'RAÀøA A'RA€A@ 'RA`HA 'RA!AÀ'RA WA'RA€A@ 'RA@9Aà 'RA`¸A  'RA@iAà'RA AÀ'RA@9Aà 'RAŒA`ø&RA Aàú&RA€ÈA`'RA`IA 'RAŒA`ø&RA¹AÀö&RAÀ›A€ü&RAÀvA 'RAà§AÀü&RA¹AÀö&RAíx@½×A Æ&RA€èA ­'RA  åA£'RA@xåAà•'RAà‹çA`6'RA€èAÀ'RA@fæA@'RAôâA@ù&RA áAàï&RAÝÚA Æ&RA@½×A S'RA`ŸÙAq'RAàíâA ­'RA åA£'RAîH k AàŸ'RA@f Aà¬'RA`° AàŸ'RA k A€¨'RAà4 Aà¬'RA@7 A@©'RA@f A@¤'RA`° AàŸ'RAïøtOA 'RA@UA€¡'RA‡RA”'RAà(SAà—'RAàÈTA€¡'RA@UAà}'RA@øSAt'RA TAàn'RA@8SAàj'RAÀ_SA c'RA`8TA€g'RA@gTA@^'RAÀpSA`Y'RA@“SAS'RAà„TAàW'RA ›TA@T'RAÛTAàC'RA`UA <'RA/UA`7'RAmUA2'RA@ìQA 'RAÀÄQA "'RA ¤QA ('RAÀkQA 0'RAÀPQA€6'RAàQA ?'RAÀcPA@_'RAtOA ƒ'RA€wQA Ž'RA‡RA”'RAð@@FQA Ž'RA‡RAàœ'RA‡RA”'RA€wQA Ž'RA@FQA —'RA@?RAàœ'RA‡RA”'RAñ@é A@‹'RA€Ü A`›'RA€0 A@‹'RAé AÀ•'RAš A`›'RA€Ü A ‘'RA€0 A@‹'RAòà5_A Î&RA€›lA`'RA5_A~'RA€—bAŒ'RA ¹hA`'RA@ÜhAŠ'RAÀ^iA l'RAÀ·iA€^'RA æiA`S'RA“kA`^'RA€›lA3'RAÛjA &'RAöjAÀ'RAZgA 'RA ·fA`('RAàùeA@#'RAÀëbAÀ'RA HdAØ&RA@™bA Î&RAàbA æ&RAvaA`'RA@aA€'RAàË`A ('RA@`A M'RAÀˆ_A k'RAK_A@v'RA5_A~'RAóØ ¹hA 'RA`ltA`'RA ¹hA`'RA`äjA'RAÀÎmA Ž'RAàÞrA Š'RAàsA`‚'RA€ZsAàt'RAÀasA p'RA@ŽsAÀi'RAàúsAàT'RA`ltA`>'RAàjqAà-'RA†qA('RA@]oA@'RA`)oA€''RAÀGkA 'RAöjAÀ'RAÛjA &'RA€›lA3'RA“kA`^'RA æiA`S'RAÀ·iA€^'RAÀ^iA l'RA@ÜhAŠ'RA ¹hA`'RAôà †æAå&RA ÐïA Ž'RAà“èAÀ;'RAÀèA H'RA †æAˆ'RA@0çA Ž'RA`“èAÀ„'RA ÉèA@s'RA_éAÀT'RA`ÍêA€_'RA`pêA@x'RA€ùëA€w'RAà"ìA@h'RA “íA`i'RAÀÎîAb'RA`SîAK'RAÀvìAà3'RAàçìA 'RA€ïA€*'RA ÐïA`"'RA „ïA'RA ëìAÀ'RA@-ìA`õ&RAà:ëAå&RA`TêA ô&RAàýèA`+'RAà“èAÀ;'RAõ@€d AÀ|'RA <A Š'RAÀ AÀ|'RA€d A …'RAÿ A Š'RA <A'RAÀ AÀ|'RAöèàÞrA ñ&RA৉A Š'RAàÞrA Š'RA€`‡A 'RAˆ‡AÀ{'RAà/ˆA€X'RA l‰A ''RA৉A 'RA FˆA€'RAà‡A  'RA€á…A'RA §„A`û&RA@ƒA ñ&RA`’A€0'RA€€€AÀ*'RA ÔA&'RA€a~A 'RAàÿ|A€'RA º|AÀ'RA ›zA`'RA yA ü&RA@rxA ù&RA vAi'RA@ŽsAÀi'RAÀasA p'RA€ZsAàt'RAàsA`‚'RAàÞrA Š'RA÷@@ÑAA`}'RA ©BA ‰'RA@ÑAA …'RA BA ‰'RA ©BA€'RAÀBA`}'RA@ÑAA …'RAø8`xNA n'RAtOA ƒ'RAtOA ƒ'RA`ÌNA n'RA`xNA€|'RAtOA ƒ'RAù8€`‡AÀ&RA௕A`'RA$€`‡A 'RA€Ñ‹A €'RA@qŽA`'RA ŽA@s'RA lAÀ('RA€{‘AÀ-'RA É’Aàú&RA€“A÷&RA`G“A Ý&RA ’A€à&RAàœ‘Aà¾&RA÷A “&RAàx”Aà‡&RA௕Aàƒ&RAà>•Ah&RAæ”A 5&RA@p•A&RA„•Aà&RA j”A`&RAÀÍ“A  &RA€b“AÀ&RA` “AÀ&RA€A &RAÀñA€ &RA€åAà&RA`tAÀ4&RA`EAà=&RA`¤ŽA Q&RAÀ—ŒA€¡&RAQ‹A Ð&RA 1‹AÀÛ&RA৉A 'RA l‰A ''RAà/ˆA€X'RAˆ‡AÀ{'RA€`‡A 'RAúx ŽA „&RA /´A`'RA,@qŽA`'RA¤AÀu'RA@(±A p'RA@¥²Aà,'RA /´A€ò&RA @®A`Î&RA ›¨A«&RA ¦A œ&RA ¢A „&RA@´¡A€—&RAÀÕ£A ¦&RA€R£A@»&RA`¥¢A€Ù&RAàš¡AÀÓ&RA AÀÌ&RAÔŸA€ß&RAÀZ¡A`ä&RA€—¢A`ù&RA —£Aàó&RAÀ#¤A 'RA`€£A`&'RA…¢Aà"'RA€÷¡A -'RAà‚¡A 4'RA`ó¡A@D'RA`ПA€Q'RA@üA H'RAà•žAà3'RA`mA`)'RA€´›A`'RA@,›A`-'RA¢œAà<'RAÀœA@J'RAˆ–AN'RA@X–A ='RA€}˜Aà,'RA@˜A€'RA R–A 'RA€*”A 2'RA`“A 2'RA€{‘AÀ-'RA lAÀ('RA ŽA@s'RA@qŽA`'RAû @øSA2'RAWAà}'RA TAàn'RA@øSAt'RA@UAà}'RAàSVA ]'RA@ VAÀL'RAÀÇVA E'RA@ïVAà?'RAWAÀ;'RAmUA2'RA/UA`7'RA`UA <'RAÛTAàC'RA ›TA@T'RAà„TAàW'RA@gTA@^'RA`8TA€g'RA TAàn'RAü@@8SA c'RA`8TAàn'RA TAàn'RA`8TA€g'RAÀ_SA c'RA@8SAàj'RA TAàn'RAýØ RNA Æ&RAvaA k'RAWAÀ;'RA`¶WA ?'RA'YA H'RA€ [A€Q'RA “\AàX'RAÀˆ_A k'RA@`A M'RAàË`A ('RA@aA€'RAvaA`'RA ·^A`÷&RA ^A`'RA`t[A` 'RA ¼ZAÀ'RAÀXA ú&RA øVA€ð&RAàtSAÀÚ&RA`gQAàÎ&RAÀâOA Æ&RA`OA`é&RA RNAà'RA@ìQA 'RAmUA2'RAWAÀ;'RAþ@ŽsA —&RA‚AÀi'RA `ltA`>'RAàúsAàT'RA@ŽsAÀi'RA vAi'RA@rxA ù&RA yA ü&RA ›zA`'RA º|AÀ'RAàÿ|A€'RA€a~A 'RA .AÀ÷&RAÀ—€A 'RA‚A ¿&RA`¸A€¿&RA Y€A Ã&RA€î~A@È&RAM~A Ì&RA ó|A Í&RA@·{A Ò&RA@V{A Ò&RA ÿyAàÙ&RA  yAÀÚ&RA ÓzA §&RA jyA€¡&RA #xA —&RAàÊwA ©&RA@övAàË&RA KvAÀå&RA`5vAàë&RA€~uA  'RA@ôtA€#'RA`ltA`>'RAÿhx'A''RA€(-AÀe'RA x'AT'RA .)A€Y'RAàë*A `'RAàØ,AÀe'RA€(-A@6'RA@%+A3'RAr*A`0'RA€l)A€,'RA€Ž'A''RAx'AT'RA@ÀNA T'RAà)OA@`'RAà)OA€Y'RA`8NA T'RAÀNA€['RAOA@`'RAà)OA€Y'RAâ€ñ=A@&RAà@SA@_'RA94à)OA€Y'RAÀcPA@_'RAàQA ?'RAÀPQA€6'RAÀkQA 0'RA ¤QA ('RAÀÄQA "'RA@ìQA 'RA RNAà'RA`OA`é&RAÀâOA Æ&RAà›PAà¥&RAKQA ƒ&RA RA@d&RAÅRA G&RA@SA`@&RAà@SA ;&RA ERAà3&RAÀ6PA@&RA@ OA &RA fMA`.&RA !MA >&RA@>MAÀa&RA ^LA k&RAàeKAàl&RA œJAh&RA@IA O&RA`HA`M&RAHGA S&RA@æDAà…&RA ™DA`†&RAà-BA`Ž&RA@ÙAA@&RA€G?Aà}&RA`>A }&RA`>A`‡&RA>Aà&RA@>A µ&RA€ñ=AàË&RAà>A@Í&RA ‡?A€×&RA@ABA€é&RA@eAA'RA ?DA€'RA ßEA#'RA€%GA`,'RA`úIAÀ;'RA@ÀLA L'RA`8NA T'RA€NA€I'RA gOA`N'RAà)OA€Y'RA ’NA¸&RA>OA º&RA€OA Á&RA VNAà¼&RA ’NA¸&RA@ÀpSAS'RAà„TA@^'RA@gTA@^'RAà„TAàW'RA@“SAS'RAÀpSA`Y'RA@gTA@^'RA@`8NA€I'RA gOA€Y'RA`8NA T'RAà)OA€Y'RA gOA`N'RA€NA€I'RA`8NA T'RA@A A'RA€sA@X'RAÀøA A'RAA K'RA ‚A@X'RA€sA P'RAÀøA A'RA(àx”A j&RAÀ#¤A€Q'RA"àx”Aà‡&RA X•AàÄ&RAÀL•A`Ö&RA ì•A€æ&RAà[˜A Ã&RA@šAÀ¿&RA “›AÀÅ&RA êAÀë&RA áA 'RA`mA`)'RAà•žAà3'RA@üA H'RA`ПA€Q'RA`ó¡A@D'RAà‚¡A 4'RA€÷¡A -'RA…¢Aà"'RA`€£A`&'RAÀ#¤A 'RA —£Aàó&RA€—¢A`ù&RAÀZ¡A`ä&RAÔŸA€ß&RA AÀÌ&RAàš¡AÀÓ&RA`¥¢A€Ù&RA€R£A@»&RAÀÕ£A ¦&RA@´¡A€—&RA ¢A „&RAžA j&RA‚œA o&RA௕Aàƒ&RAàx”Aà‡&RA÷Aà‡&RA êAN'RA€{‘AÀ-'RA`“A 2'RA€*”A 2'RA R–A 'RA@˜A€'RA€}˜Aà,'RA@X–A ='RAˆ–AN'RAÀœA@J'RA¢œAà<'RA@,›A`-'RA€´›A`'RA`mA`)'RA áA 'RA êAÀë&RA “›AÀÅ&RA@šAÀ¿&RAà[˜A Ã&RA ì•A€æ&RAÀL•A`Ö&RA X•AàÄ&RAàx”Aà‡&RA÷A “&RAàœ‘Aà¾&RA ’A€à&RA`G“A Ý&RA€“A÷&RA É’Aàú&RA€{‘AÀ-'RAðàìAÀ­&RAàÐ5A€G'RA€Ž'A''RA€l)A€,'RAr*A`0'RA@%+A3'RA€(-A@6'RAà-A 'RA`é-A`'RAàá.A'RA`û/AÀ'RAß/Aà:'RAà×/A€A'RA`r0A€G'RAÀ 4A 7'RA ¸5A5'RAà¨5A %'RAà¿5A€'RAàÐ5A ö&RAÀ#,Aà®&RA€ý&AÀº&RAÀÙ%AÀ­&RA=%AÀ¯&RAàìAàÍ&RA 8AàÙ&RAÀ¯A Ý&RAà„"A@ë&RA &A'RA€Ž'A''RAÀGkA€~&RA@KxA`>'RAÀGkA 'RA`)oA€''RA@]oA@'RA†qA('RAàjqAà-'RA`ltA`>'RA@ôtA€#'RA€~uA  'RA`5vAàë&RA KvAÀå&RA@övAàË&RAàÊwA ©&RA #xA —&RA@KxA€&RAàvA@„&RAouA €&RAvtA€~&RA@BtA€Š&RA`¦tA –&RAàˆuAàš&RA ïtA ²&RAÀËsAÞ&RAáqA Ò&RA ÅpAË&RA ©oAÅ&RA`ynAà¾&RA`‡mAàí&RAãkA ð&RA€–kA'RAÀGkA 'RA Øà‹çA@q&RA£óAÀ;'RAà‹çA`6'RAà“èAÀ;'RAàýèA`+'RA`TêA ô&RAà:ëAå&RA 3ìA`Ü&RA@íA Õ&RA ¢îA€ò&RAÀ_ïAó&RA ¤ïAàå&RA@îAàÉ&RAÀÉîA`½&RA ÞïAÀÁ&RA€ïðA»&RAà×òA Æ&RA£óAÀ¶&RAÀÂòAÀ±&RAHóAž&RA@,ïA ƒ&RA@ ìA@q&RA QêA@¾&RAèA`'RA€èAÀ'RAà‹çA`6'RA à€a~A€¡&RAÀ—ŒA€0'RA€a~A 'RA ÔA&'RA€€€AÀ*'RA`’A€0'RA@ƒA ñ&RA §„A`û&RA€á…A'RAà‡A  'RA FˆA€'RA৉A 'RA 1‹AÀÛ&RAQ‹A Ð&RAÀ—ŒA€¡&RA`;‹A`£&RAàëŠA ¥&RAÀ{‰A€¨&RAÀè‡A`¬&RAàU†A`²&RAl…A´&RA€P„Aà·&RAÀRƒA º&RA‚A ¿&RAÀ—€A 'RA .AÀ÷&RA€a~A 'RA À@™bA€¢&RA wlA`('RAöjAÀ'RAÀGkA 'RA€–kA'RAãkA ð&RA wlA€Õ&RA kAÀÍ&RA`0jA€È&RA ìhA Á&RAàhA½&RAà”gAà¹&RA`”fA@µ&RA@&eA ¬&RA@wcA€¢&RA ÃbA Æ&RA@™bA Î&RA HdAØ&RAÀëbAÀ'RAàùeA@#'RA ·fA`('RAZgA 'RAöjAÀ'RA È úA B&RAàA #'RAàsA #'RA`EA 'RAàAÂ&RA`M A Ÿ&RA€÷ A€ƒ&RA€* A y&RA€|AÀa&RA 'A Z&RAÀ+A@^&RA@ãA e&RA`FAÀh&RAàXþA[&RA ÌýA B&RAüA€H&RA@èûA\&RA úA &RA@/üA œ&RAÀ§ûAÀ³&RA@<þA`Å&RA€£ýA@ß&RAÀ Aà 'RAàsA #'RA À‰ØA G&RA@ ìAÀ'RA áAàï&RAôâA@ù&RA@fæA@'RA€èAÀ'RAèA`'RA QêA@¾&RA@ ìA@q&RA „æAÀN&RA€³åA t&RAà.äA`n&RAÀ³áAàe&RA` àAa&RAà{ßA^&RA`ÞAÀR&RA ÐÜA G&RA@ËÛA@G&RA€hÚA`W&RAåÙA€]&RA`(ÙA`e&RA 1ÙA`z&RA`ÐØAÀ&RAÀ‰ØA`—&RA`™ØAà¡&RA€ÙAÀ&RAÀÜA º&RA`[ÝAà³&RAÞA`Â&RAÀ<âAÀß&RA áAàï&RA@ WA@ 'RA`HAÀ'RA€A@ 'RA WA'RA!AÀ'RA`HA 'RA€A@ 'RAÐ:YA`-&RA`ødA`'RA ¼ZAÀ'RA`t[A` 'RA ^A`'RA ·^A`÷&RAvaA`'RAàbA æ&RA@™bA Î&RA ÃbA Æ&RA@wcA€¢&RA`+dA ~&RAàÆdA`b&RA`ødA@\&RAÀ“bA P&RA¸_AÀM&RA€\A -&RA€"[A`-&RA`îZA€0&RAÀÿYAào&RA:YAà&RA ï\A€¤&RA`8\A Ä&RAÀw[Aàä&RA ¼ZAÀ'RA@ Aà 'RA`¸Aà'RA@9Aà 'RA AÀ'RA@iAà'RA`¸A  'RA@9Aà 'RA ÀÙ%A Œ&RA G=AÀ 'RAàÐ5A ö&RA y8AÀ 'RAF<AÀ'RA G=A æ&RAÀ=A ä&RA`ý:A Ô&RA@€;A ¾&RA@É8A °&RA !6A@¡&RAÀ;6Aà&RA p1A Œ&RAà¯)AàŸ&RA€X&A@«&RAÀÙ%AÀ­&RA€ý&AÀº&RAÀ#,Aà®&RAàÐ5A ö&RAÈÀâOA ;&RAÀw[AÀ'RA ¼ZAÀ'RAÀw[Aàä&RA@»WA Ï&RA€0TAÀ¹&RAÀÚTAÀ™&RA€–UA z&RAïUA b&RA@¦UA`W&RA óUA`P&RA@VA€J&RAà@SA ;&RA@SA`@&RAÅRA G&RA RA@d&RAKQA ƒ&RAà›PAà¥&RAÀâOA Æ&RA`gQAàÎ&RAàtSAÀÚ&RA øVA€ð&RAÀXA ú&RA ¼ZAÀ'RA@`IA`ø&RA A`'RAŒA`ø&RA`IA 'RA€ÈA`'RA Aàú&RAŒA`ø&RA@à§AÀö&RAÀ›A 'RA¹AÀö&RAà§AÀü&RAÀvA 'RAÀ›A€ü&RA¹AÀö&RAžAàÔ%RA`zºA€ò&RA ¢A „&RA ¦A œ&RA ›¨A«&RA @®A`Î&RA /´A€ò&RA$µA€Å&RA ß¶Ax&RA`zºAàÔ%RA ,¶AÜ%RA¯Aà&RA@©A`9&RAÀG¤A P&RAžA j&RA ¢A „&RAÀ!®Aàq&RAÀ¯A t&RA@ˆ¯A@x&RA i±A ˆ&RA`–²A &RA Ë±A¸&RA ±A€É&RA`c°A Ì&RA`î¯A€É&RA`îA`½&RAÀ/­A «&RA@¬A ¤&RAh¬A@–&RA ­A@x&RAÀ!®Aàq&RAx@wcA/&RA`³yA ð&RA,@wcA€¢&RA@&eA ¬&RA`”fA@µ&RAà”gAà¹&RAàhA½&RA ìhA Á&RA`0jA€È&RA kAÀÍ&RA wlA€Õ&RAãkA ð&RA`‡mAàí&RA`ynAà¾&RA ©oAÅ&RA ÅpAË&RAáqA Ò&RAÀËsAÞ&RA ïtA ²&RAàˆuAàš&RA`¦tA –&RA@BtA€Š&RAvtA€~&RAouA €&RAàvA@„&RA@KxA€&RA ÝxAày&RA`³yA ?&RA ³yAÀ9&RA ~yA 3&RA EyA/&RAàxA`6&RAà uA€B&RAà\sA @&RAÀopA@@&RAcoA@&RA ÜnA@&RA€nAà@&RA€OjA6&RAàïgA g&RA€]gA p&RA`fAo&RA`ødA@\&RAàÆdA`b&RA`+dA ~&RA@wcA€¢&RAˆ`üÊA@n%RA@ ìAàï&RA.ÝÚA Æ&RA áAàï&RAÀ<âAÀß&RAÞA`Â&RA`[ÝAà³&RAÀÜA º&RA€ÙAÀ&RA`™ØAà¡&RAÀ‰ØA`—&RA`ÐØAÀ&RA 1ÙA`z&RA`(ÙA`e&RAåÙA€]&RA€hÚA`W&RA@ËÛA@G&RA ÐÜA G&RA`ÞAÀR&RAà{ßA^&RA` àAa&RAÀ³áAàe&RAà.äA`n&RA€³åA t&RA „æAÀN&RA@ ìA@q&RAÀÄÞAÏ%RA€œáA à%RAÀãA Ï%RA ÷ãA ¾%RAÀdáAÀ©%RA@àA`¡%RA ¾àAà‚%RAà'ßA`z%RAŠÝA@n%RA€½ÛA`¼%RA ,ÚAÀ&RAÀ#ÌA`¡%RA€ÌËA %RA`üÊAÀ®%RA€gËA °%RA`?ÕAé%RAñÙAà&RA€ÑØA C&RAØAàj&RAà×Aà&RAà8×A¯&RAÝÚA Æ&RA¸ !6AàN&RA >A æ&RA G=A æ&RA€ñ=AàË&RA ½=AàÊ&RA`î<A Æ&RA =A`¯&RA <=A`ž&RAÀ@=A€—&RAàu=Aw&RA >A X&RAàç:AàN&RAàv6A T&RA \6A`j&RA T6A †&RAÀ;6Aà&RA !6A@¡&RA@É8A °&RA@€;A ¾&RA`ý:A Ô&RAÀ=A ä&RA G=A æ&RA`€0TAà&RA ï\Aàä&RA ÀÚTAÀ™&RA€0TAÀ¹&RA@»WA Ï&RAÀw[Aàä&RA`8\A Ä&RA ï\A€¤&RA:YAà&RAàvXA ®&RAÀÚTAÀ™&RA°`KøA &RA@<þA@ß&RA`KøA`½&RA€£ýA@ß&RA@<þA`Å&RAÀ§ûAÀ³&RA@/üA œ&RA úA &RA@èûA\&RAüA€H&RA ÌýA B&RA!ýA "&RAÀ»úAÀ&RA`kùA &RA@aøAÀ7&RA@|úAÀN&RA€ùA a&RA høA &RA ³øAÀŽ&RA éøA ¤&RA`KøA`½&RA #xA`Ô%RA !…AÀÚ&RA  #xA —&RA jyA€¡&RA ÓzA §&RA  yAÀÚ&RA ÿyAàÙ&RA@V{A Ò&RA@·{A Ò&RA ó|A Í&RAM~A Ì&RA€î~A@È&RA Y€A Ã&RAlA’&RAà‚A z&RA@ƒA€&RAÀúƒA Z&RA@ë‚A@S&RA@Ü„A ÿ%RAÀ …Aú%RA !…A@÷%RA …A ô%RA@©„A ß%RA€’ƒA Þ%RA@ ƒA@Õ%RAàþA`Ô%RA g|A  &RA EyA/&RA ~yA 3&RA ³yAÀ9&RA`³yA ?&RA ÝxAày&RA@KxA€&RA #xA —&RAh¬Aàq&RA`–²A Ì&RAÀ!®Aàq&RA ­A@x&RAh¬A@–&RA@¬A ¤&RAÀ/­A «&RA`îA`½&RA`î¯A€É&RA`c°A Ì&RA ±A€É&RA Ë±A¸&RA`–²A &RA i±A ˆ&RA@ˆ¯A@x&RAÀ¯A t&RAÀ!®Aàq&RA `î<Aà&RA ¹KAàË&RA! >A X&RAàu=Aw&RAÀ@=A€—&RA <=A`ž&RA =A`¯&RA`î<A Æ&RA ½=AàÊ&RA€ñ=AàË&RA@>A µ&RA>Aà&RA`>A`‡&RA`>A }&RA€G?Aà}&RA@ÙAA@&RAà-BA`Ž&RA ™DA`†&RA@æDAà…&RAHGA S&RA`HA`M&RA@IA O&RA œJAh&RAàeKAàl&RA ~KAÀh&RA ¹KAP&RA`¦JA@9&RAJAÀ7&RA¶FA .&RAàfFA :&RA€×EA M&RA€BAà&RA x@A`,&RAàè>A`H&RA >A X&RA Y€A@÷%RAÀñA Ã&RA Y€A Ã&RA`¸A€¿&RA‚A ¿&RAÀRƒA º&RA€P„Aà·&RAl…A´&RAàU†A`²&RAÀè‡A`¬&RAÀ{‰A€¨&RAàëŠA ¥&RA`;‹A`£&RAÀ—ŒA€¡&RA`¤ŽA Q&RA`EAà=&RA`tAÀ4&RA€åAà&RAÀñA€ &RA A€&RA î‹AÀ&RAàUˆA`&RA ì†A &RAÀú…A &RA !…A@÷%RAÀ …Aú%RA@Ü„A ÿ%RA@ë‚A@S&RAÀúƒA Z&RA@ƒA€&RAà‚A z&RAlA’&RA Y€A Ã&RA``óA ‹$RAàHAÂ&RA)À+A@^&RA 'A Z&RA€|AÀa&RA€* A y&RA€÷ A€ƒ&RA`M A Ÿ&RAàAÂ&RAàHA ‡&RA `A`ö%RA@AÀè%RA@' AÀŽ%RA : A@}%RA  A`(%RAàÔA %RA`/A@þ$RAÀjÿA`±$RA ôùA ‹$RA€†øA€‘$RAÀÿöA’$RA ÛöAÀœ$RA`ýõA`Ã$RAÀfõA€Ø$RAÀõA€â$RA`óA +%RA@üôAà3%RAí÷AF%RA@qÿAÀv%RA€´ÿA@w%RAÀ‰Aàˆ%RA@.A %RA A “%RAÀÇAàœ%RAàFA`¡%RAàÒA â%RA€WA ê%RA€GA€ö%RA€sA &RA„A`;&RA –AÀ1&RA àAàM&RAÀ+A@^&RA @ VNA¸&RA>OA Á&RA ’NA¸&RA VNAà¼&RA€OA Á&RA>OA º&RA ’NA¸&RA!@,ïA  %RA@|úA`½&RAHóAž&RA`KøA`½&RA éøA ¤&RA ³øAÀŽ&RA høA &RA€ùA a&RA@|úAÀN&RA@aøAÀ7&RA`kùA &RAÀõAÀî%RAÀ§õAà×%RA`øA@æ%RAhøA@×%RA ÷A`É%RA`öAÀ%RAà§öA ª%RAõA  %RAÀôAË%RA@øòAÍ%RAÀÆòA ©%RA@`ñA€¦%RA ±ñA€»%RAà\ñA@ê%RA ïAà &RAÀñA6&RA`›ðA€G&RA GðA@U&RA@,ïA ƒ&RAHóAž&RA"€ÀÚTA€0&RA`îZA ®&RA ÀÚTAÀ™&RAàvXA ®&RA:YAà&RAÀÿYAào&RA`îZA€0&RA`ÇXA Q&RA AXA@U&RA@VA€J&RA óUA`P&RA@¦UA`W&RAïUA b&RA€–UA z&RAÀÚTAÀ™&RA#ðàX#A&RA`6AÀ­&RAàX#A@–&RAÀÙ%AÀ­&RA€X&A@«&RAà¯)AàŸ&RA p1A Œ&RAÀ;6Aà&RA T6A †&RA \6A`j&RAàv6A T&RA`6A 6&RAà34AÀ1&RA ÿ3A e&RA€ë2A€e&RA ¾1Ab&RA h/AÀ\&RA@ -A`Y&RA€+,AÀR&RA#+A€F&RAÀ)A 0&RA@t'A&RA'A&RAÀÿ%Aà[&RA d%A€{&RA`S%A ~&RAÀÊ$AÀ„&RA#A`’&RAàX#A@–&RA$( ƒ A %RA'A@–&RA"àX#A@–&RA#A`’&RAÀÊ$AÀ„&RA`S%A ~&RA d%A€{&RAÀÿ%Aà[&RA'A&RAÀ¬&Aà&RA€w%A &RAÀk#Aõ%RA@"Aàé%RAÀß$A­%RAàÊ$AÀš%RA€ì!A`•%RA€` Aà‘%RA€A@‘%RAÀ©A ²%RAà7Aà¼%RAàAÀ’%RA`KA%RA4A`u%RABA j%RA€¤A@D%RA vA@7%RAà–A %RA ƒ Aˆ%RA ØA€Ù%RA@AÀè%RA€ƒAàò%RA §Aà&RA ?A`9&RA`¶AÀZ&RA ¦A m&RAàX#A@–&RA%æ”A”%RA@»Aàƒ&RA/௕Aàƒ&RA‚œA o&RAžA j&RAÀG¤A P&RA@©A`9&RA¯Aà&RA ,¶AÜ%RA`zºAàÔ%RA@»AÀ·%RA€ºA€¦%RA`¸¸A”%RA Ó¶A€–%RA`JµAÀ¤%RA@/´A¶%RA #°A`%RA`®A š%RAàn©AÀ¼%RA n©AÀ·%RAÀ©A€¹%RA »¨Aº%RA€¢¨A ¶%RAD¨A@µ%RA ¶¦A€À%RAï¤A`É%RA Ó¤A Ë%RAàÓ¤AÒ%RAÀŸ¤A€Ô%RA ì£AÀÖ%RA£A€Ö%RA¢A Ü%RA€O¡A à%RA^ Aà%RAÀßA Þ%RA`NžA€Ü%RA`»A`Ø%RAœAàÐ%RA EšA@Ñ%RA ë™AÀÕ%RAÀ¨™A Ý%RA`—A ÿ%RAå–A&RAA–A &RA„•Aà&RA@p•A&RAæ”A 5&RAà>•Ah&RA௕Aàƒ&RA&h@ ìAà &RAÀñA ƒ&RA @ ìA@q&RA@,ïA ƒ&RA GðA@U&RA ïA`O&RAÙïAàB&RA`›ðA€G&RAÀñA6&RA ïAà &RA@ÇíA€&RA@ ìA@q&RA'ØŠÝA ò$RAÀ'óA@q&RA@ ìA@q&RA@ÇíA€&RA ïAà &RAà\ñA@ê%RA ±ñA€»%RA@`ñA€¦%RAÀðAÀ—%RAÀ'óA@*%RA sîAà %RAà>êA ò$RA`\èAÀù$RA`/äAà%RAàÿÞA )%RA€‚ÞA @%RAŠÝA@n%RAà'ßA`z%RA ¾àAà‚%RA@àA`¡%RAÀdáAÀ©%RA ÷ãA ¾%RAÀãA Ï%RA€œáA à%RAÀÄÞAÏ%RA@ ìA@q&RA(`ødAà«%RAÀPuA p&RA`ødA@\&RA`fAo&RA€]gA p&RAàïgA g&RA€OjA6&RA€nAà@&RA ÜnA@&RAcoA@&RAÀopA@@&RA|pAà<&RAÜpA  &RA MqA &RA ÀrA&RA€XtA@ &RAÖtA@ç%RAÀPuAÀ¿%RA §sA€¼%RA@rA`º%RA@­pA`·%RAàälA °%RAÀ”kAà«%RA€gjA å%RA@¸iA &RAÀühAÀ.&RA@2hA R&RA ÆfA€K&RA`leA€D&RA@ eAàX&RA`ødA@\&RA)àeKA µ%RAàUAàl&RA ¹KAP&RA ~KAÀh&RAàeKAàl&RA ^LA k&RA@>MAÀa&RA !MA >&RA fMA`.&RA@ OA &RAÀ6PA@&RA ERAà3&RAà@SA ;&RA€^SA@7&RA SAà)&RA@þSAÀ &RAÀ)QA&RA€÷OA€&RA`A X&RAàè>A`H&RA x@A`,&RA€BAà&RA€–?A` &RA@“=A@&RA `;A &RA ”9A`&RA€Ñ7Aàü%RA º6A€û%RA ¥6Aà &RAÀ 6A &RA`6A 6&RAàv6A T&RA.@ ïAàB&RA`›ðA@U&RA GðA@U&RA`›ðA€G&RAÙïAàB&RA ïA`O&RA GðA@U&RA/¸à@SA Î%RAÀKbA@U&RAà@SA ;&RA@VA€J&RA AXA@U&RA`ÇXA Q&RA`îZA€0&RA€"[A`-&RA€\A -&RA¸_AÀM&RA Ø_A H&RAÀKbA`á%RAà®aA ß%RA`ø^A@Ü%RA`”WA Î%RA éVAÙ%RAÅUAü%RAðTAÀ&RA@[TA &RAàõSA ,&RA€^SA@7&RAà@SA ;&RA0¶FA ë%RA`ÂMAP&RA¶FA .&RAJAÀ7&RA`¦JA@9&RA ¹KAP&RAà.LA +&RA`lLA`&RA@tMAÀ&RA`ÂMA ý%RAÀóLAû%RA€µLAû%RA€­KA ÷%RAFHA ë%RA@ÏGAÀû%RAÀ]HA` &RA¶FA .&RA1h€BAàÞ%RA@ÏGA M&RA €BAà&RA€×EA M&RAàfFA :&RA¶FA .&RAÀºFAà)&RA@ÏGAÀû%RA ƒEA€ë%RA PCAàÞ%RA@!CA`ç%RA€BAà&RA2°ÀopAÀ¿%RA EyA€B&RAÀopA@@&RAà\sA @&RAà uA€B&RAàxA`6&RA EyA/&RA 'yA ,&RA@xxA&RArwAÀ&RA`wAàõ%RAÀˆvA€Ö%RAÀLvAàÍ%RAÀPuAÀ¿%RAÖtA@ç%RA€XtA@ &RA ÀrA&RA MqA &RAÜpA  &RA|pAà<&RAÀopA@@&RA3è€^SA@Q%RA`¶\A@7&RA@þSAÀ &RA SAà)&RA€^SA@7&RAàõSA ,&RA@[TA &RAðTAÀ&RAÅUAü%RA éVAÙ%RA`”WA Î%RA`¯WA@Æ%RA A¶%RAü;Aà²%RA ¿;A@Ú%RA `;A &RA:p`A¶%RAà@@A`º%RA “@A`”%RA J>A`‘%RAÀ?<A%RAà¸:AàŠ%RA@w8A …%RA 7A ‚%RAô6Aà˜%RA`Ê6A §%RA€ð6A¸%RA`Û6AàÑ%RA ²6AÀð%RA º6A€û%RA=ˆ€ÌËA %RA€‚ÞAÀ&RA€ÌËA %RAÀ#ÌA`¡%RA ,ÚAÀ&RA€½ÛA`¼%RAŠÝA@n%RA€‚ÞA @%RAà/ÝA`%RA@ñÜA %RA`ôÚA '%RA€ûØA@-%RA !ÓA ,%RAàÐA€A%RAà`ÎAÀ`%RA€ÌËA %RA>˜ PCA  %RAàÐMAÀû%RA@ÏGAÀû%RAFHA ë%RA€­KA ÷%RA€µLAû%RAÀóLAû%RAàÐMAà½%RA OLAà¼%RA`“IAÀµ%RAÀpIAÀº%RA@,GA­%RA@êDA  %RALDAÀµ%RA€úCA€Â%RA PCAàÞ%RA ƒEA€ë%RA@ÏGAÀû%RA?@à®|A€è%RAÀô}AÀö%RAÀ¿|A€è%RAà®|AÀö%RAÀô}A ñ%RA€Û}Aê%RAÀ¿|A€è%RA@0ÀjÛAà"$RA@AÀè%RA#@AÀè%RA ØA€Ù%RA ƒ Aˆ%RAà–A %RAa A`î$RA”A€Å$RAÀÿA œ$RAÀxûAàf$RA ûõA€S$RA „ñAà"$RA€ÞéA€[$RAèA d$RA ¯äA z$RAæÜA`_$RA€ÜA €$RAàLÜA@š$RA$ÜA±$RAÀjÛA@ï$RAÀ­ÜAÀ %RA@ñÜA %RA@báAá$RA€äAàÕ$RA€KçA€·$RABëA¦$RAÀëïAÀ“$RAÀÿöA’$RA€†øA€‘$RA ôùA ‹$RAÀjÿA`±$RA`/A@þ$RAàÔA %RA  A`(%RA : A@}%RA@' AÀŽ%RA@AÀè%RAAÈ`”WA`M%RAàÃfA`á%RA`”WA Î%RA`ø^A@Ü%RAà®aA ß%RAÀKbA`á%RA@!dA€“%RA@‰dA€†%RA€ eA`{%RAàÃfA`^%RA€DeAà[%RA UcA Z%RA ú_A€R%RA`d^A`Q%RA`ñ\A`M%RA`¶\Aà\%RAÀg\A u%RAàY\A`Œ%RA „[AÀ’%RA ¬ZA Ÿ%RA@iYA®%RA A`‘%RA “@A`”%RAOØ A@Ï$RAA#A`•%RA€` Aà‘%RA€ì!A`•%RA X"A|%RA Ø"A@`%RA #A H%RAA#A /%RA òA`"%RAàÿAà %RA ŒA@Ï$RA ‡A@Ô$RA€TAàÓ$RA€¾Aõ$RA ßA`%RA@ A@%RAà'A %RA A`%RA ýAà$%RA€A !%RA ÒA :%RA`)A@9%RA €A@r%RAA`v%RA€¢ AÀ{%RA€` Aà‘%RAP¨ xA`%RA€¢ Aà‘%RA€A@‘%RA€` Aà‘%RA€¢ AÀ{%RAA`v%RA €A@r%RA`)A@9%RA ÒA :%RA€A !%RA ýAà$%RA A`%RA $Aà1%RA`äA ;%RA@‹AàB%RA xA@Q%RA`A`|%RA€ÓAà†%RA@–A ‘%RA€A@‘%RAQ˜ 7Aàü$RAàZAA%RA 7A ‚%RA@w8A …%RAà¸:AàŠ%RAÀ?<A%RA@<Aj%RAÀÇ<AÀF%RAÀAA€O%RAàZAA .%RA š>A'%RA =AÀ#%RA (=A%RA€7Aàü$RA`G7A@%RA?7AÀ<%RAÀ,7A ^%RA 7A ‚%RAR€HvA€°$RAÀ°„A€‰%RAà´vA@†%RA@¦wAà„%RA  yA€‰%RAWzA u%RA O{A c%RA,|A@S%RA`„|AÀ4%RA Ó|AÀ%RAà×}A %RA O~A %RA@ïA %RA€+A %RAƒA`%RA@=ƒAÀ %RA`„Aà%RAÀ°„A Ü$RAÀ¾}A`Æ$RA`zA¼$RA@”xA µ$RA`ôvA€°$RAÀÔvAÀÁ$RA xAÇ$RA€ÓwA Ø$RA`jvAàÒ$RAàvA`%RA€HvA (%RA  wA€+%RA@twAC%RAÀïvA€r%RAà´vA@†%RAS@BAb%RAœA`u%RABA j%RA4A`u%RAœA k%RA€¬Ab%RABA j%RATp UcAÀò$RAàãjA`^%RA UcA Z%RA€DeAà[%RAàÃfA`^%RA`iA`2%RAàãjAàø$RA hAÀø$RA@fA ÷$RA SdAÀò$RA ÙcA€"%RA@ˆcA`?%RA UcA Z%RAU  KVAÀÛ$RA ^Aà\%RA KVA@Q%RA`¶\Aà\%RA`ñ\A`M%RA@ ]A`A%RA L]AÀ.%RA`S]Aà*%RAà]A`%RA ]A`%RA ^A`ç$RA 6[A@â$RA `YA`à$RA ÏWAÜ$RA}WAÀÛ$RAÀÇVAà%RAÀ»VA'%RA ”VAà7%RA KVA@Q%RAV˜`ñ\Aàæ$RA SdA Z%RA`ñ\A`M%RA`d^A`Q%RA ú_A€R%RA UcA Z%RA@ˆcA`?%RA ÙcA€"%RA SdAÀò$RA w`Aì$RA è^Aàæ$RA ^A`ç$RA ]A`%RAà]A`%RA`S]Aà*%RA L]AÀ.%RA@ ]A`A%RA`ñ\A`M%RAWH ÒAÀ:%RA`äA@Q%RA xA@Q%RA@‹AàB%RA`äA ;%RA ÒAÀ:%RA@ÖA@Q%RA xA@Q%RAXÀ\ÁAàÎ#RA ¦ÐA P%RAà€ÇA 7%RAhÊA&%RAºÍA@%RAà©ÍA@%RA rÎAàÍ$RA@–ÎA€³$RAkÎA ¥$RAÀ!ÎAÀ”$RAàŠÍA }$RA€¥ÍAàr$RA`ÀÍA j$RA€ÎAàJ$RAÀ>ÎA€:$RA``ÎA)$RAAÐA,$RAànÐAà$RA ¦ÐAàö#RA€³ÍA`ò#RAÎA à#RAÀ>ËAàÜ#RA`ŸÊA€Û#RAà×ÄA@Ð#RA ÄAàÎ#RA §ÂA`b$RAànÃA e$RAÀ\ÁA@D%RA 0ÂA@@%RA€ÐÂA P%RA@ŸÅAàH%RAà€ÇA 7%RAY@ vAÀ2%RA€ýA@D%RA vA@7%RA€¤A@D%RA€ýAà9%RA€=AÀ2%RA vA@7%RAZÀ@ñÜA’$RAÀÿöA @%RAÀ'óA@*%RA`óA +%RAÀõA€â$RAÀfõA€Ø$RA`ýõA`Ã$RA ÛöAÀœ$RAÀÿöA’$RAÀëïAÀ“$RABëA¦$RA€KçA€·$RA€äAàÕ$RA@báAá$RA@ñÜA %RAà/ÝA`%RA€‚ÞA @%RAàÿÞA )%RA`/äAà%RA`\èAÀù$RAà>êA ò$RA sîAà %RAÀ'óA@*%RA[¨`A` $RAÀ-A@7%RAà–A %RA vA@7%RAÀøA@%RApAÀ%RA )A@ú$RA 7Aè$RA`úAàÅ$RAÀ-Aàµ$RAÀóA§$RA`YA ¨$RA@OA`ª$RA QAà¦$RAôA€¢$RAÀQA` $RA`A€°$RA€ AÖ$RAàA ð$RAà–A %RA\èA#A °$RA ¢7A 6%RAA#A /%RA u$A`/%RAàç$A€*%RAà$A`#%RAÀ,&Aà%RA@&Aà%RA 4'A%RA€#(A %RA€ó+AÀ%RAÜ+A 3%RA Ì/A 6%RA@æ/A %RAà2A€%RAà«3A`%RAÙ4A %RA@6A`%RA`G7A@%RA€7Aàü$RA@w7A@ö$RAÀ‡7Aã$RA ¢7AÀÐ$RAà’7AÉ$RAÀò*A °$RAÀã)A€¶$RA À'A€Á$RAA#A /%RA]X òA y$RA@”%A /%RA òA`"%RAA#A /%RA Ú#Aàñ$RA€{$A â$RA€à$A`Î$RA@”%AÀ§$RA@8%A y$RA òA`"%RA^ÈA#A`I$RAÏ7A /%RAA#A /%RA À'A€Á$RAÀã)A€¶$RAÀò*A °$RAà’7AÉ$RAÏ7AŸ$RAL2Aà¦$RAàò/A€Ž$RAà+A …$RAàx*A€ƒ$RA`¸*Ak$RA€Õ*AÀ[$RA Þ*AM$RA u)A`K$RA ¹%A`I$RAu%Aà]$RA@8%A y$RA@”%AÀ§$RA€à$A`Î$RA€{$A â$RA Ú#Aàñ$RAA#A /%RA_À@w7AŸ$RA`ÖAA .%RAàZAA .%RA wAA€%RA€AAà%RA ©AA€é$RAÀ¹AAàÎ$RA`ÖAA ³$RA€"@A@¯$RA ‰=A`ª$RA@h=AÇ$RAàW:A€À$RA``:A@¤$RAÏ7AŸ$RAà’7AÉ$RA ¢7AÀÐ$RAÀ‡7Aã$RA@w7A@ö$RA€7Aàü$RA (=A%RA =AÀ#%RA š>A'%RAàZAA .%RA`@à$Aà%RA@&A€*%RAàç$A€*%RA@&Aà%RAÀ,&Aà%RAà$A`#%RAàç$A€*%RAað wAA ³$RAà–RAÀ(%RAÀpPAà%RA"RA@%RAà–RA`å$RA€¦NAàÞ$RAüMA@ø$RA óLA€î$RA`™LAàß$RA ÀKA`Ú$RALAÀÊ$RAÀÐJA`Æ$RA }GAÀÀ$RAàXDAà¹$RA`ÖAA ³$RAÀ¹AAàÎ$RA ©AA€é$RA€AAà%RA wAA€%RA ÎA€:$RA€ÎAàJ$RA`ÀÍA j$RA€¥ÍAàr$RAàŠÍA }$RAÀ!ÎAÀ”$RAkÎA ¥$RA@–ÎA€³$RA rÎAàÍ$RAà©ÍA@%RAºÍA@%RAg¨ )A`š$RAÀnAÀ%RApAÀ%RA &Aàþ$RA@A %RA@ A@%RA ßA`%RA€¾Aõ$RA€TAàÓ$RAÀnA€¾$RA@ûA€¬$RA@ÍAà$RA@»A`š$RA@˜A $RAÀóA§$RAÀ-Aàµ$RA`úAàÅ$RA 7Aè$RA )A@ú$RApAÀ%RAh ¹‹A î"RA@õ˜A`%RA ¹‹Aàï$RA±A`û$RA A ü$RAÀl’A`%RAà˜’AÀñ$RA€@“A@Å$RA@U˜AÀE#RA@õ˜A`#RA`L–A î"RA€—A@#RAÀL–A€@#RA á”AÀ=#RA Ý‘A ‹#RA`•A`ž#RA€àŽA¶#RA€¶ŽA€À#RA@·ŽAÔ#RA ¦ŽA`é#RA `‘A@ø#RA î’A@ü#RAà’A=$RA€†‘AV$RA€ A b$RA öA o$RAÃA`€$RAyA@“$RA@LA`—$RAÀ¹ŽA ¡$RAøŒA@¶$RA@~ŒA@»$RA`ŒA@Û$RA ¹‹Aàï$RAi° ^AÀ†$RA@cpAàø$RA SdAÀò$RA@fA ÷$RA hAÀø$RAàãjAàø$RA@klA€Ë$RA@cpAà˜$RA voA`•$RAàºlA`$RAÀßkA $RA€ÖkAÀ$RA øiA ž$RA`úiA`Œ$RAÀ_AÀ†$RA ^A`ç$RA è^Aàæ$RA` _A Ø$RA~`A@ß$RA w`Aì$RA SdAÀò$RAjÀ°„A€j$RAÀ¹ŽAàï$RAÀ°„A Ü$RA ¹‹Aàï$RA`ŒA@Û$RAàqŠAàÑ$RAàpŠA¸$RA@~ŒA@»$RAøŒA@¶$RAÀ¹ŽA ¡$RA 4A`Š$RAàÈ‹A`$RAÀ¢ŠA w$RA °ˆA€m$RAà†A€j$RA  …A»$RAÀ°„A Ü$RAk@ è^A Ø$RA~`Aì$RA è^Aàæ$RA w`Aì$RA~`A@ß$RA` _A Ø$RA è^Aàæ$RAl `zAà1$RA@†A Ü$RA`zA¼$RAÀ¾}A`Æ$RAÀ°„A Ü$RA  …A»$RAà†A€j$RA@†Aà3$RA`…Aà1$RA À„Aà1$RA 7‚A€C$RA€ãA Q$RA OA€x$RA ëA`v$RA€ô}A€o$RA|AÀy$RA ?{AÀ‰$RA@äzA€ª$RA`zA¼$RAm@àpŠA¸$RA@~ŒA@Û$RA`ŒA@Û$RA@~ŒA@»$RAàpŠA¸$RAàqŠAàÑ$RA`ŒA@Û$RAn Ï7A€]$RA úKAÇ$RA`ÖAA ³$RAàXDAà¹$RA }GAÀÀ$RAÀÐJA`Æ$RA@_KA€Ÿ$RA úKA t$RA@4CA@i$RA`Ý=Aàc$RA€Þ:A a$RA O8A€]$RAÏ7AŸ$RA``:A@¤$RAàW:A€À$RA@h=AÇ$RA ‰=A`ª$RA€"@A@¯$RA`ÖAA ³$RAo@cpAÀÐ#RA€ïˆA¼$RA@”xA µ$RA`zA¼$RA@äzA€ª$RA ?{AÀ‰$RA|AÀy$RA€ô}A€o$RA ëA`v$RA OA€x$RA€ãA Q$RA 7‚A€C$RA À„Aà1$RA`…Aà1$RA@†Aà3$RAˆA`($RAÀ›‡A`$RA€ïˆA ü#RAPˆAàö#RA 6‡A€ô#RA`…A€å#RAÀÁƒA Ö#RA —ƒAÀÐ#RA@OrA@„$RA@cpAà˜$RA@ñpA@›$RAÀ”tA`§$RA 7vA`­$RAà”vA€™$RAÀàxA@¢$RA@”xA µ$RAp ÀQA`$RA`ÏA`ª$RAÀQA` $RAôA€¢$RA QAà¦$RA@OA`ª$RA`YA ¨$RAÀóA§$RA@˜A $RA@»A`š$RA@ÍAà$RAàFAÀh$RA`ÏA 2$RA A $RA A`$RA€¬A`N$RA@oAÀe$RAÀAƒ$RAÀQA` $RAq@àò/A€Ž$RAÏ7Aà¦$RAÏ7AŸ$RA 15A™$RAàò/A€Ž$RAL2Aà¦$RAÏ7AŸ$RArØà†A`é#RA î’A ¡$RAà†A€j$RA °ˆA€m$RAÀ¢ŠA w$RAàÈ‹A`$RA 4A`Š$RAÀ¹ŽA ¡$RA@LA`—$RAyA@“$RAÃA`€$RA öA o$RA€ A b$RA€†‘AV$RAà’A=$RA î’A@ü#RA `‘A@ø#RA ¦ŽA`é#RA ÇA€ù#RAàÅŒA$$RA@À‹A€$RA„ŠA $RAÀcˆA@4$RA 4‡Aà7$RA@†Aà3$RAà†A€j$RAsp€Õ*AM$RA O8AŸ$RA àò/A€Ž$RA 15A™$RAÏ7AŸ$RA O8A€]$RA­5AàZ$RA †3AàV$RAÀ/A P$RA`ç-AÀN$RA Þ*AM$RA€Õ*AÀ[$RAàò/A€Ž$RAtH øiA`Œ$RAÀßkA ž$RAÀßkA $RAàLkAàŒ$RA`úiA`Œ$RA øiA ž$RA€ÖkAÀ$RAÀßkA $RAu˜ ×AÀò#RA`çA@š$RA ×A ‘$RAàLÜA@š$RA€ÜA €$RAæÜA`_$RA ¯äA z$RA úäAà^$RA€£æA S$RA`çAÀ $RA ÓäA€$RA€åA@$RAâA@$RAàóÝA@ú#RAßÛA ø#RAÀ¡ØAÀò#RA`r×A m$RA ×A ‘$RAvH voA@„$RA@OrAà˜$RA voA`•$RA@cpAà˜$RA@OrA@„$RA@’pAÀ’$RA`{oA€$RA voA`•$RAwÀÀ_A Q#RA ãsA`•$RAÀßkA $RAàºlA`$RA voA`•$RA`{oA€$RA@’pAÀ’$RA@OrA@„$RA ãsA $RA`ÌpAò#RAµoA ã#RA dpA #RA`ÊkA {#RAÎkA\#RA`•bA R#RA@>bA Q#RA ó`AÀÃ#RAà¡`A Ù#RA«_A`@$RAÀ_AÀ†$RA`úiA`Œ$RAàLkAàŒ$RAÀßkA $RAxx€hÓAÀê#RAÀ¡ØA ‘$RA àÕAàŠ$RA ×A ‘$RA`r×A m$RAÀ¡ØAÀò#RA`ÜÖA`î#RA€IÖA@ï#RA`7ÕAÀê#RA§ÔA@ë#RA€ÓAT$RA€hÓAa$RA nÕA€f$RAàÕAàŠ$RAy@àLA`v$RA`° A‘$RAà÷A`v$RAàLA@†$RA ©A‘$RA`° A |$RAà÷A`v$RAzHàx*AÀ[$RAàò/A€Ž$RAàò/A€Ž$RA€Õ*AÀ[$RA`¸*Ak$RAàx*A€ƒ$RAà+A …$RAàò/A€Ž$RA{ ‰TAàº#RA ó`AÀ†$RA `ôUA`}$RAÀ WA €$RA€EYA@‚$RA ôZAàƒ$RAÀ_AÀ†$RA«_A`@$RAà_A@H$RA@=^A`D$RAàp^A 5$RAài_A`8$RA«_A`@$RAà¡`A Ù#RA ó`AÀÃ#RA À^Aàº#RA 1]Aã#RAÀŒ\A á#RA  [Aàà#RA€P[A`à#RA C[A $RA@'ZA $RA ~YA $RA ¸XAó#RA@¶WA þ#RA îUAü#RAàªTA€û#RA ‰TA`$RA ]WA€$RACWA@&$RA CWA 4$RA £VAàO$RA€;VA d$RA`ôUA`}$RA|x ÉkA@ô"RA€XŠA@„$RA,@OrA@„$RA —ƒAÀÐ#RAàk‡Aà‹#RA‰A`b#RA€XŠAà3#RA!‰A@,#RA(ˆA +#RA !ˆA :#RA «†A9#RA@Ú†A@)#RA@V†A`'#RAÀ9A #RAà2A *#RA ë~AB#RA *AH#RA€òA€h#RA`ºAà‚#RA z~A@©#RA 9}AÀž#RA@$|A`#RAg{A`#RAÀ/zA€#RA`#RA QQA9#RA`„OA`6#RA€ÑNAà=#RAà/NAàA#RA`AMAM#RA JAàL#RAmEA H#RAoDAI#RA wDA@`#RA‚DA@i#RA€lDA|#RA€EA ž#RAÀ´EA`¨#RA`ÎDA`Á#RA€ EA ý#RAàkDA @$RA »CAÀ?$RA@4CA@i$RA úKA t$RA€ð O8AI#RAÀ´EA@i$RA O8A€]$RA€Þ:A a$RA`Ý=Aàc$RA@4CA@i$RA »CAÀ?$RAàkDA @$RA€ EA ý#RA`ÎDA`Á#RAÀ´EA`¨#RA€EA ž#RA€lDA|#RA‚DA@i#RA wDA@`#RAoDAI#RAàA Y#RAà>A ~#RAÀ°>AÀ’#RAà+?A`ª#RA€Ó>AÀÃ#RA€¬>A Õ#RAÀ;>A`ú#RAàO=A€$RAÀ3=Aà)$RA O8A€]$RAh †3A€R#RAü:A€]$RA  †3AàV$RA­5AàZ$RA O8A€]$RA@+9A@$RAü:A[#RA—7AàX#RA`ï5A€R#RAÀš5A`…#RA…4A`ý#RA †3AàV$RA‚@ O8A@$RAàO=A€]$RA O8A€]$RAÀ3=Aà)$RAàO=A€$RA@+9A@$RA O8A€]$RAƒpÀ/A`ô#RA…4AàV$RA À/A P$RA †3AàV$RA…4A`ý#RA@¿1Aàö#RAÀ00A`ô#RA ß/A@ $RA ‘2Aà$RA@^2Aà!$RA@72A 3$RA Š/A1$RAÀ/A P$RA„¸ u)A`…#RAÀš5A P$RA Þ*AM$RA`ç-AÀN$RAÀ/A P$RA Š/A1$RA@72A 3$RA@^2Aà!$RA ‘2Aà$RA ß/A@ $RAÀ00A`ô#RA@¿1Aàö#RA…4A`ý#RAÀš5A`…#RA v/AÅ#RA )/A $RAà§-A $RA ô,A`+$RAæ)A #$RA ·)A@4$RA u)A`K$RA Þ*AM$RA…è Ç$A€\#RAà§-A`K$RA ¹%A`I$RA u)A`K$RA ·)A@4$RAæ)A #$RA ô,A`+$RAà§-A $RAÀL*Aàÿ#RA€s*Aàé#RA µ*AË#RA ½)A€®#RA†)AÀ¦#RA,+A@#RAÀÀ,A`{#RA@ô+A`t#RA@þ'A@g#RAÀ&A€\#RA“%As#RAÀ<%A„#RA`î$A€#RA Ç$A±#RA@@%A`Ç#RA ˜%AÞ#RA >%Aü#RAÀÞ$A $RA@“%A 5$RA ¹%A`I$RA†ð A@·#RA ¹%A`I$RA`ÏA 2$RA ¹%A`I$RA@“%A 5$RAÀÞ$A $RA >%Aü#RAÜ"A€ù#RAàk!Aàþ#RA‘ A $RAÀwA $RA °A $RA`]A î#RA ÷A ¿#RA`pA@·#RA`ÎA ã#RA 0A@ö#RAàÿA ì#RA@qAæ#RA`Aü#RA‰A ï#RA€·Aàè#RA`+AÀÓ#RA€cAÀÇ#RA`vA@¼#RA ‘A ¹#RA A`$RA A $RA`ÏA 2$RA‡H@=^A 5$RA«_A@H$RA«_A`@$RAài_A`8$RAàp^A 5$RA@=^A`D$RAà_A@H$RA«_A`@$RAˆÀ@†A #RA`•Aà7$RA€ïˆA ü#RAÀ›‡A`$RAˆA`($RA@†Aà3$RA 4‡Aà7$RAÀcˆA@4$RA„ŠA $RA@À‹A€$RAàÅŒA$$RA ÇA€ù#RA ¦ŽA`é#RA@·ŽAÔ#RA€¶ŽA€À#RA€àŽA¶#RA`•A`ž#RA`µ‹A #RA@W‹A Ž#RA@‘ŠA ¬#RAàü‰A Å#RAàŠA ã#RA€ïˆA ü#RA‰€]éA q"RA€ÍAà"$RA oêA@$RA „ñAà"$RA (óAà$RAõôA $RA€È÷A`$RA€ôA Ú#RAà¨A€Ã#RA€ÍA¶#RA ¢A¥#RA ÈAàŒ#RA€3A`n#RAàAQ#RAàWA€1#RAà'A€.#RA_A@Ý"RAàxA€Ä"RA RA¬"RAàOAà§"RAOA ™"RA€A@‹"RAïA q"RA€¤îAà“"RA ˜íA@ï"RAàlëA‘#RA@³ëA ›#RAÀnëA@¯#RA êA ¿#RA€]éA ê#RA@4êA`ô#RA`˜êA ý#RA oêA@$RAŠ ¥QA Ï"RA€P[A`$RA  ¥QA$RA ‰TA`$RAàªTA€û#RA îUAü#RA@¶WA þ#RA ¸XAó#RA ~YA $RA@'ZA $RA C[A $RA€P[A`à#RAàrZA Þ#RA 9ZA@Õ#RA ‚YA Á#RA€çXAà°#RA ˜YA`#RA@‡YAàK#RA@§YA`B#RA@ZA #RAÀ|ZA ü"RA ÜZA Ö"RA€ÜVA Ï"RAVA`ë"RA pVA ô"RA VAÀ#RA@‘UAÀ<#RAÀ_UAàB#RA`UA`V#RA ˆUA`Y#RA  UA`f#RA —TAàd#RA SA@‚#RA ¥QA$RA‹¸@( A :#RAà¿A`$RA@( A õ#RA@† AÀ$RAàó A $RA A`$RA ‘A ¹#RAKA@{#RA@hA€q#RA €Ag#RA` Aà[#RAà¿AàL#RA€ A :#RA > A€Y#RAà A e#RAÀ A`t#RA ] A ’#RA`Z A ”#RAàÎ A`›#RAà A@©#RA`y A@ã#RA@( A õ#RAŒX€°àA€a"RAïA@$RA(€åA@$RA oêA@$RA`˜êA ý#RA@4êA`ô#RA€]éA ê#RA êA ¿#RAÀnëA@¯#RA@³ëA ›#RAàlëA‘#RA ˜íA@ï"RA€¤îAà“"RAïA q"RA LâA€a"RA€°àA@ô"RAÀ_âAý"RA éâA #RA@ŒâA@ #RAà8âA4#RA`ïáAH#RA GáAà‡#RA õàA`ª#RAxáAÁ#RA``âA`Î#RAãA€Ã#RAÀãA¸#RA`ÓâA@­#RA @ãAà#RA xãA`m#RAÀŸãAàb#RA€®äA`W#RAàÛåA`Z#RA >çA l#RA`ÐçAàƒ#RA€ÅçA`œ#RA€;çA ³#RAÀkæA Ê#RA¨åA`Ø#RA ÈäA ã#RA -åA€ò#RA€åA@$RA à—A€P#RAÀ&A $RA!@qAæ#RAàÿA ì#RA 0A@ö#RA`ÎA ã#RA`pA@·#RA ÷A ¿#RA`]A î#RA °A $RAÀwA $RA‘ A $RAàk!Aàþ#RAÜ"A€ù#RA >%Aü#RA ˜%AÞ#RA@@%A`Ç#RA Ç$A±#RA`î$A€#RAÀ<%A„#RA“%As#RAÀ&A€\#RA Ë"A€P#RAG AÀT#RA@þAY#RA -A€Z#RA`«Aà]#RAA@\#RA ÏAu#RA`jA #RA`%A€«#RA`A€²#RA ¼AàÊ#RAà—A@ß#RA@qAæ#RAŽèàóÝA`W#RA`ÐçA@$RAàóÝA@ú#RAâA@$RA€åA@$RA -åA€ò#RA ÈäA ã#RA¨åA`Ø#RAÀkæA Ê#RA€;çA ³#RA€ÅçA`œ#RA`ÐçAàƒ#RA >çA l#RAàÛåA`Z#RA€®äA`W#RAÀŸãAàb#RA xãA`m#RA @ãAà#RA`ÓâA@­#RAÀãA¸#RAãA€Ã#RA``âA`Î#RAxáAÁ#RA õàA`ª#RA GáAà‡#RA@àA„#RA0ßA ‚#RAàóÝA@ú#RAp@+9A Y#RAà+?A€$RA @+9A@$RAàO=A€$RAÀ;>A`ú#RA€¬>A Õ#RA€Ó>AÀÃ#RAà+?A`ª#RAÀ°>AÀ’#RAà>A ~#RA@c>A Y#RAü:A[#RA@+9A@$RA †)A@Ã"RA`ï5A $RA!à§-A $RA )/A $RA v/AÅ#RA ‚.A€œ#RA`ï5A€R#RAà 4AI#RA =3A`E#RA˜3A@-#RA ¸3A)#RA`4A€!#RA@}4Aàÿ"RA $5AàÏ"RA 4AÌ"RAàª3A`æ"RA@u1A Ý"RA`™1AàÄ"RA Ê0A@Ã"RA@M0A ä"RA`0Aàó"RA@\/A@#RA /A 1#RA€{.A C#RAr-A T#RA-,A j#RA@ô+A`t#RAÀÀ,A`{#RA,+A@#RA†)AÀ¦#RA ½)A€®#RA µ*AË#RA€s*Aàé#RAÀL*Aàÿ#RAà§-A $RA‘è —ƒA`¨"RA€—A ü#RA —ƒAÀÐ#RAÀÁƒA Ö#RA`…A€å#RA 6‡A€ô#RAPˆAàö#RA€ïˆA ü#RAàŠA ã#RAàü‰A Å#RA@‘ŠA ¬#RA@W‹A Ž#RA`µ‹A #RA`•A`ž#RA Ý‘A ‹#RA á”AÀ=#RAÀL–A€@#RA€—A@#RA`L–A î"RAë•A€ç"RA Ÿ”AàÔ"RA`A`¨"RA@ŽA ö"RA€º‹Aàü"RA€XŠAà3#RA‰A`b#RAàk‡Aà‹#RA —ƒAÀÐ#RA’ð ‘AàL#RAAü#RA ‘A ¹#RA`vA@¼#RA€cAÀÇ#RA`+AÀÓ#RA€·Aàè#RA‰A ï#RA`Aü#RA@qAæ#RAà—A@ß#RA ¼AàÊ#RA`A€²#RA`%A€«#RA`jA #RA ÏAu#RAA@\#RA…A€Z#RA@AÀQ#RAà¿AàL#RA` Aà[#RA ]A€]#RAàBA i#RA €Ag#RA@hA€q#RA #At#RAàûA #RAKA@{#RA ‘A ¹#RA“`7ÕA@ô"RA éâA@ú#RA À¡ØAÀò#RAßÛA ø#RAàóÝA@ú#RA0ßA ‚#RA@àA„#RA GáAà‡#RA`ïáAH#RAà8âA4#RA@ŒâA@ #RA éâA #RAÀ_âAý"RA€°àA@ô"RA ‘ßA [#RA@ØÝAW#RAànÜA R#RA`2ÛAÀM#RA€EÚAàF#RA ³ÙA`P#RA@ˆØA N#RAÀü×AàL#RA{×A H#RA ûÖA`B#RAÀ‡ÕA [#RA AÕAÀr#RA }ÖA w#RA ÖA #RAàüÕA ª#RA€•ÕAÀ»#RA`7ÕAÀê#RA€IÖA@ï#RA`ÜÖA`î#RAÀ¡ØAÀò#RA”À€3A@#RAà A õ#RA€ôA Ú#RA@( A õ#RA`y A@ã#RAà A@©#RAàÎ A`›#RA H A #RAôAž#RA¿A ™#RA€èA ‘#RA`ßAÀ|#RA €A€r#RA+AÀq#RA™AÀ #RA <A@#RA yA@m#RA€3A`n#RA ÈAàŒ#RA ¢A¥#RA€ÍA¶#RAà¨A€Ã#RA€ôA Ú#RA•PÀ¯ÎA€Ð"RA`žÜA@ë#RA'§ÔA@ë#RA`7ÕAÀê#RA€•ÕAÀ»#RAàüÕA ª#RA ÖA #RA }ÖA w#RA AÕAÀr#RAÀ‡ÕA [#RA ûÖA`B#RA{×A H#RAÀü×AàL#RA@ˆØA N#RA ³ÙA`P#RA€EÚAàF#RA@àÚA`&#RA`€ÛAà #RA ØÛA î"RA`žÜA ß"RA †ÛA€Ð"RAŒÚAß"RAðÙAë"RA`ìÙA#RA@ߨAý"RA Ô×Aàù"RAz×A`8#RA ãÕA`0#RA ËÒAÀ##RAŽÐAà#RAÀÛÏAÀ+#RAÀdÏA€3#RAÀ¯ÎA f#RA@xÏA z#RA€?ÐA|#RAÀÕÑA€‚#RA 7ÓA@ˆ#RA@äÓAÀ”#RA@ÝÒA ¢#RA@oÒAè#RA§ÔA@ë#RA– À>ËAG"RA LâAè#RA!ÎA à#RA@oÒAè#RA@ÝÒA ¢#RA@äÓAÀ”#RA 7ÓA@ˆ#RAÀÕÑA€‚#RA€?ÐA|#RA@xÏA z#RAÀ¯ÎA f#RAÀdÏA€3#RAÀÛÏAÀ+#RAŽÐAà#RA ËÒAÀ##RA ãÕA`0#RAz×A`8#RA Ô×Aàù"RA@ߨAý"RA`ìÙA#RAðÙAë"RAŒÚAß"RA †ÛA€Ð"RA@ßÚA È"RA ¨ÛA »"RA “ÝA Ë"RAàïÞAÆ"RAà)àAàÉ"RAãßAß"RAÀ×ßA ó"RA€°àA@ô"RA LâA€a"RA€¢ÏAG"RAÀ>ËAàÜ#RAÎA à#RA—è€çXA`h#RAÀa_Aã#RA€P[A`à#RA  [Aàà#RAàŸ[A Ù#RA@‘\A Ù#RAÀŒ\A á#RA 1]Aã#RA À^Aàº#RAà^A`°#RA@ø]A¬#RAàF^A“#RA€$_A ”#RAÀa_A#RA`¿^Ap#RA X]A l#RA@([A`h#RAÀz[An#RA@ãZA@x#RA`‰ZA€r#RA ˜YA`#RA€çXAà°#RA ‚YA Á#RA`?ZAÀ¹#RA@*[A`Ì#RA 9ZA@Õ#RAàrZA Þ#RA€P[A`à#RA˜@àŸ[A Ù#RA@‘\A á#RA  [Aàà#RAÀŒ\A á#RA@‘\A Ù#RAàŸ[A Ù#RA  [Aàà#RA™@ ‚YAÀ¹#RA@*[A@Õ#RA ‚YA Á#RA 9ZA@Õ#RA@*[A`Ì#RA`?ZAÀ¹#RA ‚YA Á#RAš@ ‚.A€R#RA`ï5AÅ#RA v/AÅ#RAÀš5A`…#RA`ï5A€R#RA ‚.A€œ#RA v/AÅ#RA›È@‡YA Ö"RA@”dAÀÃ#RA À^Aàº#RA ó`AÀÃ#RA@>bA Q#RA €bA?#RA@”dA€ç"RA`_cA`æ"RA bAàã"RA þ^A Ý"RA ÜZA Ö"RAÀ|ZA ü"RA@ZA #RA@§YA`B#RA@‡YAàK#RA ˜YA`#RA`‰ZA€r#RA@([A`h#RA X]A l#RA`¿^Ap#RAÀa_A#RA€$_A ”#RAà^A`°#RA À^Aàº#RAœ@@ø]A“#RA€$_A`°#RAà^A`°#RA€$_A ”#RAàF^A“#RA@ø]A¬#RAà^A`°#RAàusAà #RA€òA@©#RAÀ9A #RA`nvAà #RA XvA #RA ;vA $#RA€ütA@##RAàtA@ #RAusAÀR#RAOtA u#RAàvA@{#RAàÉvA`u#RAÀnwA „#RA îwA #RA` xA ¤#RA` A€Y#RA€ A :#RA è A@#RA Aà#RA`ÁA€#RAA#RAà0A#RA@ãA #RAàOAà§"RA RA¬"RAàxA€Ä"RA_A@Ý"RAà'A€.#RAàWA€1#RAàAQ#RA€3A`n#RA yA@m#RA <A@#RA™AÀ #RA+AÀq#RA €A€r#RA`ßAÀ|#RA€èA ‘#RA¿A ™#RAôAž#RA H A #RAàÎ A`›#RAŸ@KA€q#RA #A #RAKA@{#RAàûA #RA #At#RA@hA€q#RAKA@{#RA @`‰ZA`h#RAÀz[A@x#RA`‰ZA€r#RA@ãZA@x#RAÀz[An#RA@([A`h#RA`‰ZA€r#RA¡ðÀ&AÀ"RA@M0A`t#RAÀ&A€\#RA@þ'A@g#RA@ô+A`t#RA-,A j#RAr-A T#RA€{.A C#RA /A 1#RA@\/A@#RA`0Aàó"RA@M0A ä"RA€Ò.A@Þ"RAàÂ-A`Ù"RAÀ-A Ñ"RA º-A@¿"RA u.A`•"RA`-A "RA ±+AÀ"RA@ù*Aà»"RA€L(A »"RA (A@Ì"RA`l(A@â"RA@(A ÿ"RA á'A#RAÀ²'A&#RA W'A 1#RA Å&A B#RAÀ&A€\#RA¢@ €Aà[#RA ]A i#RA €Ag#RAàBA i#RA ]A€]#RA` Aà[#RA €Ag#RA£@ —TA`V#RA ˆUA`f#RA —TAàd#RA  UA`f#RA ˆUA`Y#RA`UA`V#RA —TAàd#RA¤(à¿Al"RA€=)Aà]#RA"A@\#RA`«Aà]#RA -A€Z#RA  A`D#RA½A`+#RA`áA #RA€A€#RAà1A ø"RA@XA Þ"RAÀ= A ¦"RA@!Aà™"RA ¸"A@›"RAÀ#$Aàœ"RA@²%AÀŸ"RAà'A`¡"RA ô'A`¤"RAÀ¬(A ª"RA€()A "RA€=)A€"RAÀ«Al"RA ,A"RA@ÛA@¥"RA }Aà¿"RA@]A@Ê"RAà%A€×"RA@ïA@ã"RAà±A`ú"RA€¨Aý"RA@}A€#RAà^A #RAà¿AàL#RA@AÀQ#RA…A€Z#RAA@\#RA¥ø½Aà™"RAÀ¬(A€\#RA -A€Z#RA@þAY#RAG AÀT#RA Ë"A€P#RAÀ&A€\#RA Å&A B#RA W'A 1#RAÀ²'A&#RA á'A#RA@(A ÿ"RA`l(A@â"RA (A@Ì"RA€L(A »"RAÀ¬(A ª"RA ô'A`¤"RAà'A`¡"RA@²%AÀŸ"RAÀ#$Aàœ"RA ¸"A@›"RA@!Aà™"RAÀ= A ¦"RA@XA Þ"RAà1A ø"RA€A€#RA`áA #RA½A`+#RA  A`D#RA -A€Z#RA¦`@>bA€ç"RAÎkA\#RA @>bA Q#RA`•bA R#RAÎkA\#RA ÉkA@ô"RA€jjAàð"RA IhAàí"RA@”dA€ç"RA €bA?#RA@>bA Q#RA§°€EÚA »"RA€°àA [#RA€EÚAàF#RA`2ÛAÀM#RAànÜA R#RA@ØÝAW#RA ‘ßA [#RA€°àA@ô"RAÀ×ßA ó"RAãßAß"RAà)àAàÉ"RAàïÞAÆ"RA “ÝA Ë"RA ¨ÛA »"RA@ßÚA È"RA †ÛA€Ð"RA`žÜA ß"RA ØÛA î"RA`€ÛAà #RA@àÚA`&#RA€EÚAàF#RA¨@`ï5AÀ#RAØ;A[#RA`ï5A€R#RA—7AàX#RAü:A[#RAØ;AÀ#RA`ï5A€R#RA©(ü:A  "RA€ÑNA[#RA"ü:A[#RA@c>A Y#RA€?A W#RA€pAA N#RAà#RAÀ_UAàB#RA@‘UAÀ<#RA VAÀ#RA pVA ô"RAVA`ë"RA€ÜVA Ï"RA`ÈQA Æ"RAà—OA€Á"RA`"NA ¿"RAàMA Ó"RAÀÍMA€õ"RA€¸MA€#RAÀŽMA#RA ÛLA #RA mJA #RA IJAà8#RA@MA9#RA@ßMAà.#RA€ÑNAà=#RA­@ «†A@)#RA(ˆA :#RA(ˆA +#RA@Ú†A@)#RA «†A9#RA !ˆA :#RA(ˆA +#RA®@!‰Aàü"RA€º‹Aà3#RA!‰A@,#RA€XŠAà3#RA€º‹Aàü"RA@‹‰A`#RA!‰A@,#RA¯0À9Aà "RAÀµŒA@,#RA#(ˆA +#RA!‰A@,#RA@‹‰A`#RA€º‹Aàü"RA §ŒA`†"RAÀµŒA o"RA`ŠAÀR"RAà$†A+"RA€°‚Aà "RAN‚Aà>"RA ÍƒA`B"RA€ „A 8"RAÀ††Aà@"RA ¢‰AàZ"RA`i‰Aài"RA‹Aàq"RA€Ý‹A {"RA £‹A­"RA`"‹Aàµ"RA¶‹A@Æ"RA@,‹A@ö"RAÀ€ŠA ü"RA` ‡Að"RAÀ›…A`ë"RA€ŸƒAä"RAàú‚A Û"RA`ÀAÆ"RAàÖ€A Õ"RA8€A@à"RAàÏA@í"RAÀA ý"RAÀ9A #RA@V†A`'#RA@Ú†A@)#RA(ˆA +#RA°ê@4YA@. RAОA`#RA:5@õ˜A`#RA šA`#RA`s›A@—"RA@ÿ›A]"RAÀ†œAà1"RA ÉœA`"RAîœA "RAÀHAå!RAKžA ‡!RAОA Y!RAÀÝœAÀU!RA`,›AÀR!RA ÆœA`± RAÀAàT RA`¯ŒA€/ RA`°ŒA€K RAÀ8ŒA€J RAàß„AA RA „A€u RA€"RA ã]A`<"RA5\A`J"RAàˆZA`N"RAÀdZAÀh"RA ,\A`b"RA@Ð]AàR"RA_A@T"RA€__A g"RA€8_A€z"RAà_A@‹"RA 4^A`"RA€Ÿ]Aà¤"RA2]A`¥"RA@üYA`£"RA "WAÀ¡"RAà)VAà¦"RAà¿VA`´"RA€ÜVA Ï"RA ÜZA Ö"RA¾È äA€S"RAÀ«A@ã"RA •A Î"RAA Í"RAÀA Ð"RA@ïA@ã"RAcA@Ã"RA@]A@Ê"RA }Aà¿"RA@ÛA@¥"RA ,A"RAÀ«Al"RAàïAàf"RA`1A b"RA@DA _"RA€0A X"RA€A€S"RA äA]"RA`PA`a"RA€×A c"RA€fA €"RA?A ²"RA`€A·"RA •A Î"RA¿@@ïA@Ã"RA@]A@ã"RA@ïA@ã"RAà%A€×"RA@]A@Ê"RAcA@Ã"RA@ïA@ã"RAÀ˜à A`a"RA •A@Ñ"RAà Aà§"RA ³ AÀ¸"RA@c A@Ñ"RA â AÐ"RA²AàÌ"RA •A Î"RA`€A·"RA?A ²"RA€fA €"RA€×A c"RA`PA`a"RA@A …"RAÀlAàƒ"RAÀ„A€ "RA A`£"RAà Aà§"RAÁ`ÐKAå!RA`WA Ï"RA`"NA ¿"RAà—OA€Á"RA`ÈQA Æ"RA€ÜVA Ï"RAà¿VA`´"RAà)VAà¦"RA€"TA‡"RA¨SA{"RA ÏSA l"RAàÓSA g"RA[TA ?"RAÀTA@'"RA ûTA #"RAà°UA "RAcUA "RA@íUA í!RA`WA€ç!RA 3RAå!RA ìQAÀ "RA@hPA "RA SPA€("RA ×KAÀ("RA`ÐKA`6"RA DNA@<"RA€QAÀA"RA`LPAào"RA`KPA`"RA LPA@©"RA SNA@¨"RA`"NA ¿"RAÂÀÀFA ¤!RA€QA ¿"RAÀFA`´"RA`"NA ¿"RA SNA@¨"RA LPA@©"RA`KPA`"RA`LPAào"RA€QAÀA"RA DNA@<"RA`ÐKA`6"RA ×KAÀ("RAÀîKA  "RA LA î!RA§KA á!RA€ƒKA Ô!RAÀ´KAÇ!RA ŒLA¶!RA`tJA@¥!RA ¨IA ¤!RA`ÉGA i"RA@±FAà„"RAÀFA`´"RAÈ@|AàX"RA€§‚A º"RA@|A@l"RAÀ-}A€}"RA :~A€}"RAÀµ~Aà˜"RA€§‚A º"RA@TA ª"RA@‚Aà—"RA P‚A v"RAà €Ar"RA€þA \"RA@¸~AàX"RA`‰~A€d"RA ~Aàm"RA@|A@l"RAÄØ€ëyA€"RAà…A º"RA@|A@l"RA ~Aàm"RA`‰~A€d"RA@¸~AàX"RA€þA \"RAà €Ar"RA P‚A v"RA@‚Aà—"RA@TA ª"RA€§‚A º"RA„A€«"RA_„A`›"RA ©„A`Ž"RAà…AÀ]"RA€É„A L"RA ÍƒA`B"RAN‚Aà>"RA€°‚Aà "RA zA€"RA€ëyA <"RA Ý{A€@"RAàf|A G"RA`Æ|A`^"RA@|A@l"RAŨSAàæ!RAàðYAà¦"RAà°UA "RA ûTA #"RAÀTA@'"RA[TA ?"RAàÓSA g"RA ÏSA l"RA¨SA{"RA€"TA‡"RAà)VAà¦"RA VA •"RA©XAà•"RAüXA`q"RAXA g"RA@¿XA Z"RA 6YAàW"RA ™YA="RA`YA`7"RA`-YA@."RA ÀYA@,"RAàðYAà"RA`£YA` "RA€ÓYA`ç!RA 1XAàæ!RA`WA€ç!RAµWAï!RAàyWA`ý!RAÀ·VA ÿ!RA@VA"RAà°UA "RAÆPà)VA`ç!RA€?aAà¦"RA'à)VAà¦"RA "WAÀ¡"RA@üYA`£"RA2]A`¥"RA€Ÿ]Aà¤"RA 4^A`"RAà_A@‹"RA€8_A€z"RA€__A g"RA_A@T"RA@Ð]AàR"RA ,\A`b"RAÀdZAÀh"RAàˆZA`N"RA5\A`J"RA ã]A`<"RAÀ×_Aà>"RAÀ`A€,"RAÀ#`A@""RA F`A@"RAÀË_Aà"RA`:`Að!RA€?aAàç!RAÙ_AÀè!RA 8\A ç!RA€ÓYA`ç!RA`£YA` "RAàðYAà"RA ÀYA@,"RA`-YA@."RA`YA`7"RA ™YA="RA 6YAàW"RA@¿XA Z"RAXA g"RAüXA`q"RA©XAà•"RA VA •"RAà)VAà¦"RAÇààûiA`ø!RA zA`}"RA@2nA g"RA`ómA X"RA JnAàN"RA½oA€K"RA ÀqA P"RAýrA S"RA †tA@W"RA@nuA@Y"RA áuA `"RA ÐvA k"RA`CwAÀq"RAà7xA`}"RAÀyAÀj"RA€ëyA <"RA zA€"RA@ÿwA@"RA`\uA@"RAàzrA"RA€mAÀü!RA`újA`ø!RAà+jA8"RAàûiA€`"RA ðkA f"RA“mA i"RA@2nA g"RAÈP ×KA  "RA@hPAÀ("RA ×KAÀ("RA SPA€("RA@hPA "RA OA "RA?MA@ "RAÀîKA  "RA ×KAÀ("RAÉ`ÀË_Aàç!RA@@aA@"RA F`A@"RA c`A "RA`º`A "RA Ð`A@"RA@@aA ù!RA€?aAàç!RA`:`Að!RAÀË_Aà"RA F`A@"RAÊPcUA€ç!RA`WA "RAà°UA "RA@VA"RAÀ·VA ÿ!RA`WA€ç!RA@íUA í!RAcUA "RAà°UA "RAË€€ƒKA¶!RA 3RA "RA ÀîKA  "RA?MA@ "RA OA "RA@hPA "RA ìQAÀ "RA 3RAå!RAiNA€Å!RA ŒLA¶!RAÀ´KAÇ!RA€ƒKA Ô!RA§KA á!RA LA î!RAÀîKA  "RAÌH Ð`Aàç!RA ÆbA "RA Ð`A@"RA`§bA "RA ÆbAê!RA€?aAàç!RA@@aA ù!RA Ð`A@"RAÍ@À·VA€ç!RAµWA ÿ!RAÀ·VA ÿ!RAàyWA`ý!RAµWAï!RA`WA€ç!RAÀ·VA ÿ!RAÎè€?aA@ê RAÀ³lA@ð!RA ÆbAê!RAüdAÀì!RA gA@ð!RA iA ¸!RA`qlAh!RAÀ³lA€S!RA€GkAÀD!RA ÙjA 1!RA lkA÷ RA@»jA@ö RAà¸fA î RAÉdA@ê RA vdA@!RA€iA`!RA ÉhAà/!RAeA )!RAÙdAÀ!RAPAÀ!RA \PA !RAà PA ï RA ‚PA ç RA`”QAÀä RAzQAà RA@UNA ¾ RA@>MA (!RA€ÿKA@(!RA ÿKA !RA@¬JA !RA€JAà5!RA`éJA`8!RA ¨IA ¤!RA`tJA@¥!RA ŒLA¶!RAÕHà{OA¥!RA ßRA À!RA ßRAà²!RA QRAÀ°!RAà{OA¥!RAOA µ!RA€,RA À!RA ßRAà²!RAÖà ðVA@Ù RAÉdA ¸!RA ðVA€µ!RAàb\A ¸!RA@]A !RAÀŸ`Aú RA£aA€þ RAà`bA€ !RA`þbAÀ!RA vdA@!RAÉdA@ê RA€`\A@Ù RA`>\Aì RA€Ç[A`ù RAà]ZAð RA _XAàê RAà0XAà!RAÀóWA@!RA ÞWAà.!RA WA`G!RA‹WA O!RA€¸WA€`!RA`ÞWA k!RAàòWA@w!RA@«WA†!RA@KWA !RA ðVA€µ!RAט€ÏNA€F!RAàòWA€µ!RA ßRAà²!RA`UAà²!RA ðVA€µ!RA@KWA !RA@«WA†!RAàòWA@w!RA`ÞWA k!RA€¸WA€`!RA‹WA O!RAàÅVA€F!RA@KOAàS!RA€ÏNA b!RA@ÃOA`’!RAà{OA¥!RA QRAÀ°!RA ßRAà²!RAØÐ€.NAà RA€`\A b!RA€ÏNA b!RA@KOAàS!RAàÅVA€F!RA‹WA O!RA WA`G!RA ÞWAà.!RAÀóWA@!RAà0XAà!RA _XAàê RAà]ZAð RA€Ç[A`ù RA`>\Aì RA€`\A@Ù RA@4YA@Ó RAzQAà RA`”QAÀä RA ‚PA ç RAà PA ï RA \PA !RAPAÀ!RAà²OA>!RA€.NA A!RA€ÏNA b!RAÙ@mA@!RAà oA H!RA`[nA@!RAmA H!RA@0nAÀG!RAà oA`-!RA`[nA@!RAÚ@à¸fA€Ï RAÀðjA@ö RAà¸fA î RA@»jA@ö RAÀðjAàÖ RA`ßfA€Ï RAà¸fA î RAshapelib-1.6.1/tests/shape_eg_data/masspntz.shx0000664000175000017500000001473414573117335016564 00000000000000' îè {®ÑXA{®ÇG0>A®GázÀXA= ×ã)5>A2DVhzŒž°ÂÔæø .@Rdvˆš¬¾Ðâô*<N`r„–¨ºÌÞð&8J\n€’¤¶ÈÚìþ"4FXj|Ž ²ÄÖèú 0BTfxŠœ®ÀÒäö,>Pbt†˜ª¼Îàò(:L^p‚”¦¸ÊÜî$6HZl~¢´ÆØêü   2 D V h z Œ ž ° Â Ô æ ø   . @ R d v ˆ š ¬ ¾ Ð â ô   * < N ` r „ – ¨ º Ì Þ ð   & 8 J \ n € ’ ¤ ¶ È Ú ì þ  " 4 F X j | Ž   ² Ä Ö è ú 0BTfxŠœ®ÀÒäö,>Pbt†˜ª¼Îàò(:L^p‚”¦¸ÊÜî$6HZl~¢´ÆØêü 2DVhzŒž°ÂÔæø .@Rdvˆš¬¾Ðâô*<N`r„–¨ºÌÞð&8J\n€’¤¶ÈÚìþ"4FXj|Ž ²ÄÖèú 0BTfxŠœ®ÀÒäö,>Pbt†˜ª¼Îàò(:L^p‚”¦¸ÊÜî$6HZl~¢´ÆØêü 2DVhzŒž°ÂÔæø .@Rdvˆš¬¾Ðâô*<N`r„–¨ºÌÞð&8J\n€’¤¶ÈÚìþ"4FXj|Ž ²ÄÖèú   0 B T f x Š œ ® À Ò ä ö!!!,!>!P!b!t!†!˜!ª!¼!Î!à!ò"""(":"L"^"p"‚"”"¦"¸"Ê"Ü"î###$#6#H#Z#l#~##¢#´#Æ#Ø#ê#ü$$ $2$D$V$h$z$Œ$ž$°$Â$Ô$æ$ø% %%.%@%R%d%v%ˆ%š%¬%¾%Ð%â%ô&&&*&<&N&`&r&„&–&¨&º&Ì&Þ&ð'''&'8'J'\'n'€'’'¤'¶'È'Ú'ì'þ(("(4(F(X(j(|(Ž( (²(Ä(Ö(è(ú) ))0)B)T)f)x)Š)œ)®)À)Ò)ä)ö***,*>*P*b*t*†*˜*ª*¼*Î*à*ò+++(+:+L+^+p+‚+”+¦+¸+Ê+Ü+î,,,$,6,H,Z,l,~,,¢,´,Æ,Ø,ê,ü-- -2-D-V-h-z-Œ-ž-°-Â-Ô-æ-ø. ....@.R.d.v.ˆ.š.¬.¾.Ð.â.ô///*/</N/`/r/„/–/¨/º/Ì/Þ/ð000&080J0\0n0€0’0¤0¶0È0Ú0ì0þ11"141F1X1j1|1Ž1 1²1Ä1Ö1è1ú2 2202B2T2f2x2Š2œ2®2À2Ò2ä2ö333,3>3P3b3t3†3˜3ª3¼3Î3à3ò444(4:4L4^4p4‚4”4¦4¸4Ê4Ü4î555$565H5Z5l5~55¢5´5Æ5Ø5ê5ü66 626D6V6h6z6Œ6ž6°6Â6Ô6æ6ø7 77.7@7R7d7v7ˆ7š7¬7¾7Ð7â7ô888*8<8N8`8r8„8–8¨8º8Ì8Þ8ð999&989J9\9nshapelib-1.6.1/tests/shape_eg_data/3dpoints.shp0000664000175000017500000000157414573117335016436 00000000000000' ¾è ºíSùÊN À5ümSQã¿?^sôÙ'@>ñ9SË%@   F%uÚ?7gDioð@ ¡ø1æ®%@7gDioð@ oÅ@€Ù=yX¨@ <,Ôšæ#@ÆK7‰A`@ 0ÎQÚ«?MbX9´@ ØsF”ö@ÖVì/»'@ Èܵ„|Ð@¿}8gD@ ÒÞ Š#@é·¯ç @  †§WÊ2Äñ?ß¾œ3¢ô?  X9´Èv@6À[ Añ?  ®Gáz®#@ëâ6Àë?  ÂÌÌÌÌÌð¿QÃߦ5!@@  Ì:W¬@QÃߦ5!@@ ¦Oú¤Oú@ì%´—Ð^!@@ C{ í%4%@QÃߦ5!@@ ÂÌÌÌÌÌð¿5ümŠQã¿ "YçÊ’@5ümŠQã¿ ÞÝÝÝÝ]%@ÜoSŒþÖ¿ ºíSùÊN À>ñ9SË%@@ 4”êB@.ϸ$@@ ØïÝÈd1"@>ñ9SË%@@ ™ˆsôÙ'@&>gj¹`$@@shapelib-1.6.1/tests/shape_eg_data/brklinz.dbf0000664000175000017500000000221414573117335016277 00000000000000` zA WIDN 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0shapelib-1.6.1/tests/shape_eg_data/multipnt.shp0000664000175000017500000000024414573117335016540 00000000000000' RèÞƒA€¥!RAÞƒA€¥!RAÞƒA€¥!RAÞƒA€¥!RAÞƒA€¥!RAshapelib-1.6.1/tests/shape_eg_data/pline.dbf0000664000175000017500000040215214573117335015740 00000000000000cÌFNODE_N TNODE_N LPOLY_N RPOLY_N LENGTHF PLINE_N PLINE_IDN UIDN GISO_TYPE_N SYMBOLNLOCK__IDN PHASE__IDNOBJECT__IDN TYPEC2SYM_NBRNPHASECCKT_NMCVOLTAGECCMPNC 351 352 0 01.3945052E+02 1 8588 544484 13 101 0 0 131978Overhead Primary 101ABC MED36 352 362 0 01.5803342E+02 2 8695 544591 13 101 0 0 132082Overhead Primary 101ABC MED36 353 354 0 01.7675824E+02 3 8590 544486 13 101 0 0 131980Overhead Primary 101ABC MED36 355 356 0 01.7188744E+02 4 8591 544487 13 101 0 0 131981Overhead Primary 101ABC MED36 356 354 0 01.6976018E+02 5 8592 544488 13 101 0 0 131982Overhead Primary 101ABC MED36 342 341 0 01.4107784E+02 6 8574 544470 13 101 0 0 131964Overhead Primary 101ABC MED36 341 343 0 01.4857396E+02 7 8576 544472 13 101 0 0 131966Overhead Primary 101ABC MED36 445 357 0 01.7397318E+02 8 8668 544564 14 201 0 0 132057Overhead Feeder 201ABC MED36 367 445 0 01.6105275E+02 9 8753 544649 13 101 0 0 132123Overhead Primary 101ABC MED36 357 358 0 08.4172005E+01 10 8670 544566 14 201 0 0 132059Overhead Feeder 201ABC MED36 358 359 0 01.5984845E+02 11 8671 544567 14 201 0 0 132060Overhead Feeder 201ABC MED36 359 353 0 01.9735451E+02 12 8674 544570 14 201 0 0 132063Overhead Feeder 201ABC MED36 349 351 0 01.7190228E+02 13 8587 544483 13 101 0 0 131977Overhead Primary 101ABC MED36 365 363 0 03.9472272E+02 14 8711 544607 23 101 0 0 132098Underground Primary 101ABC MED36 365 364 0 04.2471964E+02 15 8713 544609 23 101 0 0 132100Underground Primary 101ABC MED36 370 369 0 01.4703688E+02 16 8981 544877 13 101 0 0 132329Overhead Primary 101ABC MED36 369 339 0 01.1884855E+02 17 8968 544864 13 101 0 0 132424Overhead Primary 101ABC MED36 343 344 0 01.5032457E+02 18 8577 544473 13 101 0 0 131967Overhead Primary 101ABC MED36 344 345 0 01.4982141E+02 19 8579 544475 13 101 0 0 131969Overhead Primary 101ABC MED36 368 345 0 01.6567793E+02 20 8767 544663 13 101 0 0 132136Overhead Primary 101ABC MED36 369 368 0 01.4718225E+02 21 8768 544664 13 101 0 0 132137Overhead Primary 101ABC MED36 366 367 0 01.5456755E+02 22 8752 544648 13 101 0 0 132122Overhead Primary 101ABC MED36 10 16 0 01.4797868E+02 23 595 315523 23 101 0 0 72341Underground Primary 101ABC MED36 17 16 0 02.9150504E+02 24 6862 315971 23 101 0 0 72665Underground Primary 101ABC MED36 17 18 0 03.4892926E+02 25 6858 315967 23 101 0 0 72484Underground Primary 101ABC MED36 18 20 0 02.3632198E+02 26 7011 316120 23 101 0 0 72633Underground Primary 101ABC MED36 19 18 0 03.4463354E+02 27 6876 315985 23 101 0 0 72500Underground Primary 101ABC MED36 353 360 0 01.7971466E+02 28 8681 544577 14 201 0 0 132068Overhead Feeder 201ABC MED36 360 361 0 01.5509155E+02 29 8682 544578 14 201 0 0 132069Overhead Feeder 201ABC MED36 348 347 0 01.5375580E+02 30 8584 544480 13 101 0 0 131974Overhead Primary 101ABC MED36 350 349 0 01.9197575E+02 31 8585 544481 13 101 0 0 131975Overhead Primary 101ABC MED36 363 348 0 03.2661090E+02 32 8702 544598 23 101 0 0 132089Underground Primary 101ABC MED36 346 363 0 03.3747339E+02 33 8705 544601 23 101 0 0 132092Underground Primary 101ABC MED36 371 350 0 01.9510381E+02 34 9071 544967 13 101 0 0 132403Overhead Primary 101ABC MED36 347 371 0 01.4359776E+02 35 9072 544968 13 101 0 0 132404Overhead Primary 101ABC MED36 348 372 0 01.5226961E+01 36 9074 544970 13 101 0 0 132405Overhead Primary 101ABC MED36 371 373 0 01.7795331E+02 37 9067 544963 13 101 0 0 132428Overhead Primary 101ABC MED36 157 158 0 01.3477148E+02 38 7288 326848 13 101 0 0 75648Overhead Primary 101ABC MED36 380 156 0 01.6265503E+02 39 7286 326846 14 201 0 0 75646Overhead Feeder 201ABC MED36 156 157 0 01.6065601E+02 40 7287 326847 13 101 0 0 75647Overhead Primary 101ABC MED36 398 397 0 01.7426930E+02 41 8595 545723 13 101 0 0 132548Overhead Primary 101ABC MED36 397 399 0 01.7676949E+02 42 8596 545724 13 101 0 0 132549Overhead Primary 101ABC MED36 399 400 0 01.6226808E+02 43 8597 545725 13 101 0 0 132550Overhead Primary 101ABC MED36 430 431 0 03.4464240E+02 44 8698 545826 23 101 0 0 132650Underground Primary 101ABC MED36 398 380 0 01.3753291E+02 45 8757 545885 13 101 0 0 132782Overhead Primary 101ABC MED36 395 439 0 01.9825629E+02 46 8804 545932 13 101 0 0 132726Overhead Primary 101ABC MED36 326 320 0 02.5167908E+02 47 8114 490490 23 101 0 0 117958Underground Primary 101ABC MED36 321 320 0 03.2768338E+02 48 8115 490491 23 101 0 0 117959Underground Primary 101ABC MED36 327 321 0 07.8475269E+02 49 8118 490494 23 101 0 0 117962Underground Primary 101ABC MED36 311 327 0 02.4722728E+02 50 8120 490496 23 101 0 0 117964Underground Primary 101ABC MED36 331 330 0 03.7503708E+02 51 8153 490529 23 101 0 0 117997Underground Primary 101ABC MED36 303 387 0 01.5501610E+02 52 7977 490353 14 201 0 0 117822Overhead Feeder 201ABC MED36 328 308 0 02.3990030E+02 53 8122 490498 14 201 0 0 117966Overhead Feeder 201ABC MED36 389 328 0 01.9714574E+02 54 8123 490499 14 201 0 0 117967Overhead Feeder 201ABC MED36 390 303 0 07.6554024E+01 55 8193 490569 23 101 0 0 118030Underground Primary 101ABC MED36 335 389 0 01.9127869E+02 56 8212 490588 14 201 0 0 118041Overhead Feeder 201ABC MED36 387 335 0 01.4525824E+02 57 8213 490589 14 201 0 0 118042Overhead Feeder 201ABC MED36 335 306 0 01.6609540E+02 58 8218 490594 13 101 0 0 118047Overhead Primary 101ABC MED36 434 433 0 02.0181895E+02 59 8703 545831 23 101 0 0 132655Underground Primary 101ABC MED36 437 436 0 06.0022034E+02 60 8733 545861 23 101 0 0 132685Underground Primary 101ABC MED36 441 417 0 04.6884460E+02 61 8822 545950 23 101 0 0 132740Underground Primary 101ABC MED36 441 418 0 05.2837592E+02 62 8823 545951 23 101 0 0 132741Underground Primary 101ABC MED36 433 431 0 05.5447656E+02 63 8824 545952 23 101 0 0 132742Underground Primary 101ABC MED36 390 437 0 01.8219341E+02 64 8219 490595 23 101 0 0 132809Underground Primary 101ABC MED36 389 441 0 02.7437006E+02 65 8216 490592 23 101 0 0 132811Underground Primary 101ABC MED36 306 305 0 01.7484183E+02 66 7979 490355 13 101 0 0 117824Overhead Primary 101ABC MED36 305 311 0 03.8713248E+02 67 8199 490575 23 101 0 0 118032Underground Primary 101ABC MED36 321 453 0 02.8798822E+02 68 8106 490482 23 101 0 0 117950Underground Primary 101ABC MED36 302 322 0 04.0354749E+02 69 8136 490512 23 101 0 0 117980Underground Primary 101ABC MED36 301 302 0 04.3867535E+02 70 8141 490517 23 101 0 0 117985Underground Primary 101ABC MED36 330 301 0 03.2712387E+02 71 8147 490523 23 101 0 0 117991Underground Primary 101ABC MED36 303 386 0 01.6639043E+02 72 7971 490347 14 201 0 0 117816Overhead Feeder 201ABC MED36 386 304 0 02.1977222E+02 73 7972 490348 14 201 0 0 117817Overhead Feeder 201ABC MED36 337 304 0 01.8464366E+02 74 7976 490352 14 201 0 0 117821Overhead Feeder 201ABC MED36 322 390 0 05.5970258E+02 75 8220 490596 23 101 0 0 118049Underground Primary 101ABC MED36 437 435 0 01.2658546E+02 76 8819 545947 23 101 0 0 132739Underground Primary 101ABC MED36 316 317 0 02.1083849E+02 77 7997 490373 14 201 0 0 117842Overhead Feeder 201ABC MED36 310 329 0 02.9450113E+02 78 8128 490504 23 101 0 0 117972Underground Primary 101ABC MED36 308 307 0 01.9639581E+02 79 7982 490358 14 201 0 0 117827Overhead Feeder 201ABC MED36 307 388 0 01.3487532E+02 80 7984 490360 14 201 0 0 117829Overhead Feeder 201ABC MED36 388 309 0 07.7512474E+01 81 7986 490362 14 201 0 0 117831Overhead Feeder 201ABC MED36 309 312 0 01.9005782E+02 82 7990 490366 14 201 0 0 117835Overhead Feeder 201ABC MED36 312 313 0 09.3509880E+01 83 7991 490367 14 201 0 0 117836Overhead Feeder 201ABC MED36 313 455 0 01.2712514E+02 84 7992 490368 14 201 0 0 117837Overhead Feeder 201ABC MED36 455 314 0 01.9549460E+02 85 7994 490370 14 201 0 0 117839Overhead Feeder 201ABC MED36 388 310 0 02.3569202E+02 86 8209 490585 23 101 0 0 118038Underground Primary 101ABC MED36 455 300 0 01.7679211E+02 87 8197 490573 14 201 0 0 118095Overhead Feeder 201ABC MED36 388 432 0 02.2295961E+02 88 8179 490555 13 101 0 0 132814Overhead Primary 101ABC MED36 314 315 0 01.2138606E+02 89 7995 490371 14 201 0 0 117840Overhead Feeder 201ABC MED36 315 316 0 01.9198836E+02 90 7996 490372 14 201 0 0 117841Overhead Feeder 201ABC MED36 336 337 0 08.4663965E+02 91 8563 521119 24 201 0 0 126416Underground Feeder 201ABC MED36 142 143 0 01.9159398E+02 92 7256 326816 13 101 0 0 75620Overhead Primary 101ABC MED36 145 144 0 01.4353104E+02 93 7259 326819 13 101 0 0 75623Overhead Primary 101ABC MED36 145 146 0 01.6889948E+02 94 7262 326822 13 101 0 0 75626Overhead Primary 101ABC MED36 146 147 0 01.7015997E+02 95 7263 326823 13 101 0 0 75627Overhead Primary 101ABC MED36 147 148 0 03.9788517E+01 96 7265 326825 13 101 0 0 75628Overhead Primary 101ABC MED36 148 152 0 02.1402661E+02 97 7273 326833 13 101 0 0 75633Overhead Primary 101ABC MED36 161 160 0 01.4380962E+02 98 7297 326857 13 101 0 0 75657Overhead Primary 101ABC MED36 160 162 0 05.5004696E+01 99 7298 326858 13 101 0 0 75658Overhead Primary 101ABC MED36 162 163 0 01.6363901E+02 100 7299 326859 13 101 0 0 75659Overhead Primary 101ABC MED36 161 165 0 02.3244400E+02 101 7301 326861 13 101 0 0 75661Overhead Primary 101ABC MED36 165 166 0 01.3215820E+02 102 7302 326862 13 101 0 0 75662Overhead Primary 101ABC MED36 166 167 0 01.0887894E+02 103 7303 326863 13 101 0 0 75663Overhead Primary 101ABC MED36 167 168 0 01.6326486E+02 104 7304 326864 13 101 0 0 75664Overhead Primary 101ABC MED36 168 169 0 01.6163959E+02 105 7305 326865 13 101 0 0 75665Overhead Primary 101ABC MED36 169 170 0 09.8634155E+01 106 7306 326866 13 101 0 0 75666Overhead Primary 101ABC MED36 170 171 0 01.1337567E+02 107 7307 326867 13 101 0 0 75667Overhead Primary 101ABC MED36 171 173 0 02.8289685E+02 108 7309 326869 13 101 0 0 75669Overhead Primary 101ABC MED36 167 174 0 01.8277756E+02 109 7310 326870 13 101 0 0 75670Overhead Primary 101ABC MED36 174 175 0 01.3533070E+02 110 7311 326871 13 101 0 0 75671Overhead Primary 101ABC MED36 175 176 0 01.3117152E+02 111 7313 326873 13 101 0 0 75673Overhead Primary 101ABC MED36 176 177 0 01.3631744E+02 112 7314 326874 13 101 0 0 75674Overhead Primary 101ABC MED36 175 178 0 01.5192111E+02 113 7316 326876 13 101 0 0 75676Overhead Primary 101ABC MED36 186 187 0 02.6777780E+02 114 7334 326894 13 101 0 0 75693Overhead Primary 101ABC MED36 141 142 0 06.1679981E+01 115 7400 326960 13 101 0 0 75742Overhead Primary 101ABC MED36 141 145 0 01.6914735E+02 116 7401 326961 13 101 0 0 75743Overhead Primary 101ABC MED36 178 179 0 01.2048569E+02 117 7317 326877 13 101 0 0 75677Overhead Primary 101ABC MED36 179 180 0 01.7288844E+02 118 7319 326879 13 101 0 0 75679Overhead Primary 101ABC MED36 180 181 0 01.5126143E+02 119 7320 326880 13 101 0 0 75680Overhead Primary 101ABC MED36 375 374 0 01.9136792E+02 120 8873 546001 23 101 0 0 132521Underground Primary 101ABC MED36 376 377 0 01.0020634E+02 121 8874 546002 23 101 0 0 132522Underground Primary 101ABC MED36 159 381 0 01.6102795E+02 122 7292 326852 14 201 0 0 75652Overhead Feeder 201ABC MED36 163 164 0 01.6226392E+02 123 7300 326860 13 101 0 0 75660Overhead Primary 101ABC MED36 164 182 0 01.4340541E+02 124 7323 326883 13 101 0 0 75683Overhead Primary 101ABC MED36 183 182 0 01.5477226E+02 125 7324 326884 14 201 0 0 75684Overhead Feeder 201ABC MED36 381 183 0 01.9585448E+02 126 7325 326885 14 201 0 0 75685Overhead Feeder 201ABC MED36 182 382 0 01.6340445E+02 127 7326 326886 14 201 0 0 75686Overhead Feeder 201ABC MED36 382 184 0 01.7090590E+02 128 7327 326887 14 201 0 0 75687Overhead Feeder 201ABC MED36 184 185 0 02.3702710E+02 129 7328 326888 14 201 0 0 75688Overhead Feeder 201ABC MED36 185 383 0 09.2545517E+01 130 7330 326890 14 201 0 0 75689Overhead Feeder 201ABC MED36 383 186 0 02.6628647E+02 131 7333 326893 13 101 0 0 75692Overhead Primary 101ABC MED36 185 194 0 02.7248727E+02 132 7412 326972 23 101 0 0 75752Underground Primary 101ABC MED36 384 215 0 08.8383202E+01 133 7637 337325 23 101 0 0 79105Underground Primary 101ABC MED36 392 391 0 02.5503842E+02 134 8585 545713 13 101 0 0 132539Overhead Primary 101ABC MED36 391 393 0 02.1199828E+02 135 8586 545714 13 101 0 0 132540Overhead Primary 101ABC MED36 402 401 0 01.3074272E+02 136 8598 545726 13 101 0 0 132551Overhead Primary 101ABC MED36 401 403 0 02.8262616E+02 137 8599 545727 13 101 0 0 132552Overhead Primary 101ABC MED36 403 404 0 01.0600586E+02 138 8600 545728 13 101 0 0 132553Overhead Primary 101ABC MED36 402 405 0 01.5726204E+02 139 8601 545729 13 101 0 0 132554Overhead Primary 101ABC MED36 406 407 0 01.7153571E+02 140 8603 545731 13 101 0 0 132556Overhead Primary 101ABC MED36 407 408 0 01.3008281E+02 141 8606 545734 13 101 0 0 132559Overhead Primary 101ABC MED36 410 409 0 01.1400927E+02 142 8609 545737 23 101 0 0 132562Underground Primary 101ABC MED36 406 402 0 01.1266621E+02 143 8614 545742 13 101 0 0 132567Overhead Primary 101ABC MED36 394 414 0 02.5491432E+02 144 8615 545743 13 101 0 0 132568Overhead Primary 101ABC MED36 393 414 0 01.6743541E+02 145 8639 545767 13 101 0 0 132591Overhead Primary 101ABC MED36 408 414 0 03.2349249E+02 146 8640 545768 13 101 0 0 132592Overhead Primary 101ABC MED36 419 412 0 02.0511134E+02 147 8650 545778 23 101 0 0 132602Underground Primary 101ABC MED36 412 421 0 04.3805283E+02 148 8663 545791 23 101 0 0 132615Underground Primary 101ABC MED36 422 423 0 03.6011319E+02 149 8667 545795 23 101 0 0 132619Underground Primary 101ABC MED36 422 424 0 02.4958878E+02 150 8671 545799 23 101 0 0 132623Underground Primary 101ABC MED36 426 425 0 01.5379317E+02 151 8680 545808 23 101 0 0 132632Underground Primary 101ABC MED36 411 427 0 04.1438547E+02 152 8686 545814 23 101 0 0 132638Underground Primary 101ABC MED36 409 428 0 01.7992448E+02 153 8691 545819 23 101 0 0 132643Underground Primary 101ABC MED36 428 429 0 02.2119313E+02 154 8694 545822 23 101 0 0 132646Underground Primary 101ABC MED36 429 411 0 05.1129590E+02 155 8695 545823 23 101 0 0 132647Underground Primary 101ABC MED36 427 438 0 04.3436740E+02 156 8799 545927 23 101 0 0 132721Underground Primary 101ABC MED36 438 426 0 07.8718811E+01 157 8803 545931 23 101 0 0 132725Underground Primary 101ABC MED36 407 440 0 01.4189973E+02 158 8811 545939 23 101 0 0 132733Underground Primary 101ABC MED36 423 416 0 01.8700565E+02 159 8827 545955 23 101 0 0 132743Underground Primary 101ABC MED36 421 415 0 04.2203723E+02 160 8862 545990 23 101 0 0 132771Underground Primary 101ABC MED36 420 413 0 03.2183548E+02 161 8869 545997 23 101 0 0 132776Underground Primary 101ABC MED36 420 423 0 07.3289508E+02 162 8870 545998 23 101 0 0 132777Underground Primary 101ABC MED36 415 413 0 05.5284918E+02 163 8871 545999 23 101 0 0 132778Underground Primary 101ABC MED36 404 381 0 04.9139400E+01 164 8825 545953 13 101 0 0 132784Overhead Primary 101ABC MED36 410 382 0 05.0872631E+01 165 8771 545899 13 101 0 0 132785Overhead Primary 101ABC MED36 383 419 0 04.8796005E+01 166 7556 327116 13 101 0 0 132787Overhead Primary 101ABC MED36 416 384 0 04.2447012E+02 167 8761 545889 23 101 0 0 132790Underground Primary 101ABC MED36 196 197 0 03.3762659E+02 168 7791 337479 23 101 0 0 79018Underground Primary 101ABC MED36 147 149 0 01.9388130E+02 169 7266 326826 13 101 0 0 75629Overhead Primary 101ABC MED36 151 150 0 01.9451547E+02 170 7268 326828 13 101 0 0 75631Overhead Primary 101ABC MED36 171 172 0 03.2277103E+02 171 7308 326868 13 101 0 0 75668Overhead Primary 101ABC MED36 150 190 0 03.4737134E+02 172 7397 326957 23 101 0 0 75739Underground Primary 101ABC MED36 149 151 0 01.4051129E+02 173 7404 326964 13 101 0 0 75746Overhead Primary 101ABC MED36 96 97 0 01.4350992E+02 174 6996 320801 14 201 0 0 74040Overhead Feeder 201ABC MED36 129 98 0 01.3426991E+02 175 6998 320803 14 201 0 0 74042Overhead Feeder 201ABC MED36 98 99 0 01.1875928E+02 176 6999 320804 14 201 0 0 74043Overhead Feeder 201ABC MED36 99 130 0 01.6301285E+02 177 7000 320805 14 201 0 0 74044Overhead Feeder 201ABC MED36 97 129 0 01.4475462E+02 178 7007 320812 14 201 0 0 74051Overhead Feeder 201ABC MED36 132 131 0 01.0357005E+02 179 7241 326801 13 101 0 0 75605Overhead Primary 101ABC MED36 131 133 0 01.3955634E+02 180 7242 326802 13 101 0 0 75606Overhead Primary 101ABC MED36 133 134 0 01.6290797E+02 181 7243 326803 23 101 0 0 75607Underground Primary 101ABC MED36 136 135 0 01.3387828E+02 182 7244 326804 13 101 0 0 75608Overhead Primary 101ABC MED36 135 137 0 01.6459906E+02 183 7245 326805 13 101 0 0 75609Overhead Primary 101ABC MED36 137 138 0 01.6910049E+02 184 7249 326809 13 101 0 0 75613Overhead Primary 101ABC MED36 138 139 0 01.6405431E+02 185 7251 326811 13 101 0 0 75615Overhead Primary 101ABC MED36 139 142 0 09.3418297E+01 186 7399 326959 13 101 0 0 75741Overhead Primary 101ABC MED36 136 129 0 06.3362961E+01 187 7386 326946 13 101 0 0 75919Overhead Primary 101ABC MED36 132 130 0 06.7466621E+01 188 7385 326945 13 101 0 0 75920Overhead Primary 101ABC MED36 130 100 0 07.9631279E+01 189 7001 320806 14 201 0 0 74045Overhead Feeder 201ABC MED36 100 79 0 01.1763437E+02 190 7003 320808 14 201 0 0 74047Overhead Feeder 201ABC MED36 139 140 0 01.9700749E+02 191 7252 326812 13 101 0 0 75616Overhead Primary 101ABC MED36 192 193 0 03.4371906E+02 192 7392 326952 23 101 0 0 75735Underground Primary 101ABC MED36 133 192 0 01.9664252E+02 193 7393 326953 13 101 0 0 75736Overhead Primary 101ABC MED36 192 191 0 07.2338280E+01 194 7395 326955 23 101 0 0 75737Underground Primary 101ABC MED36 191 193 0 02.7800082E+02 195 7396 326956 23 101 0 0 75738Underground Primary 101ABC MED36 385 216 0 01.7315457E+02 196 7748 337436 23 101 0 0 79213Underground Primary 101ABC MED36 423 385 0 03.1613333E+02 197 8826 545954 23 101 0 0 132789Underground Primary 101ABC MED36 156 159 0 01.4280537E+02 198 7290 326850 14 201 0 0 75650Overhead Feeder 201ABC MED36 440 430 0 03.9392560E+02 199 8809 545937 23 101 0 0 132731Underground Primary 101ABC MED36 95 96 0 01.1963326E+02 200 6994 320799 14 201 0 0 74038Overhead Feeder 201ABC MED36 300 95 0 01.2325857E+02 201 6991 320796 14 201 0 0 74035Overhead Feeder 201ABC MED36 198 199 0 04.6376114E+02 202 7807 337495 23 101 0 0 79021Underground Primary 101ABC MED36 200 201 0 07.9607025E+01 203 7887 337575 23 101 0 0 79026Underground Primary 101ABC MED36 212 211 0 01.0622195E+02 204 7630 337318 13 101 0 0 79098Overhead Primary 101ABC MED36 211 213 0 01.0451913E+02 205 7633 337321 13 101 0 0 79101Overhead Primary 101ABC MED36 213 214 0 02.0331520E+02 206 7635 337323 13 101 0 0 79103Overhead Primary 101ABC MED36 220 222 0 02.7757755E+02 207 7747 337435 23 101 0 0 79212Underground Primary 101ABC MED36 217 221 0 05.4825525E+02 208 7753 337441 23 101 0 0 79218Underground Primary 101ABC MED36 222 217 0 04.7429636E+02 209 7803 337491 23 101 0 0 79252Underground Primary 101ABC MED36 225 212 0 02.2610245E+02 210 7858 337546 13 101 0 0 79305Overhead Primary 101ABC MED36 225 226 0 04.1695396E+01 211 7859 337547 13 101 0 0 79306Overhead Primary 101ABC MED36 227 222 0 04.7465509E+02 212 7869 337557 23 101 0 0 79314Underground Primary 101ABC MED36 227 224 0 01.9609482E+02 213 7870 337558 23 101 0 0 79315Underground Primary 101ABC MED36 223 218 0 03.9845499E+02 214 7877 337565 23 101 0 0 79321Underground Primary 101ABC MED36 223 229 0 02.6666135E+02 215 7880 337568 23 101 0 0 79324Underground Primary 101ABC MED36 229 228 0 03.6217102E+02 216 7886 337574 23 101 0 0 79330Underground Primary 101ABC MED36 230 231 0 02.3033611E+02 217 8232 338617 23 101 0 0 79416Underground Primary 101ABC MED36 232 219 0 01.0375000E+02 218 7660 337348 13 101 0 0 79128Overhead Primary 101ABC MED36 221 448 0 03.7585516E+02 219 7806 337494 23 101 0 0 79255Underground Primary 101ABC MED36 233 225 0 01.1112544E+02 220 7857 337545 13 101 0 0 79304Overhead Primary 101ABC MED36 451 223 0 05.5334515E+02 221 7881 337569 23 101 0 0 79325Underground Primary 101ABC MED36 234 235 0 01.8870433E+02 222 7886 338271 14 201 0 0 79427Overhead Feeder 201ABC MED36 237 236 0 01.5796367E+02 223 7887 338272 14 201 0 0 79428Overhead Feeder 201ABC MED36 236 238 0 01.4588530E+02 224 7888 338273 14 201 0 0 79429Overhead Feeder 201ABC MED36 238 239 0 01.6945070E+02 225 7889 338274 14 201 0 0 79430Overhead Feeder 201ABC MED36 242 241 0 02.8075859E+01 226 7907 338292 13 101 0 0 79448Overhead Primary 101ABC MED36 241 243 0 01.5156271E+02 227 7908 338293 13 101 0 0 79449Overhead Primary 101ABC MED36 245 244 0 01.6195680E+02 228 7909 338294 13 101 0 0 79450Overhead Primary 101ABC MED36 247 246 0 01.7364168E+02 229 7910 338295 13 101 0 0 79451Overhead Primary 101ABC MED36 248 249 0 01.4172807E+02 230 7911 338296 23 101 0 0 79452Underground Primary 101ABC MED36 251 250 0 02.8312851E+02 231 7912 338297 23 101 0 0 79453Underground Primary 101ABC MED36 244 252 0 02.2786349E+02 232 7913 338298 13 101 0 0 79454Overhead Primary 101ABC MED36 252 253 0 01.0396222E+02 233 7915 338300 13 101 0 0 79456Overhead Primary 101ABC MED36 253 254 0 09.9554726E+01 234 7917 338302 13 101 0 0 79458Overhead Primary 101ABC MED36 253 255 0 07.4766327E+01 235 7919 338304 13 101 0 0 79460Overhead Primary 101ABC MED36 255 256 0 01.4503233E+02 236 7920 338305 13 101 0 0 79461Overhead Primary 101ABC MED36 247 257 0 02.2398820E+02 237 7922 338307 23 101 0 0 79463Underground Primary 101ABC MED36 246 259 0 01.7576712E+02 238 7927 338312 13 101 0 0 79468Overhead Primary 101ABC MED36 259 260 0 01.3738823E+02 239 7929 338314 13 101 0 0 79470Overhead Primary 101ABC MED36 260 261 0 01.5828975E+02 240 7930 338315 13 101 0 0 79471Overhead Primary 101ABC MED36 261 262 0 01.3997820E+02 241 7931 338316 14 201 0 0 79472Overhead Feeder 201ABC MED36 262 450 0 01.5174599E+02 242 7932 338317 14 201 0 0 79473Overhead Feeder 201ABC MED36 450 263 0 01.0147284E+02 243 7933 338318 14 201 0 0 79474Overhead Feeder 201ABC MED36 263 264 0 01.7260641E+02 244 7935 338320 14 201 0 0 79476Overhead Feeder 201ABC MED36 264 239 0 01.3561679E+02 245 7936 338321 14 201 0 0 79477Overhead Feeder 201ABC MED36 264 265 0 01.2051819E+02 246 7938 338323 13 101 0 0 79479Overhead Primary 101ABC MED36 265 266 0 09.7901581E+01 247 7939 338324 13 101 0 0 79480Overhead Primary 101ABC MED36 266 267 0 01.7604834E+02 248 7941 338326 13 101 0 0 79482Overhead Primary 101ABC MED36 257 258 0 04.0874289E+02 249 7943 338328 23 101 0 0 79484Underground Primary 101ABC MED36 247 248 0 03.9869171E+01 250 7962 338347 13 101 0 0 79503Overhead Primary 101ABC MED36 270 269 0 02.6354498E+02 251 7989 338374 23 101 0 0 79518Underground Primary 101ABC MED36 250 268 0 02.8531696E+02 252 8004 338389 23 101 0 0 79533Underground Primary 101ABC MED36 259 272 0 03.4649847E+02 253 8005 338390 23 101 0 0 79534Underground Primary 101ABC MED36 273 261 0 02.5810840E+02 254 8058 338443 14 201 0 0 79583Overhead Feeder 201ABC MED36 274 273 0 01.7459047E+02 255 8059 338444 14 201 0 0 79584Overhead Feeder 201ABC MED36 275 237 0 01.5933844E+02 256 8070 338455 14 201 0 0 79594Overhead Feeder 201ABC MED36 276 247 0 01.3126273E+02 257 8081 338466 13 101 0 0 79604Overhead Primary 101ABC MED36 251 276 0 08.4383141E+01 258 8082 338467 13 101 0 0 79605Overhead Primary 101ABC MED36 245 251 0 01.1388593E+02 259 8085 338470 13 101 0 0 79608Overhead Primary 101ABC MED36 277 245 0 01.9114368E+02 260 8090 338475 13 101 0 0 79612Overhead Primary 101ABC MED36 278 277 0 01.4101352E+02 261 8093 338478 13 101 0 0 79615Overhead Primary 101ABC MED36 280 279 0 04.3504269E+01 262 8094 338479 13 101 0 0 79616Overhead Primary 101ABC MED36 279 278 0 01.5238960E+02 263 8095 338480 13 101 0 0 79617Overhead Primary 101ABC MED36 242 280 0 01.1050817E+02 264 8102 338487 13 101 0 0 79623Overhead Primary 101ABC MED36 282 242 0 01.3728014E+02 265 8106 338491 13 101 0 0 79626Overhead Primary 101ABC MED36 283 282 0 01.9403130E+02 266 8107 338492 13 101 0 0 79627Overhead Primary 101ABC MED36 285 283 0 01.5222079E+02 267 8109 338494 13 101 0 0 79629Overhead Primary 101ABC MED36 287 286 0 09.6259819E+01 268 8127 338512 13 101 0 0 79646Overhead Primary 101ABC MED36 290 285 0 01.6985039E+02 269 8153 338538 13 101 0 0 79670Overhead Primary 101ABC MED36 292 290 0 09.9464439E+01 270 8154 338539 13 101 0 0 79671Overhead Primary 101ABC MED36 293 292 0 01.3208687E+02 271 8155 338540 13 101 0 0 79672Overhead Primary 101ABC MED36 293 289 0 01.7464201E+02 272 8156 338541 13 101 0 0 79673Overhead Primary 101ABC MED36 291 293 0 01.7401663E+02 273 8157 338542 13 101 0 0 79674Overhead Primary 101ABC MED36 294 291 0 01.7339062E+02 274 8158 338543 13 101 0 0 79675Overhead Primary 101ABC MED36 280 281 0 02.3191972E+02 275 8169 338554 13 101 0 0 79686Overhead Primary 101ABC MED36 281 295 0 01.5345589E+02 276 8170 338555 13 101 0 0 79687Overhead Primary 101ABC MED36 295 294 0 01.6547441E+02 277 8171 338556 13 101 0 0 79688Overhead Primary 101ABC MED36 294 296 0 01.7589366E+02 278 8172 338557 13 101 0 0 79689Overhead Primary 101ABC MED36 270 296 0 03.0167908E+02 279 8234 338619 23 101 0 0 79725Underground Primary 101ABC MED36 235 297 0 01.0380959E+02 280 8237 338622 14 201 0 0 79727Overhead Feeder 201ABC MED36 297 275 0 05.9607620E+01 281 8238 338623 14 201 0 0 79728Overhead Feeder 201ABC MED36 234 232 0 05.4415787E+01 282 7971 338356 13 101 0 0 79829Overhead Primary 101ABC MED36 275 233 0 01.4925298E+02 283 8075 338460 13 101 0 0 79831Overhead Primary 101ABC MED36 298 299 0 03.2690552E+02 284 8343 338728 23 101 0 0 79833Underground Primary 101ABC MED36 442 234 0 01.7626208E+02 285 7885 338270 14 201 0 0 79426Overhead Feeder 201ABC MED36 271 287 0 09.2758217E+01 286 8126 338511 13 101 0 0 79645Overhead Primary 101ABC MED36 287 288 0 01.6961617E+02 287 8128 338513 13 101 0 0 79647Overhead Primary 101ABC MED36 240 288 0 01.3386758E+02 288 8129 338514 13 101 0 0 79648Overhead Primary 101ABC MED36 443 442 0 04.7912549E+02 289 9039 550687 24 201 0 0 133714Underground Feeder 201ABC MED36 447 274 0 07.5554520E+01 290 8062 338447 14 201 0 0 79587Overhead Feeder 201ABC MED36 447 446 0 01.4670105E+02 291 8340 338725 14 201 0 0 79825Overhead Feeder 201ABC MED36 447 448 0 02.3839699E+02 292 8341 338726 23 101 0 0 79835Underground Primary 101ABC MED36 446 449 0 02.9040366E+02 293 7337 326897 13 101 0 0 75696Overhead Primary 101ABC MED36 450 451 0 07.2545074E+01 294 7873 337561 23 101 0 0 79318Underground Primary 101ABC MED36 284 283 0 01.8839417E+02 295 8108 338493 13 101 0 0 79628Overhead Primary 101ABC MED36 452 284 0 09.4759750E+01 296 8123 338508 13 101 0 0 79642Overhead Primary 101ABC MED36 286 452 0 09.7009964E+01 297 8124 338509 13 101 0 0 79643Overhead Primary 101ABC MED36 383 188 0 01.8517139E+02 298 7335 326895 14 201 0 0 75694Overhead Feeder 201ABC MED36 188 189 0 02.6992758E+02 299 7338 326898 13 101 0 0 75697Overhead Primary 101ABC MED36 384 227 0 04.1846057E+02 300 7868 337556 23 101 0 0 79313Underground Primary 101ABC MED36 188 446 0 01.3625731E+02 301 7336 326896 14 201 0 0 75695Overhead Feeder 201ABC MED36 153 154 0 01.2619423E+02 302 7280 326840 14 201 0 0 75640Overhead Feeder 201ABC MED36 154 378 0 02.1039507E+02 303 7281 326841 14 201 0 0 75641Overhead Feeder 201ABC MED36 378 155 0 01.7922269E+02 304 7282 326842 13 101 0 0 75642Overhead Primary 101ABC MED36 378 379 0 01.1936496E+02 305 7284 326844 14 201 0 0 75644Overhead Feeder 201ABC MED36 379 380 0 01.7202838E+02 306 7285 326845 14 201 0 0 75645Overhead Feeder 201ABC MED36 396 395 0 01.5050481E+02 307 8594 545722 13 101 0 0 132547Overhead Primary 101ABC MED36 396 378 0 06.9144112E+01 308 8755 545883 13 101 0 0 132781Overhead Primary 101ABC MED36 454 153 0 01.5610460E+02 309 7278 326838 14 201 0 0 75638Overhead Feeder 201ABC MED36 455 454 0 07.6498474E+01 310 8753 545881 14 201 0 0 132807Overhead Feeder 201ABC MED36 203 202 0 02.0310696E+02 311 7591 337279 13 101 0 0 79060Overhead Primary 101ABC MED36 205 204 0 01.0900162E+02 312 7624 337312 13 101 0 0 79092Overhead Primary 101ABC MED36 204 206 0 01.6837735E+02 313 7625 337313 13 101 0 0 79093Overhead Primary 101ABC MED36 202 207 0 01.4235553E+02 314 7626 337314 13 101 0 0 79094Overhead Primary 101ABC MED36 207 208 0 01.0864109E+02 315 7627 337315 13 101 0 0 79095Overhead Primary 101ABC MED36 208 209 0 01.1761327E+02 316 7628 337316 13 101 0 0 79096Overhead Primary 101ABC MED36 204 210 0 01.9165414E+02 317 7629 337317 23 101 0 0 79097Underground Primary 101ABC MED36 206 203 0 01.1050151E+02 318 7671 337359 13 101 0 0 79139Overhead Primary 101ABC MED36 205 225 0 01.6288191E+02 319 7860 337548 13 101 0 0 79307Overhead Primary 101ABC MED36 126 76 0 01.5225801E+02 320 6963 320768 14 201 0 0 74007Overhead Feeder 201ABC MED36 76 78 0 01.3213443E+02 321 6967 320772 14 201 0 0 74011Overhead Feeder 201ABC MED36 126 77 0 01.3945926E+02 322 7063 320868 14 201 0 0 74106Overhead Feeder 201ABC MED36 195 126 0 01.8452582E+02 323 7382 326942 13 101 0 0 75916Overhead Primary 101ABC MED36 78 444 0 02.0713971E+02 324 6969 320774 14 201 0 0 74013Overhead Feeder 201ABC MED36 47 46 0 01.3475980E+02 325 6918 320723 13 101 0 0 73962Overhead Primary 101ABC MED36 46 48 0 01.3775996E+02 326 6919 320724 13 101 0 0 73963Overhead Primary 101ABC MED36 66 65 0 01.1050780E+02 327 6945 320750 13 101 0 0 73989Overhead Primary 101ABC MED36 114 115 0 01.8576738E+02 328 7076 320881 14 201 0 0 74119Overhead Feeder 201ABC MED36 45 114 0 01.4704883E+02 329 7077 320882 14 201 0 0 74120Overhead Feeder 201ABC MED36 119 66 0 08.2131088E+01 330 7156 320961 13 101 0 0 74184Overhead Primary 101ABC MED36 121 47 0 09.6880157E+01 331 7209 321014 13 101 0 0 74230Overhead Primary 101ABC MED36 114 121 0 03.4752373E+01 332 7210 321015 13 101 0 0 74231Overhead Primary 101ABC MED36 72 71 0 01.1738361E+02 333 6955 320760 13 101 0 0 73999Overhead Primary 101ABC MED36 73 72 0 01.2150851E+02 334 6956 320761 13 101 0 0 74000Overhead Primary 101ABC MED36 125 73 0 09.7880600E+01 335 7226 321031 13 101 0 0 74247Overhead Primary 101ABC MED36 109 125 0 03.1252640E+01 336 7227 321032 13 101 0 0 74248Overhead Primary 101ABC MED36 77 109 0 01.9241200E+02 337 7064 320869 14 201 0 0 74107Overhead Feeder 201ABC MED36 2 1 0 01.0110889E+02 338 423 315351 23 101 0 0 72202Underground Primary 101ABC MED36 7 21 0 02.6803934E+02 339 471 315399 23 101 0 0 72247Underground Primary 101ABC MED36 8 7 0 01.9581143E+02 340 473 315401 23 101 0 0 72249Underground Primary 101ABC MED36 1 9 0 04.2883542E+02 341 475 315403 23 101 0 0 72251Underground Primary 101ABC MED36 9 3 0 03.6068610E+02 342 480 315408 23 101 0 0 72256Underground Primary 101ABC MED36 3 8 0 04.0696552E+02 343 482 315410 23 101 0 0 72258Underground Primary 101ABC MED36 8 5 0 05.0747861E+02 344 485 315413 23 101 0 0 72261Underground Primary 101ABC MED36 4 5 0 03.6244897E+02 345 486 315414 23 101 0 0 72262Underground Primary 101ABC MED36 13 1 0 02.0137498E+02 346 568 315496 23 101 0 0 72319Underground Primary 101ABC MED36 2 14 0 04.4822195E+02 347 572 315500 23 101 0 0 72322Underground Primary 101ABC MED36 14 15 0 02.0395732E+02 348 575 315503 23 101 0 0 72325Underground Primary 101ABC MED36 29 22 0 02.6890799E+02 349 7137 320942 23 101 0 0 74269Underground Primary 101ABC MED36 29 23 0 02.8246451E+02 350 7134 320939 23 101 0 0 74270Underground Primary 101ABC MED36 23 24 0 02.9401871E+02 351 488 315416 23 101 0 0 72264Underground Primary 101ABC MED36 12 27 0 06.9700684E+01 352 562 315490 23 101 0 0 72313Underground Primary 101ABC MED36 24 27 0 03.2352335E+02 353 563 315491 23 101 0 0 72314Underground Primary 101ABC MED36 27 5 0 03.5687869E+02 354 565 315493 23 101 0 0 72316Underground Primary 101ABC MED36 35 27 0 04.4224863E+02 355 7126 320931 23 101 0 0 74273Underground Primary 101ABC MED36 35 25 0 04.0648007E+02 356 7127 320932 23 101 0 0 74274Underground Primary 101ABC MED36 44 43 0 01.2088374E+02 357 6912 320717 13 101 0 0 73956Overhead Primary 101ABC MED36 33 32 0 01.4739540E+02 358 6884 320689 13 101 0 0 73928Overhead Primary 101ABC MED36 50 49 0 03.3398425E+02 359 6921 320726 23 101 0 0 73965Underground Primary 101ABC MED36 61 62 0 01.0025703E+02 360 6941 320746 13 101 0 0 73985Overhead Primary 101ABC MED36 62 63 0 01.4689082E+02 361 6942 320747 13 101 0 0 73986Overhead Primary 101ABC MED36 93 92 0 02.4114214E+02 362 6986 320791 13 101 0 0 74030Overhead Primary 101ABC MED36 92 63 0 02.5013927E+02 363 6987 320792 13 101 0 0 74031Overhead Primary 101ABC MED36 34 118 0 02.8817792E+02 364 7148 320953 23 101 0 0 74176Underground Primary 101ABC MED36 118 31 0 01.6350830E+02 365 7149 320954 23 101 0 0 74177Underground Primary 101ABC MED36 118 33 0 02.8521091E+02 366 7155 320960 23 101 0 0 74183Underground Primary 101ABC MED36 105 120 0 05.3559546E+02 367 7168 320973 23 101 0 0 74195Underground Primary 101ABC MED36 93 120 0 07.8075974E+01 368 7171 320976 23 101 0 0 74198Underground Primary 101ABC MED36 51 50 0 01.3904726E+02 369 6925 320730 13 101 0 0 73969Overhead Primary 101ABC MED36 51 52 0 01.4284082E+02 370 6926 320731 13 101 0 0 73970Overhead Primary 101ABC MED36 52 53 0 02.1553049E+02 371 6927 320732 13 101 0 0 73971Overhead Primary 101ABC MED36 52 113 0 01.8937582E+02 372 7074 320879 13 101 0 0 74117Overhead Primary 101ABC MED36 51 117 0 02.4548778E+02 373 7150 320955 23 101 0 0 74178Underground Primary 101ABC MED36 53 54 0 02.7176962E+02 374 6929 320734 13 101 0 0 73973Overhead Primary 101ABC MED36 112 102 0 01.4801035E+02 375 7072 320877 13 101 0 0 74115Overhead Primary 101ABC MED36 103 112 0 01.5101106E+02 376 7073 320878 13 101 0 0 74116Overhead Primary 101ABC MED36 54 121 0 02.1957138E+02 377 7208 321013 13 101 0 0 74229Overhead Primary 101ABC MED36 107 57 0 01.2100073E+02 378 7245 321050 23 101 0 0 74265Underground Primary 101ABC MED36 29 28 0 03.7248178E+02 379 6879 320684 23 101 0 0 73924Underground Primary 101ABC MED36 29 30 0 04.5486371E+02 380 6880 320685 23 101 0 0 73925Underground Primary 101ABC MED36 30 31 0 03.2679703E+02 381 6882 320687 23 101 0 0 73926Underground Primary 101ABC MED36 37 36 0 01.9848630E+02 382 6899 320704 23 101 0 0 73943Underground Primary 101ABC MED36 37 28 0 01.2797819E+02 383 7203 321008 23 101 0 0 74224Underground Primary 101ABC MED36 55 126 0 01.5439027E+02 384 6930 320735 14 201 0 0 73974Overhead Feeder 201ABC MED36 127 55 0 01.4888565E+02 385 6959 320764 14 201 0 0 74003Overhead Feeder 201ABC MED36 128 127 0 01.4951060E+02 386 6973 320778 14 201 0 0 74017Overhead Feeder 201ABC MED36 82 81 0 02.4701709E+02 387 6974 320779 13 101 0 0 74018Overhead Primary 101ABC MED36 83 82 0 01.9304408E+02 388 6976 320781 13 101 0 0 74020Overhead Primary 101ABC MED36 85 84 0 01.9457425E+02 389 6977 320782 13 101 0 0 74021Overhead Primary 101ABC MED36 86 84 0 02.5551854E+02 390 6978 320783 13 101 0 0 74022Overhead Primary 101ABC MED36 84 89 0 01.3688658E+02 391 6983 320788 13 101 0 0 74027Overhead Primary 101ABC MED36 90 84 0 01.7076265E+02 392 6984 320789 13 101 0 0 74028Overhead Primary 101ABC MED36 91 90 0 02.3814217E+02 393 6985 320790 13 101 0 0 74029Overhead Primary 101ABC MED36 94 82 0 01.2801051E+02 394 6988 320793 13 101 0 0 74032Overhead Primary 101ABC MED36 86 94 0 02.4064218E+02 395 6989 320794 13 101 0 0 74033Overhead Primary 101ABC MED36 74 75 0 01.4588550E+02 396 6957 320762 13 101 0 0 74001Overhead Primary 101ABC MED36 81 74 0 01.5426083E+02 397 6975 320780 13 101 0 0 74019Overhead Primary 101ABC MED36 75 125 0 02.0094893E+02 398 7225 321030 13 101 0 0 74246Overhead Primary 101ABC MED36 6 13 0 03.5955304E+02 399 570 315498 23 101 0 0 72321Underground Primary 101ABC MED36 26 11 0 08.2615471E+01 400 553 315481 23 101 0 0 72304Underground Primary 101ABC MED36 11 6 0 04.2973300E+02 401 554 315482 23 101 0 0 72305Underground Primary 101ABC MED36 11 22 0 03.6879340E+02 402 555 315483 23 101 0 0 72306Underground Primary 101ABC MED36 80 128 0 01.2638390E+02 403 6972 320777 14 201 0 0 74016Overhead Feeder 201ABC MED36 79 80 0 01.3488556E+02 404 6970 320775 14 201 0 0 74014Overhead Feeder 201ABC MED36 129 85 0 01.3614890E+02 405 7192 320997 13 101 0 0 74219Overhead Primary 101ABC MED36 106 87 0 03.7994568E+02 406 7055 320860 23 101 0 0 74098Underground Primary 101ABC MED36 87 88 0 06.5130298E+02 407 7059 320864 23 101 0 0 74102Underground Primary 101ABC MED36 88 104 0 03.3134750E+02 408 7061 320866 23 101 0 0 74104Underground Primary 101ABC MED36 317 318 0 01.5137141E+02 409 7998 490374 14 201 0 0 117843Overhead Feeder 201ABC MED36 318 324 0 01.3035448E+02 410 8094 490470 14 201 0 0 117938Overhead Feeder 201ABC MED36 117 104 0 07.3573364E+02 411 7089 320894 23 101 0 0 74132Underground Primary 101ABC MED36 319 325 0 01.9328745E+02 412 8110 490486 23 101 0 0 117954Underground Primary 101ABC MED36 325 326 0 02.0092264E+02 413 8111 490487 23 101 0 0 117955Underground Primary 101ABC MED36 332 331 0 05.5250934E+02 414 8158 490534 23 101 0 0 118002Underground Primary 101ABC MED36 334 333 0 05.4586511E+02 415 8159 490535 23 101 0 0 118003Underground Primary 101ABC MED36 332 333 0 03.9304556E+02 416 8160 490536 23 101 0 0 118004Underground Primary 101ABC MED36 324 323 0 01.6890207E+02 417 8093 490469 14 201 0 0 117937Overhead Feeder 201ABC MED36 122 115 0 01.8598897E+02 418 7211 321016 14 201 0 0 74232Overhead Feeder 201ABC MED36 122 123 0 03.2001526E+01 419 7213 321018 13 101 0 0 74234Overhead Primary 101ABC MED36 123 119 0 01.4863405E+02 420 7214 321019 13 101 0 0 74235Overhead Primary 101ABC MED36 56 57 0 01.5163583E+02 421 6931 320736 13 101 0 0 73975Overhead Primary 101ABC MED36 123 103 0 01.7343459E+02 422 7216 321021 13 101 0 0 74237Overhead Primary 101ABC MED36 108 109 0 01.3766048E+02 423 7062 320867 14 201 0 0 74105Overhead Feeder 201ABC MED36 60 59 0 01.4887868E+02 424 6938 320743 13 101 0 0 73982Overhead Primary 101ABC MED36 60 61 0 01.5089622E+02 425 6939 320744 13 101 0 0 73983Overhead Primary 101ABC MED36 458 67 0 01.2075874E+02 426 6947 320752 13 101 0 0 73991Overhead Primary 101ABC MED36 67 68 0 01.2175759E+02 427 6948 320753 13 101 0 0 73992Overhead Primary 101ABC MED36 70 69 0 02.0951454E+02 428 6953 320758 13 101 0 0 73997Overhead Primary 101ABC MED36 459 457 0 01.9204984E+02 429 7066 320871 14 201 0 0 74109Overhead Feeder 201ABC MED36 457 110 0 01.3995961E+02 430 7067 320872 14 201 0 0 74110Overhead Feeder 201ABC MED36 459 111 0 01.7911000E+02 431 7068 320873 14 201 0 0 74111Overhead Feeder 201ABC MED36 110 122 0 01.5156348E+02 432 7212 321017 14 201 0 0 74233Overhead Feeder 201ABC MED36 111 124 0 02.9878677E+01 433 7220 321025 13 101 0 0 74241Overhead Primary 101ABC MED36 124 70 0 01.3000760E+02 434 7222 321027 13 101 0 0 74243Overhead Primary 101ABC MED36 111 108 0 01.5375859E+02 435 7069 320874 14 201 0 0 74112Overhead Feeder 201ABC MED36 58 56 0 01.5926141E+02 436 6932 320737 13 101 0 0 73976Overhead Primary 101ABC MED36 58 456 0 01.4000998E+02 437 6934 320739 13 101 0 0 73978Overhead Primary 101ABC MED36 59 124 0 02.0187979E+02 438 7221 321026 13 101 0 0 74242Overhead Primary 101ABC MED36 456 457 0 01.3164215E+02 439 7219 321024 13 101 0 0 74240Overhead Primary 101ABC MED36 457 458 0 01.2800429E+02 440 7217 321022 13 101 0 0 74238Overhead Primary 101ABC MED36 116 45 0 04.2308693E+01 441 7078 320883 14 201 0 0 74121Overhead Feeder 201ABC MED36 101 40 0 01.5226431E+02 442 7014 320819 23 101 0 0 74058Underground Primary 101ABC MED36 101 116 0 01.7960323E+02 443 7079 320884 24 201 0 0 74122Underground Feeder 201ABC MED36 39 41 0 01.6196936E+02 444 6908 320713 23 101 0 0 73952Underground Primary 101ABC MED36 41 44 0 01.1675847E+02 445 6914 320719 13 101 0 0 73958Overhead Primary 101ABC MED36 101 39 0 03.0823019E+02 446 7013 320818 23 101 0 0 74057Underground Primary 101ABC MED36 39 40 0 01.8181583E+02 447 7082 320887 23 101 0 0 74125Underground Primary 101ABC MED36 39 27 0 05.2023468E+02 448 7133 320938 23 101 0 0 74280Underground Primary 101ABC MED36 36 38 0 03.4636456E+02 449 6900 320705 23 101 0 0 73944Underground Primary 101ABC MED36 38 39 0 02.8245471E+02 450 6905 320710 23 101 0 0 73949Underground Primary 101ABC MED36 10 4 0 04.7800516E+02 451 494 315422 23 101 0 0 72270Underground Primary 101ABC MED36 16 25 0 03.6284598E+02 452 594 315522 23 101 0 0 72340Underground Primary 101ABC MED36 20 21 0 03.3694550E+02 453 7013 316122 23 101 0 0 72669Underground Primary 101ABC MED36 43 42 0 01.2100873E+02 454 6910 320715 13 101 0 0 73954Overhead Primary 101ABC MED36 48 339 0 01.3876007E+02 455 6920 320725 13 101 0 0 73964Overhead Primary 101ABC MED36 65 64 0 01.4413544E+02 456 6944 320749 13 101 0 0 73988Overhead Primary 101ABC MED36 68 340 0 01.2038514E+02 457 6949 320754 13 101 0 0 73993Overhead Primary 101ABC MED36 69 373 0 01.2213346E+02 458 6950 320755 13 101 0 0 73994Overhead Primary 101ABC MED36 338 271 0 01.1100383E+02 459 8125 338510 13 101 0 0 79644Overhead Primary 101ABC MED36 444 445 0 01.7801982E+02 460 7191 320996 14 201 0 0 132440Overhead Feeder 201ABC MED36 shapelib-1.6.1/tests/dbf_test.cc0000664000175000017500000002373714655153023013514 00000000000000#include #include #include #include #include #include #include #include #include #include #include "shapefil.h" namespace fs = std::filesystem; namespace { static const auto kTestData = fs::path{"shape_eg_data"}; static bool SetContents(const fs::path &filename, std::string_view content) { std::ofstream file(filename); if (!file.is_open()) return false; file << content; file.close(); return true; } TEST(DBFOpenTest, OpenDoesNotExist_rb) { const auto handle = DBFOpen("/does/not/exist.dbf", "rb"); ASSERT_EQ(nullptr, handle); } TEST(DBFOpenTest, OpenDoesNotExist_rb_plus) { const auto handle = DBFOpen("/does/not/exist2.dbf", "rb+"); ASSERT_EQ(nullptr, handle); } TEST(DBFOpenTest, OpenUnexpectedFormat) { const auto filename = kTestData / "README.md"; const auto handle = DBFOpen(filename.string().c_str(), "rb"); ASSERT_EQ(nullptr, handle); } TEST(DBFOpenTest, OpenExisting) { const auto filename = kTestData / "anno.dbf"; const auto handle = DBFOpen(filename.string().c_str(), "rb"); ASSERT_NE(nullptr, handle); DBFClose(handle); } TEST(DBFCreateTest, CreateDoesNotExist) { const auto handle = DBFCreate("/does/not/exist"); EXPECT_EQ(nullptr, handle); } TEST(DBFCreateTest, CreateAlreadyExisting) { const auto filename = kTestData / "in-the-way.dbf"; fs::copy(kTestData / "anno.dbf", filename); EXPECT_TRUE(SetContents(filename, "some content")); const auto handle = DBFCreate(filename.string().c_str()); // TODO(schwehr): Seems like a bug to overwrite an existing. ASSERT_NE(nullptr, handle); DBFClose(handle); const auto size = fs::file_size(filename); EXPECT_EQ(34, size); fs::remove(filename); } TEST(DBFCreateTest, CreateAndClose) { const auto filename = kTestData / "empty.dbf"; const auto handle = DBFCreate(filename.string().c_str()); DBFClose(handle); const auto size = fs::file_size(filename); EXPECT_EQ(34, size); fs::remove(filename); } static auto GenerateUniqueFilename(std::string_view ext) -> auto { const auto now = std::chrono::system_clock::now(); const auto timestamp = std::chrono::duration_cast( now.time_since_epoch()) .count(); std::ostringstream oss; oss << "test_" << timestamp << ext; return oss.str(); } TEST(DBFCreateTest, CloneEmpty) { const auto filename = fs::temp_directory_path() / GenerateUniqueFilename(".clone.dbf"); const auto handle = [&] { const auto handle = DBFOpen(fs::path(kTestData / "anno.dbf").string().c_str(), "rb"); EXPECT_NE(nullptr, handle); const auto clonedhandle = DBFCloneEmpty(handle, filename.string().c_str()); DBFClose(handle); return clonedhandle; }(); ASSERT_NE(nullptr, handle); const auto fieldcount = DBFGetFieldCount(handle); EXPECT_EQ(10, fieldcount); const auto recordcount = DBFGetRecordCount(handle); EXPECT_EQ(0, recordcount); DBFClose(handle); const auto size = fs::file_size(filename); EXPECT_EQ(354, size); fs::remove(filename); } static auto WriteDate(const fs::path &filename, const std::unique_ptr &date) -> auto { const auto handle = DBFCreate(filename.string().c_str()); EXPECT_NE(nullptr, handle); const auto fid = DBFAddField(handle, "date", FTDate, 8, 0); EXPECT_GE(fid, 0); const auto success = DBFWriteDateAttribute(handle, 0, fid, date.get()); DBFClose(handle); return success; } static auto ReadDate(const fs::path &filename, int expectIsNull, int expectWidth) -> auto { const auto handle = DBFOpen(filename.string().c_str(), "rb"); EXPECT_NE(nullptr, handle); const auto fieldcount = DBFGetFieldCount(handle); EXPECT_EQ(1, fieldcount); const auto fieldname = std::make_unique>(); int width, decimals; const auto fieldtype = DBFGetFieldInfo(handle, 0, fieldname->data(), &width, &decimals); EXPECT_EQ(FTDate, fieldtype); EXPECT_EQ(0, std::strcmp("date", fieldname->data())); EXPECT_EQ(expectWidth, width); EXPECT_EQ(0, decimals); const auto isNull = DBFIsAttributeNULL(handle, 0, 0); EXPECT_EQ(expectIsNull, isNull); const auto recordcount = DBFGetRecordCount(handle); EXPECT_EQ(1, recordcount); const auto date = DBFReadDateAttribute(handle, 0, 0); DBFClose(handle); return std::make_unique(date); } static auto WriteLogical(const fs::path &filename, const char logical) -> auto { const auto handle = DBFCreate(filename.string().c_str()); EXPECT_NE(nullptr, handle); const auto fid = DBFAddField(handle, "logical", FTLogical, 1, 0); EXPECT_GE(fid, 0); const auto success = DBFWriteLogicalAttribute(handle, 0, fid, logical); DBFClose(handle); return success; } static auto ReadLogical(const fs::path &filename) -> auto { const auto handle = DBFOpen(filename.string().c_str(), "rb"); EXPECT_NE(nullptr, handle); const auto fieldcount = DBFGetFieldCount(handle); EXPECT_EQ(1, fieldcount); const auto fieldname = std::make_unique>(); int width, decimals; const auto fieldtype = DBFGetFieldInfo(handle, 0, fieldname->data(), &width, &decimals); EXPECT_EQ(FTLogical, fieldtype); EXPECT_EQ(0, std::strcmp("logical", fieldname->data())); EXPECT_EQ(1, width); EXPECT_EQ(0, decimals); const auto recordcount = DBFGetRecordCount(handle); EXPECT_EQ(1, recordcount); const auto logical = std::string(DBFReadLogicalAttribute(handle, 0, 0)); DBFClose(handle); return logical; } TEST(DBFFieldTest, SetAndGetDateToday) { const auto filename = fs::temp_directory_path() / GenerateUniqueFilename(".dbf"); const auto today = [] { const auto calendarTime = std::chrono::system_clock::to_time_t( std::chrono::system_clock::now()); const auto tlocal = std::localtime(&calendarTime); return std::make_unique(SHPDate{ 1900 + tlocal->tm_year, tlocal->tm_mon + 1, tlocal->tm_mday}); }(); const auto success = WriteDate(filename, today); EXPECT_TRUE(success); const auto size = fs::file_size(filename); EXPECT_EQ(75, size); const auto date = ReadDate(filename, 0, 8); EXPECT_EQ(today->year, date->year); EXPECT_EQ(today->month, date->month); EXPECT_EQ(today->day, date->day); fs::remove(filename); } TEST(DBFFieldTest, SetAndGetDateEmpty) { const auto filename = fs::temp_directory_path() / GenerateUniqueFilename(".dbf"); const auto success = WriteDate(filename, std::make_unique()); EXPECT_TRUE(success); const auto size = fs::file_size(filename); EXPECT_EQ(75, size); const auto date = ReadDate(filename, 1, 8); EXPECT_EQ(0, date->year); EXPECT_EQ(0, date->month); EXPECT_EQ(0, date->day); fs::remove(filename); } TEST(DBFFieldTest, SetAndGetDateNull) { const auto filename = fs::temp_directory_path() / GenerateUniqueFilename(".dbf"); for (int width = 1; width <= XBASE_FLD_MAX_WIDTH; ++width) { const auto success = [&filename, &width] { const auto handle = DBFCreate(filename.string().c_str()); EXPECT_NE(nullptr, handle); const auto fid = DBFAddField(handle, "date", FTDate, width, 0); EXPECT_GE(fid, 0); const auto success = DBFWriteNULLAttribute(handle, 0, 0); DBFClose(handle); return success; }(); EXPECT_TRUE(success); const auto size = fs::file_size(filename); EXPECT_EQ(67 + width, size); const auto date = ReadDate(filename, 1, width); EXPECT_EQ(0, date->year); EXPECT_EQ(0, date->month); EXPECT_EQ(0, date->day); fs::remove(filename); } } TEST(DBFFieldTest, SetAndGetDateEmptyString) { const auto filename = fs::temp_directory_path() / GenerateUniqueFilename(".dbf"); const auto success = [&filename] { const auto handle = DBFCreate(filename.string().c_str()); EXPECT_NE(nullptr, handle); const auto fid = DBFAddField(handle, "date", FTDate, 8, 0); EXPECT_GE(fid, 0); constexpr const auto emptyString = ""; const auto success = DBFWriteAttributeDirectly(handle, 0, 0, emptyString); DBFClose(handle); return success; }(); EXPECT_TRUE(success); const auto size = fs::file_size(filename); EXPECT_EQ(75, size); const auto date = ReadDate(filename, 1, 8); EXPECT_EQ(0, date->year); EXPECT_EQ(0, date->month); EXPECT_EQ(0, date->day); fs::remove(filename); } TEST(DBFFieldTest, SetAndGetLogicalTrue) { const auto filename = fs::temp_directory_path() / GenerateUniqueFilename(".dbf"); const auto success = WriteLogical(filename, 'T'); EXPECT_TRUE(success); const auto size = fs::file_size(filename); EXPECT_EQ(68, size); const auto logical = ReadLogical(filename); EXPECT_EQ(std::string("T"), logical); fs::remove(filename); } TEST(DBFFieldTest, SetAndGetLogicalFalse) { const auto filename = fs::temp_directory_path() / GenerateUniqueFilename(".dbf"); const auto success = WriteLogical(filename, 'F'); EXPECT_TRUE(success); const auto size = fs::file_size(filename); EXPECT_EQ(68, size); const auto logical = ReadLogical(filename); EXPECT_EQ(std::string("F"), logical); fs::remove(filename); } TEST(DBFFieldTest, SetAndGetLogicalInvalid) { const auto filename = fs::temp_directory_path() / GenerateUniqueFilename(".dbf"); const auto success = WriteLogical(filename, '0'); EXPECT_FALSE(success); fs::remove(filename); } } // namespace int main(int argc, char **argv) { ::testing::InitGoogleTest(&argc, argv); return RUN_ALL_TESTS(); } shapelib-1.6.1/tests/test2.sh0000775000175000017500000000142114657064606013007 00000000000000#!/bin/sh readonly SCRIPTDIR=$(dirname "$0") readonly EXPECT="${1:-$SCRIPTDIR/expect2.out}" for i in 0 1 2 3 4 5 6 7 8 9 10 11 12 13; do echo ----------------------------------------------------------------------- echo Test 2/$i echo ----------------------------------------------------------------------- "${SHPTEST:-./shptest}" $i "${SHPDUMP:-./shpdump}" test${i}.shp done > "s2.out" supports_strip_trailing_cr() { diff --help 2>/dev/null | grep -q -- '--strip-trailing-cr' } run_diff() { if supports_strip_trailing_cr; then diff --strip-trailing-cr "$EXPECT" "s2.out" else diff "$EXPECT" "s2.out" fi } if result=$(run_diff); then echo "******* Stream 2 Succeeded *********" exit 0 else echo "******* Stream 2 Failed *********" echo "$result" exit 1 fi shapelib-1.6.1/tests/sbn_test.cc0000664000175000017500000000462014600371435013530 00000000000000#include #include #include #include #include #include #include #include #include #include "shapefil.h" namespace fs = std::filesystem; namespace { static const auto kTestData = fs::path{"shape_eg_data"}; TEST(SBNOpenDiskTree, OpenDoesNotExist_rb) { const auto handle = SBNOpenDiskTree("/does/not/exist.sbn", nullptr); ASSERT_EQ(nullptr, handle); } // Note: this shapefile contains only 4 shapes. That is not exercising // the SBN code much... TEST(SBNOpenDiskTree, NominalSmallSBN) { const auto filename = kTestData / "CoHI_GCS12.sbn"; const auto handle = SBNOpenDiskTree(filename.string().c_str(), nullptr); ASSERT_NE(nullptr, handle); { double adfMin[] = {-180, -90}; double adfMax[] = {180, 90}; int nShapeCount = 0; int *panIds = SBNSearchDiskTree(handle, adfMin, adfMax, &nShapeCount); EXPECT_EQ(nShapeCount, 4); EXPECT_NE(panIds, nullptr); if (nShapeCount == 0) { EXPECT_EQ(panIds[0], 0); EXPECT_EQ(panIds[1], 1); EXPECT_EQ(panIds[2], 2); EXPECT_EQ(panIds[3], 3); } SBNSearchFreeIds(panIds); } { double adfMin[] = {170, -90}; double adfMax[] = {180, 90}; int nShapeCount = 0; int *panIds = SBNSearchDiskTree(handle, adfMin, adfMax, &nShapeCount); EXPECT_EQ(nShapeCount, 0); SBNSearchFreeIds(panIds); } { double adfMin[] = {-156.05722, 19.742536}; double adfMax[] = {-156.05722, 19.742536}; int nShapeCount = 0; int *panIds = SBNSearchDiskTree(handle, adfMin, adfMax, &nShapeCount); EXPECT_EQ(nShapeCount, 1); if (nShapeCount == 1) { EXPECT_EQ(panIds[0], 0); } SBNSearchFreeIds(panIds); } { double adfMin[] = {-158.277679, 21.578789}; double adfMax[] = {-158.277679, 21.578789}; int nShapeCount = 0; int *panIds = SBNSearchDiskTree(handle, adfMin, adfMax, &nShapeCount); EXPECT_EQ(nShapeCount, 1); if (nShapeCount == 1) { EXPECT_EQ(panIds[0], 1); } SBNSearchFreeIds(panIds); } SBNCloseDiskTree(handle); } } // namespace int main(int argc, char **argv) { ::testing::InitGoogleTest(&argc, argv); return RUN_ALL_TESTS(); } shapelib-1.6.1/shapefil.h0000664000175000017500000005521114656614636012222 00000000000000#ifndef SHAPEFILE_H_INCLUDED #define SHAPEFILE_H_INCLUDED /****************************************************************************** * * Project: Shapelib * Purpose: Primary include file for Shapelib. * Author: Frank Warmerdam, warmerdam@pobox.com * ****************************************************************************** * Copyright (c) 1999, Frank Warmerdam * Copyright (c) 2012-2024, Even Rouault * * SPDX-License-Identifier: MIT OR LGPL-2.0-or-later ****************************************************************************** * */ #include #ifdef USE_CPL #include "cpl_conv.h" #endif #ifdef __cplusplus extern "C" { #endif /************************************************************************/ /* Version related macros (added in 1.6.0) */ /************************************************************************/ #define SHAPELIB_VERSION_MAJOR 1 #define SHAPELIB_VERSION_MINOR 6 #define SHAPELIB_VERSION_MICRO 1 #define SHAPELIB_MAKE_VERSION_NUMBER(major, minor, micro) \ ((major) * 10000 + (minor) * 100 + (micro)) #define SHAPELIB_VERSION_NUMBER \ SHAPELIB_MAKE_VERSION_NUMBER(SHAPELIB_VERSION_MAJOR, \ SHAPELIB_VERSION_MINOR, \ SHAPELIB_VERSION_MICRO) #define SHAPELIB_AT_LEAST(major, minor, micro) \ (SHAPELIB_VERSION_NUMBER >= \ SHAPELIB_MAKE_VERSION_NUMBER(major, minor, micro)) /************************************************************************/ /* Configuration options. */ /************************************************************************/ /* -------------------------------------------------------------------- */ /* Should the DBFReadStringAttribute() strip leading and */ /* trailing white space? */ /* -------------------------------------------------------------------- */ #define TRIM_DBF_WHITESPACE /* -------------------------------------------------------------------- */ /* Should we write measure values to the Multipatch object? */ /* Reportedly ArcView crashes if we do write it, so for now it */ /* is disabled. */ /* -------------------------------------------------------------------- */ #define DISABLE_MULTIPATCH_MEASURE /* -------------------------------------------------------------------- */ /* SHPAPI_CALL */ /* */ /* The following two macros are present to allow forcing */ /* various calling conventions on the Shapelib API. */ /* */ /* To force __stdcall conventions (needed to call Shapelib */ /* from Visual Basic and/or Delphi I believe) the makefile could */ /* be modified to define: */ /* */ /* /DSHPAPI_CALL=__stdcall */ /* */ /* If it is desired to force export of the Shapelib API without */ /* using the shapelib.def file, use the following definition. */ /* */ /* /DSHAPELIB_DLLEXPORT */ /* */ /* To get both at once it will be necessary to hack this */ /* include file to define: */ /* */ /* #define SHPAPI_CALL __declspec(dllexport) __stdcall */ /* #define SHPAPI_CALL1 __declspec(dllexport) * __stdcall */ /* */ /* The complexity of the situation is partly caused by the */ /* peculiar requirement of Visual C++ that __stdcall appear */ /* after any "*"'s in the return value of a function while the */ /* __declspec(dllexport) must appear before them. */ /* -------------------------------------------------------------------- */ #ifdef SHAPELIB_DLLEXPORT #define SHPAPI_CALL __declspec(dllexport) #define SHPAPI_CALL1(x) __declspec(dllexport) x #endif #ifndef SHPAPI_CALL #if defined(USE_GCC_VISIBILITY_FLAG) #define SHPAPI_CALL __attribute__((visibility("default"))) #define SHPAPI_CALL1(x) __attribute__((visibility("default"))) x #else #define SHPAPI_CALL #endif #endif #ifndef SHPAPI_CALL1 #define SHPAPI_CALL1(x) x SHPAPI_CALL #endif /* -------------------------------------------------------------------- */ /* On some platforms, additional file IO hooks are defined that */ /* UTF-8 encoded filenames Unicode filenames */ /* -------------------------------------------------------------------- */ #if defined(_WIN32) #define SHPAPI_WINDOWS #define SHPAPI_UTF8_HOOKS #endif /* -------------------------------------------------------------------- */ /* IO/Error hook functions. */ /* -------------------------------------------------------------------- */ typedef int *SAFile; #ifndef SAOffset #if defined(_MSC_VER) && _MSC_VER >= 1400 typedef unsigned __int64 SAOffset; #else typedef unsigned long SAOffset; #endif #endif typedef struct { SAFile (*FOpen)(const char *filename, const char *access, void *pvUserData); SAOffset (*FRead)(void *p, SAOffset size, SAOffset nmemb, SAFile file); SAOffset (*FWrite)(const void *p, SAOffset size, SAOffset nmemb, SAFile file); SAOffset (*FSeek)(SAFile file, SAOffset offset, int whence); SAOffset (*FTell)(SAFile file); int (*FFlush)(SAFile file); int (*FClose)(SAFile file); int (*Remove)(const char *filename, void *pvUserData); void (*Error)(const char *message); double (*Atof)(const char *str); void *pvUserData; } SAHooks; void SHPAPI_CALL SASetupDefaultHooks(SAHooks *psHooks); #ifdef SHPAPI_UTF8_HOOKS void SHPAPI_CALL SASetupUtf8Hooks(SAHooks *psHooks); #endif /************************************************************************/ /* SHP Support. */ /************************************************************************/ typedef struct tagSHPObject SHPObject; typedef struct { SAHooks sHooks; SAFile fpSHP; SAFile fpSHX; int nShapeType; /* SHPT_* */ unsigned int nFileSize; /* SHP file */ int nRecords; int nMaxRecords; unsigned int *panRecOffset; unsigned int *panRecSize; double adBoundsMin[4]; double adBoundsMax[4]; int bUpdated; unsigned char *pabyRec; int nBufSize; int bFastModeReadObject; unsigned char *pabyObjectBuf; int nObjectBufSize; SHPObject *psCachedObject; } SHPInfo; typedef SHPInfo *SHPHandle; typedef struct { int year; int month; int day; } SHPDate; /* -------------------------------------------------------------------- */ /* Shape types (nSHPType) */ /* -------------------------------------------------------------------- */ #define SHPT_NULL 0 #define SHPT_POINT 1 #define SHPT_ARC 3 #define SHPT_POLYGON 5 #define SHPT_MULTIPOINT 8 #define SHPT_POINTZ 11 #define SHPT_ARCZ 13 #define SHPT_POLYGONZ 15 #define SHPT_MULTIPOINTZ 18 #define SHPT_POINTM 21 #define SHPT_ARCM 23 #define SHPT_POLYGONM 25 #define SHPT_MULTIPOINTM 28 #define SHPT_MULTIPATCH 31 /* -------------------------------------------------------------------- */ /* Part types - everything but SHPT_MULTIPATCH just uses */ /* SHPP_RING. */ /* -------------------------------------------------------------------- */ #define SHPP_TRISTRIP 0 #define SHPP_TRIFAN 1 #define SHPP_OUTERRING 2 #define SHPP_INNERRING 3 #define SHPP_FIRSTRING 4 #define SHPP_RING 5 /* -------------------------------------------------------------------- */ /* SHPObject - represents one shape (without attributes) read */ /* from the .shp file. */ /* -------------------------------------------------------------------- */ struct tagSHPObject { int nSHPType; int nShapeId; /* -1 is unknown/unassigned */ int nParts; int *panPartStart; int *panPartType; int nVertices; double *padfX; double *padfY; double *padfZ; double *padfM; double dfXMin; double dfYMin; double dfZMin; double dfMMin; double dfXMax; double dfYMax; double dfZMax; double dfMMax; int bMeasureIsUsed; int bFastModeReadObject; }; /* -------------------------------------------------------------------- */ /* SHP API Prototypes */ /* -------------------------------------------------------------------- */ /* If pszAccess is read-only, the fpSHX field of the returned structure */ /* will be NULL as it is not necessary to keep the SHX file open */ SHPHandle SHPAPI_CALL SHPOpen(const char *pszShapeFile, const char *pszAccess); SHPHandle SHPAPI_CALL SHPOpenLL(const char *pszShapeFile, const char *pszAccess, const SAHooks *psHooks); SHPHandle SHPAPI_CALL SHPOpenLLEx(const char *pszShapeFile, const char *pszAccess, const SAHooks *psHooks, int bRestoreSHX); int SHPAPI_CALL SHPRestoreSHX(const char *pszShapeFile, const char *pszAccess, const SAHooks *psHooks); /* If setting bFastMode = TRUE, the content of SHPReadObject() is owned by the SHPHandle. */ /* So you cannot have 2 valid instances of SHPReadObject() simultaneously. */ /* The SHPObject padfZ and padfM members may be NULL depending on the geometry */ /* type. It is illegal to free at hand any of the pointer members of the SHPObject structure */ void SHPAPI_CALL SHPSetFastModeReadObject(SHPHandle hSHP, int bFastMode); SHPHandle SHPAPI_CALL SHPCreate(const char *pszShapeFile, int nShapeType); SHPHandle SHPAPI_CALL SHPCreateLL(const char *pszShapeFile, int nShapeType, const SAHooks *psHooks); void SHPAPI_CALL SHPGetInfo(const SHPHandle hSHP, int *pnEntities, int *pnShapeType, double *padfMinBound, double *padfMaxBound); SHPObject SHPAPI_CALL1(*) SHPReadObject(const SHPHandle hSHP, int iShape); int SHPAPI_CALL SHPWriteObject(SHPHandle hSHP, int iShape, const SHPObject *psObject); void SHPAPI_CALL SHPDestroyObject(SHPObject *psObject); void SHPAPI_CALL SHPComputeExtents(SHPObject *psObject); SHPObject SHPAPI_CALL1(*) SHPCreateObject(int nSHPType, int nShapeId, int nParts, const int *panPartStart, const int *panPartType, int nVertices, const double *padfX, const double *padfY, const double *padfZ, const double *padfM); SHPObject SHPAPI_CALL1(*) SHPCreateSimpleObject(int nSHPType, int nVertices, const double *padfX, const double *padfY, const double *padfZ); int SHPAPI_CALL SHPRewindObject(const SHPHandle hSHP, SHPObject *psObject); void SHPAPI_CALL SHPClose(SHPHandle hSHP); void SHPAPI_CALL SHPWriteHeader(SHPHandle hSHP); const char SHPAPI_CALL1(*) SHPTypeName(int nSHPType); const char SHPAPI_CALL1(*) SHPPartTypeName(int nPartType); /* -------------------------------------------------------------------- */ /* Shape quadtree indexing API. */ /* -------------------------------------------------------------------- */ /* this can be two or four for binary or quad tree */ #define MAX_SUBNODE 4 /* upper limit of tree levels for automatic estimation */ #define MAX_DEFAULT_TREE_DEPTH 12 typedef struct shape_tree_node { /* region covered by this node */ double adfBoundsMin[4]; double adfBoundsMax[4]; /* list of shapes stored at this node. The papsShapeObj pointers or the whole list can be NULL */ int nShapeCount; int *panShapeIds; SHPObject **papsShapeObj; int nSubNodes; struct shape_tree_node *apsSubNode[MAX_SUBNODE]; } SHPTreeNode; typedef struct { SHPHandle hSHP; int nMaxDepth; int nDimension; int nTotalCount; SHPTreeNode *psRoot; } SHPTree; SHPTree SHPAPI_CALL1(*) SHPCreateTree(SHPHandle hSHP, int nDimension, int nMaxDepth, const double *padfBoundsMin, const double *padfBoundsMax); void SHPAPI_CALL SHPDestroyTree(SHPTree *hTree); int SHPAPI_CALL SHPWriteTree(SHPTree *hTree, const char *pszFilename); int SHPAPI_CALL SHPTreeAddShapeId(SHPTree *hTree, SHPObject *psObject); void SHPAPI_CALL SHPTreeTrimExtraNodes(SHPTree *hTree); int SHPAPI_CALL1(*) SHPTreeFindLikelyShapes(const SHPTree *hTree, double *padfBoundsMin, double *padfBoundsMax, int *); int SHPAPI_CALL SHPCheckBoundsOverlap(const double *, const double *, const double *, const double *, int); int SHPAPI_CALL1(*) SHPSearchDiskTree(FILE *fp, double *padfBoundsMin, double *padfBoundsMax, int *pnShapeCount); typedef struct SHPDiskTreeInfo *SHPTreeDiskHandle; SHPTreeDiskHandle SHPAPI_CALL SHPOpenDiskTree(const char *pszQIXFilename, const SAHooks *psHooks); void SHPAPI_CALL SHPCloseDiskTree(SHPTreeDiskHandle hDiskTree); int SHPAPI_CALL1(*) SHPSearchDiskTreeEx(const SHPTreeDiskHandle hDiskTree, double *padfBoundsMin, double *padfBoundsMax, int *pnShapeCount); int SHPAPI_CALL SHPWriteTreeLL(SHPTree *hTree, const char *pszFilename, const SAHooks *psHooks); /* -------------------------------------------------------------------- */ /* SBN Search API */ /* -------------------------------------------------------------------- */ typedef struct SBNSearchInfo *SBNSearchHandle; SBNSearchHandle SHPAPI_CALL SBNOpenDiskTree(const char *pszSBNFilename, const SAHooks *psHooks); void SHPAPI_CALL SBNCloseDiskTree(SBNSearchHandle hSBN); int SHPAPI_CALL1(*) SBNSearchDiskTree(const SBNSearchHandle hSBN, const double *padfBoundsMin, const double *padfBoundsMax, int *pnShapeCount); int SHPAPI_CALL1(*) SBNSearchDiskTreeInteger(const SBNSearchHandle hSBN, int bMinX, int bMinY, int bMaxX, int bMaxY, int *pnShapeCount); void SHPAPI_CALL SBNSearchFreeIds(int *panShapeId); /************************************************************************/ /* DBF Support. */ /************************************************************************/ typedef struct { SAHooks sHooks; SAFile fp; int nRecords; int nRecordLength; /* Must fit on uint16 */ int nHeaderLength; /* File header length (32) + field descriptor length + spare space. Must fit on uint16 */ int nFields; int *panFieldOffset; int *panFieldSize; int *panFieldDecimals; char *pachFieldType; char *pszHeader; /* Field descriptors */ int nCurrentRecord; int bCurrentRecordModified; char *pszCurrentRecord; int nWorkFieldLength; char *pszWorkField; int bNoHeader; int bUpdated; union { double dfDoubleField; int nIntField; } fieldValue; int iLanguageDriver; char *pszCodePage; int nUpdateYearSince1900; /* 0-255 */ int nUpdateMonth; /* 1-12 */ int nUpdateDay; /* 1-31 */ int bWriteEndOfFileChar; /* defaults to TRUE */ int bRequireNextWriteSeek; } DBFInfo; typedef DBFInfo *DBFHandle; typedef enum { FTString, FTInteger, FTDouble, FTLogical, FTDate, FTInvalid } DBFFieldType; /* Field descriptor/header size */ #define XBASE_FLDHDR_SZ 32 /* Shapelib read up to 11 characters, even if only 10 should normally be used */ #define XBASE_FLDNAME_LEN_READ 11 /* On writing, we limit to 10 characters */ #define XBASE_FLDNAME_LEN_WRITE 10 /* Normally only 254 characters should be used. We tolerate 255 historically */ #define XBASE_FLD_MAX_WIDTH 255 DBFHandle SHPAPI_CALL DBFOpen(const char *pszDBFFile, const char *pszAccess); DBFHandle SHPAPI_CALL DBFOpenLL(const char *pszDBFFile, const char *pszAccess, const SAHooks *psHooks); DBFHandle SHPAPI_CALL DBFCreate(const char *pszDBFFile); DBFHandle SHPAPI_CALL DBFCreateEx(const char *pszDBFFile, const char *pszCodePage); DBFHandle SHPAPI_CALL DBFCreateLL(const char *pszDBFFile, const char *pszCodePage, const SAHooks *psHooks); int SHPAPI_CALL DBFGetFieldCount(const DBFHandle psDBF); int SHPAPI_CALL DBFGetRecordCount(const DBFHandle psDBF); int SHPAPI_CALL DBFAddField(DBFHandle hDBF, const char *pszFieldName, DBFFieldType eType, int nWidth, int nDecimals); int SHPAPI_CALL DBFAddNativeFieldType(DBFHandle hDBF, const char *pszFieldName, char chType, int nWidth, int nDecimals); int SHPAPI_CALL DBFDeleteField(DBFHandle hDBF, int iField); int SHPAPI_CALL DBFReorderFields(DBFHandle psDBF, const int *panMap); int SHPAPI_CALL DBFAlterFieldDefn(DBFHandle psDBF, int iField, const char *pszFieldName, char chType, int nWidth, int nDecimals); DBFFieldType SHPAPI_CALL DBFGetFieldInfo(const DBFHandle psDBF, int iField, char *pszFieldName, int *pnWidth, int *pnDecimals); int SHPAPI_CALL DBFGetFieldIndex(const DBFHandle psDBF, const char *pszFieldName); int SHPAPI_CALL DBFReadIntegerAttribute(DBFHandle hDBF, int iShape, int iField); double SHPAPI_CALL DBFReadDoubleAttribute(DBFHandle hDBF, int iShape, int iField); const char SHPAPI_CALL1(*) DBFReadStringAttribute(DBFHandle hDBF, int iShape, int iField); const char SHPAPI_CALL1(*) DBFReadLogicalAttribute(DBFHandle hDBF, int iShape, int iField); SHPDate SHPAPI_CALL DBFReadDateAttribute(DBFHandle hDBF, int iShape, int iField); int SHPAPI_CALL DBFIsAttributeNULL(const DBFHandle hDBF, int iShape, int iField); int SHPAPI_CALL DBFWriteIntegerAttribute(DBFHandle hDBF, int iShape, int iField, int nFieldValue); int SHPAPI_CALL DBFWriteDoubleAttribute(DBFHandle hDBF, int iShape, int iField, double dFieldValue); int SHPAPI_CALL DBFWriteStringAttribute(DBFHandle hDBF, int iShape, int iField, const char *pszFieldValue); int SHPAPI_CALL DBFWriteNULLAttribute(DBFHandle hDBF, int iShape, int iField); int SHPAPI_CALL DBFWriteLogicalAttribute(DBFHandle hDBF, int iShape, int iField, const char lFieldValue); int SHPAPI_CALL DBFWriteDateAttribute(DBFHandle hDBF, int iShape, int iField, const SHPDate *dateFieldValue); int SHPAPI_CALL DBFWriteAttributeDirectly(DBFHandle psDBF, int hEntity, int iField, const void *pValue); const char SHPAPI_CALL1(*) DBFReadTuple(DBFHandle psDBF, int hEntity); int SHPAPI_CALL DBFWriteTuple(DBFHandle psDBF, int hEntity, const void *pRawTuple); int SHPAPI_CALL DBFIsRecordDeleted(const DBFHandle psDBF, int iShape); int SHPAPI_CALL DBFMarkRecordDeleted(DBFHandle psDBF, int iShape, int bIsDeleted); DBFHandle SHPAPI_CALL DBFCloneEmpty(const DBFHandle psDBF, const char *pszFilename); void SHPAPI_CALL DBFClose(DBFHandle hDBF); void SHPAPI_CALL DBFUpdateHeader(DBFHandle hDBF); char SHPAPI_CALL DBFGetNativeFieldType(const DBFHandle hDBF, int iField); const char SHPAPI_CALL1(*) DBFGetCodePage(const DBFHandle psDBF); void SHPAPI_CALL DBFSetLastModifiedDate(DBFHandle psDBF, int nYYSince1900, int nMM, int nDD); void SHPAPI_CALL DBFSetWriteEndOfFileChar(DBFHandle psDBF, int bWriteFlag); #ifdef __cplusplus } #endif #endif /* ndef SHAPEFILE_H_INCLUDED */