diff options
Diffstat (limited to 'modules/spreadsheet')
377 files changed, 49309 insertions, 0 deletions
diff --git a/modules/spreadsheet/.libs/libscispreadsheet-algo.a b/modules/spreadsheet/.libs/libscispreadsheet-algo.a Binary files differnew file mode 100755 index 000000000..aee44fc72 --- /dev/null +++ b/modules/spreadsheet/.libs/libscispreadsheet-algo.a diff --git a/modules/spreadsheet/.libs/libscispreadsheet-algo.la b/modules/spreadsheet/.libs/libscispreadsheet-algo.la new file mode 120000 index 000000000..be0a7662e --- /dev/null +++ b/modules/spreadsheet/.libs/libscispreadsheet-algo.la @@ -0,0 +1 @@ +../libscispreadsheet-algo.la
\ No newline at end of file diff --git a/modules/spreadsheet/.libs/libscispreadsheet.la b/modules/spreadsheet/.libs/libscispreadsheet.la new file mode 120000 index 000000000..e33e9971e --- /dev/null +++ b/modules/spreadsheet/.libs/libscispreadsheet.la @@ -0,0 +1 @@ +../libscispreadsheet.la
\ No newline at end of file diff --git a/modules/spreadsheet/.libs/libscispreadsheet.lai b/modules/spreadsheet/.libs/libscispreadsheet.lai new file mode 100755 index 000000000..3e99f95cb --- /dev/null +++ b/modules/spreadsheet/.libs/libscispreadsheet.lai @@ -0,0 +1,41 @@ +# libscispreadsheet.la - a libtool library file +# Generated by libtool (GNU libtool) 2.4.2 +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# The name that we can dlopen(3). +dlname='libscispreadsheet.so.5' + +# Names of this library. +library_names='libscispreadsheet.so.5.5.2 libscispreadsheet.so.5 libscispreadsheet.so' + +# The name of the static archive. +old_library='' + +# Linker flags that can not go in dependency_libs. +inherited_linker_flags='' + +# Libraries that this one depends upon. +dependency_libs=' -lpthread -ldl -lcurses -lm' + +# Names of additional weak libraries provided by this library +weak_library_names='' + +# Version information for libscispreadsheet. +current=10 +age=5 +revision=2 + +# Is this an already installed library? +installed=yes + +# Should we warn about portability when linking against -modules? +shouldnotlink=no + +# Files to dlopen/dlpreopen +dlopen='' +dlpreopen='' + +# Directory that this library needs to be installed in: +libdir='/usr/local/lib/scilab' diff --git a/modules/spreadsheet/.libs/libscispreadsheet.so b/modules/spreadsheet/.libs/libscispreadsheet.so new file mode 120000 index 000000000..da6b4e307 --- /dev/null +++ b/modules/spreadsheet/.libs/libscispreadsheet.so @@ -0,0 +1 @@ +libscispreadsheet.so.5.5.2
\ No newline at end of file diff --git a/modules/spreadsheet/.libs/libscispreadsheet.so.5 b/modules/spreadsheet/.libs/libscispreadsheet.so.5 new file mode 120000 index 000000000..da6b4e307 --- /dev/null +++ b/modules/spreadsheet/.libs/libscispreadsheet.so.5 @@ -0,0 +1 @@ +libscispreadsheet.so.5.5.2
\ No newline at end of file diff --git a/modules/spreadsheet/.libs/libscispreadsheet.so.5.5.2 b/modules/spreadsheet/.libs/libscispreadsheet.so.5.5.2 Binary files differnew file mode 100755 index 000000000..bedc3e27d --- /dev/null +++ b/modules/spreadsheet/.libs/libscispreadsheet.so.5.5.2 diff --git a/modules/spreadsheet/Makefile b/modules/spreadsheet/Makefile new file mode 100755 index 000000000..7b35e6a0a --- /dev/null +++ b/modules/spreadsheet/Makefile @@ -0,0 +1,1607 @@ +# Makefile.in generated by automake 1.14.1 from Makefile.am. +# modules/spreadsheet/Makefile. Generated from Makefile.in by configure. + +# Copyright (C) 1994-2013 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. + + + +# Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +# Copyright (C) 2006 - INRIA - Sylvestre LEDRU +# +# This file is distributed under the same license as the Scilab package. + +# Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +# Copyright (C) 2006-2008 - INRIA - Sylvestre LEDRU <sylvestre.ledru@inria.fr> +# Copyright (C) 2008 - INRIA - Pierre MARECHAL <pierre.marechal@inria.fr> +# +# This file must be used under the terms of the CeCILL. +# This source file is licensed as described in the file COPYING, which +# you should have received as part of this distribution. The terms +# are also available at +# http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt +# + +########## +### Makefile included stuff +### Target, variable, suffixes which are supposed to be useful in every makefile.am +########## + + + +am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' +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)/scilab +pkgincludedir = $(includedir)/scilab +pkglibdir = $(libdir)/scilab +pkglibexecdir = $(libexecdir)/scilab +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 = x86_64-unknown-linux-gnu +host_triplet = x86_64-unknown-linux-gnu +DIST_COMMON = $(top_srcdir)/Makefile.incl.am $(srcdir)/Makefile.in \ + $(srcdir)/Makefile.am $(top_srcdir)/config/mkinstalldirs \ + $(top_srcdir)/config/depcomp TODO +am__append_1 = java +subdir = modules/spreadsheet +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/backtrace.m4 \ + $(top_srcdir)/m4/compiler.m4 $(top_srcdir)/m4/curl.m4 \ + $(top_srcdir)/m4/docbook.m4 $(top_srcdir)/m4/doxygen.m4 \ + $(top_srcdir)/m4/fftw.m4 $(top_srcdir)/m4/fortran.m4 \ + $(top_srcdir)/m4/giws.m4 $(top_srcdir)/m4/hdf5.m4 \ + $(top_srcdir)/m4/intel_compiler.m4 \ + $(top_srcdir)/m4/java-thirdparty.m4 $(top_srcdir)/m4/java.m4 \ + $(top_srcdir)/m4/largefile.m4 $(top_srcdir)/m4/lib-ld.m4 \ + $(top_srcdir)/m4/libsmath.m4 $(top_srcdir)/m4/libtool.m4 \ + $(top_srcdir)/m4/libxml2.m4 $(top_srcdir)/m4/ltoptions.m4 \ + $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ + $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/macosx.m4 \ + $(top_srcdir)/m4/mpi.m4 $(top_srcdir)/m4/ocaml.m4 \ + $(top_srcdir)/m4/pcre.m4 $(top_srcdir)/m4/pkg.m4 \ + $(top_srcdir)/m4/relocatable.m4 $(top_srcdir)/m4/swig.m4 \ + $(top_srcdir)/m4/symlinks.m4 $(top_srcdir)/m4/tcltk.m4 \ + $(top_srcdir)/m4/umfpack.m4 $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/modules/core/includes/machine.h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +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__installdirs = "$(DESTDIR)$(pkglibdir)" \ + "$(DESTDIR)$(libscispreadsheet_la_etcdir)" \ + "$(DESTDIR)$(libscispreadsheet_la_rootdir)" \ + "$(DESTDIR)$(libscispreadsheet_la_sci_gatewaydir)" +LTLIBRARIES = $(noinst_LTLIBRARIES) $(pkglib_LTLIBRARIES) +libscispreadsheet_algo_la_LIBADD = +am__dirstamp = $(am__leading_dot)dirstamp +am__objects_1 = src/c/libscispreadsheet_algo_la-xls.lo \ + src/c/libscispreadsheet_algo_la-checkCsvWriteFormat.lo \ + src/c/libscispreadsheet_algo_la-csvDefault.lo \ + src/c/libscispreadsheet_algo_la-csvRead.lo \ + src/c/libscispreadsheet_algo_la-csvWrite.lo \ + src/c/libscispreadsheet_algo_la-getRange.lo \ + src/c/libscispreadsheet_algo_la-splitLine.lo \ + src/c/libscispreadsheet_algo_la-utftolatin.lo +am__objects_2 = \ + src/c/ripole/libscispreadsheet_algo_la-olestream-unwrap.lo \ + src/c/ripole/libscispreadsheet_algo_la-pldstr.lo \ + src/c/ripole/libscispreadsheet_algo_la-ole.lo \ + src/c/ripole/libscispreadsheet_algo_la-bytedecoders.lo \ + src/c/ripole/libscispreadsheet_algo_la-logger.lo \ + src/c/ripole/libscispreadsheet_algo_la-ripole.lo \ + src/c/ripole/libscispreadsheet_algo_la-bt-int.lo +am_libscispreadsheet_algo_la_OBJECTS = $(am__objects_1) \ + $(am__objects_2) +libscispreadsheet_algo_la_OBJECTS = \ + $(am_libscispreadsheet_algo_la_OBJECTS) +AM_V_lt = $(am__v_lt_$(V)) +am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY)) +am__v_lt_0 = --silent +am__v_lt_1 = +libscispreadsheet_la_DEPENDENCIES = libscispreadsheet-algo.la +am__objects_3 = sci_gateway/c/libscispreadsheet_la-gw_spreadsheet.lo \ + sci_gateway/c/libscispreadsheet_la-sci_xls_read.lo \ + sci_gateway/c/libscispreadsheet_la-sci_xls_open.lo \ + sci_gateway/c/libscispreadsheet_la-gw_csv_helpers.lo \ + sci_gateway/c/libscispreadsheet_la-sci_csvDefault.lo \ + sci_gateway/c/libscispreadsheet_la-sci_csvRead.lo \ + sci_gateway/c/libscispreadsheet_la-sci_csvStringToDouble.lo \ + sci_gateway/c/libscispreadsheet_la-sci_csvTextScan.lo \ + sci_gateway/c/libscispreadsheet_la-sci_csvWrite.lo +am_libscispreadsheet_la_OBJECTS = $(am__objects_3) +libscispreadsheet_la_OBJECTS = $(am_libscispreadsheet_la_OBJECTS) +AM_V_P = $(am__v_P_$(V)) +am__v_P_ = $(am__v_P_$(AM_DEFAULT_VERBOSITY)) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_$(V)) +am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_$(V)) +am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) +am__v_at_0 = @ +am__v_at_1 = +DEFAULT_INCLUDES = -I. -I$(top_builddir)/modules/core/includes +depcomp = $(SHELL) $(top_srcdir)/config/depcomp +am__depfiles_maybe = depfiles +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_$(V)) +am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY)) +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_$(V)) +am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY)) +am__v_CCLD_0 = @echo " CCLD " $@; +am__v_CCLD_1 = +SOURCES = $(libscispreadsheet_algo_la_SOURCES) \ + $(libscispreadsheet_la_SOURCES) +DIST_SOURCES = $(libscispreadsheet_algo_la_SOURCES) \ + $(libscispreadsheet_la_SOURCES) +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac +DATA = $(libscispreadsheet_la_etc_DATA) \ + $(libscispreadsheet_la_root_DATA) \ + $(libscispreadsheet_la_sci_gateway_DATA) +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 +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = ${SHELL} /home/shashank/scilab-master_5.5.2/config/missing aclocal-1.14 +ALL_LINGUAS = en_US fr_FR zh_CN zh_TW ru_RU ca_ES de_DE es_ES pt_BR ja_JP it_IT uk_UA pl_PL cs_CZ +ALL_LINGUAS_DOC = en_US fr_FR pt_BR ja_JP ru_RU +AMTAR = $${TAR-tar} +AM_DEFAULT_VERBOSITY = 1 +ANT = /usr/bin/ant +ANTLR = /usr/share/java/antlr.jar +AR = ar +ARPACK_LIBS = -L/home/shashank/scilab-master_5.5.2/usr/lib -larpack +ASM3 = /usr/share/java/asm3-3.3.2.jar +AUTOCONF = ${SHELL} /home/shashank/scilab-master_5.5.2/config/missing autoconf +AUTOHEADER = ${SHELL} /home/shashank/scilab-master_5.5.2/config/missing autoheader +AUTOMAKE = ${SHELL} /home/shashank/scilab-master_5.5.2/config/missing automake-1.14 +AVALON_FRAMEWORK = /home/shashank/scilab-master_5.5.2/thirdparty/avalon-framework.jar +AWK = mawk +BATIK = /home/shashank/scilab-master_5.5.2/thirdparty/batik-all-1.7.jar +BLAS_LIBS = -L/home/shashank/scilab-master_5.5.2/usr/lib -lblas +CC = gcc +CCACHE = +CCDEPMODE = depmode=gcc3 +CFLAGS = -g -O2 +CHECKSTYLE = +COBERTURA = /usr/share/java/cobertura.jar +COMMONS_BEANUTILS = +COMMONS_IO = /home/shashank/scilab-master_5.5.2/thirdparty/commons-io.jar +COMMONS_LOGGING = /home/shashank/scilab-master_5.5.2/thirdparty/commons-logging.jar +CPP = gcc -E +CPPFLAGS = +CURL_CFLAGS = -I/home/shashank/scilab-master_5.5.2/usr/include +CURL_CONFIG = /home/shashank/scilab-master_5.5.2/usr/bin/curl-config +CURL_LIBS = -L/home/shashank/scilab-master_5.5.2/usr/lib -lcurl -L/home/scilab/work/linux-prerequisites-sources/trunk/Dev-Tools/SE/Prerequirements/linux_x64/usr/lib -L/home/scilab/work/linux-prerequisites-sources/trunk/Dev-Tools/SE/Prerequirements/linux_x64/usr/lib -lssl -lcrypto -lrt -lz +CURL_VERSION = libcurl 7.19.7 +CXX = g++ +CXXCPP = g++ -E +CXXDEPMODE = depmode=gcc3 +CXXFLAGS = -g -O2 +CYGPATH_W = echo +DEFS = -DHAVE_CONFIG_H +DEMOTOOLS_ENABLE = yes +DEPDIR = .deps +DLLTOOL = false +DOCBOOK_ROOT = /home/shashank/scilab-master_5.5.2/thirdparty/docbook/ +DOXYGEN_BIN = +DSYMUTIL = +DUMPBIN = +ECHO_C = +ECHO_N = -n +ECHO_T = +ECJ = /home/shashank/scilab-master_5.5.2/thirdparty/ecj.jar +EGREP = /bin/grep -E +EXEEXT = +F77 = gfortran +FFLAGS = -g -O2 +FFTW3_LIB = -L/home/shashank/scilab-master_5.5.2/usr/lib -lfftw3 +FFTW_ENABLE = yes +FGREP = /bin/grep -F +FLEXDOCK = /home/shashank/scilab-master_5.5.2/thirdparty/flexdock-1.2.4.jar +FLIBS = -L/usr/lib/gcc/x86_64-linux-gnu/5 -L/usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/5/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/5/../../.. -lpthread -ldl -lcurses -lgfortran -lm -lquadmath +FOP = /home/shashank/scilab-master_5.5.2/thirdparty/fop.jar +FREEHEP_GRAPHICS2D = /home/shashank/scilab-master_5.5.2/thirdparty/freehep-graphics2d.jar +FREEHEP_GRAPHICSIO = /home/shashank/scilab-master_5.5.2/thirdparty/freehep-graphicsio.jar +FREEHEP_GRAPHICSIO_EMF = /home/shashank/scilab-master_5.5.2/thirdparty/freehep-graphicsio-emf.jar +FREEHEP_IO = /home/shashank/scilab-master_5.5.2/thirdparty/freehep-io.jar +FREEHEP_UTIL = /home/shashank/scilab-master_5.5.2/thirdparty/freehep-util.jar +GENHTML = +GETTEXT_MACRO_VERSION = 0.19 +GIWS_BIN = +GLUEGEN2_RT = /home/shashank/scilab-master_5.5.2/thirdparty/gluegen2-rt.jar +GMSGFMT = /usr/bin/msgfmt +GMSGFMT_015 = /usr/bin/msgfmt +GRAPHICS_ENABLE = yes +GREP = /bin/grep +GUI_ENABLE = yes +HDF5_CFLAGS = -I/home/shashank/scilab-master_5.5.2/usr/include +HDF5_LIBS = -L/home/shashank/scilab-master_5.5.2/usr/lib -lhdf5 -lhdf5_hl +HELP_ENABLE = yes +INSTALL = /usr/bin/install -c +INSTALL_DATA = ${INSTALL} -m 644 +INSTALL_PROGRAM = ${INSTALL} +INSTALL_SCRIPT = ${INSTALL} +INSTALL_STRIP_PROGRAM = $(install_sh) -c -s +INTLLIBS = +INTL_MACOSX_LIBS = +JAR = /usr/lib/jvm/java-8-openjdk-amd64/bin/jar +JAVA = /usr/lib/jvm/java-8-openjdk-amd64/bin/java +JAVAC = /usr/lib/jvm/java-8-openjdk-amd64/bin/javac +JAVAC_DEBUG = off +JAVADOC = /usr/lib/jvm/java-8-openjdk-amd64/bin/javadoc +JAVAH = /usr/lib/jvm/java-8-openjdk-amd64/bin/javah +JAVASCI_ENABLE = yes +JAVA_ENABLE = yes +JAVA_G = /usr/lib/jvm/java-8-openjdk-amd64/bin/java +JAVA_HOME = /usr/lib/jvm/java-8-openjdk-amd64 +JAVA_JNI_INCLUDE = -I/usr/lib/jvm/java-8-openjdk-amd64/include -I/usr/lib/jvm/java-8-openjdk-amd64/include/linux +JAVA_JNI_LIBS = -L/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/amd64 -ljava -lverify -L/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/amd64/server -ljvm +JDB = /usr/lib/jvm/java-8-openjdk-amd64/bin/jdb +JEUCLID_CORE = /home/shashank/scilab-master_5.5.2/thirdparty/jeuclid-core.jar +JGRAPHX = /home/shashank/scilab-master_5.5.2/thirdparty/jgraphx.jar +JHALL = /home/shashank/scilab-master_5.5.2/thirdparty/jhall.jar +JLATEXMATH = /home/shashank/scilab-master_5.5.2/thirdparty/jlatexmath-1.0.3.jar +JLATEXMATH_FOP = /home/shashank/scilab-master_5.5.2/thirdparty/jlatexmath-fop-1.0.3.jar +JOGL2 = /home/shashank/scilab-master_5.5.2/thirdparty/jogl2.jar +JROSETTA_API = /home/shashank/scilab-master_5.5.2/thirdparty/jrosetta-API.jar +JROSETTA_ENGINE = /home/shashank/scilab-master_5.5.2/thirdparty/jrosetta-engine.jar +JUNIT4 = /usr/share/java/junit4.jar +LAPACK_LIBS = -L/home/shashank/scilab-master_5.5.2/usr/lib -llapack +LCOV = +LD = /usr/bin/ld -m elf_x86_64 +LDFLAGS = -Wl,--no-as-needed +LIBICONV = -liconv +LIBINTL = +LIBM = -lm +LIBOBJS = +LIBS = -lpthread -ldl -lcurses -lm +LIBTOOL = $(SHELL) $(top_builddir)/libtool +LIPO = +LN_S = ln -s +LOGGING_LEVEL = SEVERE +LOOKS = /home/shashank/scilab-master_5.5.2/thirdparty/looks-2.1.1.jar +LTLIBICONV = -liconv +LTLIBINTL = +LTLIBOBJS = +MAINT = # +MAKEINFO = ${SHELL} /home/shashank/scilab-master_5.5.2/config/missing makeinfo +MANIFEST_TOOL = : +MATIO_CFLAGS = -I/home/shashank/scilab-master_5.5.2/usr/include +MATIO_ENABLE = yes +MATIO_LIBS = -L/home/shashank/scilab-master_5.5.2/usr/lib -lm -lz -lmatio -lhdf5 +MKDIR_P = /bin/mkdir -p +MPI_ENABLE = no +MSGCAT = /usr/bin/msgcat +MSGFMT = /usr/bin/msgfmt +MSGFMT_015 = /usr/bin/msgfmt +MSGMERGE = /usr/bin/msgmerge +NM = nm +NMEDIT = +OBJDUMP = objdump +OBJEXT = o +OCAMLC = ocamlc +OCAMLDEP = ocamldep +OCAMLLEX = ocamllex +OCAMLOPT = ocamlopt +OCAMLYACC = ocamlyacc +OPENMPI_CC = +OPENMPI_CFLAGS = +OPENMPI_CXX = +OPENMPI_CXXFLAGS = +OPENMPI_LIBS = +OPENMP_CFLAGS = -fopenmp +OPENMP_CXXFLAGS = -fopenmp +OPENMP_ENABLE = yes +OPENMP_LIBS = -lgomp -lstdc++ +OTOOL = +OTOOL64 = +PACKAGE = scilab +PACKAGE_BUGREPORT = http://bugzilla.scilab.org/ +PACKAGE_NAME = Scilab +PACKAGE_STRING = Scilab 5 +PACKAGE_TARNAME = scilab +PACKAGE_URL = +PACKAGE_VERSION = 5 +PATH_SEPARATOR = : +PCRE_CFLAGS = -I/home/shashank/scilab-master_5.5.2/usr/include +PCRE_CONFIG = /home/shashank/scilab-master_5.5.2/usr/bin/pcre-config +PCRE_LIBS = -L/home/shashank/scilab-master_5.5.2/usr/lib -lpcreposix -lpcre +PCRE_VERSION = 8.35 +PKG_CONFIG = /usr/bin/pkg-config +POSUB = po +POW_LIB = +PYTHON = +RANLIB = ranlib +RELOCATABLE = no +RT_LIB = -lrt +SAXON = /home/shashank/scilab-master_5.5.2/thirdparty/saxon9he.jar +SCILAB_BINARY_VERSION = 5.5.2 +SCILAB_LIBRARY_VERSION = 5:5:2 +SCILAB_VERSION_MAINTENANCE = 2 +SCILAB_VERSION_MAJOR = 5 +SCILAB_VERSION_MINOR = 5 +SCIRENDERER = ${modules.dir}/scirenderer/${build.jar.dir}/scirenderer.jar +SCIRENDERER_CP = $SCILAB/modules/scirenderer/jar/scirenderer.jar +SCI_CFLAGS = -D_LARGEFILE64_SOURCE -DNDEBUG -m64 -fno-stack-protector +SCI_CXXFLAGS = -DNDEBUG -fno-stack-protector +SCI_FFLAGS = -DNDEBUG -m64 -fPIC +SCI_LDFLAGS = +SED = /bin/sed +SET_MAKE = +SET_RELOCATABLE = +SHELL = /bin/bash +SKINLF = /home/shashank/scilab-master_5.5.2/thirdparty/skinlf.jar +SPLINT = no +STRIP = strip +SWIG_BIN = +SWIG_JAVA = +SWIG_RUNTIME_LIBS_DIR = +SWIG_SCILAB = +TCLTK_LIBS = -L/home/shashank/scilab-master_5.5.2/usr/lib -ltk8.5 -L/home/shashank/scilab-master_5.5.2/usr/lib -ltcl8.5 -ldl +TCL_INC_PATH = -I/home/shashank/scilab-master_5.5.2/usr/include +TK_INC_PATH = -I/home/shashank/scilab-master_5.5.2/usr/include +UMFPACK_CFLAGS = -I/home/shashank/scilab-master_5.5.2/usr/include +UMFPACK_ENABLE = yes +UMFPACK_LIB = -L/home/shashank/scilab-master_5.5.2/usr/lib -lumfpack -lamd +USE_NLS = yes +VERSION = 5 +WITH_OCAML = +WITH_TKSCI = yes +XCOS_ENABLE = yes +XGETTEXT = /usr/bin/xgettext +XGETTEXT_015 = /usr/bin/xgettext +XGETTEXT_EXTRA_OPTIONS = +XMKMF = +XMLGRAPHICS_COMMONS = /home/shashank/scilab-master_5.5.2/thirdparty/xmlgraphics-commons-1.4.jar +XML_APIS_EXT = /home/shashank/scilab-master_5.5.2/thirdparty/xml-apis-ext.jar +XML_CONFIG = /home/shashank/scilab-master_5.5.2/usr/bin/xml2-config +XML_FLAGS = -I/home/shashank/scilab-master_5.5.2/usr/include/libxml2 +XML_LIBS = -L/home/shashank/scilab-master_5.5.2/usr/lib -lxml2 -L/home/scilab/work/linux-prerequisites-sources/trunk/Dev-Tools/SE/Prerequirements/linux_x64/usr/lib -lz -lm -ldl +XML_VERSION = 2.9.1 +X_CFLAGS = +X_EXTRA_LIBS = +X_LIBS = +X_PRE_LIBS = +abs_builddir = /home/shashank/scilab-master_5.5.2/modules/spreadsheet +abs_srcdir = /home/shashank/scilab-master_5.5.2/modules/spreadsheet +abs_top_builddir = /home/shashank/scilab-master_5.5.2 +abs_top_srcdir = /home/shashank/scilab-master_5.5.2 +ac_ct_AR = ar +ac_ct_CC = gcc +ac_ct_CXX = g++ +ac_ct_DUMPBIN = +ac_ct_F77 = gfortran +am__include = include +am__leading_dot = . +am__quote = +am__tar = $${TAR-tar} chof - "$$tardir" +am__untar = $${TAR-tar} xf - +bindir = ${exec_prefix}/bin +build = x86_64-unknown-linux-gnu +build_alias = +build_cpu = x86_64 +build_os = linux-gnu +build_vendor = unknown +builddir = . +cxx_present = yes +datadir = ${datarootdir} +datarootdir = ${prefix}/share +docdir = ${datarootdir}/doc/${PACKAGE_TARNAME} +dvidir = ${docdir} +exec_prefix = ${prefix} +host = x86_64-unknown-linux-gnu +host_alias = +host_cpu = x86_64 +host_os = linux-gnu +host_vendor = unknown +htmldir = ${docdir} +includedir = ${prefix}/include +infodir = ${datarootdir}/info +install_sh = ${SHELL} /home/shashank/scilab-master_5.5.2/config/install-sh +libdir = ${exec_prefix}/lib +libexecdir = ${exec_prefix}/libexec +localedir = ${datarootdir}/locale +localstatedir = ${prefix}/var +mandir = ${datarootdir}/man +mkdir_p = $(MKDIR_P) +oldincludedir = /usr/include +pdfdir = ${docdir} +prefix = /usr/local +program_transform_name = s,x,x, +psdir = ${docdir} +sbindir = ${exec_prefix}/sbin +sharedstatedir = ${prefix}/com +srcdir = . +sysconfdir = ${prefix}/etc +target_alias = +top_build_prefix = ../../ +top_builddir = ../.. +top_srcdir = ../.. +SPREADSHEET_C_SOURCES = \ +src/c/xls.c \ +src/c/checkCsvWriteFormat.c \ +src/c/csvDefault.c \ +src/c/csvRead.c \ +src/c/csvWrite.c \ +src/c/getRange.c \ +src/c/splitLine.c \ +src/c/utftolatin.c + +RIPOLE_SOURCES = \ +src/c/ripole/olestream-unwrap.c \ +src/c/ripole/pldstr.c \ +src/c/ripole/ole.c \ +src/c/ripole/bytedecoders.c \ +src/c/ripole/logger.c \ +src/c/ripole/ripole.c \ +src/c/ripole/bt-int.c + +GATEWAY_C_SOURCES = \ +sci_gateway/c/gw_spreadsheet.c \ +sci_gateway/c/sci_xls_read.c \ +sci_gateway/c/sci_xls_open.c \ +sci_gateway/c/gw_csv_helpers.c \ +sci_gateway/c/sci_csvDefault.c \ +sci_gateway/c/sci_csvRead.c \ +sci_gateway/c/sci_csvStringToDouble.c \ +sci_gateway/c/sci_csvTextScan.c \ +sci_gateway/c/sci_csvWrite.c + +libscispreadsheet_la_CPPFLAGS = \ +-I$(srcdir)/includes/ \ +-I$(srcdir)/src/c/ \ +-I$(srcdir)/src/c/ripole \ +-I$(top_srcdir)/modules/localization/includes/ \ +-I$(top_srcdir)/modules/output_stream/includes/ \ +-I$(top_srcdir)/modules/io/includes/ \ +-I$(top_srcdir)/modules/string/src/c/ \ +-I$(top_srcdir)/modules/string/includes/ \ +-I$(top_srcdir)/modules/api_scilab/includes/ \ +-I$(top_srcdir)/modules/fileio/includes/ \ +$(AM_CPPFLAGS) + +pkglib_LTLIBRARIES = libscispreadsheet.la +noinst_LTLIBRARIES = libscispreadsheet-algo.la +libscispreadsheet_algo_la_SOURCES = $(SPREADSHEET_C_SOURCES) $(RIPOLE_SOURCES) +libscispreadsheet_la_SOURCES = $(GATEWAY_C_SOURCES) +libscispreadsheet_algo_la_CPPFLAGS = $(libscispreadsheet_la_CPPFLAGS) + +# For the code check (splint) +CHECK_SRC = $(SPREADSHEET_C_SOURCES) $(GATEWAY_C_SOURCES) $(RIPOLE_SOURCES) +INCLUDE_FLAGS = $(libscispreadsheet_la_CPPFLAGS) +libscispreadsheet_la_LIBADD = libscispreadsheet-algo.la + +#### Target ###### +modulename = spreadsheet + +#### spreadsheet : Conf files #### +libscispreadsheet_la_rootdir = $(mydatadir) +libscispreadsheet_la_root_DATA = license.txt + +####�spreadsheet : init scripts #### +libscispreadsheet_la_etcdir = $(mydatadir)/etc +libscispreadsheet_la_etc_DATA = etc/spreadsheet.quit etc/spreadsheet.start + +####�spreadsheet : gateway declaration #### +libscispreadsheet_la_sci_gatewaydir = $(mydatadir)/sci_gateway +libscispreadsheet_la_sci_gateway_DATA = sci_gateway/spreadsheet_gateway.xml + +# Where all the Scilab stuff is installed (macros, help, ...) +mydatadir = $(pkgdatadir)/modules/$(modulename) + +# Set AM_* SCI detected settings +AM_CPPFLAGS = $(SCI_CPPFLAGS) +AM_CFLAGS = $(SCI_CFLAGS) +AM_CXXFLAGS = $(SCI_CXXFLAGS) +# append includes to AM_FFLAGS to manage fortran includes +AM_FFLAGS = $(SCI_FFLAGS) -I$(top_srcdir)/modules/core/includes/ + +# Tag shared libraries with the Scilab version +AM_LDFLAGS = $(SCI_LDFLAGS) -version-number $(SCILAB_LIBRARY_VERSION) + +# splint options +SPLINT_OPTIONS = -weak -booltype BOOL + +########################### JAVA ###################################### +#### We are delegating java compilation to ant... Thanks to that +#### the procedure will be the same with Microsoft Windows (C) +#### and Linux/Unix +####################################################################### +TARGETS_ALL = $(am__append_1) + +################ MACROS ###################### +# Rule to build a macro +# NOT USED AT THE MOMENT +SUFFIXES = .sci + +########### INSTALL DOCUMENTATION ################### + +# Install documentation files into the right target +# We do not use the automake mechanism (libxxxx_la_help_fr_DATA) because +# automake needs the html files to be present which is not the case when +# we are building Scilab + +# Where it should be installed +pkgdocdir = $(mydatadir) + +# What is the mask of the help source +DOCMASKXML = *.xml + +# What is the mask of the MathML sources +DOCMASKMML = *.mml + +########### INSTALL DATA ################### +# Install macros, help & demos +# Where it should be installed +pkgmacrosdir = $(mydatadir) +# Which directory we process +MACRODIRS = macros/ +# Mask of the Scilab sources macros +MACROMASK = *.sci +# Mask of the Scilab executable sources macros +MACROBUILDMASK = *.sce +# Mask of the Scilab compiled macros +MACROBINMASK = *.bin +# List of the standard directory for tests +TESTS_DIR = tests/benchmarks tests/nonreg_tests tests/unit_tests tests/java +# Where the demos should be installed +pkgdemosdir = $(mydatadir) +# List of the standard directory for demos +DEMOS_DIR = demos +# List of the standard directory for examples +EXAMPLES_DIR = examples +# Where to export JAVA archives (.jar) +JARDIR = jar/ +# JAR files mask +JARMASK = *.jar +# Chapter file +HELP_CHAPTERDIR = help/ +HELP_CHAPTERFILE = addchapter.sce +HELP_CHAPTERLANG = en_US fr_FR pt_BR +all: all-am + +.SUFFIXES: +.SUFFIXES: .sci .bin .c .lo .o .obj +$(srcdir)/Makefile.in: # $(srcdir)/Makefile.am $(top_srcdir)/Makefile.incl.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 modules/spreadsheet/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --foreign modules/spreadsheet/Makefile +.PRECIOUS: 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__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; +$(top_srcdir)/Makefile.incl.am: + +$(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): + +clean-noinstLTLIBRARIES: + -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) + @list='$(noinst_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}; \ + } + +install-pkglibLTLIBRARIES: $(pkglib_LTLIBRARIES) + @$(NORMAL_INSTALL) + @list='$(pkglib_LTLIBRARIES)'; test -n "$(pkglibdir)" || 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)$(pkglibdir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(pkglibdir)" || exit 1; \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(pkglibdir)'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(pkglibdir)"; \ + } + +uninstall-pkglibLTLIBRARIES: + @$(NORMAL_UNINSTALL) + @list='$(pkglib_LTLIBRARIES)'; test -n "$(pkglibdir)" || list=; \ + for p in $$list; do \ + $(am__strip_dir) \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(pkglibdir)/$$f'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(pkglibdir)/$$f"; \ + done + +clean-pkglibLTLIBRARIES: + -test -z "$(pkglib_LTLIBRARIES)" || rm -f $(pkglib_LTLIBRARIES) + @list='$(pkglib_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}; \ + } +src/c/$(am__dirstamp): + @$(MKDIR_P) src/c + @: > src/c/$(am__dirstamp) +src/c/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) src/c/$(DEPDIR) + @: > src/c/$(DEPDIR)/$(am__dirstamp) +src/c/libscispreadsheet_algo_la-xls.lo: src/c/$(am__dirstamp) \ + src/c/$(DEPDIR)/$(am__dirstamp) +src/c/libscispreadsheet_algo_la-checkCsvWriteFormat.lo: \ + src/c/$(am__dirstamp) src/c/$(DEPDIR)/$(am__dirstamp) +src/c/libscispreadsheet_algo_la-csvDefault.lo: src/c/$(am__dirstamp) \ + src/c/$(DEPDIR)/$(am__dirstamp) +src/c/libscispreadsheet_algo_la-csvRead.lo: src/c/$(am__dirstamp) \ + src/c/$(DEPDIR)/$(am__dirstamp) +src/c/libscispreadsheet_algo_la-csvWrite.lo: src/c/$(am__dirstamp) \ + src/c/$(DEPDIR)/$(am__dirstamp) +src/c/libscispreadsheet_algo_la-getRange.lo: src/c/$(am__dirstamp) \ + src/c/$(DEPDIR)/$(am__dirstamp) +src/c/libscispreadsheet_algo_la-splitLine.lo: src/c/$(am__dirstamp) \ + src/c/$(DEPDIR)/$(am__dirstamp) +src/c/libscispreadsheet_algo_la-utftolatin.lo: src/c/$(am__dirstamp) \ + src/c/$(DEPDIR)/$(am__dirstamp) +src/c/ripole/$(am__dirstamp): + @$(MKDIR_P) src/c/ripole + @: > src/c/ripole/$(am__dirstamp) +src/c/ripole/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) src/c/ripole/$(DEPDIR) + @: > src/c/ripole/$(DEPDIR)/$(am__dirstamp) +src/c/ripole/libscispreadsheet_algo_la-olestream-unwrap.lo: \ + src/c/ripole/$(am__dirstamp) \ + src/c/ripole/$(DEPDIR)/$(am__dirstamp) +src/c/ripole/libscispreadsheet_algo_la-pldstr.lo: \ + src/c/ripole/$(am__dirstamp) \ + src/c/ripole/$(DEPDIR)/$(am__dirstamp) +src/c/ripole/libscispreadsheet_algo_la-ole.lo: \ + src/c/ripole/$(am__dirstamp) \ + src/c/ripole/$(DEPDIR)/$(am__dirstamp) +src/c/ripole/libscispreadsheet_algo_la-bytedecoders.lo: \ + src/c/ripole/$(am__dirstamp) \ + src/c/ripole/$(DEPDIR)/$(am__dirstamp) +src/c/ripole/libscispreadsheet_algo_la-logger.lo: \ + src/c/ripole/$(am__dirstamp) \ + src/c/ripole/$(DEPDIR)/$(am__dirstamp) +src/c/ripole/libscispreadsheet_algo_la-ripole.lo: \ + src/c/ripole/$(am__dirstamp) \ + src/c/ripole/$(DEPDIR)/$(am__dirstamp) +src/c/ripole/libscispreadsheet_algo_la-bt-int.lo: \ + src/c/ripole/$(am__dirstamp) \ + src/c/ripole/$(DEPDIR)/$(am__dirstamp) + +libscispreadsheet-algo.la: $(libscispreadsheet_algo_la_OBJECTS) $(libscispreadsheet_algo_la_DEPENDENCIES) $(EXTRA_libscispreadsheet_algo_la_DEPENDENCIES) + $(AM_V_CCLD)$(LINK) $(libscispreadsheet_algo_la_OBJECTS) $(libscispreadsheet_algo_la_LIBADD) $(LIBS) +sci_gateway/c/$(am__dirstamp): + @$(MKDIR_P) sci_gateway/c + @: > sci_gateway/c/$(am__dirstamp) +sci_gateway/c/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) sci_gateway/c/$(DEPDIR) + @: > sci_gateway/c/$(DEPDIR)/$(am__dirstamp) +sci_gateway/c/libscispreadsheet_la-gw_spreadsheet.lo: \ + sci_gateway/c/$(am__dirstamp) \ + sci_gateway/c/$(DEPDIR)/$(am__dirstamp) +sci_gateway/c/libscispreadsheet_la-sci_xls_read.lo: \ + sci_gateway/c/$(am__dirstamp) \ + sci_gateway/c/$(DEPDIR)/$(am__dirstamp) +sci_gateway/c/libscispreadsheet_la-sci_xls_open.lo: \ + sci_gateway/c/$(am__dirstamp) \ + sci_gateway/c/$(DEPDIR)/$(am__dirstamp) +sci_gateway/c/libscispreadsheet_la-gw_csv_helpers.lo: \ + sci_gateway/c/$(am__dirstamp) \ + sci_gateway/c/$(DEPDIR)/$(am__dirstamp) +sci_gateway/c/libscispreadsheet_la-sci_csvDefault.lo: \ + sci_gateway/c/$(am__dirstamp) \ + sci_gateway/c/$(DEPDIR)/$(am__dirstamp) +sci_gateway/c/libscispreadsheet_la-sci_csvRead.lo: \ + sci_gateway/c/$(am__dirstamp) \ + sci_gateway/c/$(DEPDIR)/$(am__dirstamp) +sci_gateway/c/libscispreadsheet_la-sci_csvStringToDouble.lo: \ + sci_gateway/c/$(am__dirstamp) \ + sci_gateway/c/$(DEPDIR)/$(am__dirstamp) +sci_gateway/c/libscispreadsheet_la-sci_csvTextScan.lo: \ + sci_gateway/c/$(am__dirstamp) \ + sci_gateway/c/$(DEPDIR)/$(am__dirstamp) +sci_gateway/c/libscispreadsheet_la-sci_csvWrite.lo: \ + sci_gateway/c/$(am__dirstamp) \ + sci_gateway/c/$(DEPDIR)/$(am__dirstamp) + +libscispreadsheet.la: $(libscispreadsheet_la_OBJECTS) $(libscispreadsheet_la_DEPENDENCIES) $(EXTRA_libscispreadsheet_la_DEPENDENCIES) + $(AM_V_CCLD)$(LINK) -rpath $(pkglibdir) $(libscispreadsheet_la_OBJECTS) $(libscispreadsheet_la_LIBADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + -rm -f sci_gateway/c/*.$(OBJEXT) + -rm -f sci_gateway/c/*.lo + -rm -f src/c/*.$(OBJEXT) + -rm -f src/c/*.lo + -rm -f src/c/ripole/*.$(OBJEXT) + -rm -f src/c/ripole/*.lo + +distclean-compile: + -rm -f *.tab.c + +include sci_gateway/c/$(DEPDIR)/libscispreadsheet_la-gw_csv_helpers.Plo +include sci_gateway/c/$(DEPDIR)/libscispreadsheet_la-gw_spreadsheet.Plo +include sci_gateway/c/$(DEPDIR)/libscispreadsheet_la-sci_csvDefault.Plo +include sci_gateway/c/$(DEPDIR)/libscispreadsheet_la-sci_csvRead.Plo +include sci_gateway/c/$(DEPDIR)/libscispreadsheet_la-sci_csvStringToDouble.Plo +include sci_gateway/c/$(DEPDIR)/libscispreadsheet_la-sci_csvTextScan.Plo +include sci_gateway/c/$(DEPDIR)/libscispreadsheet_la-sci_csvWrite.Plo +include sci_gateway/c/$(DEPDIR)/libscispreadsheet_la-sci_xls_open.Plo +include sci_gateway/c/$(DEPDIR)/libscispreadsheet_la-sci_xls_read.Plo +include src/c/$(DEPDIR)/libscispreadsheet_algo_la-checkCsvWriteFormat.Plo +include src/c/$(DEPDIR)/libscispreadsheet_algo_la-csvDefault.Plo +include src/c/$(DEPDIR)/libscispreadsheet_algo_la-csvRead.Plo +include src/c/$(DEPDIR)/libscispreadsheet_algo_la-csvWrite.Plo +include src/c/$(DEPDIR)/libscispreadsheet_algo_la-getRange.Plo +include src/c/$(DEPDIR)/libscispreadsheet_algo_la-splitLine.Plo +include src/c/$(DEPDIR)/libscispreadsheet_algo_la-utftolatin.Plo +include src/c/$(DEPDIR)/libscispreadsheet_algo_la-xls.Plo +include src/c/ripole/$(DEPDIR)/libscispreadsheet_algo_la-bt-int.Plo +include src/c/ripole/$(DEPDIR)/libscispreadsheet_algo_la-bytedecoders.Plo +include src/c/ripole/$(DEPDIR)/libscispreadsheet_algo_la-logger.Plo +include src/c/ripole/$(DEPDIR)/libscispreadsheet_algo_la-ole.Plo +include src/c/ripole/$(DEPDIR)/libscispreadsheet_algo_la-olestream-unwrap.Plo +include src/c/ripole/$(DEPDIR)/libscispreadsheet_algo_la-pldstr.Plo +include src/c/ripole/$(DEPDIR)/libscispreadsheet_algo_la-ripole.Plo + +.c.o: + $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ + $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ + $(am__mv) $$depbase.Tpo $$depbase.Po +# $(AM_V_CC)source='$<' object='$@' libtool=no \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(AM_V_CC_no)$(COMPILE) -c -o $@ $< + +.c.obj: + $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\ + $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\ + $(am__mv) $$depbase.Tpo $$depbase.Po +# $(AM_V_CC)source='$<' object='$@' libtool=no \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(AM_V_CC_no)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` + +.c.lo: + $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\ + $(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ + $(am__mv) $$depbase.Tpo $$depbase.Plo +# $(AM_V_CC)source='$<' object='$@' libtool=yes \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(AM_V_CC_no)$(LTCOMPILE) -c -o $@ $< + +src/c/libscispreadsheet_algo_la-xls.lo: src/c/xls.c + $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscispreadsheet_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT src/c/libscispreadsheet_algo_la-xls.lo -MD -MP -MF src/c/$(DEPDIR)/libscispreadsheet_algo_la-xls.Tpo -c -o src/c/libscispreadsheet_algo_la-xls.lo `test -f 'src/c/xls.c' || echo '$(srcdir)/'`src/c/xls.c + $(AM_V_at)$(am__mv) src/c/$(DEPDIR)/libscispreadsheet_algo_la-xls.Tpo src/c/$(DEPDIR)/libscispreadsheet_algo_la-xls.Plo +# $(AM_V_CC)source='src/c/xls.c' object='src/c/libscispreadsheet_algo_la-xls.lo' libtool=yes \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscispreadsheet_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o src/c/libscispreadsheet_algo_la-xls.lo `test -f 'src/c/xls.c' || echo '$(srcdir)/'`src/c/xls.c + +src/c/libscispreadsheet_algo_la-checkCsvWriteFormat.lo: src/c/checkCsvWriteFormat.c + $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscispreadsheet_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT src/c/libscispreadsheet_algo_la-checkCsvWriteFormat.lo -MD -MP -MF src/c/$(DEPDIR)/libscispreadsheet_algo_la-checkCsvWriteFormat.Tpo -c -o src/c/libscispreadsheet_algo_la-checkCsvWriteFormat.lo `test -f 'src/c/checkCsvWriteFormat.c' || echo '$(srcdir)/'`src/c/checkCsvWriteFormat.c + $(AM_V_at)$(am__mv) src/c/$(DEPDIR)/libscispreadsheet_algo_la-checkCsvWriteFormat.Tpo src/c/$(DEPDIR)/libscispreadsheet_algo_la-checkCsvWriteFormat.Plo +# $(AM_V_CC)source='src/c/checkCsvWriteFormat.c' object='src/c/libscispreadsheet_algo_la-checkCsvWriteFormat.lo' libtool=yes \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscispreadsheet_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o src/c/libscispreadsheet_algo_la-checkCsvWriteFormat.lo `test -f 'src/c/checkCsvWriteFormat.c' || echo '$(srcdir)/'`src/c/checkCsvWriteFormat.c + +src/c/libscispreadsheet_algo_la-csvDefault.lo: src/c/csvDefault.c + $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscispreadsheet_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT src/c/libscispreadsheet_algo_la-csvDefault.lo -MD -MP -MF src/c/$(DEPDIR)/libscispreadsheet_algo_la-csvDefault.Tpo -c -o src/c/libscispreadsheet_algo_la-csvDefault.lo `test -f 'src/c/csvDefault.c' || echo '$(srcdir)/'`src/c/csvDefault.c + $(AM_V_at)$(am__mv) src/c/$(DEPDIR)/libscispreadsheet_algo_la-csvDefault.Tpo src/c/$(DEPDIR)/libscispreadsheet_algo_la-csvDefault.Plo +# $(AM_V_CC)source='src/c/csvDefault.c' object='src/c/libscispreadsheet_algo_la-csvDefault.lo' libtool=yes \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscispreadsheet_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o src/c/libscispreadsheet_algo_la-csvDefault.lo `test -f 'src/c/csvDefault.c' || echo '$(srcdir)/'`src/c/csvDefault.c + +src/c/libscispreadsheet_algo_la-csvRead.lo: src/c/csvRead.c + $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscispreadsheet_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT src/c/libscispreadsheet_algo_la-csvRead.lo -MD -MP -MF src/c/$(DEPDIR)/libscispreadsheet_algo_la-csvRead.Tpo -c -o src/c/libscispreadsheet_algo_la-csvRead.lo `test -f 'src/c/csvRead.c' || echo '$(srcdir)/'`src/c/csvRead.c + $(AM_V_at)$(am__mv) src/c/$(DEPDIR)/libscispreadsheet_algo_la-csvRead.Tpo src/c/$(DEPDIR)/libscispreadsheet_algo_la-csvRead.Plo +# $(AM_V_CC)source='src/c/csvRead.c' object='src/c/libscispreadsheet_algo_la-csvRead.lo' libtool=yes \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscispreadsheet_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o src/c/libscispreadsheet_algo_la-csvRead.lo `test -f 'src/c/csvRead.c' || echo '$(srcdir)/'`src/c/csvRead.c + +src/c/libscispreadsheet_algo_la-csvWrite.lo: src/c/csvWrite.c + $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscispreadsheet_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT src/c/libscispreadsheet_algo_la-csvWrite.lo -MD -MP -MF src/c/$(DEPDIR)/libscispreadsheet_algo_la-csvWrite.Tpo -c -o src/c/libscispreadsheet_algo_la-csvWrite.lo `test -f 'src/c/csvWrite.c' || echo '$(srcdir)/'`src/c/csvWrite.c + $(AM_V_at)$(am__mv) src/c/$(DEPDIR)/libscispreadsheet_algo_la-csvWrite.Tpo src/c/$(DEPDIR)/libscispreadsheet_algo_la-csvWrite.Plo +# $(AM_V_CC)source='src/c/csvWrite.c' object='src/c/libscispreadsheet_algo_la-csvWrite.lo' libtool=yes \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscispreadsheet_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o src/c/libscispreadsheet_algo_la-csvWrite.lo `test -f 'src/c/csvWrite.c' || echo '$(srcdir)/'`src/c/csvWrite.c + +src/c/libscispreadsheet_algo_la-getRange.lo: src/c/getRange.c + $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscispreadsheet_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT src/c/libscispreadsheet_algo_la-getRange.lo -MD -MP -MF src/c/$(DEPDIR)/libscispreadsheet_algo_la-getRange.Tpo -c -o src/c/libscispreadsheet_algo_la-getRange.lo `test -f 'src/c/getRange.c' || echo '$(srcdir)/'`src/c/getRange.c + $(AM_V_at)$(am__mv) src/c/$(DEPDIR)/libscispreadsheet_algo_la-getRange.Tpo src/c/$(DEPDIR)/libscispreadsheet_algo_la-getRange.Plo +# $(AM_V_CC)source='src/c/getRange.c' object='src/c/libscispreadsheet_algo_la-getRange.lo' libtool=yes \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscispreadsheet_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o src/c/libscispreadsheet_algo_la-getRange.lo `test -f 'src/c/getRange.c' || echo '$(srcdir)/'`src/c/getRange.c + +src/c/libscispreadsheet_algo_la-splitLine.lo: src/c/splitLine.c + $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscispreadsheet_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT src/c/libscispreadsheet_algo_la-splitLine.lo -MD -MP -MF src/c/$(DEPDIR)/libscispreadsheet_algo_la-splitLine.Tpo -c -o src/c/libscispreadsheet_algo_la-splitLine.lo `test -f 'src/c/splitLine.c' || echo '$(srcdir)/'`src/c/splitLine.c + $(AM_V_at)$(am__mv) src/c/$(DEPDIR)/libscispreadsheet_algo_la-splitLine.Tpo src/c/$(DEPDIR)/libscispreadsheet_algo_la-splitLine.Plo +# $(AM_V_CC)source='src/c/splitLine.c' object='src/c/libscispreadsheet_algo_la-splitLine.lo' libtool=yes \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscispreadsheet_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o src/c/libscispreadsheet_algo_la-splitLine.lo `test -f 'src/c/splitLine.c' || echo '$(srcdir)/'`src/c/splitLine.c + +src/c/libscispreadsheet_algo_la-utftolatin.lo: src/c/utftolatin.c + $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscispreadsheet_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT src/c/libscispreadsheet_algo_la-utftolatin.lo -MD -MP -MF src/c/$(DEPDIR)/libscispreadsheet_algo_la-utftolatin.Tpo -c -o src/c/libscispreadsheet_algo_la-utftolatin.lo `test -f 'src/c/utftolatin.c' || echo '$(srcdir)/'`src/c/utftolatin.c + $(AM_V_at)$(am__mv) src/c/$(DEPDIR)/libscispreadsheet_algo_la-utftolatin.Tpo src/c/$(DEPDIR)/libscispreadsheet_algo_la-utftolatin.Plo +# $(AM_V_CC)source='src/c/utftolatin.c' object='src/c/libscispreadsheet_algo_la-utftolatin.lo' libtool=yes \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscispreadsheet_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o src/c/libscispreadsheet_algo_la-utftolatin.lo `test -f 'src/c/utftolatin.c' || echo '$(srcdir)/'`src/c/utftolatin.c + +src/c/ripole/libscispreadsheet_algo_la-olestream-unwrap.lo: src/c/ripole/olestream-unwrap.c + $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscispreadsheet_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT src/c/ripole/libscispreadsheet_algo_la-olestream-unwrap.lo -MD -MP -MF src/c/ripole/$(DEPDIR)/libscispreadsheet_algo_la-olestream-unwrap.Tpo -c -o src/c/ripole/libscispreadsheet_algo_la-olestream-unwrap.lo `test -f 'src/c/ripole/olestream-unwrap.c' || echo '$(srcdir)/'`src/c/ripole/olestream-unwrap.c + $(AM_V_at)$(am__mv) src/c/ripole/$(DEPDIR)/libscispreadsheet_algo_la-olestream-unwrap.Tpo src/c/ripole/$(DEPDIR)/libscispreadsheet_algo_la-olestream-unwrap.Plo +# $(AM_V_CC)source='src/c/ripole/olestream-unwrap.c' object='src/c/ripole/libscispreadsheet_algo_la-olestream-unwrap.lo' libtool=yes \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscispreadsheet_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o src/c/ripole/libscispreadsheet_algo_la-olestream-unwrap.lo `test -f 'src/c/ripole/olestream-unwrap.c' || echo '$(srcdir)/'`src/c/ripole/olestream-unwrap.c + +src/c/ripole/libscispreadsheet_algo_la-pldstr.lo: src/c/ripole/pldstr.c + $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscispreadsheet_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT src/c/ripole/libscispreadsheet_algo_la-pldstr.lo -MD -MP -MF src/c/ripole/$(DEPDIR)/libscispreadsheet_algo_la-pldstr.Tpo -c -o src/c/ripole/libscispreadsheet_algo_la-pldstr.lo `test -f 'src/c/ripole/pldstr.c' || echo '$(srcdir)/'`src/c/ripole/pldstr.c + $(AM_V_at)$(am__mv) src/c/ripole/$(DEPDIR)/libscispreadsheet_algo_la-pldstr.Tpo src/c/ripole/$(DEPDIR)/libscispreadsheet_algo_la-pldstr.Plo +# $(AM_V_CC)source='src/c/ripole/pldstr.c' object='src/c/ripole/libscispreadsheet_algo_la-pldstr.lo' libtool=yes \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscispreadsheet_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o src/c/ripole/libscispreadsheet_algo_la-pldstr.lo `test -f 'src/c/ripole/pldstr.c' || echo '$(srcdir)/'`src/c/ripole/pldstr.c + +src/c/ripole/libscispreadsheet_algo_la-ole.lo: src/c/ripole/ole.c + $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscispreadsheet_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT src/c/ripole/libscispreadsheet_algo_la-ole.lo -MD -MP -MF src/c/ripole/$(DEPDIR)/libscispreadsheet_algo_la-ole.Tpo -c -o src/c/ripole/libscispreadsheet_algo_la-ole.lo `test -f 'src/c/ripole/ole.c' || echo '$(srcdir)/'`src/c/ripole/ole.c + $(AM_V_at)$(am__mv) src/c/ripole/$(DEPDIR)/libscispreadsheet_algo_la-ole.Tpo src/c/ripole/$(DEPDIR)/libscispreadsheet_algo_la-ole.Plo +# $(AM_V_CC)source='src/c/ripole/ole.c' object='src/c/ripole/libscispreadsheet_algo_la-ole.lo' libtool=yes \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscispreadsheet_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o src/c/ripole/libscispreadsheet_algo_la-ole.lo `test -f 'src/c/ripole/ole.c' || echo '$(srcdir)/'`src/c/ripole/ole.c + +src/c/ripole/libscispreadsheet_algo_la-bytedecoders.lo: src/c/ripole/bytedecoders.c + $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscispreadsheet_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT src/c/ripole/libscispreadsheet_algo_la-bytedecoders.lo -MD -MP -MF src/c/ripole/$(DEPDIR)/libscispreadsheet_algo_la-bytedecoders.Tpo -c -o src/c/ripole/libscispreadsheet_algo_la-bytedecoders.lo `test -f 'src/c/ripole/bytedecoders.c' || echo '$(srcdir)/'`src/c/ripole/bytedecoders.c + $(AM_V_at)$(am__mv) src/c/ripole/$(DEPDIR)/libscispreadsheet_algo_la-bytedecoders.Tpo src/c/ripole/$(DEPDIR)/libscispreadsheet_algo_la-bytedecoders.Plo +# $(AM_V_CC)source='src/c/ripole/bytedecoders.c' object='src/c/ripole/libscispreadsheet_algo_la-bytedecoders.lo' libtool=yes \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscispreadsheet_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o src/c/ripole/libscispreadsheet_algo_la-bytedecoders.lo `test -f 'src/c/ripole/bytedecoders.c' || echo '$(srcdir)/'`src/c/ripole/bytedecoders.c + +src/c/ripole/libscispreadsheet_algo_la-logger.lo: src/c/ripole/logger.c + $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscispreadsheet_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT src/c/ripole/libscispreadsheet_algo_la-logger.lo -MD -MP -MF src/c/ripole/$(DEPDIR)/libscispreadsheet_algo_la-logger.Tpo -c -o src/c/ripole/libscispreadsheet_algo_la-logger.lo `test -f 'src/c/ripole/logger.c' || echo '$(srcdir)/'`src/c/ripole/logger.c + $(AM_V_at)$(am__mv) src/c/ripole/$(DEPDIR)/libscispreadsheet_algo_la-logger.Tpo src/c/ripole/$(DEPDIR)/libscispreadsheet_algo_la-logger.Plo +# $(AM_V_CC)source='src/c/ripole/logger.c' object='src/c/ripole/libscispreadsheet_algo_la-logger.lo' libtool=yes \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscispreadsheet_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o src/c/ripole/libscispreadsheet_algo_la-logger.lo `test -f 'src/c/ripole/logger.c' || echo '$(srcdir)/'`src/c/ripole/logger.c + +src/c/ripole/libscispreadsheet_algo_la-ripole.lo: src/c/ripole/ripole.c + $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscispreadsheet_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT src/c/ripole/libscispreadsheet_algo_la-ripole.lo -MD -MP -MF src/c/ripole/$(DEPDIR)/libscispreadsheet_algo_la-ripole.Tpo -c -o src/c/ripole/libscispreadsheet_algo_la-ripole.lo `test -f 'src/c/ripole/ripole.c' || echo '$(srcdir)/'`src/c/ripole/ripole.c + $(AM_V_at)$(am__mv) src/c/ripole/$(DEPDIR)/libscispreadsheet_algo_la-ripole.Tpo src/c/ripole/$(DEPDIR)/libscispreadsheet_algo_la-ripole.Plo +# $(AM_V_CC)source='src/c/ripole/ripole.c' object='src/c/ripole/libscispreadsheet_algo_la-ripole.lo' libtool=yes \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscispreadsheet_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o src/c/ripole/libscispreadsheet_algo_la-ripole.lo `test -f 'src/c/ripole/ripole.c' || echo '$(srcdir)/'`src/c/ripole/ripole.c + +src/c/ripole/libscispreadsheet_algo_la-bt-int.lo: src/c/ripole/bt-int.c + $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscispreadsheet_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT src/c/ripole/libscispreadsheet_algo_la-bt-int.lo -MD -MP -MF src/c/ripole/$(DEPDIR)/libscispreadsheet_algo_la-bt-int.Tpo -c -o src/c/ripole/libscispreadsheet_algo_la-bt-int.lo `test -f 'src/c/ripole/bt-int.c' || echo '$(srcdir)/'`src/c/ripole/bt-int.c + $(AM_V_at)$(am__mv) src/c/ripole/$(DEPDIR)/libscispreadsheet_algo_la-bt-int.Tpo src/c/ripole/$(DEPDIR)/libscispreadsheet_algo_la-bt-int.Plo +# $(AM_V_CC)source='src/c/ripole/bt-int.c' object='src/c/ripole/libscispreadsheet_algo_la-bt-int.lo' libtool=yes \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscispreadsheet_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o src/c/ripole/libscispreadsheet_algo_la-bt-int.lo `test -f 'src/c/ripole/bt-int.c' || echo '$(srcdir)/'`src/c/ripole/bt-int.c + +sci_gateway/c/libscispreadsheet_la-gw_spreadsheet.lo: sci_gateway/c/gw_spreadsheet.c + $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscispreadsheet_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sci_gateway/c/libscispreadsheet_la-gw_spreadsheet.lo -MD -MP -MF sci_gateway/c/$(DEPDIR)/libscispreadsheet_la-gw_spreadsheet.Tpo -c -o sci_gateway/c/libscispreadsheet_la-gw_spreadsheet.lo `test -f 'sci_gateway/c/gw_spreadsheet.c' || echo '$(srcdir)/'`sci_gateway/c/gw_spreadsheet.c + $(AM_V_at)$(am__mv) sci_gateway/c/$(DEPDIR)/libscispreadsheet_la-gw_spreadsheet.Tpo sci_gateway/c/$(DEPDIR)/libscispreadsheet_la-gw_spreadsheet.Plo +# $(AM_V_CC)source='sci_gateway/c/gw_spreadsheet.c' object='sci_gateway/c/libscispreadsheet_la-gw_spreadsheet.lo' libtool=yes \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscispreadsheet_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sci_gateway/c/libscispreadsheet_la-gw_spreadsheet.lo `test -f 'sci_gateway/c/gw_spreadsheet.c' || echo '$(srcdir)/'`sci_gateway/c/gw_spreadsheet.c + +sci_gateway/c/libscispreadsheet_la-sci_xls_read.lo: sci_gateway/c/sci_xls_read.c + $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscispreadsheet_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sci_gateway/c/libscispreadsheet_la-sci_xls_read.lo -MD -MP -MF sci_gateway/c/$(DEPDIR)/libscispreadsheet_la-sci_xls_read.Tpo -c -o sci_gateway/c/libscispreadsheet_la-sci_xls_read.lo `test -f 'sci_gateway/c/sci_xls_read.c' || echo '$(srcdir)/'`sci_gateway/c/sci_xls_read.c + $(AM_V_at)$(am__mv) sci_gateway/c/$(DEPDIR)/libscispreadsheet_la-sci_xls_read.Tpo sci_gateway/c/$(DEPDIR)/libscispreadsheet_la-sci_xls_read.Plo +# $(AM_V_CC)source='sci_gateway/c/sci_xls_read.c' object='sci_gateway/c/libscispreadsheet_la-sci_xls_read.lo' libtool=yes \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscispreadsheet_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sci_gateway/c/libscispreadsheet_la-sci_xls_read.lo `test -f 'sci_gateway/c/sci_xls_read.c' || echo '$(srcdir)/'`sci_gateway/c/sci_xls_read.c + +sci_gateway/c/libscispreadsheet_la-sci_xls_open.lo: sci_gateway/c/sci_xls_open.c + $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscispreadsheet_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sci_gateway/c/libscispreadsheet_la-sci_xls_open.lo -MD -MP -MF sci_gateway/c/$(DEPDIR)/libscispreadsheet_la-sci_xls_open.Tpo -c -o sci_gateway/c/libscispreadsheet_la-sci_xls_open.lo `test -f 'sci_gateway/c/sci_xls_open.c' || echo '$(srcdir)/'`sci_gateway/c/sci_xls_open.c + $(AM_V_at)$(am__mv) sci_gateway/c/$(DEPDIR)/libscispreadsheet_la-sci_xls_open.Tpo sci_gateway/c/$(DEPDIR)/libscispreadsheet_la-sci_xls_open.Plo +# $(AM_V_CC)source='sci_gateway/c/sci_xls_open.c' object='sci_gateway/c/libscispreadsheet_la-sci_xls_open.lo' libtool=yes \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscispreadsheet_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sci_gateway/c/libscispreadsheet_la-sci_xls_open.lo `test -f 'sci_gateway/c/sci_xls_open.c' || echo '$(srcdir)/'`sci_gateway/c/sci_xls_open.c + +sci_gateway/c/libscispreadsheet_la-gw_csv_helpers.lo: sci_gateway/c/gw_csv_helpers.c + $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscispreadsheet_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sci_gateway/c/libscispreadsheet_la-gw_csv_helpers.lo -MD -MP -MF sci_gateway/c/$(DEPDIR)/libscispreadsheet_la-gw_csv_helpers.Tpo -c -o sci_gateway/c/libscispreadsheet_la-gw_csv_helpers.lo `test -f 'sci_gateway/c/gw_csv_helpers.c' || echo '$(srcdir)/'`sci_gateway/c/gw_csv_helpers.c + $(AM_V_at)$(am__mv) sci_gateway/c/$(DEPDIR)/libscispreadsheet_la-gw_csv_helpers.Tpo sci_gateway/c/$(DEPDIR)/libscispreadsheet_la-gw_csv_helpers.Plo +# $(AM_V_CC)source='sci_gateway/c/gw_csv_helpers.c' object='sci_gateway/c/libscispreadsheet_la-gw_csv_helpers.lo' libtool=yes \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscispreadsheet_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sci_gateway/c/libscispreadsheet_la-gw_csv_helpers.lo `test -f 'sci_gateway/c/gw_csv_helpers.c' || echo '$(srcdir)/'`sci_gateway/c/gw_csv_helpers.c + +sci_gateway/c/libscispreadsheet_la-sci_csvDefault.lo: sci_gateway/c/sci_csvDefault.c + $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscispreadsheet_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sci_gateway/c/libscispreadsheet_la-sci_csvDefault.lo -MD -MP -MF sci_gateway/c/$(DEPDIR)/libscispreadsheet_la-sci_csvDefault.Tpo -c -o sci_gateway/c/libscispreadsheet_la-sci_csvDefault.lo `test -f 'sci_gateway/c/sci_csvDefault.c' || echo '$(srcdir)/'`sci_gateway/c/sci_csvDefault.c + $(AM_V_at)$(am__mv) sci_gateway/c/$(DEPDIR)/libscispreadsheet_la-sci_csvDefault.Tpo sci_gateway/c/$(DEPDIR)/libscispreadsheet_la-sci_csvDefault.Plo +# $(AM_V_CC)source='sci_gateway/c/sci_csvDefault.c' object='sci_gateway/c/libscispreadsheet_la-sci_csvDefault.lo' libtool=yes \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscispreadsheet_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sci_gateway/c/libscispreadsheet_la-sci_csvDefault.lo `test -f 'sci_gateway/c/sci_csvDefault.c' || echo '$(srcdir)/'`sci_gateway/c/sci_csvDefault.c + +sci_gateway/c/libscispreadsheet_la-sci_csvRead.lo: sci_gateway/c/sci_csvRead.c + $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscispreadsheet_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sci_gateway/c/libscispreadsheet_la-sci_csvRead.lo -MD -MP -MF sci_gateway/c/$(DEPDIR)/libscispreadsheet_la-sci_csvRead.Tpo -c -o sci_gateway/c/libscispreadsheet_la-sci_csvRead.lo `test -f 'sci_gateway/c/sci_csvRead.c' || echo '$(srcdir)/'`sci_gateway/c/sci_csvRead.c + $(AM_V_at)$(am__mv) sci_gateway/c/$(DEPDIR)/libscispreadsheet_la-sci_csvRead.Tpo sci_gateway/c/$(DEPDIR)/libscispreadsheet_la-sci_csvRead.Plo +# $(AM_V_CC)source='sci_gateway/c/sci_csvRead.c' object='sci_gateway/c/libscispreadsheet_la-sci_csvRead.lo' libtool=yes \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscispreadsheet_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sci_gateway/c/libscispreadsheet_la-sci_csvRead.lo `test -f 'sci_gateway/c/sci_csvRead.c' || echo '$(srcdir)/'`sci_gateway/c/sci_csvRead.c + +sci_gateway/c/libscispreadsheet_la-sci_csvStringToDouble.lo: sci_gateway/c/sci_csvStringToDouble.c + $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscispreadsheet_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sci_gateway/c/libscispreadsheet_la-sci_csvStringToDouble.lo -MD -MP -MF sci_gateway/c/$(DEPDIR)/libscispreadsheet_la-sci_csvStringToDouble.Tpo -c -o sci_gateway/c/libscispreadsheet_la-sci_csvStringToDouble.lo `test -f 'sci_gateway/c/sci_csvStringToDouble.c' || echo '$(srcdir)/'`sci_gateway/c/sci_csvStringToDouble.c + $(AM_V_at)$(am__mv) sci_gateway/c/$(DEPDIR)/libscispreadsheet_la-sci_csvStringToDouble.Tpo sci_gateway/c/$(DEPDIR)/libscispreadsheet_la-sci_csvStringToDouble.Plo +# $(AM_V_CC)source='sci_gateway/c/sci_csvStringToDouble.c' object='sci_gateway/c/libscispreadsheet_la-sci_csvStringToDouble.lo' libtool=yes \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscispreadsheet_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sci_gateway/c/libscispreadsheet_la-sci_csvStringToDouble.lo `test -f 'sci_gateway/c/sci_csvStringToDouble.c' || echo '$(srcdir)/'`sci_gateway/c/sci_csvStringToDouble.c + +sci_gateway/c/libscispreadsheet_la-sci_csvTextScan.lo: sci_gateway/c/sci_csvTextScan.c + $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscispreadsheet_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sci_gateway/c/libscispreadsheet_la-sci_csvTextScan.lo -MD -MP -MF sci_gateway/c/$(DEPDIR)/libscispreadsheet_la-sci_csvTextScan.Tpo -c -o sci_gateway/c/libscispreadsheet_la-sci_csvTextScan.lo `test -f 'sci_gateway/c/sci_csvTextScan.c' || echo '$(srcdir)/'`sci_gateway/c/sci_csvTextScan.c + $(AM_V_at)$(am__mv) sci_gateway/c/$(DEPDIR)/libscispreadsheet_la-sci_csvTextScan.Tpo sci_gateway/c/$(DEPDIR)/libscispreadsheet_la-sci_csvTextScan.Plo +# $(AM_V_CC)source='sci_gateway/c/sci_csvTextScan.c' object='sci_gateway/c/libscispreadsheet_la-sci_csvTextScan.lo' libtool=yes \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscispreadsheet_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sci_gateway/c/libscispreadsheet_la-sci_csvTextScan.lo `test -f 'sci_gateway/c/sci_csvTextScan.c' || echo '$(srcdir)/'`sci_gateway/c/sci_csvTextScan.c + +sci_gateway/c/libscispreadsheet_la-sci_csvWrite.lo: sci_gateway/c/sci_csvWrite.c + $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscispreadsheet_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sci_gateway/c/libscispreadsheet_la-sci_csvWrite.lo -MD -MP -MF sci_gateway/c/$(DEPDIR)/libscispreadsheet_la-sci_csvWrite.Tpo -c -o sci_gateway/c/libscispreadsheet_la-sci_csvWrite.lo `test -f 'sci_gateway/c/sci_csvWrite.c' || echo '$(srcdir)/'`sci_gateway/c/sci_csvWrite.c + $(AM_V_at)$(am__mv) sci_gateway/c/$(DEPDIR)/libscispreadsheet_la-sci_csvWrite.Tpo sci_gateway/c/$(DEPDIR)/libscispreadsheet_la-sci_csvWrite.Plo +# $(AM_V_CC)source='sci_gateway/c/sci_csvWrite.c' object='sci_gateway/c/libscispreadsheet_la-sci_csvWrite.lo' libtool=yes \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscispreadsheet_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sci_gateway/c/libscispreadsheet_la-sci_csvWrite.lo `test -f 'sci_gateway/c/sci_csvWrite.c' || echo '$(srcdir)/'`sci_gateway/c/sci_csvWrite.c + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + -rm -rf sci_gateway/c/.libs sci_gateway/c/_libs + -rm -rf src/c/.libs src/c/_libs + -rm -rf src/c/ripole/.libs src/c/ripole/_libs +install-libscispreadsheet_la_etcDATA: $(libscispreadsheet_la_etc_DATA) + @$(NORMAL_INSTALL) + @list='$(libscispreadsheet_la_etc_DATA)'; test -n "$(libscispreadsheet_la_etcdir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(libscispreadsheet_la_etcdir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(libscispreadsheet_la_etcdir)" || 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)$(libscispreadsheet_la_etcdir)'"; \ + $(INSTALL_DATA) $$files "$(DESTDIR)$(libscispreadsheet_la_etcdir)" || exit $$?; \ + done + +uninstall-libscispreadsheet_la_etcDATA: + @$(NORMAL_UNINSTALL) + @list='$(libscispreadsheet_la_etc_DATA)'; test -n "$(libscispreadsheet_la_etcdir)" || list=; \ + files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ + dir='$(DESTDIR)$(libscispreadsheet_la_etcdir)'; $(am__uninstall_files_from_dir) +install-libscispreadsheet_la_rootDATA: $(libscispreadsheet_la_root_DATA) + @$(NORMAL_INSTALL) + @list='$(libscispreadsheet_la_root_DATA)'; test -n "$(libscispreadsheet_la_rootdir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(libscispreadsheet_la_rootdir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(libscispreadsheet_la_rootdir)" || 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)$(libscispreadsheet_la_rootdir)'"; \ + $(INSTALL_DATA) $$files "$(DESTDIR)$(libscispreadsheet_la_rootdir)" || exit $$?; \ + done + +uninstall-libscispreadsheet_la_rootDATA: + @$(NORMAL_UNINSTALL) + @list='$(libscispreadsheet_la_root_DATA)'; test -n "$(libscispreadsheet_la_rootdir)" || list=; \ + files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ + dir='$(DESTDIR)$(libscispreadsheet_la_rootdir)'; $(am__uninstall_files_from_dir) +install-libscispreadsheet_la_sci_gatewayDATA: $(libscispreadsheet_la_sci_gateway_DATA) + @$(NORMAL_INSTALL) + @list='$(libscispreadsheet_la_sci_gateway_DATA)'; test -n "$(libscispreadsheet_la_sci_gatewaydir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(libscispreadsheet_la_sci_gatewaydir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(libscispreadsheet_la_sci_gatewaydir)" || 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)$(libscispreadsheet_la_sci_gatewaydir)'"; \ + $(INSTALL_DATA) $$files "$(DESTDIR)$(libscispreadsheet_la_sci_gatewaydir)" || exit $$?; \ + done + +uninstall-libscispreadsheet_la_sci_gatewayDATA: + @$(NORMAL_UNINSTALL) + @list='$(libscispreadsheet_la_sci_gateway_DATA)'; test -n "$(libscispreadsheet_la_sci_gatewaydir)" || list=; \ + files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ + dir='$(DESTDIR)$(libscispreadsheet_la_sci_gatewaydir)'; $(am__uninstall_files_from_dir) + +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 + +distdir: $(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-local +check: check-am +all-am: Makefile $(LTLIBRARIES) $(DATA) all-local +installdirs: + for dir in "$(DESTDIR)$(pkglibdir)" "$(DESTDIR)$(libscispreadsheet_la_etcdir)" "$(DESTDIR)$(libscispreadsheet_la_rootdir)" "$(DESTDIR)$(libscispreadsheet_la_sci_gatewaydir)"; 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: + +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) + -rm -f sci_gateway/c/$(DEPDIR)/$(am__dirstamp) + -rm -f sci_gateway/c/$(am__dirstamp) + -rm -f src/c/$(DEPDIR)/$(am__dirstamp) + -rm -f src/c/$(am__dirstamp) + -rm -f src/c/ripole/$(DEPDIR)/$(am__dirstamp) + -rm -f src/c/ripole/$(am__dirstamp) + +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-generic clean-libtool clean-local \ + clean-noinstLTLIBRARIES clean-pkglibLTLIBRARIES mostlyclean-am + +distclean: distclean-am + -rm -rf sci_gateway/c/$(DEPDIR) src/c/$(DEPDIR) src/c/ripole/$(DEPDIR) + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-local distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +html-am: + +info: info-am + +info-am: + +install-data-am: install-data-local \ + install-libscispreadsheet_la_etcDATA \ + install-libscispreadsheet_la_rootDATA \ + install-libscispreadsheet_la_sci_gatewayDATA + +install-dvi: install-dvi-am + +install-dvi-am: + +install-exec-am: install-pkglibLTLIBRARIES + +install-html: install-html-am + +install-html-am: install-html-local + +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 -rf sci_gateway/c/$(DEPDIR) src/c/$(DEPDIR) src/c/ripole/$(DEPDIR) + -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-libscispreadsheet_la_etcDATA \ + uninstall-libscispreadsheet_la_rootDATA \ + uninstall-libscispreadsheet_la_sci_gatewayDATA \ + uninstall-pkglibLTLIBRARIES + +.MAKE: check-am install-am install-strip + +.PHONY: CTAGS GTAGS TAGS all all-am all-local check check-am \ + check-local clean clean-generic clean-libtool clean-local \ + clean-noinstLTLIBRARIES clean-pkglibLTLIBRARIES cscopelist-am \ + ctags ctags-am distclean distclean-compile distclean-generic \ + distclean-libtool distclean-local distclean-tags distdir dvi \ + dvi-am html html-am info info-am install install-am \ + install-data install-data-am install-data-local install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-html-local install-info \ + install-info-am install-libscispreadsheet_la_etcDATA \ + install-libscispreadsheet_la_rootDATA \ + install-libscispreadsheet_la_sci_gatewayDATA install-man \ + install-pdf install-pdf-am install-pkglibLTLIBRARIES \ + 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 \ + tags tags-am uninstall uninstall-am \ + uninstall-libscispreadsheet_la_etcDATA \ + uninstall-libscispreadsheet_la_rootDATA \ + uninstall-libscispreadsheet_la_sci_gatewayDATA \ + uninstall-pkglibLTLIBRARIES + + +# This target enables tests for Scilab +check-local: $(top_builddir)/scilab-bin test + if test -d $(mydatadir)/tests; then \ + @COMMAND="try test_run('$(modulename)');catch exit(-1);end;exit(0)"; export LANG=C; $(top_builddir)/bin/scilab -nwni -nb -e "$$COMMAND"; \ + fi +check-code: + if test -f build.xml; then \ + $(ANT) checkstyle; \ + fi + if test -x "$(SPLINT)"; then \ + $(SPLINT) $(SPLINT_OPTIONS) -I$(top_srcdir)/modules/core/includes/ -I$(top_srcdir)/libs/MALLOC/includes/ -I$(top_srcdir)/modules/localization/includes/ $(INCLUDE_FLAGS) $(CHECK_SRC); \ + fi +java: +# Some configurations needs to export JAVA_HOME in the current env + @if test "$(JAVA_HOME)"; then export JAVA_HOME=$(JAVA_HOME); fi; \ + if test -z "$(USEANT)"; then USEANT=0; else USEANT=1; fi; \ + if test -f build.xml -a $$USEANT -eq 1; then \ + $(ANT); \ + fi + +clean-java: +# Some configurations needs to export JAVA_HOME in the current env + @if test "$(JAVA_HOME)"; then export JAVA_HOME=$(JAVA_HOME); fi; \ + if test -z "$(USEANT)"; then USEANT=0; else USEANT=1; fi; \ + if test -f build.xml -a $$USEANT -eq 1; then \ + $(ANT) clean; \ + fi; + +# If the user request for the SWIG generation of the wrappers Java => C/C++ +# We call the target swig-build on the variable SWIG_WRAPPERS + +#swig: $(SWIG_WRAPPERS) +# @SWIG_PACKAGENAME=org.scilab.modules.$(modulename); \ +# SWIG_OUTDIR=src/java/org/scilab/modules/$(modulename)/; \ +# if test -n "$(SWIG_WRAPPERS)"; then \ +# for file in $(SWIG_WRAPPERS) ; do \ +# echo "Swig process of $$file (Java) ..."; \ +# $(SWIG_BIN) $(SWIG_JAVA) -package $$SWIG_PACKAGENAME -outdir $$SWIG_OUTDIR $$file; \ +# done; \ +# fi + +#swig-scilab: $(SWIG_SCILAB_WRAPPERS) +# @SWIG_OUTDIR=src/swig/; \ +# if test -n "$(SWIG_SCILAB_WRAPPERS)"; then \ +# for file in $(SWIG_SCILAB_WRAPPERS) ; do \ +# echo "Swig process of $$file (Scilab) ..."; \ +# $(SWIG_BIN) $(SWIG_SCILAB) -outdir $$SWIG_OUTDIR $$file; \ +# done; \ +# fi + +# If the user request for the SWIG generation of the wrappers Java => C/C++ +# We call the target swig-build on the variable SWIG_WRAPPERS + +#giws: $(GIWS_WRAPPERS) +# @GIWS_OUTPUTDIR=src/jni/; \ +# MANDATORY_OPTIONS="--throws-exception-on-error --description-file"; \ +# if test -n "$(GIWS_WRAPPERS)"; then \ +# for file in $(GIWS_WRAPPERS) ; do \ +# echo "GIWS process of $$file ..."; \ +# if test -z "$(GIWS_OPTIONS)"; then \ +# $(GIWS_BIN) --disable-return-size-array --output-dir $$GIWS_OUTPUTDIR $$MANDATORY_OPTIONS $$file; \ +# else \ +# echo "Custom GIWS call with '$$GIWS_OPTIONS'"; \ +# $(GIWS_BIN) $$GIWS_OPTIONS --output-dir $$GIWS_OUTPUTDIR $$MANDATORY_OPTIONS $$file; \ +# fi \ +# done; \ +# fi + +#giws-exception: +# @GIWS_OUTPUTDIR=src/jni/;\ +# echo "GIWS: Generation of exception class ..."; \ +# $(GIWS_BIN) --generate-exception-class --output-dir $$GIWS_OUTPUTDIR + +macros: + -@( if test ! -x $(top_builddir)/scilab-bin; then \ + echo "Error : Cannot build $< : Scilab has not been built"; \ + else \ + $(top_builddir)/bin/scilab -ns -nwni -e "exec('macros/buildmacros.sce');quit;";\ + fi) + +# Removes the macros +clean-macros: +# Removes macros (*.bin generated from .sci) + @for dir in $(MACRODIRS) $(MACROSDIRSEXT) ; do \ + echo "rm -f $(builddir)/$$dir/$(MACROBINMASK)"; \ + rm -f $(builddir)/$$dir/$(MACROBINMASK); \ + done + +test: +# More tests could be added here + @if test -z "$(USEANT)"; then USEANT=0; else USEANT=1; fi; \ + if test -f build.xml -a $$USEANT -eq 1; then \ + $(ANT) test; \ + fi + +all-local: $(TARGETS_ALL) + +.sci.bin: + -@( if test ! -x $(top_builddir)/scilab-bin; then \ + echo "Error : Cannot build $< : Scilab has not been build"; \ + else \ + echo "Creating $@"; \ + $(top_builddir)/bin/scilab -ns -nwni -e "exec('$(abs_srcdir)/$<');save('$(abs_srcdir)/$@');exit;"; \ + fi ) + +install-html-local: + +install-data-local-local: +# Mainly for javasci + @if test -d $(srcdir)/javadoc; then \ + cp -R $(srcdir)/javadoc $(DESTDIR)/$(mydatadir)/; \ + fi +# If the user wants the help sources to be installed + @echo "-------- Install of XML sources of help files --------"; \ + for lang in $(ALL_LINGUAS); do \ + if test -d $(srcdir)/help/$$lang; then \ + $(mkinstalldirs) $(DESTDIR)$(pkgdocdir)/help/$$lang && \ + if ls -lLd $(srcdir)/help/$$lang/$(DOCMASKXML) >/dev/null 2>&1; then \ + for file in $(srcdir)/help/$$lang/$(DOCMASKXML) ; do \ + echo "$(INSTALL_DATA) $$file $(DESTDIR)$(pkgdocdir)/help/$$lang" ; \ + $(INSTALL_DATA) "$$file" $(DESTDIR)$(pkgdocdir)/help/$$lang ; \ + done ; \ + fi; \ + fi; \ + done; \ + @echo "-------- Install of MathML sources --------"; \ + if test -d $(srcdir)/help/mml/; then \ + $(mkinstalldirs) $(DESTDIR)$(pkgdocdir)/help/mml/ && \ + if ls -lLd $(srcdir)/help/mml/$(DOCMASKMML) >/dev/null 2>&1; then \ + for file in $(srcdir)/help/mml/$(DOCMASKMML) ; do \ + echo "$(INSTALL_DATA) $$file $(DESTDIR)$(pkgdocdir)/help/mml" ; \ + $(INSTALL_DATA) "$$file" $(DESTDIR)$(pkgdocdir)/help/mml ; \ + done ; \ + fi; \ + fi +install-data-local: +# Install the tests + @echo "-------- Install tests (if any) --------"; \ + for dir in $(TESTS_DIR) $(TESTS_DIREXT) ; do \ + if test -d $(srcdir)/$$dir/; then \ + $(mkinstalldirs) $(DESTDIR)$(pkgmacrosdir)/$$dir && \ + for file in `find $(srcdir)/$$dir | sed "s|^$(srcdir)/$$dir||" 2>/dev/null`; do \ + if test -d "$(srcdir)/$$dir/$$file"; then \ + echo $(mkinstalldirs) $(DESTDIR)$(pkgmacrosdir)/$$dir/$$file; \ + $(mkinstalldirs) "$(DESTDIR)$(pkgmacrosdir)/$$dir/$$file"; \ + else \ + echo "$(INSTALL_DATA) $(srcdir)/$$dir/$$file $(DESTDIR)$(pkgmacrosdir)/`dirname $$dir/$$file`" ; \ + $(INSTALL_DATA) "$(srcdir)/$$dir/$$file" "$(DESTDIR)$(pkgmacrosdir)/`dirname $$dir/$$file`" ; \ + fi \ + done; \ + fi; \ + done +# Install the help chapter + @echo "-------- Install the help chapter (if any) --------"; \ + for lang in $(HELP_CHAPTERLANG); do \ + HELPFILE=$(srcdir)/$(HELP_CHAPTERDIR)$$lang/$(HELP_CHAPTERFILE); \ + if test -f $$HELPFILE; then \ + echo $(mkinstalldirs) $(DESTDIR)$(pkgdocdir)/$(HELP_CHAPTERDIR)/$$lang/; \ + $(mkinstalldirs) $(DESTDIR)$(pkgdocdir)/$(HELP_CHAPTERDIR)/$$lang/; \ + echo $(INSTALL_DATA) $$HELPFILE $(DESTDIR)$(pkgdocdir)/$$HELPFILE; \ + $(INSTALL_DATA) $$HELPFILE $(DESTDIR)$(pkgdocdir)/$$HELPFILE; \ + fi; \ + done +# Install the demos & examples + @echo "-------- Install demos & examples (if any) --------"; \ + for dir in $(DEMOS_DIR) $(DEMOS_DIREXT) $(EXAMPLES_DIR) $(EXAMPLES_DIREXT) ; do \ + if test -d $(srcdir)/$$dir/; then \ + $(mkinstalldirs) $(DESTDIR)$(pkgdocdir)/$$dir && \ + for file in `find $(srcdir)/$$dir | sed "s|^$(srcdir)/$$dir||" 2>/dev/null`; do \ + if test -d "$(srcdir)/$$dir/$$file"; then \ + echo $(mkinstalldirs) $(DESTDIR)$(pkgdocdir)/$$dir/$$file; \ + $(mkinstalldirs) "$(DESTDIR)$(pkgdocdir)/$$dir/$$file"; \ + else \ + echo "$(INSTALL_DATA) $(srcdir)/$$dir/$$file $(DESTDIR)$(pkgdocdir)/`dirname $$dir/$$file`" ; \ + $(INSTALL_DATA) "$(srcdir)/$$dir/$$file" "$(DESTDIR)$(pkgdocdir)/`dirname $$dir/$$file`" ; \ + fi \ + done; \ + fi; \ + done +# Install the macros + @echo "-------- Install macros (if any) --------"; \ + for dir in $(MACRODIRS) $(MACROSDIRSEXT) ; do \ + $(mkinstalldirs) $(DESTDIR)$(pkgmacrosdir)/$$dir && \ + if test -d $(srcdir)/$$dir/; then \ + FILELIST="$(srcdir)/$$dir/$(MACROMASK) $(srcdir)/$$dir/$(MACROBINMASK) $(srcdir)/$$dir/$(MACROBUILDMASK) $(srcdir)/$$dir/names $(srcdir)/$$dir/lib";\ + if test -n "$(MACROSSPECIALEXT)"; then \ + specialExtDir=""; \ + for specialExt in $(MACROSSPECIALEXT); do \ + specialExtDir="$$specialExtDir $(srcdir)/$$dir/$$specialExt"; \ + done; \ + FILELIST="$$FILELIST $$specialExtDir"; \ + fi; \ + for file in `ls -1 $$FILELIST 2>/dev/null`; do \ + echo "$(INSTALL_DATA) $$file $(DESTDIR)$(pkgmacrosdir)/$$dir" ; \ + $(INSTALL_DATA) "$$file" $(DESTDIR)$(pkgmacrosdir)/$$dir ; \ + done; \ + fi; \ + done +# Install java files (.jar) + @if ls -lLd $(srcdir)/$(JARDIR)$(JARMASK) >/dev/null 2>&1; then \ + echo "-------- Install jar files --------"; \ + $(mkinstalldirs) $(DESTDIR)$(pkgdocdir)/$(JARDIR); \ + for file in $(srcdir)/$(JARDIR)$(JARMASK); do\ + echo "$(INSTALL_DATA) $$file $(DESTDIR)$(pkgdocdir)/$(JARDIR)" ; \ + $(INSTALL_DATA) "$$file" $(DESTDIR)$(pkgdocdir)/$(JARDIR) ; \ + done ; \ + fi + +########### CLEAN ################### +# Clean help (generated automatically by Scilab) +# It used to clean the macro (clean-macros) but this was causing +# make clean && make to fail Scilab startup +clean-local: clean-java +#clean-local: + +distclean-local: + rm -f $(builddir)/help/*/.last_successful_build_javaHelp $(builddir)/help/*/.list_* + +.PHONY: macros java swig giws + +# 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: diff --git a/modules/spreadsheet/Makefile.am b/modules/spreadsheet/Makefile.am new file mode 100755 index 000000000..4b3857b52 --- /dev/null +++ b/modules/spreadsheet/Makefile.am @@ -0,0 +1,81 @@ +# Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +# Copyright (C) 2006 - INRIA - Sylvestre LEDRU +# +# This file is distributed under the same license as the Scilab package. + + +SPREADSHEET_C_SOURCES = \ +src/c/xls.c \ +src/c/checkCsvWriteFormat.c \ +src/c/csvDefault.c \ +src/c/csvRead.c \ +src/c/csvWrite.c \ +src/c/getRange.c \ +src/c/splitLine.c \ +src/c/utftolatin.c + +RIPOLE_SOURCES = \ +src/c/ripole/olestream-unwrap.c \ +src/c/ripole/pldstr.c \ +src/c/ripole/ole.c \ +src/c/ripole/bytedecoders.c \ +src/c/ripole/logger.c \ +src/c/ripole/ripole.c \ +src/c/ripole/bt-int.c + +GATEWAY_C_SOURCES = \ +sci_gateway/c/gw_spreadsheet.c \ +sci_gateway/c/sci_xls_read.c \ +sci_gateway/c/sci_xls_open.c \ +sci_gateway/c/gw_csv_helpers.c \ +sci_gateway/c/sci_csvDefault.c \ +sci_gateway/c/sci_csvRead.c \ +sci_gateway/c/sci_csvStringToDouble.c \ +sci_gateway/c/sci_csvTextScan.c \ +sci_gateway/c/sci_csvWrite.c + +libscispreadsheet_la_CPPFLAGS = \ +-I$(srcdir)/includes/ \ +-I$(srcdir)/src/c/ \ +-I$(srcdir)/src/c/ripole \ +-I$(top_srcdir)/modules/localization/includes/ \ +-I$(top_srcdir)/modules/output_stream/includes/ \ +-I$(top_srcdir)/modules/io/includes/ \ +-I$(top_srcdir)/modules/string/src/c/ \ +-I$(top_srcdir)/modules/string/includes/ \ +-I$(top_srcdir)/modules/api_scilab/includes/ \ +-I$(top_srcdir)/modules/fileio/includes/ \ +$(AM_CPPFLAGS) + +pkglib_LTLIBRARIES = libscispreadsheet.la +noinst_LTLIBRARIES = libscispreadsheet-algo.la + + +libscispreadsheet_algo_la_SOURCES = $(SPREADSHEET_C_SOURCES) $(RIPOLE_SOURCES) +libscispreadsheet_la_SOURCES = $(GATEWAY_C_SOURCES) +libscispreadsheet_algo_la_CPPFLAGS = $(libscispreadsheet_la_CPPFLAGS) + +# For the code check (splint) +CHECK_SRC= $(SPREADSHEET_C_SOURCES) $(GATEWAY_C_SOURCES) $(RIPOLE_SOURCES) +INCLUDE_FLAGS = $(libscispreadsheet_la_CPPFLAGS) + +libscispreadsheet_la_LIBADD = libscispreadsheet-algo.la + +#### Target ###### +modulename=spreadsheet + + +#### spreadsheet : Conf files #### +libscispreadsheet_la_rootdir = $(mydatadir) +libscispreadsheet_la_root_DATA = license.txt + + +####�spreadsheet : init scripts #### +libscispreadsheet_la_etcdir = $(mydatadir)/etc +libscispreadsheet_la_etc_DATA = etc/spreadsheet.quit etc/spreadsheet.start + +####�spreadsheet : gateway declaration #### +libscispreadsheet_la_sci_gatewaydir = $(mydatadir)/sci_gateway +libscispreadsheet_la_sci_gateway_DATA = sci_gateway/spreadsheet_gateway.xml + +include $(top_srcdir)/Makefile.incl.am diff --git a/modules/spreadsheet/Makefile.in b/modules/spreadsheet/Makefile.in new file mode 100755 index 000000000..586099bce --- /dev/null +++ b/modules/spreadsheet/Makefile.in @@ -0,0 +1,1607 @@ +# Makefile.in generated by automake 1.14.1 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994-2013 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@ + +# Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +# Copyright (C) 2006 - INRIA - Sylvestre LEDRU +# +# This file is distributed under the same license as the Scilab package. + +# Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +# Copyright (C) 2006-2008 - INRIA - Sylvestre LEDRU <sylvestre.ledru@inria.fr> +# Copyright (C) 2008 - INRIA - Pierre MARECHAL <pierre.marechal@inria.fr> +# +# This file must be used under the terms of the CeCILL. +# This source file is licensed as described in the file COPYING, which +# you should have received as part of this distribution. The terms +# are also available at +# http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt +# + +########## +### Makefile included stuff +### Target, variable, suffixes which are supposed to be useful in every makefile.am +########## + + +VPATH = @srcdir@ +am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' +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@ +DIST_COMMON = $(top_srcdir)/Makefile.incl.am $(srcdir)/Makefile.in \ + $(srcdir)/Makefile.am $(top_srcdir)/config/mkinstalldirs \ + $(top_srcdir)/config/depcomp TODO +@NEED_JAVA_TRUE@am__append_1 = java +subdir = modules/spreadsheet +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/backtrace.m4 \ + $(top_srcdir)/m4/compiler.m4 $(top_srcdir)/m4/curl.m4 \ + $(top_srcdir)/m4/docbook.m4 $(top_srcdir)/m4/doxygen.m4 \ + $(top_srcdir)/m4/fftw.m4 $(top_srcdir)/m4/fortran.m4 \ + $(top_srcdir)/m4/giws.m4 $(top_srcdir)/m4/hdf5.m4 \ + $(top_srcdir)/m4/intel_compiler.m4 \ + $(top_srcdir)/m4/java-thirdparty.m4 $(top_srcdir)/m4/java.m4 \ + $(top_srcdir)/m4/largefile.m4 $(top_srcdir)/m4/lib-ld.m4 \ + $(top_srcdir)/m4/libsmath.m4 $(top_srcdir)/m4/libtool.m4 \ + $(top_srcdir)/m4/libxml2.m4 $(top_srcdir)/m4/ltoptions.m4 \ + $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ + $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/macosx.m4 \ + $(top_srcdir)/m4/mpi.m4 $(top_srcdir)/m4/ocaml.m4 \ + $(top_srcdir)/m4/pcre.m4 $(top_srcdir)/m4/pkg.m4 \ + $(top_srcdir)/m4/relocatable.m4 $(top_srcdir)/m4/swig.m4 \ + $(top_srcdir)/m4/symlinks.m4 $(top_srcdir)/m4/tcltk.m4 \ + $(top_srcdir)/m4/umfpack.m4 $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/modules/core/includes/machine.h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +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__installdirs = "$(DESTDIR)$(pkglibdir)" \ + "$(DESTDIR)$(libscispreadsheet_la_etcdir)" \ + "$(DESTDIR)$(libscispreadsheet_la_rootdir)" \ + "$(DESTDIR)$(libscispreadsheet_la_sci_gatewaydir)" +LTLIBRARIES = $(noinst_LTLIBRARIES) $(pkglib_LTLIBRARIES) +libscispreadsheet_algo_la_LIBADD = +am__dirstamp = $(am__leading_dot)dirstamp +am__objects_1 = src/c/libscispreadsheet_algo_la-xls.lo \ + src/c/libscispreadsheet_algo_la-checkCsvWriteFormat.lo \ + src/c/libscispreadsheet_algo_la-csvDefault.lo \ + src/c/libscispreadsheet_algo_la-csvRead.lo \ + src/c/libscispreadsheet_algo_la-csvWrite.lo \ + src/c/libscispreadsheet_algo_la-getRange.lo \ + src/c/libscispreadsheet_algo_la-splitLine.lo \ + src/c/libscispreadsheet_algo_la-utftolatin.lo +am__objects_2 = \ + src/c/ripole/libscispreadsheet_algo_la-olestream-unwrap.lo \ + src/c/ripole/libscispreadsheet_algo_la-pldstr.lo \ + src/c/ripole/libscispreadsheet_algo_la-ole.lo \ + src/c/ripole/libscispreadsheet_algo_la-bytedecoders.lo \ + src/c/ripole/libscispreadsheet_algo_la-logger.lo \ + src/c/ripole/libscispreadsheet_algo_la-ripole.lo \ + src/c/ripole/libscispreadsheet_algo_la-bt-int.lo +am_libscispreadsheet_algo_la_OBJECTS = $(am__objects_1) \ + $(am__objects_2) +libscispreadsheet_algo_la_OBJECTS = \ + $(am_libscispreadsheet_algo_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 = +libscispreadsheet_la_DEPENDENCIES = libscispreadsheet-algo.la +am__objects_3 = sci_gateway/c/libscispreadsheet_la-gw_spreadsheet.lo \ + sci_gateway/c/libscispreadsheet_la-sci_xls_read.lo \ + sci_gateway/c/libscispreadsheet_la-sci_xls_open.lo \ + sci_gateway/c/libscispreadsheet_la-gw_csv_helpers.lo \ + sci_gateway/c/libscispreadsheet_la-sci_csvDefault.lo \ + sci_gateway/c/libscispreadsheet_la-sci_csvRead.lo \ + sci_gateway/c/libscispreadsheet_la-sci_csvStringToDouble.lo \ + sci_gateway/c/libscispreadsheet_la-sci_csvTextScan.lo \ + sci_gateway/c/libscispreadsheet_la-sci_csvWrite.lo +am_libscispreadsheet_la_OBJECTS = $(am__objects_3) +libscispreadsheet_la_OBJECTS = $(am_libscispreadsheet_la_OBJECTS) +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@ -I$(top_builddir)/modules/core/includes +depcomp = $(SHELL) $(top_srcdir)/config/depcomp +am__depfiles_maybe = depfiles +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 = $(libscispreadsheet_algo_la_SOURCES) \ + $(libscispreadsheet_la_SOURCES) +DIST_SOURCES = $(libscispreadsheet_algo_la_SOURCES) \ + $(libscispreadsheet_la_SOURCES) +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac +DATA = $(libscispreadsheet_la_etc_DATA) \ + $(libscispreadsheet_la_root_DATA) \ + $(libscispreadsheet_la_sci_gateway_DATA) +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 +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +ALL_LINGUAS = @ALL_LINGUAS@ +ALL_LINGUAS_DOC = @ALL_LINGUAS_DOC@ +AMTAR = @AMTAR@ +AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ +ANT = @ANT@ +ANTLR = @ANTLR@ +AR = @AR@ +ARPACK_LIBS = @ARPACK_LIBS@ +ASM3 = @ASM3@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AVALON_FRAMEWORK = @AVALON_FRAMEWORK@ +AWK = @AWK@ +BATIK = @BATIK@ +BLAS_LIBS = @BLAS_LIBS@ +CC = @CC@ +CCACHE = @CCACHE@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CHECKSTYLE = @CHECKSTYLE@ +COBERTURA = @COBERTURA@ +COMMONS_BEANUTILS = @COMMONS_BEANUTILS@ +COMMONS_IO = @COMMONS_IO@ +COMMONS_LOGGING = @COMMONS_LOGGING@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CURL_CFLAGS = @CURL_CFLAGS@ +CURL_CONFIG = @CURL_CONFIG@ +CURL_LIBS = @CURL_LIBS@ +CURL_VERSION = @CURL_VERSION@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEMOTOOLS_ENABLE = @DEMOTOOLS_ENABLE@ +DEPDIR = @DEPDIR@ +DLLTOOL = @DLLTOOL@ +DOCBOOK_ROOT = @DOCBOOK_ROOT@ +DOXYGEN_BIN = @DOXYGEN_BIN@ +DSYMUTIL = @DSYMUTIL@ +DUMPBIN = @DUMPBIN@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +ECJ = @ECJ@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +F77 = @F77@ +FFLAGS = @FFLAGS@ +FFTW3_LIB = @FFTW3_LIB@ +FFTW_ENABLE = @FFTW_ENABLE@ +FGREP = @FGREP@ +FLEXDOCK = @FLEXDOCK@ +FLIBS = @FLIBS@ +FOP = @FOP@ +FREEHEP_GRAPHICS2D = @FREEHEP_GRAPHICS2D@ +FREEHEP_GRAPHICSIO = @FREEHEP_GRAPHICSIO@ +FREEHEP_GRAPHICSIO_EMF = @FREEHEP_GRAPHICSIO_EMF@ +FREEHEP_IO = @FREEHEP_IO@ +FREEHEP_UTIL = @FREEHEP_UTIL@ +GENHTML = @GENHTML@ +GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ +GIWS_BIN = @GIWS_BIN@ +GLUEGEN2_RT = @GLUEGEN2_RT@ +GMSGFMT = @GMSGFMT@ +GMSGFMT_015 = @GMSGFMT_015@ +GRAPHICS_ENABLE = @GRAPHICS_ENABLE@ +GREP = @GREP@ +GUI_ENABLE = @GUI_ENABLE@ +HDF5_CFLAGS = @HDF5_CFLAGS@ +HDF5_LIBS = @HDF5_LIBS@ +HELP_ENABLE = @HELP_ENABLE@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +INTLLIBS = @INTLLIBS@ +INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ +JAR = @JAR@ +JAVA = @JAVA@ +JAVAC = @JAVAC@ +JAVAC_DEBUG = @JAVAC_DEBUG@ +JAVADOC = @JAVADOC@ +JAVAH = @JAVAH@ +JAVASCI_ENABLE = @JAVASCI_ENABLE@ +JAVA_ENABLE = @JAVA_ENABLE@ +JAVA_G = @JAVA_G@ +JAVA_HOME = @JAVA_HOME@ +JAVA_JNI_INCLUDE = @JAVA_JNI_INCLUDE@ +JAVA_JNI_LIBS = @JAVA_JNI_LIBS@ +JDB = @JDB@ +JEUCLID_CORE = @JEUCLID_CORE@ +JGRAPHX = @JGRAPHX@ +JHALL = @JHALL@ +JLATEXMATH = @JLATEXMATH@ +JLATEXMATH_FOP = @JLATEXMATH_FOP@ +JOGL2 = @JOGL2@ +JROSETTA_API = @JROSETTA_API@ +JROSETTA_ENGINE = @JROSETTA_ENGINE@ +JUNIT4 = @JUNIT4@ +LAPACK_LIBS = @LAPACK_LIBS@ +LCOV = @LCOV@ +LD = @LD@ +LDFLAGS = @LDFLAGS@ +LIBICONV = @LIBICONV@ +LIBINTL = @LIBINTL@ +LIBM = @LIBM@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LIPO = @LIPO@ +LN_S = @LN_S@ +LOGGING_LEVEL = @LOGGING_LEVEL@ +LOOKS = @LOOKS@ +LTLIBICONV = @LTLIBICONV@ +LTLIBINTL = @LTLIBINTL@ +LTLIBOBJS = @LTLIBOBJS@ +MAINT = @MAINT@ +MAKEINFO = @MAKEINFO@ +MANIFEST_TOOL = @MANIFEST_TOOL@ +MATIO_CFLAGS = @MATIO_CFLAGS@ +MATIO_ENABLE = @MATIO_ENABLE@ +MATIO_LIBS = @MATIO_LIBS@ +MKDIR_P = @MKDIR_P@ +MPI_ENABLE = @MPI_ENABLE@ +MSGCAT = @MSGCAT@ +MSGFMT = @MSGFMT@ +MSGFMT_015 = @MSGFMT_015@ +MSGMERGE = @MSGMERGE@ +NM = @NM@ +NMEDIT = @NMEDIT@ +OBJDUMP = @OBJDUMP@ +OBJEXT = @OBJEXT@ +OCAMLC = @OCAMLC@ +OCAMLDEP = @OCAMLDEP@ +OCAMLLEX = @OCAMLLEX@ +OCAMLOPT = @OCAMLOPT@ +OCAMLYACC = @OCAMLYACC@ +OPENMPI_CC = @OPENMPI_CC@ +OPENMPI_CFLAGS = @OPENMPI_CFLAGS@ +OPENMPI_CXX = @OPENMPI_CXX@ +OPENMPI_CXXFLAGS = @OPENMPI_CXXFLAGS@ +OPENMPI_LIBS = @OPENMPI_LIBS@ +OPENMP_CFLAGS = @OPENMP_CFLAGS@ +OPENMP_CXXFLAGS = @OPENMP_CXXFLAGS@ +OPENMP_ENABLE = @OPENMP_ENABLE@ +OPENMP_LIBS = @OPENMP_LIBS@ +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@ +PCRE_CFLAGS = @PCRE_CFLAGS@ +PCRE_CONFIG = @PCRE_CONFIG@ +PCRE_LIBS = @PCRE_LIBS@ +PCRE_VERSION = @PCRE_VERSION@ +PKG_CONFIG = @PKG_CONFIG@ +POSUB = @POSUB@ +POW_LIB = @POW_LIB@ +PYTHON = @PYTHON@ +RANLIB = @RANLIB@ +RELOCATABLE = @RELOCATABLE@ +RT_LIB = @RT_LIB@ +SAXON = @SAXON@ +SCILAB_BINARY_VERSION = @SCILAB_BINARY_VERSION@ +SCILAB_LIBRARY_VERSION = @SCILAB_LIBRARY_VERSION@ +SCILAB_VERSION_MAINTENANCE = @SCILAB_VERSION_MAINTENANCE@ +SCILAB_VERSION_MAJOR = @SCILAB_VERSION_MAJOR@ +SCILAB_VERSION_MINOR = @SCILAB_VERSION_MINOR@ +SCIRENDERER = @SCIRENDERER@ +SCIRENDERER_CP = @SCIRENDERER_CP@ +SCI_CFLAGS = @SCI_CFLAGS@ +SCI_CXXFLAGS = @SCI_CXXFLAGS@ +SCI_FFLAGS = @SCI_FFLAGS@ +SCI_LDFLAGS = @SCI_LDFLAGS@ +SED = @SED@ +SET_MAKE = @SET_MAKE@ +SET_RELOCATABLE = @SET_RELOCATABLE@ +SHELL = @SHELL@ +SKINLF = @SKINLF@ +SPLINT = @SPLINT@ +STRIP = @STRIP@ +SWIG_BIN = @SWIG_BIN@ +SWIG_JAVA = @SWIG_JAVA@ +SWIG_RUNTIME_LIBS_DIR = @SWIG_RUNTIME_LIBS_DIR@ +SWIG_SCILAB = @SWIG_SCILAB@ +TCLTK_LIBS = @TCLTK_LIBS@ +TCL_INC_PATH = @TCL_INC_PATH@ +TK_INC_PATH = @TK_INC_PATH@ +UMFPACK_CFLAGS = @UMFPACK_CFLAGS@ +UMFPACK_ENABLE = @UMFPACK_ENABLE@ +UMFPACK_LIB = @UMFPACK_LIB@ +USE_NLS = @USE_NLS@ +VERSION = @VERSION@ +WITH_OCAML = @WITH_OCAML@ +WITH_TKSCI = @WITH_TKSCI@ +XCOS_ENABLE = @XCOS_ENABLE@ +XGETTEXT = @XGETTEXT@ +XGETTEXT_015 = @XGETTEXT_015@ +XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ +XMKMF = @XMKMF@ +XMLGRAPHICS_COMMONS = @XMLGRAPHICS_COMMONS@ +XML_APIS_EXT = @XML_APIS_EXT@ +XML_CONFIG = @XML_CONFIG@ +XML_FLAGS = @XML_FLAGS@ +XML_LIBS = @XML_LIBS@ +XML_VERSION = @XML_VERSION@ +X_CFLAGS = @X_CFLAGS@ +X_EXTRA_LIBS = @X_EXTRA_LIBS@ +X_LIBS = @X_LIBS@ +X_PRE_LIBS = @X_PRE_LIBS@ +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@ +ac_ct_F77 = @ac_ct_F77@ +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@ +cxx_present = @cxx_present@ +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@ +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@ +SPREADSHEET_C_SOURCES = \ +src/c/xls.c \ +src/c/checkCsvWriteFormat.c \ +src/c/csvDefault.c \ +src/c/csvRead.c \ +src/c/csvWrite.c \ +src/c/getRange.c \ +src/c/splitLine.c \ +src/c/utftolatin.c + +RIPOLE_SOURCES = \ +src/c/ripole/olestream-unwrap.c \ +src/c/ripole/pldstr.c \ +src/c/ripole/ole.c \ +src/c/ripole/bytedecoders.c \ +src/c/ripole/logger.c \ +src/c/ripole/ripole.c \ +src/c/ripole/bt-int.c + +GATEWAY_C_SOURCES = \ +sci_gateway/c/gw_spreadsheet.c \ +sci_gateway/c/sci_xls_read.c \ +sci_gateway/c/sci_xls_open.c \ +sci_gateway/c/gw_csv_helpers.c \ +sci_gateway/c/sci_csvDefault.c \ +sci_gateway/c/sci_csvRead.c \ +sci_gateway/c/sci_csvStringToDouble.c \ +sci_gateway/c/sci_csvTextScan.c \ +sci_gateway/c/sci_csvWrite.c + +libscispreadsheet_la_CPPFLAGS = \ +-I$(srcdir)/includes/ \ +-I$(srcdir)/src/c/ \ +-I$(srcdir)/src/c/ripole \ +-I$(top_srcdir)/modules/localization/includes/ \ +-I$(top_srcdir)/modules/output_stream/includes/ \ +-I$(top_srcdir)/modules/io/includes/ \ +-I$(top_srcdir)/modules/string/src/c/ \ +-I$(top_srcdir)/modules/string/includes/ \ +-I$(top_srcdir)/modules/api_scilab/includes/ \ +-I$(top_srcdir)/modules/fileio/includes/ \ +$(AM_CPPFLAGS) + +pkglib_LTLIBRARIES = libscispreadsheet.la +noinst_LTLIBRARIES = libscispreadsheet-algo.la +libscispreadsheet_algo_la_SOURCES = $(SPREADSHEET_C_SOURCES) $(RIPOLE_SOURCES) +libscispreadsheet_la_SOURCES = $(GATEWAY_C_SOURCES) +libscispreadsheet_algo_la_CPPFLAGS = $(libscispreadsheet_la_CPPFLAGS) + +# For the code check (splint) +CHECK_SRC = $(SPREADSHEET_C_SOURCES) $(GATEWAY_C_SOURCES) $(RIPOLE_SOURCES) +INCLUDE_FLAGS = $(libscispreadsheet_la_CPPFLAGS) +libscispreadsheet_la_LIBADD = libscispreadsheet-algo.la + +#### Target ###### +modulename = spreadsheet + +#### spreadsheet : Conf files #### +libscispreadsheet_la_rootdir = $(mydatadir) +libscispreadsheet_la_root_DATA = license.txt + +####�spreadsheet : init scripts #### +libscispreadsheet_la_etcdir = $(mydatadir)/etc +libscispreadsheet_la_etc_DATA = etc/spreadsheet.quit etc/spreadsheet.start + +####�spreadsheet : gateway declaration #### +libscispreadsheet_la_sci_gatewaydir = $(mydatadir)/sci_gateway +libscispreadsheet_la_sci_gateway_DATA = sci_gateway/spreadsheet_gateway.xml + +# Where all the Scilab stuff is installed (macros, help, ...) +mydatadir = $(pkgdatadir)/modules/$(modulename) + +# Set AM_* SCI detected settings +AM_CPPFLAGS = $(SCI_CPPFLAGS) +AM_CFLAGS = $(SCI_CFLAGS) +AM_CXXFLAGS = $(SCI_CXXFLAGS) +# append includes to AM_FFLAGS to manage fortran includes +AM_FFLAGS = $(SCI_FFLAGS) -I$(top_srcdir)/modules/core/includes/ + +# Tag shared libraries with the Scilab version +AM_LDFLAGS = $(SCI_LDFLAGS) -version-number $(SCILAB_LIBRARY_VERSION) + +# splint options +SPLINT_OPTIONS = -weak -booltype BOOL + +########################### JAVA ###################################### +#### We are delegating java compilation to ant... Thanks to that +#### the procedure will be the same with Microsoft Windows (C) +#### and Linux/Unix +####################################################################### +TARGETS_ALL = $(am__append_1) + +################ MACROS ###################### +# Rule to build a macro +# NOT USED AT THE MOMENT +SUFFIXES = .sci + +########### INSTALL DOCUMENTATION ################### + +# Install documentation files into the right target +# We do not use the automake mechanism (libxxxx_la_help_fr_DATA) because +# automake needs the html files to be present which is not the case when +# we are building Scilab + +# Where it should be installed +pkgdocdir = $(mydatadir) + +# What is the mask of the help source +DOCMASKXML = *.xml + +# What is the mask of the MathML sources +DOCMASKMML = *.mml + +########### INSTALL DATA ################### +# Install macros, help & demos +# Where it should be installed +pkgmacrosdir = $(mydatadir) +# Which directory we process +MACRODIRS = macros/ +# Mask of the Scilab sources macros +MACROMASK = *.sci +# Mask of the Scilab executable sources macros +MACROBUILDMASK = *.sce +# Mask of the Scilab compiled macros +MACROBINMASK = *.bin +# List of the standard directory for tests +TESTS_DIR = tests/benchmarks tests/nonreg_tests tests/unit_tests tests/java +# Where the demos should be installed +pkgdemosdir = $(mydatadir) +# List of the standard directory for demos +DEMOS_DIR = demos +# List of the standard directory for examples +EXAMPLES_DIR = examples +# Where to export JAVA archives (.jar) +JARDIR = jar/ +# JAR files mask +JARMASK = *.jar +# Chapter file +HELP_CHAPTERDIR = help/ +HELP_CHAPTERFILE = addchapter.sce +HELP_CHAPTERLANG = en_US fr_FR pt_BR +all: all-am + +.SUFFIXES: +.SUFFIXES: .sci .bin .c .lo .o .obj +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/Makefile.incl.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 modules/spreadsheet/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --foreign modules/spreadsheet/Makefile +.PRECIOUS: 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__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; +$(top_srcdir)/Makefile.incl.am: + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): + +clean-noinstLTLIBRARIES: + -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) + @list='$(noinst_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}; \ + } + +install-pkglibLTLIBRARIES: $(pkglib_LTLIBRARIES) + @$(NORMAL_INSTALL) + @list='$(pkglib_LTLIBRARIES)'; test -n "$(pkglibdir)" || 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)$(pkglibdir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(pkglibdir)" || exit 1; \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(pkglibdir)'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(pkglibdir)"; \ + } + +uninstall-pkglibLTLIBRARIES: + @$(NORMAL_UNINSTALL) + @list='$(pkglib_LTLIBRARIES)'; test -n "$(pkglibdir)" || list=; \ + for p in $$list; do \ + $(am__strip_dir) \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(pkglibdir)/$$f'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(pkglibdir)/$$f"; \ + done + +clean-pkglibLTLIBRARIES: + -test -z "$(pkglib_LTLIBRARIES)" || rm -f $(pkglib_LTLIBRARIES) + @list='$(pkglib_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}; \ + } +src/c/$(am__dirstamp): + @$(MKDIR_P) src/c + @: > src/c/$(am__dirstamp) +src/c/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) src/c/$(DEPDIR) + @: > src/c/$(DEPDIR)/$(am__dirstamp) +src/c/libscispreadsheet_algo_la-xls.lo: src/c/$(am__dirstamp) \ + src/c/$(DEPDIR)/$(am__dirstamp) +src/c/libscispreadsheet_algo_la-checkCsvWriteFormat.lo: \ + src/c/$(am__dirstamp) src/c/$(DEPDIR)/$(am__dirstamp) +src/c/libscispreadsheet_algo_la-csvDefault.lo: src/c/$(am__dirstamp) \ + src/c/$(DEPDIR)/$(am__dirstamp) +src/c/libscispreadsheet_algo_la-csvRead.lo: src/c/$(am__dirstamp) \ + src/c/$(DEPDIR)/$(am__dirstamp) +src/c/libscispreadsheet_algo_la-csvWrite.lo: src/c/$(am__dirstamp) \ + src/c/$(DEPDIR)/$(am__dirstamp) +src/c/libscispreadsheet_algo_la-getRange.lo: src/c/$(am__dirstamp) \ + src/c/$(DEPDIR)/$(am__dirstamp) +src/c/libscispreadsheet_algo_la-splitLine.lo: src/c/$(am__dirstamp) \ + src/c/$(DEPDIR)/$(am__dirstamp) +src/c/libscispreadsheet_algo_la-utftolatin.lo: src/c/$(am__dirstamp) \ + src/c/$(DEPDIR)/$(am__dirstamp) +src/c/ripole/$(am__dirstamp): + @$(MKDIR_P) src/c/ripole + @: > src/c/ripole/$(am__dirstamp) +src/c/ripole/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) src/c/ripole/$(DEPDIR) + @: > src/c/ripole/$(DEPDIR)/$(am__dirstamp) +src/c/ripole/libscispreadsheet_algo_la-olestream-unwrap.lo: \ + src/c/ripole/$(am__dirstamp) \ + src/c/ripole/$(DEPDIR)/$(am__dirstamp) +src/c/ripole/libscispreadsheet_algo_la-pldstr.lo: \ + src/c/ripole/$(am__dirstamp) \ + src/c/ripole/$(DEPDIR)/$(am__dirstamp) +src/c/ripole/libscispreadsheet_algo_la-ole.lo: \ + src/c/ripole/$(am__dirstamp) \ + src/c/ripole/$(DEPDIR)/$(am__dirstamp) +src/c/ripole/libscispreadsheet_algo_la-bytedecoders.lo: \ + src/c/ripole/$(am__dirstamp) \ + src/c/ripole/$(DEPDIR)/$(am__dirstamp) +src/c/ripole/libscispreadsheet_algo_la-logger.lo: \ + src/c/ripole/$(am__dirstamp) \ + src/c/ripole/$(DEPDIR)/$(am__dirstamp) +src/c/ripole/libscispreadsheet_algo_la-ripole.lo: \ + src/c/ripole/$(am__dirstamp) \ + src/c/ripole/$(DEPDIR)/$(am__dirstamp) +src/c/ripole/libscispreadsheet_algo_la-bt-int.lo: \ + src/c/ripole/$(am__dirstamp) \ + src/c/ripole/$(DEPDIR)/$(am__dirstamp) + +libscispreadsheet-algo.la: $(libscispreadsheet_algo_la_OBJECTS) $(libscispreadsheet_algo_la_DEPENDENCIES) $(EXTRA_libscispreadsheet_algo_la_DEPENDENCIES) + $(AM_V_CCLD)$(LINK) $(libscispreadsheet_algo_la_OBJECTS) $(libscispreadsheet_algo_la_LIBADD) $(LIBS) +sci_gateway/c/$(am__dirstamp): + @$(MKDIR_P) sci_gateway/c + @: > sci_gateway/c/$(am__dirstamp) +sci_gateway/c/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) sci_gateway/c/$(DEPDIR) + @: > sci_gateway/c/$(DEPDIR)/$(am__dirstamp) +sci_gateway/c/libscispreadsheet_la-gw_spreadsheet.lo: \ + sci_gateway/c/$(am__dirstamp) \ + sci_gateway/c/$(DEPDIR)/$(am__dirstamp) +sci_gateway/c/libscispreadsheet_la-sci_xls_read.lo: \ + sci_gateway/c/$(am__dirstamp) \ + sci_gateway/c/$(DEPDIR)/$(am__dirstamp) +sci_gateway/c/libscispreadsheet_la-sci_xls_open.lo: \ + sci_gateway/c/$(am__dirstamp) \ + sci_gateway/c/$(DEPDIR)/$(am__dirstamp) +sci_gateway/c/libscispreadsheet_la-gw_csv_helpers.lo: \ + sci_gateway/c/$(am__dirstamp) \ + sci_gateway/c/$(DEPDIR)/$(am__dirstamp) +sci_gateway/c/libscispreadsheet_la-sci_csvDefault.lo: \ + sci_gateway/c/$(am__dirstamp) \ + sci_gateway/c/$(DEPDIR)/$(am__dirstamp) +sci_gateway/c/libscispreadsheet_la-sci_csvRead.lo: \ + sci_gateway/c/$(am__dirstamp) \ + sci_gateway/c/$(DEPDIR)/$(am__dirstamp) +sci_gateway/c/libscispreadsheet_la-sci_csvStringToDouble.lo: \ + sci_gateway/c/$(am__dirstamp) \ + sci_gateway/c/$(DEPDIR)/$(am__dirstamp) +sci_gateway/c/libscispreadsheet_la-sci_csvTextScan.lo: \ + sci_gateway/c/$(am__dirstamp) \ + sci_gateway/c/$(DEPDIR)/$(am__dirstamp) +sci_gateway/c/libscispreadsheet_la-sci_csvWrite.lo: \ + sci_gateway/c/$(am__dirstamp) \ + sci_gateway/c/$(DEPDIR)/$(am__dirstamp) + +libscispreadsheet.la: $(libscispreadsheet_la_OBJECTS) $(libscispreadsheet_la_DEPENDENCIES) $(EXTRA_libscispreadsheet_la_DEPENDENCIES) + $(AM_V_CCLD)$(LINK) -rpath $(pkglibdir) $(libscispreadsheet_la_OBJECTS) $(libscispreadsheet_la_LIBADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + -rm -f sci_gateway/c/*.$(OBJEXT) + -rm -f sci_gateway/c/*.lo + -rm -f src/c/*.$(OBJEXT) + -rm -f src/c/*.lo + -rm -f src/c/ripole/*.$(OBJEXT) + -rm -f src/c/ripole/*.lo + +distclean-compile: + -rm -f *.tab.c + +@AMDEP_TRUE@@am__include@ @am__quote@sci_gateway/c/$(DEPDIR)/libscispreadsheet_la-gw_csv_helpers.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@sci_gateway/c/$(DEPDIR)/libscispreadsheet_la-gw_spreadsheet.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@sci_gateway/c/$(DEPDIR)/libscispreadsheet_la-sci_csvDefault.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@sci_gateway/c/$(DEPDIR)/libscispreadsheet_la-sci_csvRead.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@sci_gateway/c/$(DEPDIR)/libscispreadsheet_la-sci_csvStringToDouble.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@sci_gateway/c/$(DEPDIR)/libscispreadsheet_la-sci_csvTextScan.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@sci_gateway/c/$(DEPDIR)/libscispreadsheet_la-sci_csvWrite.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@sci_gateway/c/$(DEPDIR)/libscispreadsheet_la-sci_xls_open.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@sci_gateway/c/$(DEPDIR)/libscispreadsheet_la-sci_xls_read.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/c/$(DEPDIR)/libscispreadsheet_algo_la-checkCsvWriteFormat.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/c/$(DEPDIR)/libscispreadsheet_algo_la-csvDefault.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/c/$(DEPDIR)/libscispreadsheet_algo_la-csvRead.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/c/$(DEPDIR)/libscispreadsheet_algo_la-csvWrite.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/c/$(DEPDIR)/libscispreadsheet_algo_la-getRange.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/c/$(DEPDIR)/libscispreadsheet_algo_la-splitLine.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/c/$(DEPDIR)/libscispreadsheet_algo_la-utftolatin.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/c/$(DEPDIR)/libscispreadsheet_algo_la-xls.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/c/ripole/$(DEPDIR)/libscispreadsheet_algo_la-bt-int.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/c/ripole/$(DEPDIR)/libscispreadsheet_algo_la-bytedecoders.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/c/ripole/$(DEPDIR)/libscispreadsheet_algo_la-logger.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/c/ripole/$(DEPDIR)/libscispreadsheet_algo_la-ole.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/c/ripole/$(DEPDIR)/libscispreadsheet_algo_la-olestream-unwrap.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/c/ripole/$(DEPDIR)/libscispreadsheet_algo_la-pldstr.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/c/ripole/$(DEPDIR)/libscispreadsheet_algo_la-ripole.Plo@am__quote@ + +.c.o: +@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ +@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.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)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\ +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\ +@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.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)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\ +@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ +@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.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 $@ $< + +src/c/libscispreadsheet_algo_la-xls.lo: src/c/xls.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscispreadsheet_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT src/c/libscispreadsheet_algo_la-xls.lo -MD -MP -MF src/c/$(DEPDIR)/libscispreadsheet_algo_la-xls.Tpo -c -o src/c/libscispreadsheet_algo_la-xls.lo `test -f 'src/c/xls.c' || echo '$(srcdir)/'`src/c/xls.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/c/$(DEPDIR)/libscispreadsheet_algo_la-xls.Tpo src/c/$(DEPDIR)/libscispreadsheet_algo_la-xls.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/c/xls.c' object='src/c/libscispreadsheet_algo_la-xls.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscispreadsheet_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o src/c/libscispreadsheet_algo_la-xls.lo `test -f 'src/c/xls.c' || echo '$(srcdir)/'`src/c/xls.c + +src/c/libscispreadsheet_algo_la-checkCsvWriteFormat.lo: src/c/checkCsvWriteFormat.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscispreadsheet_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT src/c/libscispreadsheet_algo_la-checkCsvWriteFormat.lo -MD -MP -MF src/c/$(DEPDIR)/libscispreadsheet_algo_la-checkCsvWriteFormat.Tpo -c -o src/c/libscispreadsheet_algo_la-checkCsvWriteFormat.lo `test -f 'src/c/checkCsvWriteFormat.c' || echo '$(srcdir)/'`src/c/checkCsvWriteFormat.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/c/$(DEPDIR)/libscispreadsheet_algo_la-checkCsvWriteFormat.Tpo src/c/$(DEPDIR)/libscispreadsheet_algo_la-checkCsvWriteFormat.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/c/checkCsvWriteFormat.c' object='src/c/libscispreadsheet_algo_la-checkCsvWriteFormat.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscispreadsheet_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o src/c/libscispreadsheet_algo_la-checkCsvWriteFormat.lo `test -f 'src/c/checkCsvWriteFormat.c' || echo '$(srcdir)/'`src/c/checkCsvWriteFormat.c + +src/c/libscispreadsheet_algo_la-csvDefault.lo: src/c/csvDefault.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscispreadsheet_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT src/c/libscispreadsheet_algo_la-csvDefault.lo -MD -MP -MF src/c/$(DEPDIR)/libscispreadsheet_algo_la-csvDefault.Tpo -c -o src/c/libscispreadsheet_algo_la-csvDefault.lo `test -f 'src/c/csvDefault.c' || echo '$(srcdir)/'`src/c/csvDefault.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/c/$(DEPDIR)/libscispreadsheet_algo_la-csvDefault.Tpo src/c/$(DEPDIR)/libscispreadsheet_algo_la-csvDefault.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/c/csvDefault.c' object='src/c/libscispreadsheet_algo_la-csvDefault.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscispreadsheet_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o src/c/libscispreadsheet_algo_la-csvDefault.lo `test -f 'src/c/csvDefault.c' || echo '$(srcdir)/'`src/c/csvDefault.c + +src/c/libscispreadsheet_algo_la-csvRead.lo: src/c/csvRead.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscispreadsheet_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT src/c/libscispreadsheet_algo_la-csvRead.lo -MD -MP -MF src/c/$(DEPDIR)/libscispreadsheet_algo_la-csvRead.Tpo -c -o src/c/libscispreadsheet_algo_la-csvRead.lo `test -f 'src/c/csvRead.c' || echo '$(srcdir)/'`src/c/csvRead.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/c/$(DEPDIR)/libscispreadsheet_algo_la-csvRead.Tpo src/c/$(DEPDIR)/libscispreadsheet_algo_la-csvRead.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/c/csvRead.c' object='src/c/libscispreadsheet_algo_la-csvRead.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscispreadsheet_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o src/c/libscispreadsheet_algo_la-csvRead.lo `test -f 'src/c/csvRead.c' || echo '$(srcdir)/'`src/c/csvRead.c + +src/c/libscispreadsheet_algo_la-csvWrite.lo: src/c/csvWrite.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscispreadsheet_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT src/c/libscispreadsheet_algo_la-csvWrite.lo -MD -MP -MF src/c/$(DEPDIR)/libscispreadsheet_algo_la-csvWrite.Tpo -c -o src/c/libscispreadsheet_algo_la-csvWrite.lo `test -f 'src/c/csvWrite.c' || echo '$(srcdir)/'`src/c/csvWrite.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/c/$(DEPDIR)/libscispreadsheet_algo_la-csvWrite.Tpo src/c/$(DEPDIR)/libscispreadsheet_algo_la-csvWrite.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/c/csvWrite.c' object='src/c/libscispreadsheet_algo_la-csvWrite.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscispreadsheet_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o src/c/libscispreadsheet_algo_la-csvWrite.lo `test -f 'src/c/csvWrite.c' || echo '$(srcdir)/'`src/c/csvWrite.c + +src/c/libscispreadsheet_algo_la-getRange.lo: src/c/getRange.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscispreadsheet_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT src/c/libscispreadsheet_algo_la-getRange.lo -MD -MP -MF src/c/$(DEPDIR)/libscispreadsheet_algo_la-getRange.Tpo -c -o src/c/libscispreadsheet_algo_la-getRange.lo `test -f 'src/c/getRange.c' || echo '$(srcdir)/'`src/c/getRange.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/c/$(DEPDIR)/libscispreadsheet_algo_la-getRange.Tpo src/c/$(DEPDIR)/libscispreadsheet_algo_la-getRange.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/c/getRange.c' object='src/c/libscispreadsheet_algo_la-getRange.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscispreadsheet_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o src/c/libscispreadsheet_algo_la-getRange.lo `test -f 'src/c/getRange.c' || echo '$(srcdir)/'`src/c/getRange.c + +src/c/libscispreadsheet_algo_la-splitLine.lo: src/c/splitLine.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscispreadsheet_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT src/c/libscispreadsheet_algo_la-splitLine.lo -MD -MP -MF src/c/$(DEPDIR)/libscispreadsheet_algo_la-splitLine.Tpo -c -o src/c/libscispreadsheet_algo_la-splitLine.lo `test -f 'src/c/splitLine.c' || echo '$(srcdir)/'`src/c/splitLine.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/c/$(DEPDIR)/libscispreadsheet_algo_la-splitLine.Tpo src/c/$(DEPDIR)/libscispreadsheet_algo_la-splitLine.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/c/splitLine.c' object='src/c/libscispreadsheet_algo_la-splitLine.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscispreadsheet_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o src/c/libscispreadsheet_algo_la-splitLine.lo `test -f 'src/c/splitLine.c' || echo '$(srcdir)/'`src/c/splitLine.c + +src/c/libscispreadsheet_algo_la-utftolatin.lo: src/c/utftolatin.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscispreadsheet_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT src/c/libscispreadsheet_algo_la-utftolatin.lo -MD -MP -MF src/c/$(DEPDIR)/libscispreadsheet_algo_la-utftolatin.Tpo -c -o src/c/libscispreadsheet_algo_la-utftolatin.lo `test -f 'src/c/utftolatin.c' || echo '$(srcdir)/'`src/c/utftolatin.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/c/$(DEPDIR)/libscispreadsheet_algo_la-utftolatin.Tpo src/c/$(DEPDIR)/libscispreadsheet_algo_la-utftolatin.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/c/utftolatin.c' object='src/c/libscispreadsheet_algo_la-utftolatin.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscispreadsheet_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o src/c/libscispreadsheet_algo_la-utftolatin.lo `test -f 'src/c/utftolatin.c' || echo '$(srcdir)/'`src/c/utftolatin.c + +src/c/ripole/libscispreadsheet_algo_la-olestream-unwrap.lo: src/c/ripole/olestream-unwrap.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscispreadsheet_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT src/c/ripole/libscispreadsheet_algo_la-olestream-unwrap.lo -MD -MP -MF src/c/ripole/$(DEPDIR)/libscispreadsheet_algo_la-olestream-unwrap.Tpo -c -o src/c/ripole/libscispreadsheet_algo_la-olestream-unwrap.lo `test -f 'src/c/ripole/olestream-unwrap.c' || echo '$(srcdir)/'`src/c/ripole/olestream-unwrap.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/c/ripole/$(DEPDIR)/libscispreadsheet_algo_la-olestream-unwrap.Tpo src/c/ripole/$(DEPDIR)/libscispreadsheet_algo_la-olestream-unwrap.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/c/ripole/olestream-unwrap.c' object='src/c/ripole/libscispreadsheet_algo_la-olestream-unwrap.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscispreadsheet_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o src/c/ripole/libscispreadsheet_algo_la-olestream-unwrap.lo `test -f 'src/c/ripole/olestream-unwrap.c' || echo '$(srcdir)/'`src/c/ripole/olestream-unwrap.c + +src/c/ripole/libscispreadsheet_algo_la-pldstr.lo: src/c/ripole/pldstr.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscispreadsheet_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT src/c/ripole/libscispreadsheet_algo_la-pldstr.lo -MD -MP -MF src/c/ripole/$(DEPDIR)/libscispreadsheet_algo_la-pldstr.Tpo -c -o src/c/ripole/libscispreadsheet_algo_la-pldstr.lo `test -f 'src/c/ripole/pldstr.c' || echo '$(srcdir)/'`src/c/ripole/pldstr.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/c/ripole/$(DEPDIR)/libscispreadsheet_algo_la-pldstr.Tpo src/c/ripole/$(DEPDIR)/libscispreadsheet_algo_la-pldstr.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/c/ripole/pldstr.c' object='src/c/ripole/libscispreadsheet_algo_la-pldstr.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscispreadsheet_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o src/c/ripole/libscispreadsheet_algo_la-pldstr.lo `test -f 'src/c/ripole/pldstr.c' || echo '$(srcdir)/'`src/c/ripole/pldstr.c + +src/c/ripole/libscispreadsheet_algo_la-ole.lo: src/c/ripole/ole.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscispreadsheet_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT src/c/ripole/libscispreadsheet_algo_la-ole.lo -MD -MP -MF src/c/ripole/$(DEPDIR)/libscispreadsheet_algo_la-ole.Tpo -c -o src/c/ripole/libscispreadsheet_algo_la-ole.lo `test -f 'src/c/ripole/ole.c' || echo '$(srcdir)/'`src/c/ripole/ole.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/c/ripole/$(DEPDIR)/libscispreadsheet_algo_la-ole.Tpo src/c/ripole/$(DEPDIR)/libscispreadsheet_algo_la-ole.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/c/ripole/ole.c' object='src/c/ripole/libscispreadsheet_algo_la-ole.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscispreadsheet_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o src/c/ripole/libscispreadsheet_algo_la-ole.lo `test -f 'src/c/ripole/ole.c' || echo '$(srcdir)/'`src/c/ripole/ole.c + +src/c/ripole/libscispreadsheet_algo_la-bytedecoders.lo: src/c/ripole/bytedecoders.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscispreadsheet_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT src/c/ripole/libscispreadsheet_algo_la-bytedecoders.lo -MD -MP -MF src/c/ripole/$(DEPDIR)/libscispreadsheet_algo_la-bytedecoders.Tpo -c -o src/c/ripole/libscispreadsheet_algo_la-bytedecoders.lo `test -f 'src/c/ripole/bytedecoders.c' || echo '$(srcdir)/'`src/c/ripole/bytedecoders.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/c/ripole/$(DEPDIR)/libscispreadsheet_algo_la-bytedecoders.Tpo src/c/ripole/$(DEPDIR)/libscispreadsheet_algo_la-bytedecoders.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/c/ripole/bytedecoders.c' object='src/c/ripole/libscispreadsheet_algo_la-bytedecoders.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscispreadsheet_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o src/c/ripole/libscispreadsheet_algo_la-bytedecoders.lo `test -f 'src/c/ripole/bytedecoders.c' || echo '$(srcdir)/'`src/c/ripole/bytedecoders.c + +src/c/ripole/libscispreadsheet_algo_la-logger.lo: src/c/ripole/logger.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscispreadsheet_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT src/c/ripole/libscispreadsheet_algo_la-logger.lo -MD -MP -MF src/c/ripole/$(DEPDIR)/libscispreadsheet_algo_la-logger.Tpo -c -o src/c/ripole/libscispreadsheet_algo_la-logger.lo `test -f 'src/c/ripole/logger.c' || echo '$(srcdir)/'`src/c/ripole/logger.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/c/ripole/$(DEPDIR)/libscispreadsheet_algo_la-logger.Tpo src/c/ripole/$(DEPDIR)/libscispreadsheet_algo_la-logger.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/c/ripole/logger.c' object='src/c/ripole/libscispreadsheet_algo_la-logger.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscispreadsheet_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o src/c/ripole/libscispreadsheet_algo_la-logger.lo `test -f 'src/c/ripole/logger.c' || echo '$(srcdir)/'`src/c/ripole/logger.c + +src/c/ripole/libscispreadsheet_algo_la-ripole.lo: src/c/ripole/ripole.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscispreadsheet_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT src/c/ripole/libscispreadsheet_algo_la-ripole.lo -MD -MP -MF src/c/ripole/$(DEPDIR)/libscispreadsheet_algo_la-ripole.Tpo -c -o src/c/ripole/libscispreadsheet_algo_la-ripole.lo `test -f 'src/c/ripole/ripole.c' || echo '$(srcdir)/'`src/c/ripole/ripole.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/c/ripole/$(DEPDIR)/libscispreadsheet_algo_la-ripole.Tpo src/c/ripole/$(DEPDIR)/libscispreadsheet_algo_la-ripole.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/c/ripole/ripole.c' object='src/c/ripole/libscispreadsheet_algo_la-ripole.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscispreadsheet_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o src/c/ripole/libscispreadsheet_algo_la-ripole.lo `test -f 'src/c/ripole/ripole.c' || echo '$(srcdir)/'`src/c/ripole/ripole.c + +src/c/ripole/libscispreadsheet_algo_la-bt-int.lo: src/c/ripole/bt-int.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscispreadsheet_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT src/c/ripole/libscispreadsheet_algo_la-bt-int.lo -MD -MP -MF src/c/ripole/$(DEPDIR)/libscispreadsheet_algo_la-bt-int.Tpo -c -o src/c/ripole/libscispreadsheet_algo_la-bt-int.lo `test -f 'src/c/ripole/bt-int.c' || echo '$(srcdir)/'`src/c/ripole/bt-int.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/c/ripole/$(DEPDIR)/libscispreadsheet_algo_la-bt-int.Tpo src/c/ripole/$(DEPDIR)/libscispreadsheet_algo_la-bt-int.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/c/ripole/bt-int.c' object='src/c/ripole/libscispreadsheet_algo_la-bt-int.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscispreadsheet_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o src/c/ripole/libscispreadsheet_algo_la-bt-int.lo `test -f 'src/c/ripole/bt-int.c' || echo '$(srcdir)/'`src/c/ripole/bt-int.c + +sci_gateway/c/libscispreadsheet_la-gw_spreadsheet.lo: sci_gateway/c/gw_spreadsheet.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscispreadsheet_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sci_gateway/c/libscispreadsheet_la-gw_spreadsheet.lo -MD -MP -MF sci_gateway/c/$(DEPDIR)/libscispreadsheet_la-gw_spreadsheet.Tpo -c -o sci_gateway/c/libscispreadsheet_la-gw_spreadsheet.lo `test -f 'sci_gateway/c/gw_spreadsheet.c' || echo '$(srcdir)/'`sci_gateway/c/gw_spreadsheet.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) sci_gateway/c/$(DEPDIR)/libscispreadsheet_la-gw_spreadsheet.Tpo sci_gateway/c/$(DEPDIR)/libscispreadsheet_la-gw_spreadsheet.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='sci_gateway/c/gw_spreadsheet.c' object='sci_gateway/c/libscispreadsheet_la-gw_spreadsheet.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscispreadsheet_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sci_gateway/c/libscispreadsheet_la-gw_spreadsheet.lo `test -f 'sci_gateway/c/gw_spreadsheet.c' || echo '$(srcdir)/'`sci_gateway/c/gw_spreadsheet.c + +sci_gateway/c/libscispreadsheet_la-sci_xls_read.lo: sci_gateway/c/sci_xls_read.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscispreadsheet_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sci_gateway/c/libscispreadsheet_la-sci_xls_read.lo -MD -MP -MF sci_gateway/c/$(DEPDIR)/libscispreadsheet_la-sci_xls_read.Tpo -c -o sci_gateway/c/libscispreadsheet_la-sci_xls_read.lo `test -f 'sci_gateway/c/sci_xls_read.c' || echo '$(srcdir)/'`sci_gateway/c/sci_xls_read.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) sci_gateway/c/$(DEPDIR)/libscispreadsheet_la-sci_xls_read.Tpo sci_gateway/c/$(DEPDIR)/libscispreadsheet_la-sci_xls_read.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='sci_gateway/c/sci_xls_read.c' object='sci_gateway/c/libscispreadsheet_la-sci_xls_read.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscispreadsheet_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sci_gateway/c/libscispreadsheet_la-sci_xls_read.lo `test -f 'sci_gateway/c/sci_xls_read.c' || echo '$(srcdir)/'`sci_gateway/c/sci_xls_read.c + +sci_gateway/c/libscispreadsheet_la-sci_xls_open.lo: sci_gateway/c/sci_xls_open.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscispreadsheet_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sci_gateway/c/libscispreadsheet_la-sci_xls_open.lo -MD -MP -MF sci_gateway/c/$(DEPDIR)/libscispreadsheet_la-sci_xls_open.Tpo -c -o sci_gateway/c/libscispreadsheet_la-sci_xls_open.lo `test -f 'sci_gateway/c/sci_xls_open.c' || echo '$(srcdir)/'`sci_gateway/c/sci_xls_open.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) sci_gateway/c/$(DEPDIR)/libscispreadsheet_la-sci_xls_open.Tpo sci_gateway/c/$(DEPDIR)/libscispreadsheet_la-sci_xls_open.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='sci_gateway/c/sci_xls_open.c' object='sci_gateway/c/libscispreadsheet_la-sci_xls_open.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscispreadsheet_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sci_gateway/c/libscispreadsheet_la-sci_xls_open.lo `test -f 'sci_gateway/c/sci_xls_open.c' || echo '$(srcdir)/'`sci_gateway/c/sci_xls_open.c + +sci_gateway/c/libscispreadsheet_la-gw_csv_helpers.lo: sci_gateway/c/gw_csv_helpers.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscispreadsheet_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sci_gateway/c/libscispreadsheet_la-gw_csv_helpers.lo -MD -MP -MF sci_gateway/c/$(DEPDIR)/libscispreadsheet_la-gw_csv_helpers.Tpo -c -o sci_gateway/c/libscispreadsheet_la-gw_csv_helpers.lo `test -f 'sci_gateway/c/gw_csv_helpers.c' || echo '$(srcdir)/'`sci_gateway/c/gw_csv_helpers.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) sci_gateway/c/$(DEPDIR)/libscispreadsheet_la-gw_csv_helpers.Tpo sci_gateway/c/$(DEPDIR)/libscispreadsheet_la-gw_csv_helpers.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='sci_gateway/c/gw_csv_helpers.c' object='sci_gateway/c/libscispreadsheet_la-gw_csv_helpers.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscispreadsheet_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sci_gateway/c/libscispreadsheet_la-gw_csv_helpers.lo `test -f 'sci_gateway/c/gw_csv_helpers.c' || echo '$(srcdir)/'`sci_gateway/c/gw_csv_helpers.c + +sci_gateway/c/libscispreadsheet_la-sci_csvDefault.lo: sci_gateway/c/sci_csvDefault.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscispreadsheet_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sci_gateway/c/libscispreadsheet_la-sci_csvDefault.lo -MD -MP -MF sci_gateway/c/$(DEPDIR)/libscispreadsheet_la-sci_csvDefault.Tpo -c -o sci_gateway/c/libscispreadsheet_la-sci_csvDefault.lo `test -f 'sci_gateway/c/sci_csvDefault.c' || echo '$(srcdir)/'`sci_gateway/c/sci_csvDefault.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) sci_gateway/c/$(DEPDIR)/libscispreadsheet_la-sci_csvDefault.Tpo sci_gateway/c/$(DEPDIR)/libscispreadsheet_la-sci_csvDefault.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='sci_gateway/c/sci_csvDefault.c' object='sci_gateway/c/libscispreadsheet_la-sci_csvDefault.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscispreadsheet_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sci_gateway/c/libscispreadsheet_la-sci_csvDefault.lo `test -f 'sci_gateway/c/sci_csvDefault.c' || echo '$(srcdir)/'`sci_gateway/c/sci_csvDefault.c + +sci_gateway/c/libscispreadsheet_la-sci_csvRead.lo: sci_gateway/c/sci_csvRead.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscispreadsheet_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sci_gateway/c/libscispreadsheet_la-sci_csvRead.lo -MD -MP -MF sci_gateway/c/$(DEPDIR)/libscispreadsheet_la-sci_csvRead.Tpo -c -o sci_gateway/c/libscispreadsheet_la-sci_csvRead.lo `test -f 'sci_gateway/c/sci_csvRead.c' || echo '$(srcdir)/'`sci_gateway/c/sci_csvRead.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) sci_gateway/c/$(DEPDIR)/libscispreadsheet_la-sci_csvRead.Tpo sci_gateway/c/$(DEPDIR)/libscispreadsheet_la-sci_csvRead.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='sci_gateway/c/sci_csvRead.c' object='sci_gateway/c/libscispreadsheet_la-sci_csvRead.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscispreadsheet_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sci_gateway/c/libscispreadsheet_la-sci_csvRead.lo `test -f 'sci_gateway/c/sci_csvRead.c' || echo '$(srcdir)/'`sci_gateway/c/sci_csvRead.c + +sci_gateway/c/libscispreadsheet_la-sci_csvStringToDouble.lo: sci_gateway/c/sci_csvStringToDouble.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscispreadsheet_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sci_gateway/c/libscispreadsheet_la-sci_csvStringToDouble.lo -MD -MP -MF sci_gateway/c/$(DEPDIR)/libscispreadsheet_la-sci_csvStringToDouble.Tpo -c -o sci_gateway/c/libscispreadsheet_la-sci_csvStringToDouble.lo `test -f 'sci_gateway/c/sci_csvStringToDouble.c' || echo '$(srcdir)/'`sci_gateway/c/sci_csvStringToDouble.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) sci_gateway/c/$(DEPDIR)/libscispreadsheet_la-sci_csvStringToDouble.Tpo sci_gateway/c/$(DEPDIR)/libscispreadsheet_la-sci_csvStringToDouble.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='sci_gateway/c/sci_csvStringToDouble.c' object='sci_gateway/c/libscispreadsheet_la-sci_csvStringToDouble.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscispreadsheet_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sci_gateway/c/libscispreadsheet_la-sci_csvStringToDouble.lo `test -f 'sci_gateway/c/sci_csvStringToDouble.c' || echo '$(srcdir)/'`sci_gateway/c/sci_csvStringToDouble.c + +sci_gateway/c/libscispreadsheet_la-sci_csvTextScan.lo: sci_gateway/c/sci_csvTextScan.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscispreadsheet_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sci_gateway/c/libscispreadsheet_la-sci_csvTextScan.lo -MD -MP -MF sci_gateway/c/$(DEPDIR)/libscispreadsheet_la-sci_csvTextScan.Tpo -c -o sci_gateway/c/libscispreadsheet_la-sci_csvTextScan.lo `test -f 'sci_gateway/c/sci_csvTextScan.c' || echo '$(srcdir)/'`sci_gateway/c/sci_csvTextScan.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) sci_gateway/c/$(DEPDIR)/libscispreadsheet_la-sci_csvTextScan.Tpo sci_gateway/c/$(DEPDIR)/libscispreadsheet_la-sci_csvTextScan.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='sci_gateway/c/sci_csvTextScan.c' object='sci_gateway/c/libscispreadsheet_la-sci_csvTextScan.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscispreadsheet_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sci_gateway/c/libscispreadsheet_la-sci_csvTextScan.lo `test -f 'sci_gateway/c/sci_csvTextScan.c' || echo '$(srcdir)/'`sci_gateway/c/sci_csvTextScan.c + +sci_gateway/c/libscispreadsheet_la-sci_csvWrite.lo: sci_gateway/c/sci_csvWrite.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscispreadsheet_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sci_gateway/c/libscispreadsheet_la-sci_csvWrite.lo -MD -MP -MF sci_gateway/c/$(DEPDIR)/libscispreadsheet_la-sci_csvWrite.Tpo -c -o sci_gateway/c/libscispreadsheet_la-sci_csvWrite.lo `test -f 'sci_gateway/c/sci_csvWrite.c' || echo '$(srcdir)/'`sci_gateway/c/sci_csvWrite.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) sci_gateway/c/$(DEPDIR)/libscispreadsheet_la-sci_csvWrite.Tpo sci_gateway/c/$(DEPDIR)/libscispreadsheet_la-sci_csvWrite.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='sci_gateway/c/sci_csvWrite.c' object='sci_gateway/c/libscispreadsheet_la-sci_csvWrite.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscispreadsheet_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sci_gateway/c/libscispreadsheet_la-sci_csvWrite.lo `test -f 'sci_gateway/c/sci_csvWrite.c' || echo '$(srcdir)/'`sci_gateway/c/sci_csvWrite.c + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + -rm -rf sci_gateway/c/.libs sci_gateway/c/_libs + -rm -rf src/c/.libs src/c/_libs + -rm -rf src/c/ripole/.libs src/c/ripole/_libs +install-libscispreadsheet_la_etcDATA: $(libscispreadsheet_la_etc_DATA) + @$(NORMAL_INSTALL) + @list='$(libscispreadsheet_la_etc_DATA)'; test -n "$(libscispreadsheet_la_etcdir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(libscispreadsheet_la_etcdir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(libscispreadsheet_la_etcdir)" || 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)$(libscispreadsheet_la_etcdir)'"; \ + $(INSTALL_DATA) $$files "$(DESTDIR)$(libscispreadsheet_la_etcdir)" || exit $$?; \ + done + +uninstall-libscispreadsheet_la_etcDATA: + @$(NORMAL_UNINSTALL) + @list='$(libscispreadsheet_la_etc_DATA)'; test -n "$(libscispreadsheet_la_etcdir)" || list=; \ + files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ + dir='$(DESTDIR)$(libscispreadsheet_la_etcdir)'; $(am__uninstall_files_from_dir) +install-libscispreadsheet_la_rootDATA: $(libscispreadsheet_la_root_DATA) + @$(NORMAL_INSTALL) + @list='$(libscispreadsheet_la_root_DATA)'; test -n "$(libscispreadsheet_la_rootdir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(libscispreadsheet_la_rootdir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(libscispreadsheet_la_rootdir)" || 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)$(libscispreadsheet_la_rootdir)'"; \ + $(INSTALL_DATA) $$files "$(DESTDIR)$(libscispreadsheet_la_rootdir)" || exit $$?; \ + done + +uninstall-libscispreadsheet_la_rootDATA: + @$(NORMAL_UNINSTALL) + @list='$(libscispreadsheet_la_root_DATA)'; test -n "$(libscispreadsheet_la_rootdir)" || list=; \ + files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ + dir='$(DESTDIR)$(libscispreadsheet_la_rootdir)'; $(am__uninstall_files_from_dir) +install-libscispreadsheet_la_sci_gatewayDATA: $(libscispreadsheet_la_sci_gateway_DATA) + @$(NORMAL_INSTALL) + @list='$(libscispreadsheet_la_sci_gateway_DATA)'; test -n "$(libscispreadsheet_la_sci_gatewaydir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(libscispreadsheet_la_sci_gatewaydir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(libscispreadsheet_la_sci_gatewaydir)" || 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)$(libscispreadsheet_la_sci_gatewaydir)'"; \ + $(INSTALL_DATA) $$files "$(DESTDIR)$(libscispreadsheet_la_sci_gatewaydir)" || exit $$?; \ + done + +uninstall-libscispreadsheet_la_sci_gatewayDATA: + @$(NORMAL_UNINSTALL) + @list='$(libscispreadsheet_la_sci_gateway_DATA)'; test -n "$(libscispreadsheet_la_sci_gatewaydir)" || list=; \ + files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ + dir='$(DESTDIR)$(libscispreadsheet_la_sci_gatewaydir)'; $(am__uninstall_files_from_dir) + +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 + +distdir: $(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-local +check: check-am +all-am: Makefile $(LTLIBRARIES) $(DATA) all-local +installdirs: + for dir in "$(DESTDIR)$(pkglibdir)" "$(DESTDIR)$(libscispreadsheet_la_etcdir)" "$(DESTDIR)$(libscispreadsheet_la_rootdir)" "$(DESTDIR)$(libscispreadsheet_la_sci_gatewaydir)"; 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: + +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) + -rm -f sci_gateway/c/$(DEPDIR)/$(am__dirstamp) + -rm -f sci_gateway/c/$(am__dirstamp) + -rm -f src/c/$(DEPDIR)/$(am__dirstamp) + -rm -f src/c/$(am__dirstamp) + -rm -f src/c/ripole/$(DEPDIR)/$(am__dirstamp) + -rm -f src/c/ripole/$(am__dirstamp) + +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-generic clean-libtool clean-local \ + clean-noinstLTLIBRARIES clean-pkglibLTLIBRARIES mostlyclean-am + +distclean: distclean-am + -rm -rf sci_gateway/c/$(DEPDIR) src/c/$(DEPDIR) src/c/ripole/$(DEPDIR) + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-local distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +html-am: + +info: info-am + +info-am: + +install-data-am: install-data-local \ + install-libscispreadsheet_la_etcDATA \ + install-libscispreadsheet_la_rootDATA \ + install-libscispreadsheet_la_sci_gatewayDATA + +install-dvi: install-dvi-am + +install-dvi-am: + +install-exec-am: install-pkglibLTLIBRARIES + +install-html: install-html-am + +install-html-am: install-html-local + +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 -rf sci_gateway/c/$(DEPDIR) src/c/$(DEPDIR) src/c/ripole/$(DEPDIR) + -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-libscispreadsheet_la_etcDATA \ + uninstall-libscispreadsheet_la_rootDATA \ + uninstall-libscispreadsheet_la_sci_gatewayDATA \ + uninstall-pkglibLTLIBRARIES + +.MAKE: check-am install-am install-strip + +.PHONY: CTAGS GTAGS TAGS all all-am all-local check check-am \ + check-local clean clean-generic clean-libtool clean-local \ + clean-noinstLTLIBRARIES clean-pkglibLTLIBRARIES cscopelist-am \ + ctags ctags-am distclean distclean-compile distclean-generic \ + distclean-libtool distclean-local distclean-tags distdir dvi \ + dvi-am html html-am info info-am install install-am \ + install-data install-data-am install-data-local install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-html-local install-info \ + install-info-am install-libscispreadsheet_la_etcDATA \ + install-libscispreadsheet_la_rootDATA \ + install-libscispreadsheet_la_sci_gatewayDATA install-man \ + install-pdf install-pdf-am install-pkglibLTLIBRARIES \ + 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 \ + tags tags-am uninstall uninstall-am \ + uninstall-libscispreadsheet_la_etcDATA \ + uninstall-libscispreadsheet_la_rootDATA \ + uninstall-libscispreadsheet_la_sci_gatewayDATA \ + uninstall-pkglibLTLIBRARIES + + +# This target enables tests for Scilab +check-local: $(top_builddir)/scilab-bin test + if test -d $(mydatadir)/tests; then \ + @COMMAND="try test_run('$(modulename)');catch exit(-1);end;exit(0)"; export LANG=C; $(top_builddir)/bin/scilab -nwni -nb -e "$$COMMAND"; \ + fi +check-code: + if test -f build.xml; then \ + $(ANT) checkstyle; \ + fi + if test -x "$(SPLINT)"; then \ + $(SPLINT) $(SPLINT_OPTIONS) -I$(top_srcdir)/modules/core/includes/ -I$(top_srcdir)/libs/MALLOC/includes/ -I$(top_srcdir)/modules/localization/includes/ $(INCLUDE_FLAGS) $(CHECK_SRC); \ + fi +@NEED_JAVA_TRUE@java: +# Some configurations needs to export JAVA_HOME in the current env +@NEED_JAVA_TRUE@ @if test "$(JAVA_HOME)"; then export JAVA_HOME=$(JAVA_HOME); fi; \ +@NEED_JAVA_TRUE@ if test -z "$(USEANT)"; then USEANT=0; else USEANT=1; fi; \ +@NEED_JAVA_TRUE@ if test -f build.xml -a $$USEANT -eq 1; then \ +@NEED_JAVA_TRUE@ $(ANT); \ +@NEED_JAVA_TRUE@ fi + +@NEED_JAVA_TRUE@clean-java: +# Some configurations needs to export JAVA_HOME in the current env +@NEED_JAVA_TRUE@ @if test "$(JAVA_HOME)"; then export JAVA_HOME=$(JAVA_HOME); fi; \ +@NEED_JAVA_TRUE@ if test -z "$(USEANT)"; then USEANT=0; else USEANT=1; fi; \ +@NEED_JAVA_TRUE@ if test -f build.xml -a $$USEANT -eq 1; then \ +@NEED_JAVA_TRUE@ $(ANT) clean; \ +@NEED_JAVA_TRUE@ fi; + +# If the user request for the SWIG generation of the wrappers Java => C/C++ +# We call the target swig-build on the variable SWIG_WRAPPERS + +@SWIG_TRUE@swig: $(SWIG_WRAPPERS) +@SWIG_TRUE@ @SWIG_PACKAGENAME=org.scilab.modules.$(modulename); \ +@SWIG_TRUE@ SWIG_OUTDIR=src/java/org/scilab/modules/$(modulename)/; \ +@SWIG_TRUE@ if test -n "$(SWIG_WRAPPERS)"; then \ +@SWIG_TRUE@ for file in $(SWIG_WRAPPERS) ; do \ +@SWIG_TRUE@ echo "Swig process of $$file (Java) ..."; \ +@SWIG_TRUE@ $(SWIG_BIN) $(SWIG_JAVA) -package $$SWIG_PACKAGENAME -outdir $$SWIG_OUTDIR $$file; \ +@SWIG_TRUE@ done; \ +@SWIG_TRUE@ fi + +@SWIG_TRUE@swig-scilab: $(SWIG_SCILAB_WRAPPERS) +@SWIG_TRUE@ @SWIG_OUTDIR=src/swig/; \ +@SWIG_TRUE@ if test -n "$(SWIG_SCILAB_WRAPPERS)"; then \ +@SWIG_TRUE@ for file in $(SWIG_SCILAB_WRAPPERS) ; do \ +@SWIG_TRUE@ echo "Swig process of $$file (Scilab) ..."; \ +@SWIG_TRUE@ $(SWIG_BIN) $(SWIG_SCILAB) -outdir $$SWIG_OUTDIR $$file; \ +@SWIG_TRUE@ done; \ +@SWIG_TRUE@ fi + +# If the user request for the SWIG generation of the wrappers Java => C/C++ +# We call the target swig-build on the variable SWIG_WRAPPERS + +@GIWS_TRUE@giws: $(GIWS_WRAPPERS) +@GIWS_TRUE@ @GIWS_OUTPUTDIR=src/jni/; \ +@GIWS_TRUE@ MANDATORY_OPTIONS="--throws-exception-on-error --description-file"; \ +@GIWS_TRUE@ if test -n "$(GIWS_WRAPPERS)"; then \ +@GIWS_TRUE@ for file in $(GIWS_WRAPPERS) ; do \ +@GIWS_TRUE@ echo "GIWS process of $$file ..."; \ +@GIWS_TRUE@ if test -z "$(GIWS_OPTIONS)"; then \ +@GIWS_TRUE@ $(GIWS_BIN) --disable-return-size-array --output-dir $$GIWS_OUTPUTDIR $$MANDATORY_OPTIONS $$file; \ +@GIWS_TRUE@ else \ +@GIWS_TRUE@ echo "Custom GIWS call with '$$GIWS_OPTIONS'"; \ +@GIWS_TRUE@ $(GIWS_BIN) $$GIWS_OPTIONS --output-dir $$GIWS_OUTPUTDIR $$MANDATORY_OPTIONS $$file; \ +@GIWS_TRUE@ fi \ +@GIWS_TRUE@ done; \ +@GIWS_TRUE@ fi + +@GIWS_TRUE@giws-exception: +@GIWS_TRUE@ @GIWS_OUTPUTDIR=src/jni/;\ +@GIWS_TRUE@ echo "GIWS: Generation of exception class ..."; \ +@GIWS_TRUE@ $(GIWS_BIN) --generate-exception-class --output-dir $$GIWS_OUTPUTDIR + +macros: + -@( if test ! -x $(top_builddir)/scilab-bin; then \ + echo "Error : Cannot build $< : Scilab has not been built"; \ + else \ + $(top_builddir)/bin/scilab -ns -nwni -e "exec('macros/buildmacros.sce');quit;";\ + fi) + +# Removes the macros +clean-macros: +# Removes macros (*.bin generated from .sci) + @for dir in $(MACRODIRS) $(MACROSDIRSEXT) ; do \ + echo "rm -f $(builddir)/$$dir/$(MACROBINMASK)"; \ + rm -f $(builddir)/$$dir/$(MACROBINMASK); \ + done + +test: +# More tests could be added here + @if test -z "$(USEANT)"; then USEANT=0; else USEANT=1; fi; \ + if test -f build.xml -a $$USEANT -eq 1; then \ + $(ANT) test; \ + fi + +all-local: $(TARGETS_ALL) + +.sci.bin: + -@( if test ! -x $(top_builddir)/scilab-bin; then \ + echo "Error : Cannot build $< : Scilab has not been build"; \ + else \ + echo "Creating $@"; \ + $(top_builddir)/bin/scilab -ns -nwni -e "exec('$(abs_srcdir)/$<');save('$(abs_srcdir)/$@');exit;"; \ + fi ) + +install-html-local: + +install-data-local-local: +# Mainly for javasci + @if test -d $(srcdir)/javadoc; then \ + cp -R $(srcdir)/javadoc $(DESTDIR)/$(mydatadir)/; \ + fi +# If the user wants the help sources to be installed +@INSTALL_HELP_XML_TRUE@ @echo "-------- Install of XML sources of help files --------"; \ +@INSTALL_HELP_XML_TRUE@ for lang in $(ALL_LINGUAS); do \ +@INSTALL_HELP_XML_TRUE@ if test -d $(srcdir)/help/$$lang; then \ +@INSTALL_HELP_XML_TRUE@ $(mkinstalldirs) $(DESTDIR)$(pkgdocdir)/help/$$lang && \ +@INSTALL_HELP_XML_TRUE@ if ls -lLd $(srcdir)/help/$$lang/$(DOCMASKXML) >/dev/null 2>&1; then \ +@INSTALL_HELP_XML_TRUE@ for file in $(srcdir)/help/$$lang/$(DOCMASKXML) ; do \ +@INSTALL_HELP_XML_TRUE@ echo "$(INSTALL_DATA) $$file $(DESTDIR)$(pkgdocdir)/help/$$lang" ; \ +@INSTALL_HELP_XML_TRUE@ $(INSTALL_DATA) "$$file" $(DESTDIR)$(pkgdocdir)/help/$$lang ; \ +@INSTALL_HELP_XML_TRUE@ done ; \ +@INSTALL_HELP_XML_TRUE@ fi; \ +@INSTALL_HELP_XML_TRUE@ fi; \ +@INSTALL_HELP_XML_TRUE@ done; \ +@INSTALL_HELP_XML_TRUE@ @echo "-------- Install of MathML sources --------"; \ +@INSTALL_HELP_XML_TRUE@ if test -d $(srcdir)/help/mml/; then \ +@INSTALL_HELP_XML_TRUE@ $(mkinstalldirs) $(DESTDIR)$(pkgdocdir)/help/mml/ && \ +@INSTALL_HELP_XML_TRUE@ if ls -lLd $(srcdir)/help/mml/$(DOCMASKMML) >/dev/null 2>&1; then \ +@INSTALL_HELP_XML_TRUE@ for file in $(srcdir)/help/mml/$(DOCMASKMML) ; do \ +@INSTALL_HELP_XML_TRUE@ echo "$(INSTALL_DATA) $$file $(DESTDIR)$(pkgdocdir)/help/mml" ; \ +@INSTALL_HELP_XML_TRUE@ $(INSTALL_DATA) "$$file" $(DESTDIR)$(pkgdocdir)/help/mml ; \ +@INSTALL_HELP_XML_TRUE@ done ; \ +@INSTALL_HELP_XML_TRUE@ fi; \ +@INSTALL_HELP_XML_TRUE@ fi +install-data-local: +# Install the tests + @echo "-------- Install tests (if any) --------"; \ + for dir in $(TESTS_DIR) $(TESTS_DIREXT) ; do \ + if test -d $(srcdir)/$$dir/; then \ + $(mkinstalldirs) $(DESTDIR)$(pkgmacrosdir)/$$dir && \ + for file in `find $(srcdir)/$$dir | sed "s|^$(srcdir)/$$dir||" 2>/dev/null`; do \ + if test -d "$(srcdir)/$$dir/$$file"; then \ + echo $(mkinstalldirs) $(DESTDIR)$(pkgmacrosdir)/$$dir/$$file; \ + $(mkinstalldirs) "$(DESTDIR)$(pkgmacrosdir)/$$dir/$$file"; \ + else \ + echo "$(INSTALL_DATA) $(srcdir)/$$dir/$$file $(DESTDIR)$(pkgmacrosdir)/`dirname $$dir/$$file`" ; \ + $(INSTALL_DATA) "$(srcdir)/$$dir/$$file" "$(DESTDIR)$(pkgmacrosdir)/`dirname $$dir/$$file`" ; \ + fi \ + done; \ + fi; \ + done +# Install the help chapter + @echo "-------- Install the help chapter (if any) --------"; \ + for lang in $(HELP_CHAPTERLANG); do \ + HELPFILE=$(srcdir)/$(HELP_CHAPTERDIR)$$lang/$(HELP_CHAPTERFILE); \ + if test -f $$HELPFILE; then \ + echo $(mkinstalldirs) $(DESTDIR)$(pkgdocdir)/$(HELP_CHAPTERDIR)/$$lang/; \ + $(mkinstalldirs) $(DESTDIR)$(pkgdocdir)/$(HELP_CHAPTERDIR)/$$lang/; \ + echo $(INSTALL_DATA) $$HELPFILE $(DESTDIR)$(pkgdocdir)/$$HELPFILE; \ + $(INSTALL_DATA) $$HELPFILE $(DESTDIR)$(pkgdocdir)/$$HELPFILE; \ + fi; \ + done +# Install the demos & examples + @echo "-------- Install demos & examples (if any) --------"; \ + for dir in $(DEMOS_DIR) $(DEMOS_DIREXT) $(EXAMPLES_DIR) $(EXAMPLES_DIREXT) ; do \ + if test -d $(srcdir)/$$dir/; then \ + $(mkinstalldirs) $(DESTDIR)$(pkgdocdir)/$$dir && \ + for file in `find $(srcdir)/$$dir | sed "s|^$(srcdir)/$$dir||" 2>/dev/null`; do \ + if test -d "$(srcdir)/$$dir/$$file"; then \ + echo $(mkinstalldirs) $(DESTDIR)$(pkgdocdir)/$$dir/$$file; \ + $(mkinstalldirs) "$(DESTDIR)$(pkgdocdir)/$$dir/$$file"; \ + else \ + echo "$(INSTALL_DATA) $(srcdir)/$$dir/$$file $(DESTDIR)$(pkgdocdir)/`dirname $$dir/$$file`" ; \ + $(INSTALL_DATA) "$(srcdir)/$$dir/$$file" "$(DESTDIR)$(pkgdocdir)/`dirname $$dir/$$file`" ; \ + fi \ + done; \ + fi; \ + done +# Install the macros + @echo "-------- Install macros (if any) --------"; \ + for dir in $(MACRODIRS) $(MACROSDIRSEXT) ; do \ + $(mkinstalldirs) $(DESTDIR)$(pkgmacrosdir)/$$dir && \ + if test -d $(srcdir)/$$dir/; then \ + FILELIST="$(srcdir)/$$dir/$(MACROMASK) $(srcdir)/$$dir/$(MACROBINMASK) $(srcdir)/$$dir/$(MACROBUILDMASK) $(srcdir)/$$dir/names $(srcdir)/$$dir/lib";\ + if test -n "$(MACROSSPECIALEXT)"; then \ + specialExtDir=""; \ + for specialExt in $(MACROSSPECIALEXT); do \ + specialExtDir="$$specialExtDir $(srcdir)/$$dir/$$specialExt"; \ + done; \ + FILELIST="$$FILELIST $$specialExtDir"; \ + fi; \ + for file in `ls -1 $$FILELIST 2>/dev/null`; do \ + echo "$(INSTALL_DATA) $$file $(DESTDIR)$(pkgmacrosdir)/$$dir" ; \ + $(INSTALL_DATA) "$$file" $(DESTDIR)$(pkgmacrosdir)/$$dir ; \ + done; \ + fi; \ + done +# Install java files (.jar) + @if ls -lLd $(srcdir)/$(JARDIR)$(JARMASK) >/dev/null 2>&1; then \ + echo "-------- Install jar files --------"; \ + $(mkinstalldirs) $(DESTDIR)$(pkgdocdir)/$(JARDIR); \ + for file in $(srcdir)/$(JARDIR)$(JARMASK); do\ + echo "$(INSTALL_DATA) $$file $(DESTDIR)$(pkgdocdir)/$(JARDIR)" ; \ + $(INSTALL_DATA) "$$file" $(DESTDIR)$(pkgdocdir)/$(JARDIR) ; \ + done ; \ + fi + +########### CLEAN ################### +# Clean help (generated automatically by Scilab) +# It used to clean the macro (clean-macros) but this was causing +# make clean && make to fail Scilab startup +@NEED_JAVA_TRUE@clean-local: clean-java +@NEED_JAVA_FALSE@clean-local: + +distclean-local: + rm -f $(builddir)/help/*/.last_successful_build_javaHelp $(builddir)/help/*/.list_* + +.PHONY: macros java swig giws + +# 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: diff --git a/modules/spreadsheet/TODO b/modules/spreadsheet/TODO new file mode 100755 index 000000000..8f7fc6321 --- /dev/null +++ b/modules/spreadsheet/TODO @@ -0,0 +1 @@ +* Get ride of helper functions sci_gateway/cpp/gw_csv_helpers.cpp diff --git a/modules/spreadsheet/core_Import.def b/modules/spreadsheet/core_Import.def new file mode 100755 index 000000000..922aefd11 --- /dev/null +++ b/modules/spreadsheet/core_Import.def @@ -0,0 +1,20 @@ +LIBRARY core.dll + + +EXPORTS + putlhsvar_ + createvar_ + stack_ + com_ + getrhsvar_ + checklhs_ + checkrhs_ + intersci_ + createvarfromptr_ + callFunctionFromGateway + returnanan_ + getTMPDIR + vartype_ + freeArrayOfString + ; + diff --git a/modules/spreadsheet/demos/spreadsheet.dem.gateway.sce b/modules/spreadsheet/demos/spreadsheet.dem.gateway.sce new file mode 100755 index 000000000..2d727fc10 --- /dev/null +++ b/modules/spreadsheet/demos/spreadsheet.dem.gateway.sce @@ -0,0 +1,18 @@ +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2011 - DIGITEO - Allan CORNET +// +// This file is released under the 3-clause BSD license. See COPYING-BSD. + +function subdemolist = demo_gateway() + + demopath = get_absolute_file_path("spreadsheet.dem.gateway.sce"); + add_demo(_("Spreadsheet"), demopath + "spreadsheet.dem.gateway.sce"); + + subdemolist = [_("Read a xls file") ,"spreadsheet.dem.sce"]; + + subdemolist(:,2) = demopath + subdemolist(:,2); + +endfunction + +subdemolist = demo_gateway(); +clear demo_gateway;
\ No newline at end of file diff --git a/modules/spreadsheet/demos/spreadsheet.dem.sce b/modules/spreadsheet/demos/spreadsheet.dem.sce new file mode 100755 index 000000000..1bfa54def --- /dev/null +++ b/modules/spreadsheet/demos/spreadsheet.dem.sce @@ -0,0 +1,36 @@ +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) ????-2008 - INRIA - Allan CORNET +// Copyright (C) 2010 - DIGITEO - Allan CORNET +// +// This file is released under the 3-clause BSD license. See COPYING-BSD. + +function demo_spreadsheet() + + l = lines(); + lines(0); + + m = mode(); + mode(1); + + mprintf("\n// Decode ole file, extract and open Excel stream\n"); + mprintf("[fd, SST, Sheetnames, Sheetpos] = xls_open(''SCI/modules/spreadsheet/demos/xls/Test1.xls'')\n"); + + [fd, SST, Sheetnames, Sheetpos] = xls_open("SCI/modules/spreadsheet/demos/xls/Test1.xls") + + mprintf("\n// Read first data sheet\n"); + mprintf("[Value, TextInd] = xls_read(fd, Sheetpos(1))\n"); + + [Value, TextInd] = xls_read(fd, Sheetpos(1)) + + //close the spreadsheet stream + mclose(fd); + + mprintf("\n"); + + mode(m); + lines(l(2), l(1)); + +endfunction + +demo_spreadsheet() +clear demo_spreadsheet; diff --git a/modules/spreadsheet/demos/xls/README b/modules/spreadsheet/demos/xls/README new file mode 100755 index 000000000..e292a9b20 --- /dev/null +++ b/modules/spreadsheet/demos/xls/README @@ -0,0 +1,18 @@ +The files t1.xls Test1.xls and Testbig.xls have been built by Microsoft Excel 2000 + +The files o1.xls Testo1.xls and Testobig.xls have been built by OpenOffice 1.0.2 +Currently the OpenOffice can be read but the results are not ok. It seems that +OpenOffice does not set the formula value + +- t1.xls and o1.xls + contain 3 Excel sheets the first 2 sheets contain 2x2 arrays the last one is empty + +- Test1.xls and Testo1.xls + contain 1 Excel sheet (20x4). First 2 rows contain text, + for the other rows, Columns 2:4 data are defined by formulas. + +- Testbig.xls and Testobig.xls + contain 1 Excel sheet (1000x4). First 2 rows contain text, + for the other rows, Columns 2:4 data are defined by formulas. + + diff --git a/modules/spreadsheet/demos/xls/Test1.xls b/modules/spreadsheet/demos/xls/Test1.xls Binary files differnew file mode 100755 index 000000000..3296c3c2c --- /dev/null +++ b/modules/spreadsheet/demos/xls/Test1.xls diff --git a/modules/spreadsheet/demos/xls/Testbig.xls b/modules/spreadsheet/demos/xls/Testbig.xls Binary files differnew file mode 100755 index 000000000..aa2a7153f --- /dev/null +++ b/modules/spreadsheet/demos/xls/Testbig.xls diff --git a/modules/spreadsheet/demos/xls/Testo1.xls b/modules/spreadsheet/demos/xls/Testo1.xls Binary files differnew file mode 100755 index 000000000..1ee6c3952 --- /dev/null +++ b/modules/spreadsheet/demos/xls/Testo1.xls diff --git a/modules/spreadsheet/demos/xls/Testobig.xls b/modules/spreadsheet/demos/xls/Testobig.xls Binary files differnew file mode 100755 index 000000000..478f106f8 --- /dev/null +++ b/modules/spreadsheet/demos/xls/Testobig.xls diff --git a/modules/spreadsheet/demos/xls/o1.xls b/modules/spreadsheet/demos/xls/o1.xls Binary files differnew file mode 100755 index 000000000..b91ea7ff7 --- /dev/null +++ b/modules/spreadsheet/demos/xls/o1.xls diff --git a/modules/spreadsheet/demos/xls/t1.xls b/modules/spreadsheet/demos/xls/t1.xls Binary files differnew file mode 100755 index 000000000..012a8ebec --- /dev/null +++ b/modules/spreadsheet/demos/xls/t1.xls diff --git a/modules/spreadsheet/etc/spreadsheet.quit b/modules/spreadsheet/etc/spreadsheet.quit new file mode 100755 index 000000000..b64bbfc8d --- /dev/null +++ b/modules/spreadsheet/etc/spreadsheet.quit @@ -0,0 +1,11 @@ +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2007-2008 - INRIA +// Copyright (C) 2009 - DIGITEO +// +// This file must be used under the terms of the CeCILL. +// This source file is licensed as described in the file COPYING, which +// you should have received as part of this distribution. The terms +// are also available at +// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + +// ============================================================================= diff --git a/modules/spreadsheet/etc/spreadsheet.start b/modules/spreadsheet/etc/spreadsheet.start new file mode 100755 index 000000000..08910d31f --- /dev/null +++ b/modules/spreadsheet/etc/spreadsheet.start @@ -0,0 +1,12 @@ +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2007-2008 - INRIA +// +// This file must be used under the terms of the CeCILL. +// This source file is licensed as described in the file COPYING, which +// you should have received as part of this distribution. The terms +// are also available at +// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + +//Load functions libraries +// ============================================================================= +load('SCI/modules/spreadsheet/macros/lib'); diff --git a/modules/spreadsheet/help/en_US/addchapter.sce b/modules/spreadsheet/help/en_US/addchapter.sce new file mode 100755 index 000000000..5595d00ad --- /dev/null +++ b/modules/spreadsheet/help/en_US/addchapter.sce @@ -0,0 +1,11 @@ +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2009 - DIGITEO +// +// This file must be used under the terms of the CeCILL. +// This source file is licensed as described in the file COPYING, which +// you should have received as part of this distribution. The terms +// are also available at +// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + +add_help_chapter("Spreadsheet",SCI+"/modules/spreadsheet/help/en_US",%T); + diff --git a/modules/spreadsheet/help/en_US/csvDefault.xml b/modules/spreadsheet/help/en_US/csvDefault.xml new file mode 100755 index 000000000..3898b6e54 --- /dev/null +++ b/modules/spreadsheet/help/en_US/csvDefault.xml @@ -0,0 +1,250 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Copyright (C) 2010-2011 - INRIA - Allan CORNET + * Copyright (C) 2011 - INRIA - Michael Baudin + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + --> +<refentry version="5.0-subset Scilab" xml:id="csvDefault" xml:lang="en" + xmlns="http://docbook.org/ns/docbook" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns:ns3="http://www.w3.org/1999/xhtml" + xmlns:mml="http://www.w3.org/1998/Math/MathML" + xmlns:db="http://docbook.org/ns/docbook"> + <refnamediv> + <refname>csvDefault</refname> + + <refpurpose>Get or set defaults behavior for csv files.</refpurpose> + </refnamediv> + + <refsynopsisdiv> + <title>Calling Sequence</title> + + <synopsis>allvalues = csvDefault() </synopsis> + + <synopsis>value = csvDefault(field) </synopsis> + + <synopsis>bRes = csvDefault(field, value) </synopsis> + </refsynopsisdiv> + + <refsection> + <title>Parameters</title> + + <variablelist> + <varlistentry> + <term>allvalues</term> + + <listitem> + <para>a 6-by-2 matrix of strings, the values of all the fields. The + first column contains the available fields, while the second column + contains the current values. + </para> + </listitem> + </varlistentry> + + <varlistentry> + <term>field</term> + + <listitem> + <para>a 1-by-1 matrix of strings, the name of the field to get or + set. The available values of <literal>field</literal> are + "separator", "decimal", "conversion", "precision", "regexp", "eol", + "encoding", "blank". + </para> + </listitem> + </varlistentry> + + <varlistentry> + <term>value</term> + + <listitem> + <para>a 1-by-1 matrix of strings, the value of the field to get or + set. + </para> + </listitem> + </varlistentry> + + <varlistentry> + <term>bRes</term> + + <listitem> + <para>a 1-by-1 matrix of booleans, bRes is true if the value was + correctly set, bRes is wrong is the value was not correct. + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + + <refsection> + <title>Description</title> + + <para>This function allows to quiery or configure the options of the csv + files. These options are used by the read and write function when the user + does not specify them in the calling sequence. + </para> + + <para> + The <literal>allvalues = csvDefault()</literal> calling sequence + returns the value of all the fields. + </para> + + <para> + The <literal>value = csvDefault(field)</literal> calling sequence + returns the value corresponding to the given field. + </para> + + <para> + The <literal>bRes = csvDefault(field, value)</literal> calling + sequence allows to set the value of the given field. <itemizedlist> + <listitem> + <para>If the function cannot set the field to the given value, then + <literal>bRes</literal> is false. In this case, the value of the + field is unchanged. + </para> + </listitem> + + <listitem> + <para>If the function is able to change the field to the given + value, then <literal>bRes</literal> is true. + </para> + </listitem> + </itemizedlist> + </para> + + <para>The available fields are the following. <itemizedlist> + <listitem> + <para>field = "separator": the separator of the columns of the csv + files. Default separator = ",". + </para> + </listitem> + + <listitem> + <para>field = "decimal": the decimal point used in the csv files. + The available values are "." or ",". Default decimal = ".". + </para> + </listitem> + + <listitem> + <para>field = "conversion": the type of the output of the + <literal>csvRead</literal>function. Possible values are "string" or + "double". Default conversion = "double". If conversion = "string", + then the <literal>csvRead</literal> function returns a matrix of + strings. If conversion = "double", then the + <literal>csvRead</literal> function returns a matrix of + doubles. + </para> + </listitem> + + <listitem> + <para>field = "precision": the C format used to create the strings + from the doubles in the <literal>csvWrite</literal> function. The + default value is <literal>precision="%.17lg"</literal>. This format + allows to perform write-read error-free cycles. This means that we + can save a double into a .csv, then read the double and get the + exact same value. The supported format is: %type or + %[width].[precision]type. <itemizedlist> + <listitem> + <para>type: lf, lg, d, i, e, f, g</para> + </listitem> + + <listitem> + <para>width: Optional number that specifies the minimum number + of characters output. + </para> + </listitem> + + <listitem> + <para>precision: Optional number that specifies the maximum + number of characters printed for all or part of the output + field, or the minimum number of digits printed for integer + values. + </para> + </listitem> + </itemizedlist> + </para> + </listitem> + + <listitem> + <para>field = "regexp": regular expression used to extract comments + of the <literal>csvRead</literal>function. + </para> + + <para>by default, this value is '' (no regexp).</para> + </listitem> + + <listitem> + <para>field = "eol": end of line used to write lines of the + <literal>csvWrite</literal>function. + </para> + + <para>Possible values are "linux", "windows", "macos9".</para> + + <para>by default, this value is platform-dependant.</para> + </listitem> + + <listitem> + <para>field = "encoding":</para> + + <para>Possible values are "utf-8", "iso-latin".</para> + + <para>by default, this value is "utf-8".</para> + </listitem> + + <listitem> + <para>field = "blank": remove all blank lines before to parse + text + </para> + + <para>Possible values are "on", "off".</para> + + <para>by default, this value is "on".</para> + </listitem> + </itemizedlist> + </para> + </refsection> + + <refsection> + <title>Examples</title> + + <programlisting role="example">// See all the available fields + allvalues = csvDefault() + // Get the value of the "precision" field + value = csvDefault("precision") + // Set the value of the "precision" field + bRes = csvDefault("precision","%.17e") // Expected = %t + // Set the value of the "precision" field to + // an impossible value + bRes = csvDefault("precision","Ouch!") // Expected = %f + </programlisting> + </refsection> + + <refsection> + <title>See Also</title> + + <simplelist type="inline"> + <member> + <link linkend="csvRead">csvRead</link> + </member> + + <member> + <link linkend="csvWrite">csvWrite</link> + </member> + </simplelist> + </refsection> + <refsection> + <title>History</title> + <revhistory> + <revision> + <revnumber>5.4.0</revnumber> + <revremark>Function introduced. Based on the 'csv_readwrite' module.</revremark> + </revision> + <revision> + <revnumber>5.4.1</revnumber> + <revremark>'blank' is enabled by default.</revremark> + </revision> + + </revhistory> + </refsection> +</refentry> + diff --git a/modules/spreadsheet/help/en_US/csvRead.xml b/modules/spreadsheet/help/en_US/csvRead.xml new file mode 100755 index 000000000..b5bff83c9 --- /dev/null +++ b/modules/spreadsheet/help/en_US/csvRead.xml @@ -0,0 +1,395 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Copyright (C) 2010-2011 - INRIA - Allan CORNET + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + --> +<refentry version="5.0-subset Scilab" xml:id="csvRead" xml:lang="en" + xmlns="http://docbook.org/ns/docbook" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns:ns3="http://www.w3.org/1999/xhtml" + xmlns:mml="http://www.w3.org/1998/Math/MathML" + xmlns:db="http://docbook.org/ns/docbook"> + <refnamediv> + <refname>csvRead</refname> + <refpurpose>Read comma-separated value file</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis> + M = csvRead(filename) + M = csvRead(filename, separator) + M = csvRead(filename, separator, decimal) + M = csvRead(filename, separator, decimal, conversion) + M = csvRead(filename, separator, decimal, conversion, substitute) + M = csvRead(filename, separator, decimal, conversion, substitute, regexpcomments, range) + M = csvRead(filename, separator, decimal, conversion, substitute, regexpcomments, range, header) + [M, comments] = csvRead(filename, separator, decimal, conversion, substitute, regexpcomments, range, header) + </synopsis> + </refsynopsisdiv> + <refsection> + <title>Arguments</title> + <variablelist> + <varlistentry> + <term>filename</term> + <listitem> + <para>a 1-by-1 matrix of strings, the file path.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>separator</term> + <listitem> + <para>a 1-by-1 matrix of strings, the field separator used.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>decimal</term> + <listitem> + <para>a 1-by-1 matrix of strings, the decimal used.</para> + <para> + If <literal>decimal</literal> is different of <literal>[]</literal> and <literal>conversion</literal> is set to <literal>string</literal>, the decimal conversion will be done. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>conversion</term> + <listitem> + <para>a 1-by-1 matrix of strings, the type of the output + <literal>M</literal>. Available values are "string" or "double" (by default). + </para> + <para> + Note that <link linkend="read_csv">read_csv</link> has "string" as default. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>substitute</term> + <listitem> + <para>a m-by-2 matrix of strings, a replacing map (default = [], + meaning no replacements). The first column + <literal>substitute(:,1)</literal> contains the searched strings and + the second column <literal>substitute(:,2)</literal> contains the + replace strings. Every occurence of a searched string in the file is + replaced. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>regexpcomments</term> + <listitem> + <para>a string: a regexp to remove lines which match. (default: + []) + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>range</term> + <listitem> + <para>a 1-by-4 matrix of floating point integers, the range of rows + and columns which must be read (default range=[], meaning that all + the rows and columns). Specify range using the format <literal>[Row1 Column1 Row2 Column2] + </literal> + where (R1,C1) is the upper left corner of the + data to be read and (R2,C2) is the lower right corner. + </para> + <para> + <note>Note that the file has to be correctly formated. The range will be done in the memory on the parsed elements.</note> + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>header</term> + <listitem> + <para>a 1-by-1 matrix of floating point integers, the number of lines to be ignored + at the beginning of the file. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>M</term> + <listitem> + <para>a m-by-n matrix of strings or double.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>comments</term> + <listitem> + <para>a m-by-n matrix of strings matched by regexp.</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para>Given an ascii file with comma separated values delimited fields, + this function returns the corresponding Scilab matrix of strings or + doubles. + </para> + <para>For example, the .csv data file may have been created by a + spreadsheet software using "Text and comma" format. + </para> + <para>It might happen that the columns are separated by a non-comma + separator. In this case, use csvRead(filename, separator) for another + choice of separator. + </para> + <para>The default value of the optional input arguments are defined by the + <literal>csvDefault</literal> function. + </para> + <para>Any optional input argument equal to the empty matrix + <literal>[]</literal> is set to its default value. + </para> + <para>When the input argument "conversion" is equal to "double", the + non-numeric fields within the .csv (e.g. strings) are converted into + NaN. + </para> + <para>csvRead is able to handle both UTF-8 and ASCII text files. + </para> + </refsection> + <refsection> + <title>Examples</title> + <para>The following script presents some basic uses of the + <literal>csvRead</literal> function. + </para> + <programlisting role="example"><![CDATA[// Create a file with some data separated with tabs. +M = 1:50; +filename = fullfile(TMPDIR, "data.csv"); +csvWrite(M, filename, ascii(9), '.'); + +// read csv file +M1 = csvRead(filename,ascii(9), [], 'string') + +// Returns a double +M2 = csvRead(filename,ascii(9), '.', 'double') + +// Compares original data and result. +and(M == M2) + +// Use the substitude argument to manage +// special data files. +content = [ +"1" +"Not-A-Number" +"2" +"Not-A-Number" +]; + +substitute = [ +"Not-A-Number" "Nan" +]; + +mputl(content,filename); +M = csvRead(filename,",",".","double",substitute) +isnan(M(2,1)) // Expected=%t +isnan(M(4,1)) // Expected=%t + + ]]></programlisting> + <para>The following script presents more practical uses of the + <literal>csvRead</literal> function. + </para> + <programlisting role="example"><![CDATA[// Define a matrix of strings +Astr = [ +"1" "8" "15" "22" "29" "36" "43" "50" +"2" "9" "16" "23" "30" "37" "44" "51" +"3" "10" "17" "6+3*I" "31" "38" "45" "52" +"4" "11" "18" "25" "32" "39" "46" "53" +"5" "12" "19" "26" "33" "40" "47" "54" +"6" "13" "20" "27" "34" "41" "48" "55" +"+0" "-0" "Inf" "-Inf" "Nan" "1.D+308" "1.e-308" "1.e-323" +]; + +// Create a file with some data separated with commas +filename = fullfile(TMPDIR , 'foo.csv'); +sep = ","; +fd = mopen(filename,'wt'); +for i = 1 : size(Astr,"r") + mfprintf(fd,"%s\n",strcat(Astr(i,:),sep)); +end +mclose(fd); +// To see the file: edit(filename) + +// Read this file +Bstr = csvRead ( filename ) + +// Create a file with a particular separator: here ";" +filename = fullfile(TMPDIR , 'foo.csv'); +sep = ";"; +fd = mopen(filename,'wt'); +for i = 1 : size(Astr,"r") + mfprintf(fd,"%s\n",strcat(Astr(i,:),sep)); +end +mclose(fd); + +// +// Read the file and customize the separator +csvRead ( filename , sep ) + ]]></programlisting> + <para>The following script shows how to remove lines with regexp argument + of the <literal>csvRead</literal> function. + </para> + <programlisting role="example"><![CDATA[ +CSV = ["// tata"; .. +"1,0,0,0,0"; .. +"// titi"; .. +"0,1,0,0,0"; .. +"// toto"; .. +"0,0,1,0,0"; .. +"// tutu"]; +filename = fullfile(TMPDIR , 'foo.csv'); +mputl(CSV, filename); + +// remove lines with // @ beginning +[M, comments] = csvRead(filename, [], [], [], [], '/\/\//') + ]]></programlisting> + </refsection> + <refsection> + <para>Empty field are managed by csvRead</para> + <programlisting role="example"><![CDATA[ +csvWrite(['1','','3';'','','6'], TMPDIR + "/example.csv") +csvRead(TMPDIR + "/example.csv", [], [], "string") +csvRead(TMPDIR + "/example.csv", [], [], "double") + ]]></programlisting> + </refsection> + <programlisting role="example"><![CDATA[ +// Define a matrix of strings +Astr = [ +"1" "8" "15" "22" "29" "36" "43" "50" +"2" "9" "16" "23" "30" "37" "44" "51" +"3" "10" "17" "6+3*I" "31" "38" "45" "52" +"4" "11" "18" "25" "32" "39" "46" "53" +"5" "12" "19" "26" "33" "40" "47" "54" +"6" "13" "20" "27" "34" "41" "48" "55" +"+0" "-0" "Inf" "-Inf" "Nan" "1.D+308" "1.e-308" "1.e-323" +]; + +// Create a file with some data separated with commas +filename = fullfile(TMPDIR , 'foo.csv'); +sep = ","; +fd = mopen(filename,'wt'); +for i = 1 : size(Astr,"r") + mfprintf(fd,"%s\n",strcat(Astr(i,:),sep)); +end +mclose(fd); +// To see the file: edit(filename) + +// Read this file +Bstr = csvRead ( filename ) + +// Create a file with a particular separator: here ";" +filename = fullfile(TMPDIR , 'foo.csv'); +sep = ";"; +fd = mopen(filename,'wt'); +for i = 1 : size(Astr,"r") + mfprintf(fd,"%s\n",strcat(Astr(i,:),sep)); +end +mclose(fd); +// +// Read the file and customize the separator +csvRead ( filename , sep ) + ]]></programlisting> + <refsection> + <para>In the following script, the file "filename" is read by blocks of + 5000 rows. The algorithm stops when the number of rows actually read from + the file differ from 5000, i.e. when the end of the file has been + reached. + </para> + <programlisting role="example"><![CDATA[blocksize = 5000; +C1 = 1; +C2 = 3; +iblock = 1 +while (%t) +R1 = (iblock-1) * blocksize + 1; +R2 = blocksize + R1-1; +irange = [R1 C1 R2 C2]; +mprintf("Block #%d, rows #%d to #%d\n",iblock,R1,R2); +tic(); +M=csvRead(filename , [] , [] , [] , [] , [] , [] , irange ); +t = toc(); +nrows = size(M,"r"); +ncols = size(M,"c"); +if ( nrows > 0 ) then +p = t/(nrows*ncols)*1.e6; +mprintf(" Actual #rows=%d\n",nrows); +mprintf(" T=%.3f (s)\n",t); +mprintf(" T=%.1f (ms/cell)\n",p); +end +if ( nrows < blocksize ) then +mprintf("... End of the file.\n"); +break +end +iblock = iblock + 1; +end + ]]></programlisting> + <para>This produces:</para> + <programlisting role="no-scilab-exec"><![CDATA[Block #1, rows #1 to #5000 +Actual #rows=5000 +T=3.135 (s) +T=209.0 (ms/cell) +Block #2, rows #5001 to #10000 +Actual #rows=5000 +T=3.139 (s) +T=209.3 (ms/cell) +Block #3, rows #10001 to #15000 +Actual #rows=5000 +T=3.151 (s) +T=210.1 (ms/cell) +etc.... + ]]></programlisting> + Example with range + <programlisting role="example"><![CDATA[ +CSV = ["1,0,0,0,0"; .. +"0,1,0,0,0"; .. +"0,0,1,0,0"; .. +"4,4,1,2,0"; .. +"4,63,1,2,0"; .. +"4,63,1,4,233"; .. +"42,3,23,2,23"; .. +]; +filename = fullfile(TMPDIR , 'foo.csv'); +mputl(CSV, filename); +// Extract a subset of the csv file +csvRead(filename, [], [], "double", [], [], [5 3 7 6]) + ]]></programlisting> + Example with header + <programlisting role="example"><![CDATA[ +comments = [ +"// Copyright (C) INRIA" +"// This file must be used under the terms of the CeCILL."]; +filename = fullfile(TMPDIR , 'foo.csv'); +csvWrite(rand(2,3), filename, ascii(9), ",", [], comments); + +header = 2; +[M, c] = csvRead(filename, ascii(9), ",", "double", [], [], [], header) // Ignore the two first lines (the header) + ]]></programlisting> + </refsection> + <refsection> + <title>See Also</title> + <simplelist type="inline"> + <member> + <link linkend="csvWrite">csvWrite</link> + </member> + </simplelist> + </refsection> + <refsection> + <title>History</title> + <revhistory> + <revision> + <revnumber>5.4.0</revnumber> + <revremark> + Function introduced. Based on the 'csv_readwrite' module. The only difference in the behavior compared to <link linkend="read_csv">read_csv</link> is that csvRead will try to convert value to double by default when read_csv will return value as string. + </revremark> + </revision> + <revision> + <revnumber>5.4.1</revnumber> + <revremark> + If <literal>decimal</literal> is different of <literal>[]</literal> and <literal>conversion</literal> is set to <literal>string</literal>, the decimal conversion will be done. + </revremark> + </revision> + <revision> + <revnumber>5.5</revnumber> + <revremark> + Addition of the "header" input argument, to ignore headers. + </revremark> + </revision> + </revhistory> + </refsection> +</refentry> diff --git a/modules/spreadsheet/help/en_US/csvTextscan.xml b/modules/spreadsheet/help/en_US/csvTextscan.xml new file mode 100755 index 000000000..7030d3aa3 --- /dev/null +++ b/modules/spreadsheet/help/en_US/csvTextscan.xml @@ -0,0 +1,174 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- +* Copyright (C) 2010-2011 - INRIA - Allan CORNET +* Copyright (C) 2011 - INRIA - Michael Baudin +* Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +--> +<refentry version="5.0-subset Scilab" xml:id="csvTextScan" xml:lang="en" + xmlns="http://docbook.org/ns/docbook" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns:ns3="http://www.w3.org/1999/xhtml" + xmlns:mml="http://www.w3.org/1998/Math/MathML" + xmlns:db="http://docbook.org/ns/docbook"> + <refnamediv> + <refname>csvTextScan</refname> + + <refpurpose>Convert a comma-separated value to a matrix</refpurpose> + </refnamediv> + + <refsynopsisdiv> + <title>Calling Sequence</title> + + <synopsis> + A = csvTextScan(M) + A = csvTextScan(M, separator) + A = csvTextScan(M, separator, decimal) + A = csvTextScan(M, separator, decimal, conversion) + A = csvTextScan(M, separator, decimal, conversion, range) + </synopsis> + </refsynopsisdiv> + + <refsection> + <title>Parameters</title> + + <variablelist> + <varlistentry> + <term>M</term> + + <listitem> + <para>a m-by-1 or 1-by-m matrix of strings.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>separator</term> + + <listitem> + <para>a 1-by-1 matrix of strings, the column separator mark.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>decimal</term> + + <listitem> + <para>a 1-by-1 matrix of strings, the decimal mark. The available + values are "." or ",". + </para> + <para> + If <literal>decimal</literal> is different of <literal>[]</literal> and <literal>conversion</literal> is set to <literal>string</literal>, the decimal conversion will be done. + </para> + </listitem> + </varlistentry> + + <varlistentry> + <term>conversion</term> + + <listitem> + <para>a 1-by-1 matrix of strings, the type of the output + <literal>A</literal>. Available values are "string" or + "double". + </para> + </listitem> + </varlistentry> + + <varlistentry> + <term>range</term> + + <listitem> + <para>a 1-by-4 or 4-by-1 matrix of floating point integers, the + range of rows and columns which must be read (default range=[], + meaning that all the rows and columns). Specify range using the + format <literal>[R1 C1 R2 C2]</literal> where (R1,C1) is the upper + left corner of the data to be read and (R2,C2) is the lower right + corner. + </para> + </listitem> + </varlistentry> + + <varlistentry> + <term>A</term> + + <listitem> + <para>a m-by-n matrix of strings or double.</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + + <refsection> + <title>Description</title> + + <para>Given an ascii file with delimited fields, this function returns the + corresponding Scilab matrix of strings or doubles. + </para> + + <para> + The <literal>csvTextScan</literal> function has the same purpose as + <literal>csvRead</literal>, except that <literal>csvTextScan</literal> + reads in a string, while <literal>csvRead</literal> reads in a + file. + </para> + + <para>The default value of the optional input arguments are defined by the + <literal>csvDefault</literal> function. + </para> + + <para>Any optional input argument equal to the empty matrix + <literal>[]</literal> is set to its default value. + </para> + + <para>When input argument "conversion" is equal to "double", strings are + converted as NaN. + </para> + </refsection> + + <refsection> + <title>Examples</title> + + <programlisting role="example"><![CDATA[ +// convert a csv string matrix to splitted string or double matrix +A = ["1;3 + i"; "Nan;-Inf"] +B = csvTextScan(A,';') +C = csvTextScan(A,';',[],'double') +// +// Configure the decimal mark. +Atext = [ +" 1,000000000D+00; 0,000000000D+00; 2,000000000D+02; Inf; 0,000000000D+00"; +" 1,000000000D+00; 1,00000000D-300; 2,000000000D+02; Inf; 0,000000000D+00"; +" 1,000000000D+00; 1,00000000D-200; 2,000000000D+02; 3,15000000D+300; 1,020000000D+02"; +" 9,999999999D-01; 1,00000000D-100; 2,000000000D+02; 2,960000000D+02; 1,170000000D+02"; +" 1,000000000D+00; Inf;-Inf; Nan; 0,000000000D+00" +]; +csvTextScan( Atext , ";" , "," ) + ]]> + </programlisting> + </refsection> + + <refsection> + <title>See Also</title> + + <simplelist type="inline"> + <member> + <link linkend="csvRead">csvRead</link> + </member> + </simplelist> + </refsection> + <refsection> + <title>History</title> + <revhistory> + <revision> + <revnumber>5.4.0</revnumber> + <revremark>Function introduced. Based on the 'csv_readwrite' module.</revremark> + </revision> + <revision> + <revnumber>5.4.1</revnumber> + <revremark> + If <literal>decimal</literal> is different of <literal>[]</literal> and <literal>conversion</literal> is set to <literal>string</literal>, the decimal conversion will be done. + </revremark> + </revision> + </revhistory> + </refsection> +</refentry> + diff --git a/modules/spreadsheet/help/en_US/csvWrite.xml b/modules/spreadsheet/help/en_US/csvWrite.xml new file mode 100755 index 000000000..03bece61f --- /dev/null +++ b/modules/spreadsheet/help/en_US/csvWrite.xml @@ -0,0 +1,174 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Copyright (C) 2010-2011 - INRIA - Allan CORNET + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + --> +<refentry version="5.0-subset Scilab" xml:id="csvWrite" xml:lang="en" + xmlns="http://docbook.org/ns/docbook" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns:ns3="http://www.w3.org/1999/xhtml" + xmlns:mml="http://www.w3.org/1998/Math/MathML" + xmlns:db="http://docbook.org/ns/docbook"> + <refnamediv> + <refname>csvWrite</refname> + <refpurpose>Write comma-separated value file</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis> + csvWrite(M, filename) + csvWrite(M, filename, separator) + csvWrite(M, filename, separator, decimal) + csvWrite(M, filename, separator, decimal, precision) + csvWrite(M, filename, separator, decimal, precision, comments) + </synopsis> + </refsynopsisdiv> + <refsection> + <title>Arguments</title> + <variablelist> + <varlistentry> + <term>filename</term> + <listitem> + <para>a 1-by-1 matrix of strings, the file path.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>M</term> + <listitem> + <para>a m-by-n matrix of strings or double (complex + supported). + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>separator</term> + <listitem> + <para>a 1-by-1 matrix of strings, the column separator mark.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>decimal</term> + <listitem> + <para>a 1-by-1 matrix of strings, the decimal mark. The available + values are "." or ",". + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>precision</term> + <listitem> + <para>a 1-by-1 matrix of strings, the C format.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>comments</term> + <listitem> + <para>a m-by-1 matrix of strings, the comments stored at the + beginning of the file. This option may be used, for example, to put + a licence header in a data file. + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para>This function writes matrix M into filename as comma-separated + values. + </para> + <para>The default value of the optional input arguments are defined by the + <literal>csvDefault</literal> function. + </para> + <para>Any optional input argument equal to the empty matrix + <literal>[]</literal> is set to its default value. + </para> + <para> + If the file <literal>filename</literal> already exists, it is + overwritten. + </para> + <para> + If relevant (ie with 'special' characters), the file will be saved as UTF-8. + </para> + </refsection> + <refsection> + <title>Examples</title> + <para>In the following example, we combine the + <literal>csvWrite</literal> and <literal>csvRead</literal> + functions. + </para> + <programlisting role="example"><![CDATA[// Save a matrix as csv file format +M = [1:10] * 0.1; +filename = fullfile(TMPDIR, "data.csv"); +csvWrite(M, filename); + +// Read as text +mgetl(filename) + +r = csvRead(filename); + ]]></programlisting> + <para>In the following example, we use various options of the + <literal>csvWrite</literal> function. + </para> + <programlisting role="example"><![CDATA[// Save a matrix as csv file format +M = rand(2,3); +filename = fullfile(TMPDIR, "data.csv"); +// +// Use tabs as the separator +csvWrite(M, filename,ascii(9)); +mgetl(filename) +// +// Use the "," as the decimal point +// (and blank space as the separator). +csvWrite(M, filename," ",","); +mgetl(filename) +// +// Configure the precision. +// Caution: this lower precision may generate +// errors in a write-read cycle! +csvWrite(M, filename,[],[],"%.8e"); +mgetl(filename) +// +// Configure the comments +comments = [ +"// Copyright (C) INRIA" +"// This file must be used under the terms of the CeCILL." +]; +csvWrite(M, filename,[],[],[],comments); +mgetl(filename) + ]]></programlisting> + <para>The following examples are more advanced uses of the + <literal>csvWrite</literal> function. + </para> + <programlisting role="example"><![CDATA[A = [ +1 0 200 %inf 0 +1 1.e-300 200 %inf 0 +9.99999999999990010e-001 9.99999999999999980e-201 200 3.15e300 102 +9.99999999899999990e-001 1.e-100 200 296 117 +1 %inf -%inf %nan 0 +]; + +// Write into a file +filename=fullfile(TMPDIR,"foo.csv"); +csvWrite ( A , filename ); +edit(filename) + ]]></programlisting> + </refsection> + <refsection> + <title>See Also</title> + <simplelist type="inline"> + <member> + <link linkend="csvRead">csvRead</link> + </member> + </simplelist> + </refsection> + <refsection> + <title>History</title> + <revhistory> + <revision> + <revnumber>5.4.0</revnumber> + <revremark>Function introduced. Based on the 'csv_readwrite' module.</revremark> + </revision> + </revhistory> + </refsection> +</refentry> diff --git a/modules/spreadsheet/help/en_US/read_csv.xml b/modules/spreadsheet/help/en_US/read_csv.xml new file mode 100755 index 000000000..1c2d0bcff --- /dev/null +++ b/modules/spreadsheet/help/en_US/read_csv.xml @@ -0,0 +1,39 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2009 - DIGITEO - Allan CORNET + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns4="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="read_csv" scilab:needs-examples="no" xml:lang="en"> + <refnamediv> + <refname>read_csv</refname> + <refpurpose> + reads comma-separated value file. Outclassed by <link linkend="csvRead">csvRead</link> + </refpurpose> + </refnamediv> + <refsection> + <title>Description</title> + <para> + Unlike <link linkend="csvRead">csvRead</link>, the conversion is set to <literal>string</literal> by default to insure the compatibility with previous versions. + </para> + </refsection> + + <refsection> + <title>History</title> + <revhistory> + <revision> + <revnumber>5.4.0</revnumber> + <revremark> + read_csv is now fully based on <link linkend="csvRead">csvRead</link>. + </revremark> + </revision> + </revhistory> + </refsection> +</refentry> + diff --git a/modules/spreadsheet/help/en_US/readxls.xml b/modules/spreadsheet/help/en_US/readxls.xml new file mode 100755 index 000000000..ab53f8469 --- /dev/null +++ b/modules/spreadsheet/help/en_US/readxls.xml @@ -0,0 +1,98 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2005 - INRIA - Pierrick MODE + * Copyright (C) 2005-2008 - INRIA - Serge STEER <serge.steer@inria.fr> + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="readxls"> + <refnamediv> + <refname>readxls</refname> + <refpurpose>reads an Excel file</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis>sheets = readxls(file_path)</synopsis> + </refsynopsisdiv> + <refsection> + <title>Arguments</title> + <variablelist> + <varlistentry> + <term>file_path</term> + <listitem> + <para>a character string: the path of the Excel file. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>sheets</term> + <listitem> + <para> + an <literal>mlist</literal> of type <literal>xls</literal>, with one field named <literal>sheets</literal> + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para> + Given an Excel file path this function returns an <literal>mlist</literal> data structure + of type <literal>xls</literal>, with one field named <literal>sheets</literal>. The + <literal>sheets</literal> field itself contains a list of sheet data structure. + </para> + <para> + <literal>sheet=mlist(['xlssheet','name','text','value'],sheetname,Text,Value)</literal> where + <literal>sheetname</literal> is a character string containing the name of the sheet, + <literal>Text</literal> is a matrix of string which contains the cell's + strings and <literal>Value</literal> is a matrix of numbers which contains the cell's + values. + </para> + <para> + <warning> + Only BIFF8 Excel files (last Excel file version (2003)) are handled. + </warning> + </para> + </refsection> + <refsection> + <title>Examples</title> + <programlisting role="example"><![CDATA[ +Sheets = readxls('SCI/modules/spreadsheet/demos/xls/t1.xls') +// some basic operations on Sheets +typeof(Sheets) +s1=Sheets(1) //get the first sheet +typeof(s1) +s1.value //get the first sheet value field +s1.text //get the first sheet text field +s1(2,:) //get the 2 row of the sheet +typeof(s1(2,:)) + +disp(s1) + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>See Also</title> + <simplelist type="inline"> + <member> + <link linkend="xls_open">xls_open</link> + </member> + <member> + <link linkend="xls_read">xls_read</link> + </member> + </simplelist> + </refsection> + <refsection> + <title>Used Functions</title> + <para> + This function is based on the Scilab functions <literal>xls_open</literal> + and <literal>xls_read</literal>. + </para> + </refsection> +</refentry> + diff --git a/modules/spreadsheet/help/en_US/write_csv.xml b/modules/spreadsheet/help/en_US/write_csv.xml new file mode 100755 index 000000000..9a7714d50 --- /dev/null +++ b/modules/spreadsheet/help/en_US/write_csv.xml @@ -0,0 +1,31 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2009-2010 - DIGITEO - Allan CORNET + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns4="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="write_csv" scilab:needs-examples="no" xml:lang="en"> + <refnamediv> + <refname>write_csv</refname> + <refpurpose> + writes comma-separated value fileOutclassed by <link linkend="csvWrite">csvWrite</link> + </refpurpose> + </refnamediv> + <refsection> + <title>History</title> + <revhistory> + <revision> + <revnumber>5.4.0</revnumber> + <revremark> + <link linkend="csvWrite">csvWrite</link> provide a better replacement of write_csv. + </revremark> + </revision> + </revhistory> + </refsection> +</refentry> diff --git a/modules/spreadsheet/help/en_US/xls_open.xml b/modules/spreadsheet/help/en_US/xls_open.xml new file mode 100755 index 000000000..23c2fb7c5 --- /dev/null +++ b/modules/spreadsheet/help/en_US/xls_open.xml @@ -0,0 +1,127 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2005 - INRIA - Pierrick MODE + * Copyright (C) 2005-2008 - INRIA - Serge STEER <serge.steer@inria.fr> + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="xls_open"> + <refnamediv> + <refname>xls_open</refname> + <refpurpose>opens an Excel file for reading</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis>[fd,SST,Sheetnames,Sheetpos] = xls_open(file_path)</synopsis> + </refsynopsisdiv> + <refsection> + <title>Arguments</title> + <variablelist> + <varlistentry> + <term>file_path</term> + <listitem> + <para>a character string: the path of the Excel file. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>fd</term> + <listitem> + <para>a number: the logical unit on the Excel stream. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>SST</term> + <listitem> + <para>A vector of all character strings which appear in the Excel sheets. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>Sheetnames</term> + <listitem> + <para>a vector of strings: the sheet names. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>Sheetpos</term> + <listitem> + <para>a vector of numbers: the position of the beginning of sheets in the + Excel stream. + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para>This function first analyzes the ole2 data structure associated with the + given file to extract the Excel stream which is included in. After + that the Excel stream is saved in the <literal>TMDIR</literal> directory + and opened. The <literal>fd</literal> logical unit points to this temporary + file. Then the first sheet in this stream is read to get the global information + like number of sheets, sheet names <literal>Sheetnames</literal>, sheet + addresses within the stream <literal>Sheetpos</literal> and the + <literal>SST</literal> which contains all the strings used in the following + sheets. + </para> + <para> + The <literal>fd</literal> and <literal>Sheetpos</literal> data have to be passed to + <link linkend="xls_read">xls_read</link> to read the data sheets. + </para> + <para> + The <link linkend="readxls">readxls</link> function can be used to read all an Excel file + in one function with a single function call. + </para> + <para> + <warning> + Only BIFF8 Excel files (last Excel file version (2003)) are handled. + </warning> + </para> + </refsection> + <refsection> + <title>Examples</title> + <programlisting role="example"><![CDATA[ +//Decode ole file, extract and open Excel stream +[fd,SST,Sheetnames,Sheetpos] = xls_open('SCI/modules/spreadsheet/demos/xls/Test1.xls') +//Read first data sheet +[Value,TextInd] = xls_read(fd,Sheetpos(1)) +//close the spreadsheet stream +mclose(fd) + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>See Also</title> + <simplelist type="inline"> + <member> + <link linkend="xls_read">xls_read</link> + </member> + <member> + <link linkend="readxls">readxls</link> + </member> + </simplelist> + </refsection> + <refsection> + <title>Bibliography</title> + <para>This function is based on the Microsoft ole2 file documentation + (<ulink url="http://chicago.sourceforge.net/devel/docs/ole/">http://chicago.sourceforge.net/devel/docs/ole/</ulink>) and on Excel + stream description from OpenOffice (<ulink url="http://sc.openoffice.org/spreadsheetfileformat.pdf">http://sc.openoffice.org/spreadsheetfileformat.pdf</ulink>). + </para> + </refsection> + <refsection> + <title>Used Functions</title> + <para> + The ripole-0.1.4 procedure (<ulink url="http://www.pldaniels.com/ripole">http://www.pldaniels.com/ripole</ulink>) is used + to extract the spreadsheet stream out of the ole file. + </para> + </refsection> +</refentry> + diff --git a/modules/spreadsheet/help/en_US/xls_read.xml b/modules/spreadsheet/help/en_US/xls_read.xml new file mode 100755 index 000000000..0aa5c35d6 --- /dev/null +++ b/modules/spreadsheet/help/en_US/xls_read.xml @@ -0,0 +1,116 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2005 - INRIA - Pierrick MODE + * Copyright (C) 2005-2008 - INRIA - Serge STEER <serge.steer@inria.fr> + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="xls_read"> + <refnamediv> + <refname>xls_read</refname> + <refpurpose>reads a sheet in an Excel file</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis>[Value,TextInd] = xls_read(fd,Sheetpos)</synopsis> + </refsynopsisdiv> + <refsection> + <title>Arguments</title> + <variablelist> + <varlistentry> + <term>fd</term> + <listitem> + <para> + a number: the logical unit on the Excel stream returned by <link linkend="xls_open">xls_open</link>. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>Sheetpos</term> + <listitem> + <para> a number: the position of the beginning of the sheet in the + Excel stream. This position is one of those returned by <link linkend="xls_open">xls_open</link>. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>Value</term> + <listitem> + <para>a matrix of numbers: the numerical data found in the sheet. The cells + without numerical data are represented by <literal>NaN</literal> values. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>TextInd</term> + <listitem> + <para> + a matrix of indices with the same size as <literal>Value</literal>. The 0 + indices indicates that no string exists in the corresponding Excel + cell. A positive index <literal>i</literal> points to the string + <literal>SST(i)</literal> where <literal>SST</literal> is given by <link linkend="xls_open">xls_open</link>. + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para> + This function reads an Excel sheet given a logical unit on an Excel stream + and the position of the beginning of the sheet within this stream. It + returns the numerical data and the strings contained by the Excel cells. + </para> + <para> + The <link linkend="readxls">readxls</link> function can be used to read all an Excel file + in one function with a single function call. + </para> + <para> + <warning> + Only BIFF8 Excel files (last Excel file version (2003)) are handled. + </warning> + </para> + </refsection> + <refsection> + <title>Examples</title> + <programlisting role="example"><![CDATA[ +//Decode ole file, extract and open Excel stream +[fd,SST,Sheetnames,Sheetpos] = xls_open('SCI/modules/spreadsheet/demos/xls/Test1.xls') +//Read first data sheet +[Value,TextInd] = xls_read(fd,Sheetpos(1)) +//close the spreadsheet stream +mclose(fd) + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>See Also</title> + <simplelist type="inline"> + <member> + <link linkend="xls_open">xls_open</link> + </member> + <member> + <link linkend="readxls">readxls</link> + </member> + </simplelist> + </refsection> + <refsection> + <title>Bibliography</title> + <para>This function is based on Excel + stream description from OpenOffice (<ulink url="http://sc.openoffice.org/spreadsheetfileformat.pdf">http://sc.openoffice.org/spreadsheetfileformat.pdf</ulink>). + </para> + </refsection> + <refsection> + <title>Used Functions</title> + <para> + This function uses the xls.c file which can be found in a Scilab source + version in the directory SCIDIR/modules/spreadsheet/src/c. + </para> + </refsection> +</refentry> + diff --git a/modules/spreadsheet/help/fr_FR/addchapter.sce b/modules/spreadsheet/help/fr_FR/addchapter.sce new file mode 100755 index 000000000..b4cdbfe5e --- /dev/null +++ b/modules/spreadsheet/help/fr_FR/addchapter.sce @@ -0,0 +1,11 @@ +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2009 - DIGITEO +// +// This file must be used under the terms of the CeCILL. +// This source file is licensed as described in the file COPYING, which +// you should have received as part of this distribution. The terms +// are also available at +// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + +add_help_chapter("Tableur",SCI+"/modules/spreadsheet/help/fr_FR",%T); + diff --git a/modules/spreadsheet/help/ja_JP/addchapter.sce b/modules/spreadsheet/help/ja_JP/addchapter.sce new file mode 100755 index 000000000..edf6b3972 --- /dev/null +++ b/modules/spreadsheet/help/ja_JP/addchapter.sce @@ -0,0 +1,11 @@ +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2009 - DIGITEO +// +// This file must be used under the terms of the CeCILL. +// This source file is licensed as described in the file COPYING, which +// you should have received as part of this distribution. The terms +// are also available at +// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + +add_help_chapter("Spreadsheet",SCI+"/modules/spreadsheet/help/ja_JP",%T); + diff --git a/modules/spreadsheet/help/ja_JP/csvDefault.xml b/modules/spreadsheet/help/ja_JP/csvDefault.xml new file mode 100755 index 000000000..247ec0f4f --- /dev/null +++ b/modules/spreadsheet/help/ja_JP/csvDefault.xml @@ -0,0 +1,229 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Copyright (C) 2010-2011 - INRIA - Allan CORNET + * Copyright (C) 2011 - INRIA - Michael Baudin + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + --> +<refentry version="5.0-subset Scilab" xml:id="csvDefault" xml:lang="ja" + xmlns="http://docbook.org/ns/docbook" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns:ns3="http://www.w3.org/1999/xhtml" + xmlns:mml="http://www.w3.org/1998/Math/MathML" + xmlns:db="http://docbook.org/ns/docbook"> + <refnamediv> + <refname>csvDefault</refname> + <refpurpose>CSVファイルに関するデフォルト動作を取得/設定.</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼び出し手順</title> + <synopsis>allvalues = csvDefault() </synopsis> + <synopsis>value = csvDefault(field) </synopsis> + <synopsis>bRes = csvDefault(field, value) </synopsis> + </refsynopsisdiv> + <refsection> + <title>パラメータ</title> + <variablelist> + <varlistentry> + <term>allvalues</term> + <listitem> + <para>6行2列の文字列行列で, 全フィールドの値です. + 最初の列には利用可能なフィールドが含まれ, + 2番目の列には現在の値が含まれます. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>field</term> + <listitem> + <para>1行1列の文字列行列で, + 取得または設定したフィールドの名前です. + <literal>field</literal>で利用可能な値は, + "separator", "decimal", "conversion", "precision", "regexp", "eol", + "encoding", "blank"です. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>value</term> + <listitem> + <para> + 1行1列の文字列行列で, + 取得または設定したフィールドの値です. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>bRes</term> + <listitem> + <para> + 1行1列の論理値行列で, + 値が正しく設定された場合は bResがtrueとなり, + そうでない場合はbResがfalseとなります. + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>説明</title> + <para> + この関数によりCSVファイルのオプションを調べたり,設定 + することができます. + これらのオプションはユーザが呼び出し時に指定しない場合に + 読み書き用の関数で使用されます. + </para> + <para> + 呼び出し手順 <literal>allvalues = csvDefault()</literal> は + 全フィールドの値を返します. + </para> + <para> + 呼び出し手順 <literal>value = csvDefault(field)</literal> は + 指定したフィールドに対応する値を返します. + </para> + <para> + 呼び出し手順 <literal>bRes = csvDefault(field, value)</literal> + により, 指定したフィールドに値を設定できます. + <itemizedlist> + <listitem> + <para> + 関数がフィールドに指定した値を設定できない場合, + <literal>bRes</literal> はfalseとなります. この場合, + フィールドの値は変更されません. + </para> + </listitem> + <listitem> + <para> + 関数が指定した値にフィールドを変更できた場合, + <literal>bRes</literal> は trueとなります. + </para> + </listitem> + </itemizedlist> + </para> + <para> + 利用可能なフィールドを以下に示します. <itemizedlist> + <listitem> + <para>field = "separator": CSVファイルにおける列の + セパレータ. デフォルトのセパレータ = ",". + </para> + </listitem> + <listitem> + <para>field = "decimal": CSVファイルで使用される小数点. + 利用可能な値は "." または "," です. + デフォルトの小数点 = '.'. + </para> + </listitem> + <listitem> + <para>field = "conversion": + <literal>csvRead</literal>関数の出力型. 指定可能な値は + "string" または"double"です. + conversionのデフォルト値 = "double". + conversion = "string"の場合, + <literal>csvRead</literal> 関数は文字列の行列を + 返します. + conversion = "double"の場合, + <literal>csvRead</literal> 関数はdoubleの行列を + 返します. + </para> + </listitem> + <listitem> + <para>field = "precision": + <literal>csvWrite</literal>関数のdoubleから + 文字列を生成する際に使用されるCフォーマット. + デフォルト値は <literal>precision="%.17lg"</literal>です. + このフォーマットにより読み書きエラーフリーサイクル + を実行できます. + これは,doubleを.csvに保存してから,doubleを読み込むと, + 正しく同じ値が取得できることを意味します. + サポートされる形式を以下に示します: %type または + %[幅].[精度]型. + <itemizedlist> + <listitem> + <para>型: lf, lg, d, i, e, f, g</para> + </listitem> + <listitem> + <para>幅: オプションの数値で,出力文字の最小値を指定します. + </para> + </listitem> + <listitem> + <para>精度: + オプションの数値で, + 出力フィールドの全てまたは一部を出力する際の + 最大文字数,または + 整数値を出力する際の最小桁数を指定します. + </para> + </listitem> + </itemizedlist> + </para> + </listitem> + <listitem> + <para>field = "regexp": + <literal>csvRead</literal>関数のコメントを + 展開する際に使用する正規表現式. + </para> + <para>デフォルトでは, この値は'' (正規表現なし)です.</para> + </listitem> + <listitem> + <para>field = "eol": + <literal>csvWrite</literal>関数で行を書き込む際に + 使用される改行. + </para> + <para> + 指定可能な値は"linux", "windows", "macos9"です. + </para> + <para>デフォルトでは, この値はプラットフォーム依存です.</para> + </listitem> + <listitem> + <para>field = "encoding":</para> + <para>指定可能な値は"utf-8", "iso-latin"です.</para> + <para>デフォルトでは, この値は"utf-8"です.</para> + </listitem> + <listitem> + <para>field = "blank": テキストをパースする前に + 空白行を全て削除します + </para> + <para>指定可能な値は "on", "off"です.</para> + <para>デフォルトでは, この値は "on"です.</para> + </listitem> + </itemizedlist> + </para> + </refsection> + <refsection> + <title>例</title> + <programlisting role="example">// 利用可能な全フィールドを参照 + allvalues = csvDefault() + // "precision"フィールドの値を取得 + value = csvDefault("precision") + // "precision"フィールドの値を設定 + bRes = csvDefault("precision","%.17e") // 期待値 = %t + // "precision"フィールドに不正な値を設定 + bRes = csvDefault("precision","Ouch!") // 期待値 = %f + </programlisting> + </refsection> + <refsection> + <title>参照</title> + <simplelist type="inline"> + <member> + <link linkend="csvRead">csvRead</link> + </member> + <member> + <link linkend="csvWrite">csvWrite</link> + </member> + </simplelist> + </refsection> + <refsection> + <title>履歴</title> + <revhistory> + <revision> + <revnumber>5.4.0</revnumber> + <revremark>関数が導入されました. 'csv_readwrite'モジュールに + 基づきます. + </revremark> + </revision> + <revision> + <revnumber>5.4.1</revnumber> + <revremark>'blank' がデフォルトで有効となりました.</revremark> + </revision> + </revhistory> + </refsection> +</refentry> diff --git a/modules/spreadsheet/help/ja_JP/csvRead.xml b/modules/spreadsheet/help/ja_JP/csvRead.xml new file mode 100755 index 000000000..ea00f5cc5 --- /dev/null +++ b/modules/spreadsheet/help/ja_JP/csvRead.xml @@ -0,0 +1,417 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Copyright (C) 2010-2011 - INRIA - Allan CORNET + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + --> +<refentry version="5.0-subset Scilab" xml:id="csvRead" xml:lang="ja" + xmlns="http://docbook.org/ns/docbook" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns:ns3="http://www.w3.org/1999/xhtml" + xmlns:mml="http://www.w3.org/1998/Math/MathML" + xmlns:db="http://docbook.org/ns/docbook"> + <refnamediv> + <refname>csvRead</refname> + <refpurpose>CSVファイルを読み込む</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼び出し手順</title> + <synopsis> + M = csvRead(filename) + M = csvRead(filename, separator) + M = csvRead(filename, separator, decimal) + M = csvRead(filename, separator, decimal, conversion) + M = csvRead(filename, separator, decimal, conversion, substitute) + M = csvRead(filename, separator, decimal, conversion, substitute, regexpcomments, range) + M = csvRead(filename, separator, decimal, conversion, substitute, regexpcomments, range, header) + [M, comments] = csvRead(filename, separator, decimal, conversion, substitute, regexpcomments, range, header) + </synopsis> + </refsynopsisdiv> + <refsection> + <title>引数</title> + <variablelist> + <varlistentry> + <term>filename</term> + <listitem> + <para>1行1列の文字列行列で,ファイルパスです.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>separator</term> + <listitem> + <para>1行1列の文字列行列で, + 使用されるフィールドセパレータ. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>decimal</term> + <listitem> + <para> + 1行1列の文字列行列で,使用される小数点. + </para> + <para> + <literal>decimal</literal> が <literal>[]</literal> + と異なり + <literal>conversion</literal> が <literal>string</literal>に + 設定された場合,小数点変換が行われます. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>conversion</term> + <listitem> + <para> + 1行1列の文字列行列で,出力<literal>M</literal>の型. + 利用可能な値は "string" または "double" + (デフォルト)です. + </para> + <para> + <link linkend="read_csv">read_csv</link> では "string" がデフォルトであることに + 注意してください. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>substitute</term> + <listitem> + <para> + m行2列の文字列行列で, + 置換マップ(デフォルト = [], 置換処理なし). + 最初の列 + <literal>substitute(:,1)</literal> は + 検索する文字列を有し, + 2番目の列 + <literal>substitute(:,2)</literal> は置換文字列を + 有します. + ファイル中に指定された文字列が現れる度に + 置換が行われます. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>rexgepcomments</term> + <listitem> + <para>文字列: 一致する行を削除するための正規表現. + (デフォルト: + []) + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>range</term> + <listitem> + <para>1行4列の浮動小数点の整数行列で, + 読み込む列および行の範囲です + (デフォルトの範囲は [] で,全ての行と列を意味します). + <literal>[R1 C1 R2 C2]</literal>の形式で範囲を + 指定してください. + ただし,(R1,C1)は読み込むデータの左上隅, + (R2,C2)は右下隅です. + </para> + <para> + <note> + ファイルが正しく整形されていることに注意してください. + この範囲はパースされた要素についてメモリ上で実行されます. + </note> + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>header</term> + <listitem> + <para> + 1行1列の行列の浮動小数点整数, ファイルの先頭で無視される行の数. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>M</term> + <listitem> + <para>m行n列の文字列またはdouble行列.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>comments</term> + <listitem> + <para>正規表現にマッチしたm行n列の文字列行列.</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>説明</title> + <para> + カンマ区切りの値をフィールドとするアスキーファイルを指定すると, + この関数は対応する文字列またはdoubleのScilab行列を返します. + </para> + <para> + 例えば,.csvデータファイルは + 表計算ソフトウェアにより"テキスト及びカンマ"形式で + 作成されたものとすることができます. + </para> + <para> + 列はカンマ以外で区切られたものとすることもできます. + この場合, 別のセパレータを指定する + csvRead(filename, separator) を使用してください. + </para> + <para> + オプションの入力引数のデフォルト値は, + <literal>csvDefault</literal> 関数で定義されます. + </para> + <para> + オプションの入力引数に空の行列<literal>[]</literal>を指定すると, + デフォルト値が設定されます. + </para> + + <para> + 入力引数 "conversion" が "double" の時, + .csvの中の数値以外のフィールド(例:文字列)は NaNに変換されます. + </para> + <para>csvRead は UTF-8 および ASCII テキストファイルを読み込むことができます. + </para> + </refsection> + <refsection> + <title>例</title> + <para> + 以下のスクリプトは, + <literal>csvRead</literal>関数のいくつかの基本的な使用例を示します. + </para> + <programlisting role="example"><![CDATA[// タブ区切りのデータを含むファイルを生成 +M = 1:50; +filename = fullfile(TMPDIR, "data.csv"); +csvWrite(M, filename, ascii(9), '.'); +// csvファイルを読み込む +M1 = csvRead(filename,ascii(9), [], 'string') +// doubleを返す +M2 = csvRead(filename,ascii(9), '.', 'double') +// 元のデータを結果と比較 +and(M == M2) +// 特殊なデータファイルを管理するために +// 置換用引数を使用 +content = [ +"1" +"Not-A-Number" +"2" +"Not-A-Number" +]; +substitute = [ +"Not-A-Number" "Nan" +]; +mputl(content,filename); +M = csvRead(filename,",",".","double",substitute) +isnan(M(2,1)) // Expected=%t +isnan(M(4,1)) // Expected=%t + ]]></programlisting> + <para> + 以下のスクリプトは, + <literal>csvRead</literal>関数のより実用的な使用例を示します. + </para> + <programlisting role="example"><![CDATA[// 文字列の行列を定義 +Astr = [ +"1" "8" "15" "22" "29" "36" "43" "50" +"2" "9" "16" "23" "30" "37" "44" "51" +"3" "10" "17" "6+3*I" "31" "38" "45" "52" +"4" "11" "18" "25" "32" "39" "46" "53" +"5" "12" "19" "26" "33" "40" "47" "54" +"6" "13" "20" "27" "34" "41" "48" "55" +"+0" "-0" "Inf" "-Inf" "Nan" "1.D+308" "1.e-308" "1.e-323" +]; +// カンマ区切りのデータを有するファイルを作成 +filename = fullfile(TMPDIR , 'foo.csv'); +sep = ","; +fd = mopen(filename,'wt'); +for i = 1 : size(Astr,"r") + mfprintf(fd,"%s\n",strcat(Astr(i,:),sep)); +end +mclose(fd); +// ファイルを参照するには: edit(filename) +// このファイルを読み込む +Bstr = csvRead ( filename ) +// 特殊なセパレータを有するファイルを作成: ここでは ";" +filename = fullfile(TMPDIR , 'foo.csv'); +sep = ";"; +fd = mopen(filename,'wt'); +for i = 1 : size(Astr,"r") + mfprintf(fd,"%s\n",strcat(Astr(i,:),sep)); +end +mclose(fd); +// +// セパレータを指定してファイルを読み込む +csvRead ( filename , sep ) + ]]></programlisting> + <para> + 以下のスクリプトは + <literal>csvRead</literal> 関数のregexp引数により + 行を削除する例を示します. + </para> + <programlisting role="example"><![CDATA[ +CSV = ["// tata"; .. +"1,0,0,0,0"; .. +"// titi"; .. +"0,1,0,0,0"; .. +"// toto"; .. +"0,0,1,0,0"; .. +"// tutu"]; +filename = fullfile(TMPDIR , 'foo.csv'); +mputl(CSV, filename); +// @ で始まる行を削除 +[M, comments] = csvRead(filename, [], [], [], [], '/\/\//') + ]]></programlisting> + </refsection> + <refsection> + <para>空のフィールドはcsvReadで管理されます</para> + <programlisting role="example"><![CDATA[ +csvWrite(['1','','3';'','','6'], TMPDIR + "/example.csv") +csvRead(TMPDIR + "/example.csv", [], [], "string") +csvRead(TMPDIR + "/example.csv", [], [], "double") + ]]></programlisting> + </refsection> + <programlisting role="example"><![CDATA[ +// 文字列の行列を定義 +Astr = [ +"1" "8" "15" "22" "29" "36" "43" "50" +"2" "9" "16" "23" "30" "37" "44" "51" +"3" "10" "17" "6+3*I" "31" "38" "45" "52" +"4" "11" "18" "25" "32" "39" "46" "53" +"5" "12" "19" "26" "33" "40" "47" "54" +"6" "13" "20" "27" "34" "41" "48" "55" +"+0" "-0" "Inf" "-Inf" "Nan" "1.D+308" "1.e-308" "1.e-323" +]; +// カンマ区切りのデータを有するファイルを作成 +filename = fullfile(TMPDIR , 'foo.csv'); +sep = ","; +fd = mopen(filename,'wt'); +for i = 1 : size(Astr,"r") + mfprintf(fd,"%s\n",strcat(Astr(i,:),sep)); +end +mclose(fd); +// ファイルを参照するには: edit(filename) +// このファイルを読み込む +Bstr = csvRead ( filename ) +// 特殊なセパレータを有するファイルを作成: ここでは ";" +filename = fullfile(TMPDIR , 'foo.csv'); +sep = ";"; +fd = mopen(filename,'wt'); +for i = 1 : size(Astr,"r") + mfprintf(fd,"%s\n",strcat(Astr(i,:),sep)); +end +mclose(fd); +// +// セパレータを指定してファイルを読み込む +csvRead ( filename , sep ) + ]]></programlisting> + <refsection> + <para> + 以下のスクリプトでは, ファイル "filename" は + 5000行単位のブロックで読みこまれます. + 実際に読み込まれたファイルの行数が5000行に + 満たない時, すなわち, ファイルの終端に達した時, + このアルゴリズムは中断します. + </para> + <programlisting role="example"><![CDATA[blocksize = 5000; +C1 = 1; +C2 = 3; +iblock = 1 +while (%t) +R1 = (iblock-1) * blocksize + 1; +R2 = blocksize + R1-1; +irange = [R1 C1 R2 C2]; +mprintf("Block #%d, rows #%d to #%d\n",iblock,R1,R2); +tic(); +M=csvRead(filename , [] , [] , [] , [] , [] , [] , irange ); +t = toc(); +nrows = size(M,"r"); +ncols = size(M,"c"); +if ( nrows > 0 ) then +p = t/(nrows*ncols)*1.e6; +mprintf(" Actual #rows=%d\n",nrows); +mprintf(" T=%.3f (s)\n",t); +mprintf(" T=%.1f (ms/cell)\n",p); +end +if ( nrows < blocksize ) then +mprintf("... End of the file.\n"); +break +end +iblock = iblock + 1; +end + ]]></programlisting> + <para>出力は以下のようになります :</para> + <programlisting role="no-scilab-exec"><![CDATA[Block #1, rows #1 to #5000 +Actual #rows=5000 +T=3.135 (s) +T=209.0 (ms/cell) +Block #2, rows #5001 to #10000 +Actual #rows=5000 +T=3.139 (s) +T=209.3 (ms/cell) +Block #3, rows #10001 to #15000 +Actual #rows=5000 +T=3.151 (s) +T=210.1 (ms/cell) +etc.... + ]]></programlisting> + 範囲を有する例 + <programlisting role="example"><![CDATA[ +CSV = ["1,0,0,0,0"; .. +"0,1,0,0,0"; .. +"0,0,1,0,0"; .. +"4,4,1,2,0"; .. +"4,63,1,2,0"; .. +"4,63,1,4,233"; .. +"42,3,23,2,23"; .. +]; +filename = fullfile(TMPDIR , 'foo.csv'); +mputl(CSV, filename); +// csvファイルの一部を展開 +csvRead(filename, [], [], "double", [], [], [5 3 7 6]) + ]]></programlisting> + ヘッダを有する例 + <programlisting role="example"><![CDATA[ +comments = [ +"// Copyright (C) INRIA" +"// This file must be used under the terms of the CeCILL."]; +filename = fullfile(TMPDIR , 'foo.csv'); +csvWrite(rand(2,3), filename, ascii(9), ",", [], comments); +header = 2; +[M, c] = csvRead(filename, ascii(9), ",", "double", [], [], [], header) // 最初の2行(ヘッダ)を無視 + ]]></programlisting> + </refsection> + <refsection> + <title>参照</title> + <simplelist type="inline"> + <member> + <link linkend="csvWrite">csvWrite</link> + </member> + </simplelist> + </refsection> + <refsection> + <title>履歴</title> + <revhistory> + <revision> + <revnumber>5.4.0</revnumber> + <revremark>関数が導入されました. + 'csv_readwrite'モジュールに基づきます. + <link linkend="read_csv">read_csv</link> と比べた場合の + 動作の唯一の差異は, + read_csvが値を文字列として返す時,デフォルトで値をdoubleに変換しようとする + ことです. + </revremark> + </revision> + <revision> + <revnumber>5.4.1</revnumber> + <revremark> + <literal>decimal</literal> が <literal>[]</literal> 以外で, + <literal>conversion</literal> が <literal>string</literal>に設定された場合, + 小数点変換が行われます. + </revremark> + </revision> + <revision> + <revnumber>5.5</revnumber> + <revremark> + ヘッダを無視するために,入力引数"header"が追加されました. + </revremark> + </revision> + </revhistory> + </refsection> +</refentry> diff --git a/modules/spreadsheet/help/ja_JP/csvTextscan.xml b/modules/spreadsheet/help/ja_JP/csvTextscan.xml new file mode 100755 index 000000000..341fa9723 --- /dev/null +++ b/modules/spreadsheet/help/ja_JP/csvTextscan.xml @@ -0,0 +1,160 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Copyright (C) 2010-2011 - INRIA - Allan CORNET + * Copyright (C) 2011 - INRIA - Michael Baudin + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + --> +<refentry version="5.0-subset Scilab" xml:id="csvTextScan" xml:lang="ja" + xmlns="http://docbook.org/ns/docbook" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns:ns3="http://www.w3.org/1999/xhtml" + xmlns:mml="http://www.w3.org/1998/Math/MathML" + xmlns:db="http://docbook.org/ns/docbook"> + <refnamediv> + <refname>csvTextScan</refname> + <refpurpose>カンマ区切りの値を行列に変換</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼び出し手順</title> + <synopsis> + A = csvTextScan(M) + A = csvTextScan(M, separator) + A = csvTextScan(M, separator, decimal) + A = csvTextScan(M, separator, decimal, conversion) + A = csvTextScan(M, separator, decimal, conversion, range) + </synopsis> + </refsynopsisdiv> + <refsection> + <title>パラメータ</title> + <variablelist> + <varlistentry> + <term>M</term> + <listitem> + <para>m行1列または1行m列の文字列の行列.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>separator</term> + <listitem> + <para>1行1列の文字列行列, 列セパレータ記号.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>decimal</term> + <listitem> + <para>1行1列の文字列行列, 小数点記号. 利用可能な値は + "." または ",". + </para> + <para> + <literal>decimal</literal> が <literal>[]</literal> 以外で + <literal>conversion</literal> が <literal>string</literal> + に設定された場合, 小数点変換が行われます. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>conversion</term> + <listitem> + <para> + 1行1列の文字列行列,出力<literal>A</literal>の型です. + 利用可能な値は"string" または "double"です. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>range</term> + <listitem> + <para> + 1行4列または4行1列の浮動小数点の整数行列で, + 読み込む列および行の範囲です + (デフォルトの範囲は [] で,全ての行と列を意味します). + <literal>[R1 C1 R2 C2]</literal>の形式で範囲を + 指定してください. + ただし,(R1,C1)は読み込むデータの左上隅, + (R2,C2)は右下隅です. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>A</term> + <listitem> + <para>m行n列の文字列またはdouble行列.</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>説明</title> + <para> + 区切られたフィールドを有するアスキーファイルを指定すると, + この関数は対応する文字列またはdoubleのScilab行列を返します. + </para> + <para> + <literal>csvTextScan</literal> 関数の用途は + <literal>csvRead</literal>と同じですが, + <literal>csvRead</literal>がファイルから読み込むのに対して, + 文字列から読み込みます. + </para> + <para> + オプションの入力引数のデフォルト値は, + <literal>csvDefault</literal> 関数により定義されます. + </para> + <para> + オプションの入力引数に空の行列<literal>[]</literal>を指定すると, + デフォルト値が設定されます. + </para> + <para> + 入力引数 "conversion" が "double" の時, + .csvの中の数値以外のフィールド(例:文字列)は NaNに変換されます. + </para> + </refsection> + <refsection> + <title>例</title> + <programlisting role="example"><![CDATA[ +// CSV文字列行列を文字列またはdouble行列に変換 +A = ["1;3 + i"; "Nan;-Inf"] +B = csvTextScan(A,';') +C = csvTextScan(A,';',[],'double') +// +// 小数点記号を設定 +Atext = [ +" 1,000000000D+00; 0,000000000D+00; 2,000000000D+02; Inf; 0,000000000D+00"; +" 1,000000000D+00; 1,00000000D-300; 2,000000000D+02; Inf; 0,000000000D+00"; +" 1,000000000D+00; 1,00000000D-200; 2,000000000D+02; 3,15000000D+300; 1,020000000D+02"; +" 9,999999999D-01; 1,00000000D-100; 2,000000000D+02; 2,960000000D+02; 1,170000000D+02"; +" 1,000000000D+00; Inf;-Inf; Nan; 0,000000000D+00" +]; +csvTextScan( Atext , ";" , "," ) + ]]> + </programlisting> + </refsection> + <refsection> + <title>参照</title> + <simplelist type="inline"> + <member> + <link linkend="csvRead">csvRead</link> + </member> + </simplelist> + </refsection> + <refsection> + <title>履歴</title> + <revhistory> + <revision> + <revnumber>5.4.0</revnumber> + <revremark>関数が導入されました. + 'csv_readwrite'モジュールに基づきます. + </revremark> + </revision> + <revision> + <revnumber>5.4.1</revnumber> + <revremark> + <literal>decimal</literal> が <literal>[]</literal> と + 異なり, <literal>conversion</literal> が + <literal>string</literal>に設定された場合, + 小数点変換が行われます. + </revremark> + </revision> + </revhistory> + </refsection> +</refentry> diff --git a/modules/spreadsheet/help/ja_JP/csvWrite.xml b/modules/spreadsheet/help/ja_JP/csvWrite.xml new file mode 100755 index 000000000..25f408397 --- /dev/null +++ b/modules/spreadsheet/help/ja_JP/csvWrite.xml @@ -0,0 +1,180 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Copyright (C) 2010-2011 - INRIA - Allan CORNET + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + --> +<refentry version="5.0-subset Scilab" xml:id="csvWrite" xml:lang="ja" + xmlns="http://docbook.org/ns/docbook" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns:ns3="http://www.w3.org/1999/xhtml" + xmlns:mml="http://www.w3.org/1998/Math/MathML" + xmlns:db="http://docbook.org/ns/docbook"> + <refnamediv> + <refname>csvWrite</refname> + <refpurpose>CSVファイルを書き込む</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼び出し手順</title> + <synopsis> + csvWrite(M, filename) + csvWrite(M, filename, separator) + csvWrite(M, filename, separator, decimal) + csvWrite(M, filename, separator, decimal, precision) + csvWrite(M, filename, separator, decimal, precision, comments) + </synopsis> + </refsynopsisdiv> + <refsection> + <title>引数</title> + <variablelist> + <varlistentry> + <term>filename</term> + <listitem> + <para>1行1列の文字列行列, ファイルのパス.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>M</term> + <listitem> + <para>m行n列の文字列またはdoubleの行列 + (複素数がサポートされています). + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>separator</term> + <listitem> + <para>1行1列の文字列の行列, 列セパレータ記号.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>decimal</term> + <listitem> + <para>1行1列の文字列の行列, 小数点記号. + 利用可能な値は"." または ",". + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>precision</term> + <listitem> + <para>1行1列の文字列の行列, C形式.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>comments</term> + <listitem> + <para>m行1列の文字列の行列, + ファイルの先頭に保存されるコメント. + このオプションは,例えば, + ライセンスヘッダをデータファイルに + 記入するために使用できます. + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>説明</title> + <para> + この関数は,行列 M を filename にカンマ区切りの値として + 書き込みます. + </para> + <para> + オプションの入力引数のデフォルト値は + <literal>csvDefault</literal> 関数で定義されます. + </para> + <para> + オプションの入力引数に空の行列<literal>[]</literal>を指定すると, + デフォルト値が設定されます. + </para> + <para> + <literal>filename</literal> がすでに存在する場合, + 上書きされます. + </para> + <para> + 関係がある場合 (すなわち,'特殊'文字がある場合),ファイルはUTF-8として保存されます. + </para> + </refsection> + <refsection> + <title>例</title> + <para> + 以下の例では, + <literal>csvWrite</literal> および <literal>csvRead</literal> + 関数を組み合わせて使用します. + </para> + <programlisting role="example"><![CDATA[// CSVファイル形式で行列を保存 +M = [1:10] * 0.1; +filename = fullfile(TMPDIR, "data.csv"); +csvWrite(M, filename); +// テキストとして読み込む +mgetl(filename) +r = csvRead(filename); + ]]></programlisting> + <para> + 以下の例では, + <literal>csvWrite</literal> 関数の種々のオプションを使用します. + </para> + <programlisting role="example"><![CDATA[// CSVファイル形式で行列を保存 +M = rand(2,3); +filename = fullfile(TMPDIR, "data.csv"); +// +// セパレータとしてタブを使用 +csvWrite(M, filename,ascii(9)); +mgetl(filename) +// +// 小数点として "," を使用 +// (そしてセパレータとして空白を使用). +csvWrite(M, filename," ",","); +mgetl(filename) +// +// 精度を指定 +// 注意: このより低い精度により読み書きサイクルで +// 誤差を発生する可能性があります! +csvWrite(M, filename,[],[],"%.8e"); +mgetl(filename) +// +// コメントを指定 +comments = [ +"// Copyright (C) INRIA" +"// This file must be used under the terms of the CeCILL." +]; +csvWrite(M, filename,[],[],[],comments); +mgetl(filename) + ]]></programlisting> + <para>以下の例は + <literal>csvWrite</literal>関数のより高度な使用例を示します. + </para> + <programlisting role="example"><![CDATA[A = [ +1 0 200 %inf 0 +1 1.e-300 200 %inf 0 +9.99999999999990010e-001 9.99999999999999980e-201 200 3.15e300 102 +9.99999999899999990e-001 1.e-100 200 296 117 +1 %inf -%inf %nan 0 +]; +// ファイルに書き込む +filename=fullfile(TMPDIR,"foo.csv"); +csvWrite ( A , filename ); +edit(filename) + ]]></programlisting> + </refsection> + <refsection> + <title>参照</title> + <simplelist type="inline"> + <member> + <link linkend="csvRead">csvRead</link> + </member> + </simplelist> + </refsection> + <refsection> + <title>履歴</title> + <revhistory> + <revision> + <revnumber>5.4.0</revnumber> + <revremark>関数が導入されました. 'csv_readwrite'モジュール + に基づきます. + </revremark> + </revision> + </revhistory> + </refsection> +</refentry> diff --git a/modules/spreadsheet/help/ja_JP/read_csv.xml b/modules/spreadsheet/help/ja_JP/read_csv.xml new file mode 100755 index 000000000..8f8bafe8b --- /dev/null +++ b/modules/spreadsheet/help/ja_JP/read_csv.xml @@ -0,0 +1,40 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2009 - DIGITEO - Allan CORNET + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns4="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="read_csv" xml:lang="ja"> + <refnamediv> + <refname>read_csv</refname> + <refpurpose> + カンマ区切り形式のファイルを読み込む. + <link linkend="csvRead">csvRead</link>で置換されています. + </refpurpose> + </refnamediv> + <refsection> + <title>説明</title> + <para> + <link linkend="csvRead">csvRead</link>と異なり, + 以前のバージョンとの互換性を維持するために + 変換はデフォルトで<literal>string</literal>に設定されます. + </para> + </refsection> + <refsection> + <title>履歴</title> + <revhistory> + <revision> + <revnumber>5.4.0</revnumber> + <revremark> + read_csvは,完全に<link linkend="csvRead">csvRead</link>に基づいています. + </revremark> + </revision> + </revhistory> + </refsection> +</refentry> diff --git a/modules/spreadsheet/help/ja_JP/readxls.xml b/modules/spreadsheet/help/ja_JP/readxls.xml new file mode 100755 index 000000000..1d33a69b0 --- /dev/null +++ b/modules/spreadsheet/help/ja_JP/readxls.xml @@ -0,0 +1,98 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2005 - INRIA - Pierrick MODE + * Copyright (C) 2005-2008 - INRIA - Serge STEER <serge.steer@inria.fr> + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="readxls"> + <refnamediv> + <refname>readxls</refname> + <refpurpose>Excelファイルを読み込む</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼び出し手順</title> + <synopsis>sheets = readxls(file_path)</synopsis> + </refsynopsisdiv> + <refsection> + <title>引数</title> + <variablelist> + <varlistentry> + <term>file_path</term> + <listitem> + <para>文字列: Excelファイルのパス. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>sheets</term> + <listitem> + <para> + <literal>xls</literal>型の<literal>mlist</literal>で, + <literal>sheets</literal>という名前のフィールドを有します + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>説明</title> + <para> + Excelファイルのパスを指定すると,この関数は + <literal>sheets</literal>という名前のフィールドを有する<literal>xls</literal> + 型の <literal>mlist</literal>データ構造体を返します. + この<literal>sheets</literal> フィールドはそれ自体 sheetデータ構造体の + リストです. + </para> + <para> + <literal>sheet=mlist(['xlssheet','name','text','value'],sheetname,Text,Value)</literal> ただし, + <literal>sheetname</literal>はシートの名前を有する文字列です. + <literal>Text</literal> はセルの文字列を有する文字列の行列, + <literal>Value</literal>はセルの値を有する数値の行列です. + </para> + <para> + <warning> + BIFF8 Excelファイル(最近のExcelファイルのバージョン(2003))のみが処理可能です. + </warning> + </para> + </refsection> + <refsection> + <title>例</title> + <programlisting role="example"><![CDATA[ +Sheets = readxls('SCI/modules/spreadsheet/demos/xls/t1.xls') +// シートへの基本的な処理 +typeof(Sheets) +s1=Sheets(1) //最初のシートを取得 +typeof(s1) +s1.value //最初のシートのvalueフィールドを取得 +s1.text //最初のシートのtextフィールドを取得 +s1(2,:) //シートの2番目の行を取得 +typeof(s1(2,:)) +disp(s1) + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>参照</title> + <simplelist type="inline"> + <member> + <link linkend="xls_open">xls_open</link> + </member> + <member> + <link linkend="xls_read">xls_read</link> + </member> + </simplelist> + </refsection> + <refsection> + <title>使用される関数</title> + <para> + この関数はScilab関数 <literal>xls_open</literal> + および<literal>xls_read</literal>に基づいています. + </para> + </refsection> +</refentry> diff --git a/modules/spreadsheet/help/ja_JP/write_csv.xml b/modules/spreadsheet/help/ja_JP/write_csv.xml new file mode 100755 index 000000000..a573310dd --- /dev/null +++ b/modules/spreadsheet/help/ja_JP/write_csv.xml @@ -0,0 +1,32 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2009-2010 - DIGITEO - Allan CORNET + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns4="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="write_csv" xml:lang="ja"> + <refnamediv> + <refname>write_csv</refname> + <refpurpose> + カンマ区切り形式でファイルに書き込む. + <link linkend="csvWrite">csvWrite</link>で置換. + </refpurpose> + </refnamediv> + <refsection> + <title>履歴</title> + <revhistory> + <revision> + <revnumber>5.4.0</revnumber> + <revremark> + <link linkend="csvWrite">csvWrite</link> はwrite_csvのより良い代替品を提供します. + </revremark> + </revision> + </revhistory> + </refsection> +</refentry> diff --git a/modules/spreadsheet/help/ja_JP/xls_open.xml b/modules/spreadsheet/help/ja_JP/xls_open.xml new file mode 100755 index 000000000..d84b54b6f --- /dev/null +++ b/modules/spreadsheet/help/ja_JP/xls_open.xml @@ -0,0 +1,125 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2005 - INRIA - Pierrick MODE + * Copyright (C) 2005-2008 - INRIA - Serge STEER <serge.steer@inria.fr> + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="xls_open"> + <refnamediv> + <refname>xls_open</refname> + <refpurpose>Excelファイルを読み込み用に開く</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>C呼び出し手順</title> + <synopsis>[fd,SST,Sheetnames,Sheetpos] = xls_open(file_path)</synopsis> + </refsynopsisdiv> + <refsection> + <title>引数</title> + <variablelist> + <varlistentry> + <term>file_path</term> + <listitem> + <para>文字列: Excelファイルのパス + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>fd</term> + <listitem> + <para>数値: Excelストリームの論理ユニット. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>SST</term> + <listitem> + <para>Excelシートに全ての現れる文字列のベクトル. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>Sheetnames</term> + <listitem> + <para>文字列ベクトル: シート名. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>Sheetpos</term> + <listitem> + <para>数値ベクトル: Excelストリームにおけるシートの開始位置. + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>説明</title> + <para>この関数は,指定したファイルが属するExcelストリームを展開するために + まず指定したファイルに関するOLE2データ構造体を解析します. + その後,Excelストリームは<literal>TMDIR</literal>ディレクトリに保存され, + オープンされます. + 続いてこのストリームの最初のシートが読み込まれ, + シート数,シート名,ストリームにおける + シートの位置のようなグローバル情報,および以下のシートで使用される全ての文字列を含む + <literal>SST</literal>が取得されます. + </para> + <para> + <literal>fd</literal> および <literal>Sheetpos</literal> データ + データシートを読み込む際に <link linkend="xls_read">xls_read</link>に指定する必要があります. + </para> + <para> + 1つの関数で1回関数コールをすることにより + Excelファイルを全て読み込む際には<link linkend="readxls">readxls</link>関数を + 使用することができます. + </para> + <para> + <warning> + BIFF8 Excelファイル(最近のExcelファイルのバージョン(2003))のみが処理可能です. + </warning> + </para> + </refsection> + <refsection> + <title>例</title> + <programlisting role="example"><![CDATA[ +//OLEファイルをデコード,展開し,Excelストリームをオープン +[fd,SST,Sheetnames,Sheetpos] = xls_open('SCI/modules/spreadsheet/demos/xls/Test1.xls') +//最初のデータシートを読み込む +[Value,TextInd] = xls_read(fd,Sheetpos(1)) +//スプレッドシートストリームを閉じる +mclose(fd) + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>参照</title> + <simplelist type="inline"> + <member> + <link linkend="xls_read">xls_read</link> + </member> + <member> + <link linkend="readxls">readxls</link> + </member> + </simplelist> + </refsection> + <refsection> + <title>参考文献</title> + <para>この関数はMicrosoft ole2 ファイルのドキュメント + (<ulink url="http://chicago.sourceforge.net/devel/docs/ole/">http://chicago.sourceforge.net/devel/docs/ole/</ulink>) および OpenOfficeのExcel + ストリームに関する説明 (<ulink url="http://sc.openoffice.org/spreadsheetfileformat.pdf">http://sc.openoffice.org/spreadsheetfileformat.pdf</ulink>)に基づいています. + </para> + </refsection> + <refsection> + <title>使用される関数</title> + <para> + OLEファイルからスプレッドシートストリームを展開するために + ripole-0.1.4 プロシージャ (<ulink url="http://www.pldaniels.com/ripole">http://www.pldaniels.com/ripole</ulink>) が使用されています. + </para> + </refsection> +</refentry> diff --git a/modules/spreadsheet/help/ja_JP/xls_read.xml b/modules/spreadsheet/help/ja_JP/xls_read.xml new file mode 100755 index 000000000..82d1dd292 --- /dev/null +++ b/modules/spreadsheet/help/ja_JP/xls_read.xml @@ -0,0 +1,121 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2005 - INRIA - Pierrick MODE + * Copyright (C) 2005-2008 - INRIA - Serge STEER <serge.steer@inria.fr> + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="xls_read"> + <refnamediv> + <refname>xls_read</refname> + <refpurpose>Excelファイルからシートを読み込む</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼び出し手順</title> + <synopsis>[Value,TextInd] = xls_read(fd,Sheetpos)</synopsis> + </refsynopsisdiv> + <refsection> + <title>引数</title> + <variablelist> + <varlistentry> + <term>fd</term> + <listitem> + <para> + 数値: <link linkend="xls_open">xls_open</link>により返されたExcelストリームの論理ユニット. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>Sheetpos</term> + <listitem> + <para> + 数値: + Excelストリームにおけるシートの開始位置. この位置は + <link linkend="xls_open">xls_open</link>により返された値です. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>Value</term> + <listitem> + <para>数値の行列, シートでみつかった数値データ. + 数値データではないセルは値<literal>NaN</literal>で表されます. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>TextInd</term> + <listitem> + <para> + <literal>Value</literal>と同じ大きさのインデックスの行列. + インデックス 0 は,対応するExcelのセルに文字列が存在しないことを示します. + 正のインデックス<literal>i</literal>は + 文字列<literal>SST(i)</literal>を指します. + ただし,<literal>SST</literal>は<link linkend="xls_open">xls_open</link>の出力です. + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>説明</title> + <para> + Excelストリームの論理ユニットとこのストリーム内のシートの先頭位置を指定すると, + この関数はExcelシートを読み込みます. + この関数はExcelセルが有する数値データおよび文字列を返します. + </para> + <para> + 1つの関数で1回関数コールをすることにより + Excelファイルを全て読み込む際には<link linkend="readxls">readxls</link>関数を + 使用することができます. + </para> + <para> + <warning> + BIFF8 Excelファイル(最近のExcelファイルのバージョン(2003))のみが処理可能です. + </warning> + </para> + </refsection> + <refsection> + <title>例</title> + <programlisting role="example"><![CDATA[ +//OLEファイルをデコード,展開し,Excelストリームをオープン +[fd,SST,Sheetnames,Sheetpos] = xls_open('SCI/modules/spreadsheet/demos/xls/Test1.xls') +//最初のデータシートを読み込む +[Value,TextInd] = xls_read(fd,Sheetpos(1)) +//スプレッドシートストリームを閉じる +mclose(fd) + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>参照</title> + <simplelist type="inline"> + <member> + <link linkend="xls_open">xls_open</link> + </member> + <member> + <link linkend="readxls">readxls</link> + </member> + </simplelist> + </refsection> + <refsection> + <title>参考文献</title> + <para> + この関数は,OpenOfficeのExcelストリームに関する説明 + (<ulink url="http://sc.openoffice.org/spreadsheetfileformat.pdf"> + http://sc.openoffice.org/spreadsheetfileformat.pdf</ulink>)に基づいています. + </para> + </refsection> + <refsection> + <title>使用される関数</title> + <para> + この関数は, Scilabソース版のディレクトリSCIDIR/modules/spreadsheet/src/c + にあるxls.cを使用します. + </para> + </refsection> +</refentry> diff --git a/modules/spreadsheet/help/pt_BR/addchapter.sce b/modules/spreadsheet/help/pt_BR/addchapter.sce new file mode 100755 index 000000000..67aeed86f --- /dev/null +++ b/modules/spreadsheet/help/pt_BR/addchapter.sce @@ -0,0 +1,11 @@ +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2009 - DIGITEO +// +// This file must be used under the terms of the CeCILL. +// This source file is licensed as described in the file COPYING, which +// you should have received as part of this distribution. The terms +// are also available at +// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + +add_help_chapter("Planilhas",SCI+"/modules/spreadsheet/help/pt_BR",%T); + diff --git a/modules/spreadsheet/help/pt_BR/readxls.xml b/modules/spreadsheet/help/pt_BR/readxls.xml new file mode 100755 index 000000000..cd2a3c93c --- /dev/null +++ b/modules/spreadsheet/help/pt_BR/readxls.xml @@ -0,0 +1,99 @@ +<?xml version="1.0" encoding="ISO-8859-1"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2005 - INRIA - Pierrick MODE + * Copyright (C) 2005-2008 - INRIA - Serge STEER <serge.steer@inria.fr> + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns3="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="readxls" xml:lang="en"> + <refnamediv> + <refname>readxls</refname> + <refpurpose>l um arquivo Excel</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Seqncia de Chamamento</title> + <synopsis>sheets = readxls(file_path)</synopsis> + </refsynopsisdiv> + <refsection> + <title>Parmetros</title> + <variablelist> + <varlistentry> + <term>file_path</term> + <listitem> + <para>string: o endereo do arquivo Excel</para> + </listitem> + </varlistentry> + <varlistentry> + <term>sheets</term> + <listitem> + <para> + um <literal>mlist</literal> de tipo <literal>xls</literal>, + com um campo chamado <literal>sheets</literal> + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Descrio</title> + <para>Dado um endereo de um arquivo Excel, esta funo retorna uma + estrutura de dados <literal>mlist</literal> do tipo + <literal>xls</literal>, com um campo chamado <literal>sheets</literal>. O + campo <literal>sheets</literal> contm uma lista da estutura de dados + folha. + </para> + <para> + <literal>sheet=mlist(['xlssheet','name','text','value'],sheetname,Text,Value)</literal> + onde <literal>sheetname</literal> um string contendo o nome da folha, + <literal>Text</literal> uma matriz de strings que contm os strings e + todas as clulas <literal>Value</literal> uma matriz de nmeros que + contm todos os valores das clulas. + </para> + <para> + <warning> + AVISO: apenas arquivos Excel BIFF8 (ltima verso do Excel (2003)) so + manipulados + </warning> + </para> + </refsection> + <refsection> + <title>Exemplos</title> + <programlisting role="example"><![CDATA[ +Sheets = readxls('SCI/modules/spreadsheet/demos/xls/t1.xls') +// algumas operaes bsicas sobre Sheets +typeof(Sheets) +s1=Sheets(1) //obtendo a primeira folha +typeof(s1) +s1.value //obtendo o campo do valor da primeira folha +s1.text //obtendo o campo do texto da primeira folha +s1(2,:) //obtendo a segunda linha da folha +typeof(s1(2,:)) + +disp(s1) + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>Ver Tambm</title> + <simplelist type="inline"> + <member> + <link linkend="xls_open">xls_open</link> + </member> + <member> + <link linkend="xls_read">xls_read</link> + </member> + </simplelist> + </refsection> + <refsection> + <title>Funes Utilizadas</title> + <para> + Esta funo baseada nas funes Scilab <literal>xls_open</literal> + e <literal>xls_read</literal>. + </para> + </refsection> +</refentry> diff --git a/modules/spreadsheet/help/pt_BR/xls_open.xml b/modules/spreadsheet/help/pt_BR/xls_open.xml new file mode 100755 index 000000000..da04a55a0 --- /dev/null +++ b/modules/spreadsheet/help/pt_BR/xls_open.xml @@ -0,0 +1,127 @@ +<?xml version="1.0" encoding="ISO-8859-1"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2005 - INRIA - Pierrick MODE + * Copyright (C) 2005-2008 - INRIA - Serge STEER <serge.steer@inria.fr> + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns3="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="xls_open" xml:lang="en"> + <refnamediv> + <refname>xls_open</refname> + <refpurpose>abre um arquivo Excel para leitura</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Seqncia de Chamamento</title> + <synopsis>[fd,SST,Sheetnames,Sheetpos] = xls_open(file_path)</synopsis> + </refsynopsisdiv> + <refsection> + <title>Parmetros</title> + <variablelist> + <varlistentry> + <term>file_path</term> + <listitem> + <para>string: o endereo do arquivo Excel.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>fd</term> + <listitem> + <para>nmero, a unidade lgica do fluxo de dados do Excel</para> + </listitem> + </varlistentry> + <varlistentry> + <term>SST</term> + <listitem> + <para>vetor de todos os strings que aparecem na folha do + Excel + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>Sheetnames</term> + <listitem> + <para>vetor de strings, os nomes das folhas</para> + </listitem> + </varlistentry> + <varlistentry> + <term>Sheetpos</term> + <listitem> + <para>vetor de nmeros,as posies dos incios das folhas no fluxo + de dados do Excel + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Descrio</title> + <para>Esta funo primeiro analisa a estrutura de dados ole2 associada ao + dado arquivo para extrair o fluxo de dado do Excel no qual est contido. + Aps isso, o fluxo de dados do Excel salvo no diretrio + <literal>TMDIR</literal> e aberto. Uma unidade lgica + <literal>fd</literal> aponta para este arquivo temporrio. Ento, a + primeira folha neste fluxo lida para se obter informaes globais como o + nmero de folhas, o nome das folhas <literal>Sheetnames</literal>, + endereos das folhas dentro do fluxo <literal>Sheetpos</literal> e + <literal>SST</literal> que contm todos os strings utilizados nas + folhas. + </para> + <para> + Os dados <literal>fd</literal> e <literal>Sheetpos</literal> devem + ser passados para <link linkend="xls_read">xls_read</link> para se ler as + folhas de dados + </para> + <para> + A funo <link linkend="readxls">readxls</link> pode ser usada para + se ler todo um arquivo Excel em uma funo atravs de uma nica chamada de + funo. + </para> + <para> + <warning>AVISO: apenas arquivos Excel BIFF8 (ltima verso do Excel (2003)) + so manipulados. + </warning> + </para> + </refsection> + <refsection> + <title>Exemplos</title> + <programlisting role="example"><![CDATA[ +//Decodificando o arquivo ole, extraindo e abrindo o fluxo de dados do Excel +[fd,SST,Sheetnames,Sheetpos] = xls_open('SCI/modules/spreadsheet/demos/xls/Test1.xls') +//Lendo a primeira folha de dados +[Value,TextInd] = xls_read(fd,Sheetpos(1)) +//fechando o fluxo da planilha +mclose(fd) + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>Ver Tambm</title> + <simplelist type="inline"> + <member> + <link linkend="xls_read">xls_read</link> + </member> + <member> + <link linkend="readxls">readxls</link> + </member> + </simplelist> + </refsection> + <refsection> + <title>Bibliografia</title> + <para>Esta funo baseada na documentao do arquivo ole2 da Microsoft + (<ulink url="http://chicago.sourceforge.net/devel/docs/ole/">http://chicago.sourceforge.net/devel/docs/ole/</ulink>) + e na descrio do OpenOffice sobre fluxo de dados do Excel (<ulink url="http://sc.openoffice.org/spreadsheetfileformat.pdf">http://sc.openoffice.org/spreadsheetfileformat.pdf</ulink>). + </para> + </refsection> + <refsection> + <title>Funes Utilizadas</title> + <para> + O procedure ripole-0.1.4 <ulink url="http://www.pldaniels.com/ripole">http://www.pldaniels.com/ripole</ulink>) + utilizado para extrair do arquivo ole o fluxo de dados da planilha. + </para> + </refsection> +</refentry> diff --git a/modules/spreadsheet/help/pt_BR/xls_read.xml b/modules/spreadsheet/help/pt_BR/xls_read.xml new file mode 100755 index 000000000..6da9ffe13 --- /dev/null +++ b/modules/spreadsheet/help/pt_BR/xls_read.xml @@ -0,0 +1,117 @@ +<?xml version="1.0" encoding="ISO-8859-1"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2005 - INRIA - Pierrick MODE + * Copyright (C) 2005-2008 - INRIA - Serge STEER <serge.steer@inria.fr> + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns5="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="xls_read" xml:lang="en"> + <refnamediv> + <refname>xls_read</refname> + <refpurpose>l uma folha em um arquivo Excel</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Seqncia de Chamamento</title> + <synopsis>[Value,TextInd] = xls_read(fd,Sheetpos)</synopsis> + </refsynopsisdiv> + <refsection> + <title>Parmetros</title> + <variablelist> + <varlistentry> + <term>fd</term> + <listitem> + <para>um nmero, a unidade lgica do fluxo de dados do Excel + retornado por <link linkend="xls_open">xls_open</link>. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>Sheetpos</term> + <listitem> + <para>um nmero: a posio do incio da folha no fluxo de dados + Excel. Esta posio uma daquelas retornadas por <link linkend="xls_open">xls_open</link>. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>Value</term> + <listitem> + <para>matriz de nmeros, os dados numricos encontrados na folha. A + clula sem valores numricos representada por valores + <literal>NaN</literal>. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>TextInd</term> + <listitem> + <para>uma matriz de ndices com o mesmo tamanho que + <literal>Value</literal>. Os ndices zeros indicam que no existem + strings na celula Excel correspondente. Um ndice positivo + <literal>i </literal> aponta para o string <literal>SST(i)</literal> + onde <literal>SST</literal> dado por <link linkend="xls_open">xls_open</link>. + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Descrio</title> + <para>Esta funo l uma folha do Excel, dada uma unidade lgica, em um + fluxo de dados do Excel e a posio do incio da folha neste fluxo de + dados. Ela retorna os dados numricos e os strings contidos nas clulas do + Excel. + </para> + <para> + A funo <link linkend="readxls">readxls</link> pode ser utilizada + para ler todo um arquivo Excel em uma funo utilizando apenas uma chamada + a funo. + </para> + <para> + <warning>AVISO: apenas arquivos Excel BIFF8 (ltima verso do Excel (2003)) so + manipulados. + </warning> + </para> + </refsection> + <refsection> + <title>Exemplos</title> + <programlisting role="example"><![CDATA[ +//decodificando um arquivo ole, extraindo e abrindo um fluxo de dados do Excel +[fd,SST,Sheetnames,Sheetpos] = xls_open('SCI/modules/spreadsheet/demos/xls/Test1.xls') +//lendo a primeira folha de dados +[Value,TextInd] = xls_read(fd,Sheetpos(1)) +//fechando o fluxo de dados da planilha +mclose(fd) + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>Ver Tambm</title> + <simplelist type="inline"> + <member> + <link linkend="xls_open">xls_open</link> + </member> + <member> + <link linkend="readxls">readxls</link> + </member> + </simplelist> + </refsection> + <refsection> + <title>Bibliografia</title> + <para>Esta funo baseada na descrio do OpenOffice sobre fluxo de + dados (<ulink url="http://sc.openoffice.org/spreadsheetfileformat.pdf">http://sc.openoffice.org/spreadsheetfileformat.pdf</ulink>). + </para> + </refsection> + <refsection> + <title>Funes Utilizadas</title> + <para>Esta funo utiliza o arquivo xls.c que pode ser encontrado em uma + verso-fonte do Scilab no diretrio directory + SCIDIR/modules/spreadsheet/src/c. + </para> + </refsection> +</refentry> diff --git a/modules/spreadsheet/help/ru_RU/addchapter.sce b/modules/spreadsheet/help/ru_RU/addchapter.sce new file mode 100755 index 000000000..800958c7a --- /dev/null +++ b/modules/spreadsheet/help/ru_RU/addchapter.sce @@ -0,0 +1,11 @@ +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2009 - DIGITEO +// +// This file must be used under the terms of the CeCILL. +// This source file is licensed as described in the file COPYING, which +// you should have received as part of this distribution. The terms +// are also available at +// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + +add_help_chapter("Электронная таблица",SCI+"/modules/spreadsheet/help/ru_RU",%T); + diff --git a/modules/spreadsheet/help/ru_RU/read_csv.xml b/modules/spreadsheet/help/ru_RU/read_csv.xml new file mode 100755 index 000000000..921e4b61e --- /dev/null +++ b/modules/spreadsheet/help/ru_RU/read_csv.xml @@ -0,0 +1,171 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2009 - DIGITEO - Allan CORNET + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> + +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns4="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="read_csv" xml:lang="ru"> + + <refnamediv> + + <refname>read_csv</refname> + + <refpurpose>читает файл, содержащий значения, разделённые запятой (csv)</refpurpose> + + </refnamediv> + + <refsynopsisdiv> + + <title>Последовательность вызова</title> + + <synopsis>M = read_csv(fname [,sep])</synopsis> + + </refsynopsisdiv> + + <refsection> + + <title>Аргументы</title> + + <variablelist> + + <varlistentry> + + <term>fname</term> + + <listitem> + + <para>символьная строка. Имя файла и путь до него.</para> + + </listitem> + + </varlistentry> + + <varlistentry> + + <term>sep</term> + + <listitem> + + <para> + + символьная строка. Используемый разделитель полей, значение по умолчанию + + ",". + + </para> + + <para> + + Можно использовать <literal>ascii(9)</literal> или <literal>"\t"</literal> для разделителя табуляцией. + + </para> + + </listitem> + + </varlistentry> + + <varlistentry> + + <term>M</term> + + <listitem> + + <para>матрица строковых значений.</para> + + </listitem> + + </varlistentry> + + </variablelist> + + </refsection> + + <refsection> + + <title>Описание</title> + + <para> + + Для указанного ascii-файла с разделёнными полями, например созданного + + электронной таблицей, используя формат "Текст и запятая", + + <literal>М = read_csv(fname)</literal> возвращает соответствующую Scilab-матрицу + + строк <literal>M</literal>. Для того, чтобы выбрать иной разделитель, используйте + + <literal>M = read_csv(fname,sep)</literal>. + + </para> + + <para> + + <note> + + Вы можете преобразовать часть или все элементы матрицы <literal>M</literal> + + в числовое представление используя функцию <literal>evstr</literal>, + + которая преобразует строковые значения в числовые. + + </note> + + </para> + + </refsection> + + <refsection> + + <title>Примеры</title> + + <programlisting role="example"><![CDATA[ + // создадим файл с какими-то данными, разделёнными табулятором + A = 1:50; + mputl(strcat(string(A),ascii(9)), TMPDIR + '/foo.csv'); + + // прочитаем csv-файл + B = read_csv(TMPDIR + '/foo.csv'); + + // представим в числовой вид значения B + C = evstr(B); + + // сравним исходные данные и результат + and(A == C) + ]]></programlisting> + + </refsection> + + <refsection role="see also"> + + <title>Смотрите также</title> + + <simplelist type="inline"> + + <member> + + <link linkend="write_csv">write_csv</link> + + </member> + + <member> + + <link linkend="evstr">evstr</link> + + </member> + + </simplelist> + + </refsection> + +</refentry> + + + diff --git a/modules/spreadsheet/help/ru_RU/readxls.xml b/modules/spreadsheet/help/ru_RU/readxls.xml new file mode 100755 index 000000000..2816494c6 --- /dev/null +++ b/modules/spreadsheet/help/ru_RU/readxls.xml @@ -0,0 +1,177 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2005 - INRIA - Pierrick MODE + * Copyright (C) 2005-2008 - INRIA - Serge STEER <serge.steer@inria.fr> + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> + +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ru" xml:id="readxls"> + + <refnamediv> + + <refname>readxls</refname> + + <refpurpose>читает Excel-файл</refpurpose> + + </refnamediv> + + <refsynopsisdiv> + + <title>Последовательность вызова</title> + + <synopsis>sheets = readxls(file_path)</synopsis> + + </refsynopsisdiv> + + <refsection> + + <title>Аргументы</title> + + <variablelist> + + <varlistentry> + + <term>file_path</term> + + <listitem> + + <para>символьная строка: путь к Excel-файлу. + + </para> + + </listitem> + + </varlistentry> + + <varlistentry> + + <term>sheets</term> + + <listitem> + + <para> + + матричноориентированный список (<literal>mlist</literal>) типа + + <literal>xls</literal>, с одним полем, названным <literal>sheets</literal> + + </para> + + </listitem> + + </varlistentry> + + </variablelist> + + </refsection> + + <refsection> + + <title>Описание</title> + + <para> + + Для указанного пути к Excel-файлу эта функция возвращает структуру данных + + <literal>mlist</literal> типа <literal>xls</literal>, с одним полем, + + названным <literal>sheets</literal>. Поле <literal>sheets</literal> + + содержит список структур данных листов. + + </para> + + <para> + + <literal>sheet=mlist(['xlssheet','name','text','value'],sheetname,Text,Value)</literal>, где + + <literal>sheetname</literal> -- это символьная строка, содержащая имя листа, + + <literal>Text</literal> -- это матрица строк, которая содержит строки ячеек, а + + <literal>Value</literal> -- это матрица чисел, которая содержит значения ячеек. + + </para> + + <para> + + <warning> + + Обрабатываются только Excel-файлы BIFF8 (Excel-файлы последней версии (2003)). + + </warning> + + </para> + + + + </refsection> + + <refsection> + + <title>Примеры</title> + + <programlisting role="example"><![CDATA[ +Sheets = readxls('SCI/modules/spreadsheet/demos/xls/t1.xls') +// некоторые основные операции с листами Sheets +typeof(Sheets) +s1=Sheets(1) //получим первый лист +typeof(s1) +s1.value //получим поле значения первого листа +s1.text //получим поле текста первого листа +s1(2,:) //получим вторую строку листа +typeof(s1(2,:)) + +disp(s1) + ]]></programlisting> + + </refsection> + + <refsection role="see also"> + + <title>Смотрите также</title> + + <simplelist type="inline"> + + <member> + + <link linkend="xls_open">xls_open</link> + + </member> + + <member> + + <link linkend="xls_read">xls_read</link> + + </member> + + </simplelist> + + </refsection> + + <refsection> + + <title>Используемые функции</title> + + <para> + + Эта функция основана на функциях Scilab'а <literal>xls_open</literal> + + и <literal>xls_read</literal>. + + </para> + + </refsection> + +</refentry> + + + diff --git a/modules/spreadsheet/help/ru_RU/write_csv.xml b/modules/spreadsheet/help/ru_RU/write_csv.xml new file mode 100755 index 000000000..a823b61ed --- /dev/null +++ b/modules/spreadsheet/help/ru_RU/write_csv.xml @@ -0,0 +1,193 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2009-2010 - DIGITEO - Allan CORNET + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> + +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns4="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="write_csv" xml:lang="ru"> + + <refnamediv> + + <refname>write_csv</refname> + + <refpurpose> + + записывает файл, содержащий значения, разделённые запятой (csv) + + </refpurpose> + + </refnamediv> + + <refsynopsisdiv> + + <title>Последовательность вызова</title> + + <synopsis>write_csv(M, filename [,sep, dec])</synopsis> + + </refsynopsisdiv> + + <refsection> + + <title>Аргументы</title> + + <variablelist> + + <varlistentry> + + <term>filename</term> + + <listitem> + + <para>символьная строка. Имя файла и путь до него</para> + + </listitem> + + </varlistentry> + + <varlistentry> + + <term>M</term> + + <listitem> + + <para>матрица строк</para> + + </listitem> + + </varlistentry> + + <varlistentry> + + <term>sep</term> + + <listitem> + + <para> + + знак разделения столбцов, по умолчанию это табуляция: <literal>ascii(9)</literal> или <literal>"\t"</literal> + + </para> + + </listitem> + + </varlistentry> + + <varlistentry> + + <term>dec</term> + + <listitem> + + <para> + десятичный знак <literal>'.'</literal> или <literal>','</literal>. По умолчанию: <literal>','</literal> + </para> + + </listitem> + + </varlistentry> + + </variablelist> + + </refsection> + + <refsection> + + <title>Описание</title> + + <para> + + <literal>write_csv(M, filename)</literal> записывает матрицу <literal>M</literal> + + в файл с именем <literal>filename</literal> в виде значений, разделённых табуляцией. + + Входной аргумент <literal>filename</literal> является строкой. + + </para> + + <para> + + Если файл с именем <literal>'filename'</literal> уже существует, то он будет + + переписан. + + </para> + + </refsection> + + <refsection> + + <title>Примеры</title> + + <programlisting role="example"><![CDATA[ + // сохраним матрицу в формате csv-файла + A = [1:10] * 0.1; + write_csv(A, TMPDIR + '/data.tsv'); + + // прочитаем как текст + mgetl(TMPDIR + '/data.tsv') + + //значения, разделённые табуляцией + r = read_csv(TMPDIR + '/data.tsv', ascii(9)); + r = strsubst(r, ',' , '.'); + evstr(r) + + A = [1:10] * 0.1; + write_csv(A', TMPDIR+'/foo.csv', ' ', '.'); + mgetl(TMPDIR+'/foo.csv') + + //значения, разделённые табуляцией + write_csv(A, TMPDIR + '/datas.tsv'); + + //значения, разделённые запятыми + write_csv(A, TMPDIR + '/data.csv', ';'); + + ]]></programlisting> + + </refsection> + + <refsection role="see also"> + + <title>Смотрите также</title> + + <simplelist type="inline"> + + <member> + + <link linkend="read_csv">read_csv</link> + + </member> + + <member> + + <link linkend="evstr">evstr</link> + + </member> + + <member> + + <link linkend="mgetl">mgetl</link> + + </member> + + <member> + + <link linkend="format">format</link> + + </member> + + </simplelist> + + </refsection> + +</refentry> + + + diff --git a/modules/spreadsheet/help/ru_RU/xls_open.xml b/modules/spreadsheet/help/ru_RU/xls_open.xml new file mode 100755 index 000000000..4f3cbfe08 --- /dev/null +++ b/modules/spreadsheet/help/ru_RU/xls_open.xml @@ -0,0 +1,256 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2005 - INRIA - Pierrick MODE + * Copyright (C) 2005-2008 - INRIA - Serge STEER <serge.steer@inria.fr> + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> + +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ru" xml:id="xls_open"> + + <refnamediv> + + <refname>xls_open</refname> + + <refpurpose>открывает Excel-файл для чтения</refpurpose> + + </refnamediv> + + <refsynopsisdiv> + + <title>Последовательность вызова</title> + + <synopsis>[fd,SST,Sheetnames,Sheetpos] = xls_open(file_path)</synopsis> + + </refsynopsisdiv> + + <refsection> + + <title>Аргументы</title> + + <variablelist> + + <varlistentry> + + <term>file_path</term> + + <listitem> + + <para> + + символьная строка: путь до Excel-файла. + + </para> + + </listitem> + + </varlistentry> + + <varlistentry> + + <term>fd</term> + + <listitem> + + <para>число: логический блок на потоке Excel. + + </para> + + </listitem> + + </varlistentry> + + <varlistentry> + + <term>SST</term> + + <listitem> + + <para> + + вектор всех символьных строк, которые встретились на Excel-листах. + + </para> + + </listitem> + + </varlistentry> + + <varlistentry> + + <term>Sheetnames</term> + + <listitem> + + <para> + + вектор строк: имена листов. + + </para> + + </listitem> + + </varlistentry> + + <varlistentry> + + <term>Sheetpos</term> + + <listitem> + + <para> + + вектор чисел: положение начала листов в потоке + + Excel. + + </para> + + </listitem> + + </varlistentry> + + </variablelist> + + </refsection> + + <refsection> + + <title>Описание</title> + + <para> + + Эта функция сначала анализирует структуру данных ole2, связанную с + + указанным файлом, для того, чтобы выделить поток Excel, который + + включён в него. После этого, поток Excel сохраняется в директории + + <literal>TMDIR</literal> и открывается. Логический блок + + <literal>fd</literal> указывает на этот временный файл. Затем читается + + первый лист в этом потоке для того, чтобы получить общую информацию, + + такую, как количество листов, имена листов <literal>Sheetnames</literal>, + + адреса листов в потоке <literal>Sheetpos</literal> и + + <literal>SST</literal>, который содержит все строки, используемые в + + следующих листах. + + </para> + + <para> + + Данные <literal>fd</literal> и <literal>Sheetpos</literal> должны быть переданы + + в <link linkend="xls_read">xls_read</link> для того, чтобы прочитать данные + + листов. + + </para> + + <para> + + Функция <link linkend="readxls">readxls</link> может быть использована для + + чтения всего Excel-файла в одной функции за единственный вызов функции. + + </para> + + <para> + + <warning> + + Обрабатываются только Excel-файлы BIFF8 Excel (последняя версия Excel-файлов (2003)). + + </warning> + + </para> + + </refsection> + + <refsection> + + <title>Примеры</title> + + <programlisting role="example"><![CDATA[ +//Декодируем ole-файл, выделим и откроем поток Excel +[fd,SST,Sheetnames,Sheetpos] = xls_open('SCI/modules/spreadsheet/demos/xls/Test1.xls') + +//Чтение первого листа данных +[Value,TextInd] = xls_read(fd,Sheetpos(1)) + +//закрываем поток электронной таблицы +mclose(fd) + ]]></programlisting> + + </refsection> + + <refsection role="see also"> + + <title>Смотрите также</title> + + <simplelist type="inline"> + + <member> + + <link linkend="xls_read">xls_read</link> + + </member> + + <member> + + <link linkend="readxls">readxls</link> + + </member> + + </simplelist> + + </refsection> + + <refsection> + + <title>Литература</title> + + <para> + + Эта функция основана на документации Microsoft по файлу ole2 + + (<ulink url="http://chicago.sourceforge.net/devel/docs/ole/">http://chicago.sourceforge.net/devel/docs/ole/</ulink>) + + и на описании потока Excel из OpenOffice + + (<ulink url="http://sc.openoffice.org/spreadsheetfileformat.pdf">http://sc.openoffice.org/spreadsheetfileformat.pdf</ulink>). + + </para> + + </refsection> + + <refsection> + + <title>Используемые функции</title> + + <para> + + Для выделения потока электронной таблицы из ole-файла используется + + процедура ripole-0.1.4 (<ulink url="http://www.pldaniels.com/ripole">http://www.pldaniels.com/ripole</ulink>). + + </para> + + </refsection> + +</refentry> + + + diff --git a/modules/spreadsheet/help/ru_RU/xls_read.xml b/modules/spreadsheet/help/ru_RU/xls_read.xml new file mode 100755 index 000000000..aae25142b --- /dev/null +++ b/modules/spreadsheet/help/ru_RU/xls_read.xml @@ -0,0 +1,225 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2005 - INRIA - Pierrick MODE + * Copyright (C) 2005-2008 - INRIA - Serge STEER <serge.steer@inria.fr> + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> + +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ru" xml:id="xls_read"> + + <refnamediv> + + <refname>xls_read</refname> + + <refpurpose>читает листы в Excel-файле</refpurpose> + + </refnamediv> + + <refsynopsisdiv> + + <title>Последовательность вызова</title> + + <synopsis>[Value,TextInd] = xls_read(fd,Sheetpos)</synopsis> + + </refsynopsisdiv> + + <refsection> + + <title>Аргументы</title> + + <variablelist> + + <varlistentry> + + <term>fd</term> + + <listitem> + + <para> + + число: логическая единица на потоке Excel, возвращённая функцией <link linkend="xls_open">xls_open</link> + + </para> + + </listitem> + + </varlistentry> + + <varlistentry> + + <term>Sheetpos</term> + + <listitem> + + <para> + + число: положение начала листа в потоке Excel. Это положение является одним из тех, + + которые были возвращены функцией <link linkend="xls_open">xls_open</link>. + + </para> + + </listitem> + + </varlistentry> + + <varlistentry> + + <term>Value</term> + + <listitem> + + <para> + + матрица чисел: числовые данные, найденные в листе. Ячейки без числовых + + данных представляются в виде значения <literal>NaN</literal>. + + </para> + + </listitem> + + </varlistentry> + + <varlistentry> + + <term>TextInd</term> + + <listitem> + + <para> + + матрица индексов того же размера, что и <literal>Value</literal>. Нулевой + + индекс означает, что в соответствующей ячейке Excel нет строковых значений. + + Положительный индекс <literal>i</literal> указывает на строковое значение + + <literal>SST(i)</literal>, где <literal>SST</literal> предоставлено функцией + + <link linkend="xls_open">xls_open</link>. + + </para> + + </listitem> + + </varlistentry> + + </variablelist> + + </refsection> + + <refsection> + + <title>Описание</title> + + <para> + + Эта функция читает листы Excel, указанные логическим блоком в потоке Excel, + + и положение начала листа внутри этого потока. Она возвращает числовые и строковые + + данные, содержащиеся в ячейках Excel. + + </para> + + <para> + + Для чтения всего Excel-файла в одной функции одним-единственным вызовом можно + + использовать Функцию <link linkend="readxls">readxls</link>. + + </para> + + <para> + + <warning> + + Обрабатываются только Excel-файлы BIFF8 Excel (последняя версия Excel-файлов (2003)). + + </warning> + + + </para> + + </refsection> + + <refsection> + + <title>Примеры</title> + + <programlisting role="example"><![CDATA[ +//Декодирование ole-файла, выделение и открытие потока Excel +[fd,SST,Sheetnames,Sheetpos] = xls_open('SCI/modules/spreadsheet/demos/xls/Test1.xls') + +//Чтение перового листа данных +[Value,TextInd] = xls_read(fd,Sheetpos(1)) + +//закрываем поток электронной таблицы +mclose(fd) + ]]></programlisting> + + </refsection> + + <refsection role="see also"> + + <title>Смотрите также</title> + + <simplelist type="inline"> + + <member> + + <link linkend="xls_open">xls_open</link> + + </member> + + <member> + + <link linkend="readxls">readxls</link> + + </member> + + </simplelist> + + </refsection> + + <refsection> + + <title>Литература</title> + + <para> + + Эта функция основана на описании потока Excel из OpenOffice + + (<ulink url="http://sc.openoffice.org/spreadsheetfileformat.pdf">http://sc.openoffice.org/spreadsheetfileformat.pdf</ulink>). + + </para> + + </refsection> + + <refsection> + + <title>Используемые функции</title> + + <para> + + Эта функция ислользует файл xls.c, который можно найти в + + исходном коде Scilab в директории SCIDIR/modules/spreadsheet/src/c. + + </para> + + </refsection> + +</refentry> + + + diff --git a/modules/spreadsheet/includes/dynlib_spreadsheet.h b/modules/spreadsheet/includes/dynlib_spreadsheet.h new file mode 100755 index 000000000..0d5002c7a --- /dev/null +++ b/modules/spreadsheet/includes/dynlib_spreadsheet.h @@ -0,0 +1,28 @@ +/* +* Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +* Copyright (C) DIGITEO - 2009 - Allan CORNET +* +* This file must be used under the terms of the CeCILL. +* This source file is licensed as described in the file COPYING, which +* you should have received as part of this distribution. The terms +* are also available at +* http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt +* +*/ + +/*--------------------------------------------------------------------------*/ +#ifndef __DYNLIB_SPREADSHEET_H__ +#define __DYNLIB_SPREADSHEET_H__ + +#ifdef _MSC_VER +#ifdef SPREADSHEET_EXPORTS +#define SPREADSHEET_IMPEXP __declspec(dllexport) +#else +#define SPREADSHEET_IMPEXP __declspec(dllimport) +#endif +#else +#define SPREADSHEET_IMPEXP +#endif + +#endif /* __DYNLIB_SPREADSHEET_H__ */ +/*--------------------------------------------------------------------------*/ diff --git a/modules/spreadsheet/includes/gw_spreadsheet.h b/modules/spreadsheet/includes/gw_spreadsheet.h new file mode 100755 index 000000000..b7a98d397 --- /dev/null +++ b/modules/spreadsheet/includes/gw_spreadsheet.h @@ -0,0 +1,31 @@ + +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2007-2008 - INRIA - Allan CORNET <allan.cornet@inria.fr> + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +#ifndef __GW_SPREADSHEET_H__ +#define __GW_SPREADSHEET_H__ +/*--------------------------------------------------------------------------*/ +#include "dynlib_spreadsheet.h" +/*--------------------------------------------------------------------------*/ +SPREADSHEET_IMPEXP int gw_spreadsheet(void); +/*--------------------------------------------------------------------------*/ +SPREADSHEET_IMPEXP int sci_xls_read(char *fname, unsigned long fname_len); +SPREADSHEET_IMPEXP int sci_xls_open(char *fname, unsigned long fname_len); +SPREADSHEET_IMPEXP int sci_csvDefault(char *fname, unsigned long fname_len); +SPREADSHEET_IMPEXP int sci_csvRead(char *fname, unsigned long fname_len); +SPREADSHEET_IMPEXP int sci_csvStringToDouble(char *fname, unsigned long fname_len); +SPREADSHEET_IMPEXP int sci_csvTextScan(char *fname, unsigned long fname_len); +SPREADSHEET_IMPEXP int sci_csvWrite(char *fname, unsigned long fname_len); + +/*--------------------------------------------------------------------------*/ +#endif /* __GW_SPREADSHEET_H__ */ +/*--------------------------------------------------------------------------*/ diff --git a/modules/spreadsheet/libscispreadsheet-algo.la b/modules/spreadsheet/libscispreadsheet-algo.la new file mode 100755 index 000000000..27231ab46 --- /dev/null +++ b/modules/spreadsheet/libscispreadsheet-algo.la @@ -0,0 +1,41 @@ +# libscispreadsheet-algo.la - a libtool library file +# Generated by libtool (GNU libtool) 2.4.2 +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# The name that we can dlopen(3). +dlname='' + +# Names of this library. +library_names='' + +# The name of the static archive. +old_library='libscispreadsheet-algo.a' + +# Linker flags that can not go in dependency_libs. +inherited_linker_flags='' + +# Libraries that this one depends upon. +dependency_libs=' -lpthread -ldl -lcurses -lm' + +# Names of additional weak libraries provided by this library +weak_library_names='' + +# Version information for libscispreadsheet-algo. +current= +age= +revision= + +# Is this an already installed library? +installed=no + +# Should we warn about portability when linking against -modules? +shouldnotlink=no + +# Files to dlopen/dlpreopen +dlopen='' +dlpreopen='' + +# Directory that this library needs to be installed in: +libdir='' diff --git a/modules/spreadsheet/libscispreadsheet.la b/modules/spreadsheet/libscispreadsheet.la new file mode 100755 index 000000000..9a7da5623 --- /dev/null +++ b/modules/spreadsheet/libscispreadsheet.la @@ -0,0 +1,41 @@ +# libscispreadsheet.la - a libtool library file +# Generated by libtool (GNU libtool) 2.4.2 +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# The name that we can dlopen(3). +dlname='libscispreadsheet.so.5' + +# Names of this library. +library_names='libscispreadsheet.so.5.5.2 libscispreadsheet.so.5 libscispreadsheet.so' + +# The name of the static archive. +old_library='' + +# Linker flags that can not go in dependency_libs. +inherited_linker_flags='' + +# Libraries that this one depends upon. +dependency_libs=' -lpthread -ldl -lcurses -lm' + +# Names of additional weak libraries provided by this library +weak_library_names='' + +# Version information for libscispreadsheet. +current=10 +age=5 +revision=2 + +# Is this an already installed library? +installed=no + +# Should we warn about portability when linking against -modules? +shouldnotlink=no + +# Files to dlopen/dlpreopen +dlopen='' +dlpreopen='' + +# Directory that this library needs to be installed in: +libdir='/usr/local/lib/scilab' diff --git a/modules/spreadsheet/license.txt b/modules/spreadsheet/license.txt new file mode 100755 index 000000000..fb1791636 --- /dev/null +++ b/modules/spreadsheet/license.txt @@ -0,0 +1,76 @@ +Copyright: +Copyright (c) 2008 - DIGITEO +Copyright (c) 1989-2008 - INRIA + +License: +This module must be used under the terms of the CeCILL. +This module file is licensed as described in the file COPYING, which +you should have received as part of this distribution. The terms +are also available at +http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + + +Ripole: +======= + +Files: src/c/ripole/* + +Copyright: +2003, PLD + +License: + +Redistribution and use in source and binary forms, with or +without modification, are permitted provided that the +following conditions are met: + +* Redistributions of source code must retain the above +copyright notice, this list of conditions and the following +disclaimer. + +* Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following +disclaimer in the documentation and/or other materials provided +with the distribution. + +* Neither the name of the PLD nor the names of its contributors +may be used to endorse or promote products derived from this software +without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. + + +Various files: +============== + +Some files are published under a double license GPL V3 / CeCILL. + +Files: sci_gateway/cpp/gw_csv_helpers.cpp +sci_gateway/cpp/sci_csvStringToDouble.cpp +sci_gateway/cpp/gw_csv_helpers.h +sci_gateway/cpp/sci_csvWrite.cpp +sci_gateway/cpp/sci_csvTextScan.cpp +sci_gateway/cpp/gw_csv_tools.h +sci_gateway/cpp/sci_csvRead.cpp +sci_gateway/cpp/sci_csvDefault.cpp +sci_gateway/cpp/sci_csvIsnum.cpp +src/cpp/stringToComplex.h +src/cpp/stringToComplex.c +src/cpp/stringToDouble.c +src/cpp/stringToDouble.h + + +Copyright: Allan Cornet - 2012 + +License: GPL V3 diff --git a/modules/spreadsheet/locales/ca_ES.po b/modules/spreadsheet/locales/ca_ES.po new file mode 100755 index 000000000..a1324baca --- /dev/null +++ b/modules/spreadsheet/locales/ca_ES.po @@ -0,0 +1,420 @@ +# Catalan translation for scilab +# Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 +# This file is distributed under the same license as the scilab package. +# FIRST AUTHOR <EMAIL@ADDRESS>, 2009. +# +msgid "" +msgstr "" +"Project-Id-Version: scilab\n" +"Report-Msgid-Bugs-To: <localization@lists.scilab.org>\n" +"POT-Creation-Date: 2013-04-16 17:44+0100\n" +"PO-Revision-Date: 2012-04-19 17:54+0000\n" +"Last-Translator: Marc Coll Carrillo <Unknown>\n" +"Language-Team: Catalan <ca@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Launchpad (build 17413)\n" +"Language: ca\n" + +#, c-format +msgid "%s: Wrong type for input argument #%d: A string expected.\n" +msgstr "" + +#, c-format +msgid "%s: Wrong size for input argument #%d: A string expected.\n" +msgstr "" + +#, c-format +msgid "%s: Memory allocation error.\n" +msgstr "" + +#, c-format +msgid "%s: Wrong type for input argument #%d: A double expected.\n" +msgstr "" + +#, c-format +msgid "%s: Wrong size for input argument #%d: A double expected.\n" +msgstr "" + +#, c-format +msgid "%s: Wrong type for input argument #%d: A boolean expected.\n" +msgstr "" + +#, c-format +msgid "%s: Wrong size for input argument #%d: A boolean expected.\n" +msgstr "" + +#, c-format +msgid "%s: Wrong type for input argument #%d: A matrix of double expected.\n" +msgstr "" + +#, c-format +msgid "" +"%s: Wrong value for input argument #%d: A matrix of double, with integer " +"values, expected.\n" +msgstr "" + +#, c-format +msgid "" +"%s: Wrong value for input argument #%d: '%s', '%s', '%s', '%s', '%s' or '%s' " +"expected.\n" +msgstr "" + +#, c-format +msgid "" +"%s: Wrong value for input argument #%d: A double (value %d to %d) expected.\n" +msgstr "" + +#, c-format +msgid "" +"%s: Wrong value for input argument #%d: '%s', '%s', '%s' , '%s', '%s', '%s', " +"'%s' or '%s' expected.\n" +msgstr "" + +#, c-format +msgid "%s: Wrong size for input argument #%d: Four entries expected.\n" +msgstr "" + +#, c-format +msgid "" +"%s: Wrong size for input argument #%d: A column or row vector expected.\n" +msgstr "" + +#, c-format +msgid "%s: Wrong value for input argument #%d: Inconsistent range.\n" +msgstr "" + +#, c-format +msgid "%s: Wrong size for input argument #%d.\n" +msgstr "" + +#, c-format +msgid "" +"%s: Wrong value for input argument #%d: '%s' or '%s' string expected.\n" +msgstr "" + +#, c-format +msgid "%s: Wrong value for input argument #%d.\n" +msgstr "" + +#, c-format +msgid "%s: separator and decimal must have different values.\n" +msgstr "" + +#, c-format +msgid "%s: Range row or/and column left indice(s) out of bounds.\n" +msgstr "" + +#, c-format +msgid "%s: can not convert data.\n" +msgstr "" + +#, c-format +msgid "%s: %s does not exist.\n" +msgstr "" + +#, c-format +msgid "%s: can not open file %s.\n" +msgstr "" + +#, c-format +msgid "%s: can not read file %s: Error in the column structure\n" +msgstr "" + +#, c-format +msgid "%s: can not read file %s.\n" +msgstr "" + +#, c-format +msgid "%s: Wrong size for input argument #%d: String vector expected.\n" +msgstr "" + +#, c-format +msgid "%s: can not read text: Error in the column structure\n" +msgstr "" + +#, c-format +msgid "%s: can not read text.\n" +msgstr "" + +#, c-format +msgid "" +"%s: Wrong size for input argument #%d: A 1-by-n or m-by-1 array of strings " +"expected.\n" +msgstr "" + +#, c-format +msgid "" +"%s: Wrong value for input argument #%d: A double (value 1 to 17) expected.\n" +msgstr "" + +#, c-format +msgid "%s: Not supported format %s.\n" +msgstr "" + +#, c-format +msgid "%s: Wrong value for input argument #%d: '%s' or '%s' expected.\n" +msgstr "" +"%s: L'argument d'entrada #%d té un valor incorrecte: Ha de ser '%s' or " +"'%s'.\n" + +#, c-format +msgid "" +"%s: Wrong type for input argument #%d: A matrix of string or a matrix of " +"real expected.\n" +msgstr "" + +#, c-format +msgid "%s: error.\n" +msgstr "" + +#, c-format +msgid "The file %s does not exist.\n" +msgstr "El fitxer %s no existeix.\n" + +#, c-format +msgid "%s: File %s is not an ole2 file.\n" +msgstr "%s: El %s no és un fitxer ole2.\n" + +#, c-format +msgid "%s: Cannot open file %s.\n" +msgstr "%s: No s'ha pogut obrir el fitxer %s.\n" + +#, c-format +msgid "%s: There is no xls stream in the ole2 file %s.\n" +msgstr "%s: No hi ha cap flux de dades xls en el fitxer ole2 %s.\n" + +#, c-format +msgid "%s: Not an ole2 file.\n" +msgstr "%s: No és un fitxer ole2.\n" + +#, c-format +msgid "%s: The file has no Workbook directory.\n" +msgstr "%s: El fitxer no té directori de fulles.\n" + +#, c-format +msgid "%s: No more memory.\n" +msgstr "%s: No hi ha més memòria.\n" + +#, c-format +msgid "%s: Incorrect or corrupted file.\n" +msgstr "%s: El fitxer és incorrecte.\n" + +#, c-format +msgid "%s: Only BIFF8 file format is handled.\n" +msgstr "%s: Només es pot tractar el format de fitxer BIFF8.\n" + +#, c-format +msgid "%s: Wrong type for input argument #%d: Scalar expected.\n" +msgstr "" +"%s: L'argument d'entrada #%d és d'un tipus incorrecte: Ha de ser un " +"escalar.\n" + +#, c-format +msgid "%s: Failed to read expected data, may be invalid xls file.\n" +msgstr "%s: No s'ha pogut llegir les dades, pot ser un fitxer xls invàlid.\n" + +#, c-format +msgid "%s: End of file.\n" +msgstr "%s: Final de fitxer.\n" + +#, c-format +msgid "" +"%s: Inconsistency found in the columns. At line %d, found %d columns while " +"the previous had %d.\n" +msgstr "" + +msgid "Warning" +msgstr "" + +#, c-format +msgid "LOGGER_set_logfile: ERROR - Cannot open logfile '%s' (%s)" +msgstr "" +"LOGGER_set_logfile: Error - No s'ha pogut obrir el fitxer de traces '%s' (%s)" + +#, c-format +msgid "LOGGER_set_logfile: ERROR - Cannot open logfile '%s' (%s)\n" +msgstr "" +"LOGGER_set_logfile: Error - No s'ha pogut obrir el fitxer de traces '%s' " +"(%s)\n" + +#, c-format +msgid "LOGGER-Default: %s%s" +msgstr "LOGGER-Predeterminat: %s%s" + +#, c-format +msgid "ripOLE: %s\n" +msgstr "ripOLE: %s\n" + +#, c-format +msgid "%s:%d:OLE_set_debug: Debug level set to %d" +msgstr "%s:%d:OLE_set_debug: S'ha definit el nivell de traces a %d" + +#, c-format +msgid "%s:%d:OLE_get_block:ERROR: Block buffer is NULL" +msgstr "%s:%d:OLE_get_block:Error: El bloc de la memòria intermèdia està nul" + +#, c-format +msgid "%s:%d:OLE_get_block:ERROR: Cannot allocate %d bytes for OLE block" +msgstr "" +"%s:%d:OLE_get_block:ERROR: No s'ha pogut assignar %d bytes per al bloc OLE" + +#, c-format +msgid "%s:%d:OLE_get_block:ERROR: Seek failure (block=%d:%d)" +msgstr "%s:%d:OLE_get_block:ERROR: Error de cerca (block=%d:%d)" + +#, c-format +msgid "%s:%d:Mismatch in bytes read. Requested %d, got %d\n" +msgstr "" +"%s:%d: S'ha llegit una incoherència de bytes. S'han demanat %d, i s'han " +"obtingut %d\n" + +#, c-format +msgid "%s:%d:OLE_get_block:ERROR: OLE file is closed\n" +msgstr "%s:%d:OLE_get_block:Error: El fitxer OLE està tancat\n" + +#, c-format +msgid "%s:%d:OLE_load_FAT:ERROR: Unable to allocate %d bytes\n" +msgstr "%s:%d:OLE_load_FAT:Error: No s'ha pogut assignar %d bytes\n" + +#, c-format +msgid "" +"%s:%d:OLE_load_FAT:ERROR: Not able to load block, import sector = 0x%x, fat " +"position = 0x%x" +msgstr "" +"%s:%d:OLE_load_FAT:Error: No s'ha pogut carregar el bloc, import sector = " +"0x%x, fat position = 0x%x" + +#, c-format +msgid "%s:%d:OLE_load_FAT:ERROR: FAT memory boundary limit exceeded %p >= %p" +msgstr "" +"%s:%d:OLE_load_FAT:Error: S'ha excedit el límit de la memòria FAT %p >= %p" + +#, c-format +msgid "%s:%d:OLE_load_FAT:ERROR: sector request was negative (%d)" +msgstr "%s:%d:OLE_load_FAT:Error: La petició de sectors era negativa (%d)" + +#, c-format +msgid "" +"%s:%d:OLE_get_miniblock:ERROR: Failed to allocate enough memory for miniChain" +msgstr "" +"%s:%d:OLE_get_miniblock:Error: No s'ha pogut assignar prou memòria per al " +"miniChain" + +#, c-format +msgid "%s:%d:OLE_load_chain:ERROR: Load-chain went over memory boundary" +msgstr "" +"%s:%d:OLE_load_chain:Error: La cadena de càrrega ha anat més enllà del límit " +"de memòria" + +#, c-format +msgid "%s:%d:OLE_open_file:ERROR: Cannot locate file '%s' for opening (%s)" +msgstr "" +"%s:%d:OLE_open_file:Error: No s'ha pogut trobar el fitxer '%s' per a obrir-" +"lo (%s)" + +#, c-format +msgid "%s:%d:OLE_open_file:ERROR:Cannot open %s for reading (%s)\n" +msgstr "" +"%s:%d:OLE_open_file:Error:No s'ha pogut obrir el fitxer %s per a llegir-lo " +"(%s)\n" + +#, c-format +msgid "%s:%d:OLE_open_directory:ERROR: %s" +msgstr "%s:%d:OLE_open_directory:Error: %s" + +#, c-format +msgid "" +"%s:%d:OLE_store_stream:ERROR: Cannot compose full filename string from '%s' " +"and '%s'" +msgstr "" +"%s:%d:OLE_store_stream:Error: No s'ha pogut composar el nom sencer del " +"fitxer a partir de '%s' i '%s'" + +#, c-format +msgid "%s:%d:OLE_store_stream:ERROR: Cannot open %s for writing (%s)" +msgstr "" +"%s:%d:OLE_store_stream:Error: No s'ha pogut obrir el fitxer %s per a " +"escriure'l (%s)" + +#, c-format +msgid "%s:%d:OLE_store_stream:WARNING: Only wrote %d of %d bytes to file %s" +msgstr "" +"%s:%d:OLE_store_stream:Avís: Només s'ha escrit %d de %d bytes al fitxer %s" + +#, c-format +msgid "" +"%s:%d:OLEUNWRAP_save_stream:ERROR: Unable to create filename string from " +"'%s' and '%s'" +msgstr "" +"%s:%d:OLEUNWRAP_save_stream:Error: No s'ha pogut composar el nom de fitxer a " +"partir de '%s' i '%s'" + +#, c-format +msgid "" +"%s:%d:OLEUNWRAP_save_stream:WARNING: Only wrote %d of %d bytes to file %s\n" +msgstr "" +"%s:%d:OLEUNWRAP_save_stream:Avís: Només s'ha escrit %d de %d bytes al fitxer " +"%s\n" + +#, c-format +msgid "" +"%s:%d:OLEUNWRAP_save_stream:ERROR: Unable to open %s for writing (%s)\n" +msgstr "" +"%s:%d:OLEUNWRAP_save_stream:Error: No s'ha pogut obrir el fitxer %s per a " +"obrir-lo (%s)\n" + +#, c-format +msgid "" +"%s:%d:OLEUNWRAP_decode_attachment:DEBUG: Attachment %s:%s:%s size = %d\n" +msgstr "" +"%s:%d:OLEUNWRAP_decode_attachment:DEBUG: Addició %s:%s:%s size = %d\n" + +#, c-format +msgid "" +"%s:%d:OLEUNWRAP_decode_attachment:DEBUG: Calling reporter for the filename" +msgstr "" +"%s:%d:OLEUNWRAP_decode_attachment:DEBUG: Cridant a l'informador per al nom " +"de fitxer" + +#, c-format +msgid "Unable to decode stream with element string '%s'\n" +msgstr "No s'ha pogut decodificar el flux de dades amb l'element '%s'\n" + +#, c-format +msgid "" +"%s:%d:PLD_strreplace:ERROR: Cannot allocate %d bytes of memory to perform " +"replacement operation" +msgstr "" +"%s:%d:PLD_strreplace:Error: No s'ha pogut assignar %d bytes de memòria per a " +"realitzar el reemplaçament" + +#, c-format +msgid "" +"%s:%d:PLD_strreplace_general: Allocated memory ran out while replacing '%s' " +"with '%s'" +msgstr "" +"%s:%d:PLD_strreplace_general: La memòria assignada s'ha acabat quan s'estava " +"reemplaçant '%s' per '%s'" + +#, c-format +msgid "Decoding filename=%s" +msgstr "S'està decodificant el nom de fitxer=%s" + +#, c-format +msgid "ripOLE requires an input file to decode.\n" +msgstr "El ripOLE necessita un fitxer d'entrada per a decodificar.\n" + +#, c-format +msgid "ripOLE: decoding of %s resulted in error %d.\n" +msgstr "ripOLE: La decodificació de %s ha acabat en error %d.\n" + +msgid "Scilab spreadsheet module not installed.\n" +msgstr "El mòdul de fulla de càlcul del Scilab no està instal·lat.\n" + +msgid "Spreadsheet" +msgstr "Full de càlcul" + +msgid "Read a xls file" +msgstr "Llegeix un fitxer xls" diff --git a/modules/spreadsheet/locales/cs_CZ.po b/modules/spreadsheet/locales/cs_CZ.po new file mode 100755 index 000000000..47aa374ca --- /dev/null +++ b/modules/spreadsheet/locales/cs_CZ.po @@ -0,0 +1,427 @@ +# Czech translation for scilab +# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011 +# This file is distributed under the same license as the scilab package. +# FIRST AUTHOR <EMAIL@ADDRESS>, 2011. +# +msgid "" +msgstr "" +"Project-Id-Version: scilab\n" +"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" +"POT-Creation-Date: 2013-04-16 17:44+0100\n" +"PO-Revision-Date: 2013-03-21 13:44+0000\n" +"Last-Translator: Zbyněk Schwarz <Unknown>\n" +"Language-Team: Czech <cs@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Launchpad (build 17413)\n" + +#, c-format +msgid "%s: Wrong type for input argument #%d: A string expected.\n" +msgstr "%s: Špatný typ vstupního argumentu #%d: Očekáván řetězec.\n" + +#, c-format +msgid "%s: Wrong size for input argument #%d: A string expected.\n" +msgstr "%s: Špatná velikost vstupního argumentu #%d: Očekáván řetězec.\n" + +#, c-format +msgid "%s: Memory allocation error.\n" +msgstr "%s: Chyba při přidělování paměti.\n" + +#, c-format +msgid "%s: Wrong type for input argument #%d: A double expected.\n" +msgstr "" +"%s: Špatný typ vstupního argumentu #%d: Očekáváno číslo s dvojitou " +"přesností.\n" + +#, c-format +msgid "%s: Wrong size for input argument #%d: A double expected.\n" +msgstr "" +"%s: Špatná velikost vstupního argumentu #%d: Očekáváno číslo s dvojitou " +"přesností.\n" + +#, c-format +msgid "%s: Wrong type for input argument #%d: A boolean expected.\n" +msgstr "%s: Špatný typ vstupního argumentu #%d: Očekáván boolean.\n" + +#, c-format +msgid "%s: Wrong size for input argument #%d: A boolean expected.\n" +msgstr "%s: Špatná velikost vstupního argumentu #%d: Byl očekáván boolean.\n" + +#, c-format +msgid "%s: Wrong type for input argument #%d: A matrix of double expected.\n" +msgstr "" +"%s: Špatný typ vstupního argumentu #%d: Očekávána matice čísel s dvojitou " +"přesností.\n" + +#, c-format +msgid "" +"%s: Wrong value for input argument #%d: A matrix of double, with integer " +"values, expected.\n" +msgstr "" +"%s: Špatná hodnota vstupního argumentu #%d: Očekávána matice celých čísel s " +"dvojitou přesností.\n" + +#, c-format +msgid "" +"%s: Wrong value for input argument #%d: '%s', '%s', '%s', '%s', '%s' or '%s' " +"expected.\n" +msgstr "" +"%s: Špatná hodnota vstupního argumentu #%d: očekáváno '%s', '%s', '%s', " +"'%s', '%s' nebo '%s'.\n" + +#, c-format +msgid "" +"%s: Wrong value for input argument #%d: A double (value %d to %d) expected.\n" +msgstr "" +"%s: Špatná hodnota vstupního argumentu #%d: Očekávána hodnota s dvojitou " +"přesností (%d až %d).\n" + +#, c-format +msgid "" +"%s: Wrong value for input argument #%d: '%s', '%s', '%s' , '%s', '%s', '%s', " +"'%s' or '%s' expected.\n" +msgstr "" +"%s: Špatná hodnota vstupního argumentu #%d: očekáváno '%s', '%s', '%s', " +"'%s', '%s', '%s', '%s' nebo '%s'.\n" + +#, c-format +msgid "%s: Wrong size for input argument #%d: Four entries expected.\n" +msgstr "" +"%s: Špatná velikost vstupního argumentu #%d: Očekávány čtyři položky.\n" + +#, c-format +msgid "" +"%s: Wrong size for input argument #%d: A column or row vector expected.\n" +msgstr "" +"%s: Špatná velikost vstupního argumentu #%d: Očekáván vektor sloupce nebo " +"řádku.\n" + +#, c-format +msgid "%s: Wrong value for input argument #%d: Inconsistent range.\n" +msgstr "%s: Špatná hodnota pro vstupní argument #%d: Nejednotný rozsah.\n" + +#, c-format +msgid "%s: Wrong size for input argument #%d.\n" +msgstr "%s: Špatná velikost vstupního argumentu #%d.\n" + +#, c-format +msgid "" +"%s: Wrong value for input argument #%d: '%s' or '%s' string expected.\n" +msgstr "" +"%s: Špatná hodnota vstupního argumentu #%d: Očekáván řetězec '%s' nebo " +"'%s'.\n" + +#, c-format +msgid "%s: Wrong value for input argument #%d.\n" +msgstr "%s: Špatná hodnota vstupního argumentu #%d.\n" + +#, c-format +msgid "%s: separator and decimal must have different values.\n" +msgstr "%s: oddělovač a desetinné číslo musí mít různé hodnoty.\n" + +#, c-format +msgid "%s: Range row or/and column left indice(s) out of bounds.\n" +msgstr "%s: Levé indexy rozsahu řádku a/nebo sloupce mimo rozsah.\n" + +#, c-format +msgid "%s: can not convert data.\n" +msgstr "%s: nelze převést data.\n" + +#, c-format +msgid "%s: %s does not exist.\n" +msgstr "%s: %s neexistuje.\n" + +#, c-format +msgid "%s: can not open file %s.\n" +msgstr "%s: nelze otevřít soubor %s.\n" + +#, c-format +msgid "%s: can not read file %s: Error in the column structure\n" +msgstr "%s: nelze číst soubor %s: Chyba ve struktuře sloupce\n" + +#, c-format +msgid "%s: can not read file %s.\n" +msgstr "%s: nelze přečíst soubor %s.\n" + +#, c-format +msgid "%s: Wrong size for input argument #%d: String vector expected.\n" +msgstr "" +"%s: Špatná velikost vstupního argumentu #%d: Očekáván řetězec vektoru.\n" + +#, c-format +msgid "%s: can not read text: Error in the column structure\n" +msgstr "%s: nelze přečíst text: Chyba ve struktuře sloupce\n" + +#, c-format +msgid "%s: can not read text.\n" +msgstr "%s: nelze přečíst text.\n" + +#, c-format +msgid "" +"%s: Wrong size for input argument #%d: A 1-by-n or m-by-1 array of strings " +"expected.\n" +msgstr "" +"%s: Špatná velikost vstupního argumentu #%d: Očekáváno pole řetězeců 1 x n " +"nebo m x 1.\n" + +#, c-format +msgid "" +"%s: Wrong value for input argument #%d: A double (value 1 to 17) expected.\n" +msgstr "" +"%s: Špatná hodnota vstupního argumentu #%d: Očekáváno číslo s dvojitou " +"přesností.\n" + +#, c-format +msgid "%s: Not supported format %s.\n" +msgstr "%s: %s není podporovaný formát.\n" + +#, c-format +msgid "%s: Wrong value for input argument #%d: '%s' or '%s' expected.\n" +msgstr "" +"%s: Špatná hodnota vstupního argumentu #%d: Očekáváno \"%s\", nebo \"%s\".\n" + +#, c-format +msgid "" +"%s: Wrong type for input argument #%d: A matrix of string or a matrix of " +"real expected.\n" +msgstr "" +"%s: Špatný typ vstupního argumentu #%d: Očekávána reálná matice nebo matice " +"řetězců.\n" + +#, c-format +msgid "%s: error.\n" +msgstr "%s: chyba.\n" + +#, c-format +msgid "The file %s does not exist.\n" +msgstr "Soubor %s neexistuje.\n" + +#, c-format +msgid "%s: File %s is not an ole2 file.\n" +msgstr "%s: Soubor %s není soubor ole2.\n" + +#, c-format +msgid "%s: Cannot open file %s.\n" +msgstr "%s: Nelze otevřít soubor %s.\n" + +#, c-format +msgid "%s: There is no xls stream in the ole2 file %s.\n" +msgstr "%s: V souboru ole2 %s není žádný proud xls.\n" + +#, c-format +msgid "%s: Not an ole2 file.\n" +msgstr "%s: Není soubor ole2.\n" + +#, c-format +msgid "%s: The file has no Workbook directory.\n" +msgstr "%s Soubor nemá žádný adresář Workbook.\n" + +#, c-format +msgid "%s: No more memory.\n" +msgstr "%s: Není více paměti.\n" + +#, c-format +msgid "%s: Incorrect or corrupted file.\n" +msgstr "%s: Neplatný, nebo poškozený soubor.\n" + +#, c-format +msgid "%s: Only BIFF8 file format is handled.\n" +msgstr "%s: Obsluhován je pouze formát souboru BIFF8.\n" + +#, c-format +msgid "%s: Wrong type for input argument #%d: Scalar expected.\n" +msgstr "%s: Špatný typ vstupního argumentu #%d: Očekáván skalár.\n" + +#, c-format +msgid "%s: Failed to read expected data, may be invalid xls file.\n" +msgstr "" +"%s: Nelze přečíst očekávaná data, pravděpodobně neplatný soubor xls.\n" + +#, c-format +msgid "%s: End of file.\n" +msgstr "%s: Konec souboru.\n" + +#, c-format +msgid "" +"%s: Inconsistency found in the columns. At line %d, found %d columns while " +"the previous had %d.\n" +msgstr "" +"%s: Ve sloupcích nalezena nesrovnalost. Na řádku %d nalezeno %d sloupců, " +"zatímco předchozí obsahoval %d.\n" + +msgid "Warning" +msgstr "Varování" + +#, c-format +msgid "LOGGER_set_logfile: ERROR - Cannot open logfile '%s' (%s)" +msgstr "LOGGER_set_logfile: CHYBA - Nelze otevřít soubor záznamu '%s' (%s)" + +#, c-format +msgid "LOGGER_set_logfile: ERROR - Cannot open logfile '%s' (%s)\n" +msgstr "LOGGER_set_logfile: CHYBA - Nelze otevřít soubor záznamu '%s' (%s)\n" + +#, c-format +msgid "LOGGER-Default: %s%s" +msgstr "LOGGER-Výchozí: %s%s" + +#, c-format +msgid "ripOLE: %s\n" +msgstr "ripOLE: %s\n" + +#, c-format +msgid "%s:%d:OLE_set_debug: Debug level set to %d" +msgstr "%s:%d:OLE_set_debug: Úroveň ladění nastavena na %d" + +#, c-format +msgid "%s:%d:OLE_get_block:ERROR: Block buffer is NULL" +msgstr "%s:%d:OLE_get_block:CHYBA: Vyrovnávací paměť bloku je PRÁZDNÁ" + +#, c-format +msgid "%s:%d:OLE_get_block:ERROR: Cannot allocate %d bytes for OLE block" +msgstr "%s:%d:OLE_get_block:CHYBA: Nelze přidělit %d bajtů pro blok OLE" + +#, c-format +msgid "%s:%d:OLE_get_block:ERROR: Seek failure (block=%d:%d)" +msgstr "%s:%d:OLE_get_block:CHYBA: Hledání chyby (blok=%d:%d)" + +#, c-format +msgid "%s:%d:Mismatch in bytes read. Requested %d, got %d\n" +msgstr "%s:%d:Neshoda ve čtených bajtech. Požadováno %d, získáno %d\n" + +#, c-format +msgid "%s:%d:OLE_get_block:ERROR: OLE file is closed\n" +msgstr "%s:%d:OLE_get_block:CHYBA: Soubor OLE je zavřený\n" + +#, c-format +msgid "%s:%d:OLE_load_FAT:ERROR: Unable to allocate %d bytes\n" +msgstr "%s:%d:OLE_load_FAT:CHYBA: Nelze přidělit %d bajtů\n" + +#, c-format +msgid "" +"%s:%d:OLE_load_FAT:ERROR: Not able to load block, import sector = 0x%x, fat " +"position = 0x%x" +msgstr "" +"%s:%d:OLE_load_FAT:CHYBA: Nelze načíst blok, sektor importu = 0x%x, pozice " +"fat = 0x%x" + +#, c-format +msgid "%s:%d:OLE_load_FAT:ERROR: FAT memory boundary limit exceeded %p >= %p" +msgstr "" +"%s:%d:OLE_load_FAT:CHYBA: Přesáhnut hraniční limit paměti FAT %p >= %p" + +#, c-format +msgid "%s:%d:OLE_load_FAT:ERROR: sector request was negative (%d)" +msgstr "%s:%d:OLE_load_FAT:CHYBA: požadavek na sektor byl záporný (%d)" + +#, c-format +msgid "" +"%s:%d:OLE_get_miniblock:ERROR: Failed to allocate enough memory for miniChain" +msgstr "" +"%s:%d:OLE_get_miniblock:CHYBA: Pro miniChain nelze přidělit dostatek paměti" + +#, c-format +msgid "%s:%d:OLE_load_chain:ERROR: Load-chain went over memory boundary" +msgstr "%s:%d:OLE_load_FAT:CHYBA: Řetěz načtení přešel hranice paměti" + +#, c-format +msgid "%s:%d:OLE_open_file:ERROR: Cannot locate file '%s' for opening (%s)" +msgstr "%s:%d:OLE_open_file:CHYBA: Nelze nalézt soubor '%s' k otevření (%s)" + +#, c-format +msgid "%s:%d:OLE_open_file:ERROR:Cannot open %s for reading (%s)\n" +msgstr "%s:%d:OLE_open_file:CHYBA: Nelze otevřít %s pro čtení (%s)\n" + +#, c-format +msgid "%s:%d:OLE_open_directory:ERROR: %s" +msgstr "%s:%d:OLE_open_directory:CHYBA: %s" + +#, c-format +msgid "" +"%s:%d:OLE_store_stream:ERROR: Cannot compose full filename string from '%s' " +"and '%s'" +msgstr "" +"%s:%d:OLE_store_stream:CHYBA: Nelze složit úplný řetězec jména souboru z " +"'%s' a '%s'" + +#, c-format +msgid "%s:%d:OLE_store_stream:ERROR: Cannot open %s for writing (%s)" +msgstr "%s:%d:OLE_store_stream:CHYBA: Nelze otevřít %s pro zápis (%s)" + +#, c-format +msgid "%s:%d:OLE_store_stream:WARNING: Only wrote %d of %d bytes to file %s" +msgstr "" +"%s:%d:OLE_store_stream:VAROVÁNÍ: Zapsáno pouze %d z %d bajtů do souboru %s" + +#, c-format +msgid "" +"%s:%d:OLEUNWRAP_save_stream:ERROR: Unable to create filename string from " +"'%s' and '%s'" +msgstr "" +"%s:%d:OLEUNWRAP_save_stream:CHYBA: Nelze vytvořit řetězec jména souboru z " +"'%s' a '%s'" + +#, c-format +msgid "" +"%s:%d:OLEUNWRAP_save_stream:WARNING: Only wrote %d of %d bytes to file %s\n" +msgstr "" +"%s:%d:OLEUNWRAP_save_stream:VAROVÁNÍ: Zapsáno pouze %d z %d bajtu do souboru " +"%s\n" + +#, c-format +msgid "" +"%s:%d:OLEUNWRAP_save_stream:ERROR: Unable to open %s for writing (%s)\n" +msgstr "%s:%d:OLEUNWRAP_save_stream:CHYBA: Nelze otevřít %s pro zápis (%s)\n" + +#, c-format +msgid "" +"%s:%d:OLEUNWRAP_decode_attachment:DEBUG: Attachment %s:%s:%s size = %d\n" +msgstr "" +"%s:%d:OLEUNWRAP_decode_attachment:LADĚNÍ: Příloha %s:%s:%s velikost = %d\n" + +#, c-format +msgid "" +"%s:%d:OLEUNWRAP_decode_attachment:DEBUG: Calling reporter for the filename" +msgstr "" +"%s:%d:OLEUNWRAP_decode_attachment:LADĚNÍ: Volání oznamovatele jména souboru" + +#, c-format +msgid "Unable to decode stream with element string '%s'\n" +msgstr "Nelze dekódovat proud s řetězcem prvku '%s'\n" + +#, c-format +msgid "" +"%s:%d:PLD_strreplace:ERROR: Cannot allocate %d bytes of memory to perform " +"replacement operation" +msgstr "" +"%s:%d:PLD_strreplace:CHYBA: Nelze přidělit %d bajtů paměti k provedení " +"operace nahrazení" + +#, c-format +msgid "" +"%s:%d:PLD_strreplace_general: Allocated memory ran out while replacing '%s' " +"with '%s'" +msgstr "" +"%s:%d:PLD_strreplace_general: Při nahrazování '%s' s '%s' došla přidělená " +"paměť" + +#, c-format +msgid "Decoding filename=%s" +msgstr "Dekódování jména souboru=%s" + +#, c-format +msgid "ripOLE requires an input file to decode.\n" +msgstr "ripOLE vyžaduje vstupní soubor k dekódování.\n" + +#, c-format +msgid "ripOLE: decoding of %s resulted in error %d.\n" +msgstr "ripOLE: dekódování %s mělo za následek chybu %d.\n" + +msgid "Scilab spreadsheet module not installed.\n" +msgstr "Modul tabulky Scilabu není nainstalován.\n" + +msgid "Spreadsheet" +msgstr "Tabulka" + +msgid "Read a xls file" +msgstr "Přečíst soubor xls" diff --git a/modules/spreadsheet/locales/de_DE.po b/modules/spreadsheet/locales/de_DE.po new file mode 100755 index 000000000..d23fb294b --- /dev/null +++ b/modules/spreadsheet/locales/de_DE.po @@ -0,0 +1,413 @@ +# German translation for scilab +# Copyright (c) 2008 Rosetta Contributors and Canonical Ltd 2008 +# This file is distributed under the same license as the scilab package. +# FIRST AUTHOR <EMAIL@ADDRESS>, 2008. +# +msgid "" +msgstr "" +"Project-Id-Version: scilab\n" +"Report-Msgid-Bugs-To: <localization@lists.scilab.org>\n" +"POT-Creation-Date: 2013-04-16 17:44+0100\n" +"PO-Revision-Date: 2012-01-24 09:11+0000\n" +"Last-Translator: mrx5682 <Unknown>\n" +"Language-Team: German <de@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Launchpad (build 17413)\n" +"Language: de\n" + +#, c-format +msgid "%s: Wrong type for input argument #%d: A string expected.\n" +msgstr "" + +#, c-format +msgid "%s: Wrong size for input argument #%d: A string expected.\n" +msgstr "" + +#, c-format +msgid "%s: Memory allocation error.\n" +msgstr "" + +#, c-format +msgid "%s: Wrong type for input argument #%d: A double expected.\n" +msgstr "" + +#, c-format +msgid "%s: Wrong size for input argument #%d: A double expected.\n" +msgstr "" + +#, c-format +msgid "%s: Wrong type for input argument #%d: A boolean expected.\n" +msgstr "" + +#, c-format +msgid "%s: Wrong size for input argument #%d: A boolean expected.\n" +msgstr "" + +#, c-format +msgid "%s: Wrong type for input argument #%d: A matrix of double expected.\n" +msgstr "" + +#, c-format +msgid "" +"%s: Wrong value for input argument #%d: A matrix of double, with integer " +"values, expected.\n" +msgstr "" + +#, c-format +msgid "" +"%s: Wrong value for input argument #%d: '%s', '%s', '%s', '%s', '%s' or '%s' " +"expected.\n" +msgstr "" + +#, c-format +msgid "" +"%s: Wrong value for input argument #%d: A double (value %d to %d) expected.\n" +msgstr "" + +#, c-format +msgid "" +"%s: Wrong value for input argument #%d: '%s', '%s', '%s' , '%s', '%s', '%s', " +"'%s' or '%s' expected.\n" +msgstr "" + +#, c-format +msgid "%s: Wrong size for input argument #%d: Four entries expected.\n" +msgstr "" + +#, c-format +msgid "" +"%s: Wrong size for input argument #%d: A column or row vector expected.\n" +msgstr "" + +#, c-format +msgid "%s: Wrong value for input argument #%d: Inconsistent range.\n" +msgstr "" + +#, c-format +msgid "%s: Wrong size for input argument #%d.\n" +msgstr "" + +#, c-format +msgid "" +"%s: Wrong value for input argument #%d: '%s' or '%s' string expected.\n" +msgstr "" + +#, c-format +msgid "%s: Wrong value for input argument #%d.\n" +msgstr "" + +#, c-format +msgid "%s: separator and decimal must have different values.\n" +msgstr "" + +#, c-format +msgid "%s: Range row or/and column left indice(s) out of bounds.\n" +msgstr "" + +#, c-format +msgid "%s: can not convert data.\n" +msgstr "" + +#, c-format +msgid "%s: %s does not exist.\n" +msgstr "" + +#, c-format +msgid "%s: can not open file %s.\n" +msgstr "" + +#, c-format +msgid "%s: can not read file %s: Error in the column structure\n" +msgstr "" + +#, c-format +msgid "%s: can not read file %s.\n" +msgstr "" + +#, c-format +msgid "%s: Wrong size for input argument #%d: String vector expected.\n" +msgstr "" + +#, c-format +msgid "%s: can not read text: Error in the column structure\n" +msgstr "" + +#, c-format +msgid "%s: can not read text.\n" +msgstr "" + +#, c-format +msgid "" +"%s: Wrong size for input argument #%d: A 1-by-n or m-by-1 array of strings " +"expected.\n" +msgstr "" + +#, c-format +msgid "" +"%s: Wrong value for input argument #%d: A double (value 1 to 17) expected.\n" +msgstr "" + +#, c-format +msgid "%s: Not supported format %s.\n" +msgstr "" + +#, c-format +msgid "%s: Wrong value for input argument #%d: '%s' or '%s' expected.\n" +msgstr "" +"%s: falscher Wert für Eingangsargument #%d: '%s' oder '%s' erwartet.\n" + +#, c-format +msgid "" +"%s: Wrong type for input argument #%d: A matrix of string or a matrix of " +"real expected.\n" +msgstr "" + +#, c-format +msgid "%s: error.\n" +msgstr "" + +#, c-format +msgid "The file %s does not exist.\n" +msgstr "Die Datei %s existiert nicht.\n" + +#, c-format +msgid "%s: File %s is not an ole2 file.\n" +msgstr "%s: Datei %s ist keine loe2 Datei.\n" + +#, c-format +msgid "%s: Cannot open file %s.\n" +msgstr "%s: kann Datei nicht öffnen %s.\n" + +#, c-format +msgid "%s: There is no xls stream in the ole2 file %s.\n" +msgstr "%s: es gibt kein xls Datenstrom in der Datei %s.\n" + +#, c-format +msgid "%s: Not an ole2 file.\n" +msgstr "%s: keine ole2 Datei.\n" + +#, c-format +msgid "%s: The file has no Workbook directory.\n" +msgstr "%s: die Datei hat kein Arbeitsbuch Verzeichnis.\n" + +#, c-format +msgid "%s: No more memory.\n" +msgstr "%s: kein weiterer Speicher verfügbar\n" + +#, c-format +msgid "%s: Incorrect or corrupted file.\n" +msgstr "%s: inkorrekte oder defekte Datei.\n" + +#, c-format +msgid "%s: Only BIFF8 file format is handled.\n" +msgstr "%s: nur BIFF8 Dateiformat wird unterstützt.\n" + +#, c-format +msgid "%s: Wrong type for input argument #%d: Scalar expected.\n" +msgstr "%s: falsche Typ für Eingangsargument #%d: Skalar erwartet.\n" + +#, c-format +msgid "%s: Failed to read expected data, may be invalid xls file.\n" +msgstr "" +"%s: Fehlschlag beim Lesen der erwarteten Daten, könnte eine ungültige xls " +"Datei sein.\n" + +#, c-format +msgid "%s: End of file.\n" +msgstr "%s: Ende der Datei.\n" + +#, c-format +msgid "" +"%s: Inconsistency found in the columns. At line %d, found %d columns while " +"the previous had %d.\n" +msgstr "" + +msgid "Warning" +msgstr "" + +#, c-format +msgid "LOGGER_set_logfile: ERROR - Cannot open logfile '%s' (%s)" +msgstr "" +"LOGGER_set_logfile: ERROR - kann Protokolldatei '%s' (%s) nicht öffnen" + +#, c-format +msgid "LOGGER_set_logfile: ERROR - Cannot open logfile '%s' (%s)\n" +msgstr "" +"LOGGER_set_logfile: ERROR - kann Protokolldatei '%s' (%s) nicht öffnen\n" + +#, c-format +msgid "LOGGER-Default: %s%s" +msgstr "Protokolldienst - Voreinstellung: %s%s" + +#, c-format +msgid "ripOLE: %s\n" +msgstr "ripOLE: %s\n" + +#, c-format +msgid "%s:%d:OLE_set_debug: Debug level set to %d" +msgstr "%s:%d:OLE_set_debug: Fehlersuchstufe auf %d gesetzt." + +#, c-format +msgid "%s:%d:OLE_get_block:ERROR: Block buffer is NULL" +msgstr "%s:%d:OLE_get_block: Fehler: Block Buffer ist Null." + +#, c-format +msgid "%s:%d:OLE_get_block:ERROR: Cannot allocate %d bytes for OLE block" +msgstr "" +"%s:%d:OLE_get_block: Fehler: kann keine %d Bytes für OLE Block vorbelegen." + +#, c-format +msgid "%s:%d:OLE_get_block:ERROR: Seek failure (block=%d:%d)" +msgstr "%s:%d:OLE_get_block:Fehler:Suchfehler (block=%d:%d)" + +#, c-format +msgid "%s:%d:Mismatch in bytes read. Requested %d, got %d\n" +msgstr "" +"%s:%d: Unterschied beim Lesen von Bytes. Nachgefragte %d, erhalten %d\n" + +#, c-format +msgid "%s:%d:OLE_get_block:ERROR: OLE file is closed\n" +msgstr "%s: %d:OLE_get_block: Fehler: OLE Datei ist geschlossen\n" + +#, c-format +msgid "%s:%d:OLE_load_FAT:ERROR: Unable to allocate %d bytes\n" +msgstr "%s:%d:OLE_load_FAT:Fehler:kann %d Bytes nicht vorbelegen\n" + +#, c-format +msgid "" +"%s:%d:OLE_load_FAT:ERROR: Not able to load block, import sector = 0x%x, fat " +"position = 0x%x" +msgstr "" +"%s:%d:OLE_load_FAT:Fehler: kann Block nicht laden, importiere Sektor=0x%x, " +"Fat Position = 0x%x" + +#, c-format +msgid "%s:%d:OLE_load_FAT:ERROR: FAT memory boundary limit exceeded %p >= %p" +msgstr "%s:%d:OLE_load_FAT:ERROR:FAT Speicher Grenzwert überschritten %p=>%p" + +#, c-format +msgid "%s:%d:OLE_load_FAT:ERROR: sector request was negative (%d)" +msgstr "%s:%d:OLE_load_FAT:ERROR:Sektoranfrage war negativ (%d)" + +#, c-format +msgid "" +"%s:%d:OLE_get_miniblock:ERROR: Failed to allocate enough memory for miniChain" +msgstr "" +"%s:%d:OLE_get_miniblock:ERROR: kann nicht genug Speicher für miniChain " +"vorbelegen" + +#, c-format +msgid "%s:%d:OLE_load_chain:ERROR: Load-chain went over memory boundary" +msgstr "" +"%s:%d:OLE_load_chain:ERROR: Kettenladen hat die Speichergrenze überschritten" + +#, c-format +msgid "%s:%d:OLE_open_file:ERROR: Cannot locate file '%s' for opening (%s)" +msgstr "" +"%s:%d:OLE_open_file:ERROR: Kann Datei '%s' für das Öffnen (%s) nicht finden" + +#, c-format +msgid "%s:%d:OLE_open_file:ERROR:Cannot open %s for reading (%s)\n" +msgstr "%s:%d:OLE_open_file:ERROR:Kann %s für Lesen (%s) nicht öffnen\n" + +#, c-format +msgid "%s:%d:OLE_open_directory:ERROR: %s" +msgstr "%s:%d:OLE_open_directory:ERROR: %s" + +#, c-format +msgid "" +"%s:%d:OLE_store_stream:ERROR: Cannot compose full filename string from '%s' " +"and '%s'" +msgstr "" +"%s:%d:OLE_store_stream:ERROR:kann vollen Dateinamen aus '%s' und '%s' nicht " +"zusammensetzen" + +#, c-format +msgid "%s:%d:OLE_store_stream:ERROR: Cannot open %s for writing (%s)" +msgstr "" +"%s:%d:OLE_store_stream:ERROR: kann %s für das Schreiben (%s)nicht öffnen." + +#, c-format +msgid "%s:%d:OLE_store_stream:WARNING: Only wrote %d of %d bytes to file %s" +msgstr "" +"%s:%d:OLE_store_stream:WARNING:nur %d von %d Bytes in die Datei %s " +"geschrieben" + +#, c-format +msgid "" +"%s:%d:OLEUNWRAP_save_stream:ERROR: Unable to create filename string from " +"'%s' and '%s'" +msgstr "" +"%s:%d:OLEUNWRAP_save_stream:Fehler: kann Zeichenkette des Dateinamens aus " +"'%s' und '%s' nicht erzeugen" + +#, c-format +msgid "" +"%s:%d:OLEUNWRAP_save_stream:WARNING: Only wrote %d of %d bytes to file %s\n" +msgstr "" +"%s:%d:OLEUNWRAP_save_stream:Warnung:nur %d von %d Bytes nach Datei %s " +"geschrieben\n" + +#, c-format +msgid "" +"%s:%d:OLEUNWRAP_save_stream:ERROR: Unable to open %s for writing (%s)\n" +msgstr "" +"%s:%d:OLEUNWRAP_save_stream:Fehler:kann %s für das Schreiben (%s) nicht " +"öffnen\n" + +#, c-format +msgid "" +"%s:%d:OLEUNWRAP_decode_attachment:DEBUG: Attachment %s:%s:%s size = %d\n" +msgstr "" +"%s:%d:OLEUNWRAP_decode_attachment:Fehlersuche: Anhang %s:%s:%s Größe = %d\n" + +#, c-format +msgid "" +"%s:%d:OLEUNWRAP_decode_attachment:DEBUG: Calling reporter for the filename" +msgstr "" +"%s:%d:OLEUNWRAP_decode_attachment:Fehlersuche: Aufruf des Nachrichtendiensts " +"für den Dateinamen" + +#, c-format +msgid "Unable to decode stream with element string '%s'\n" +msgstr "" +"Kann den Datenstrom mit Zeichenketten-Element '%s' nicht dekodieren\n" + +#, c-format +msgid "" +"%s:%d:PLD_strreplace:ERROR: Cannot allocate %d bytes of memory to perform " +"replacement operation" +msgstr "" +"%s: %d: PLD_strreplace:Fehler: kann %d Bytes des Speichers vorbelegen, um " +"eine Ersetzungsoperation durchzuführen." + +#, c-format +msgid "" +"%s:%d:PLD_strreplace_general: Allocated memory ran out while replacing '%s' " +"with '%s'" +msgstr "" +"%s:%d:PLD_strreplace_general: belegter Speicher wurde nach des Ersetzens " +"'%s' mit '%s' voll." + +#, c-format +msgid "Decoding filename=%s" +msgstr "Dekodiere Dateiname=%s" + +#, c-format +msgid "ripOLE requires an input file to decode.\n" +msgstr "ripOLE benötigt eine Eingabedatei für das Dekodieren.\n" + +#, c-format +msgid "ripOLE: decoding of %s resulted in error %d.\n" +msgstr "ripOLE: Dekodieren von %s ergab einen Fehler %d.\n" + +msgid "Scilab spreadsheet module not installed.\n" +msgstr "Scilab Tabellen Modul ist nicht installiert.\n" + +msgid "Spreadsheet" +msgstr "Arbeitsblatt" + +msgid "Read a xls file" +msgstr "Lese eine xls Datei" diff --git a/modules/spreadsheet/locales/es_ES.po b/modules/spreadsheet/locales/es_ES.po new file mode 100755 index 000000000..d5af29cb5 --- /dev/null +++ b/modules/spreadsheet/locales/es_ES.po @@ -0,0 +1,412 @@ +# Spanish translation for scilab +# Copyright (c) 2008 Rosetta Contributors and Canonical Ltd 2008 +# This file is distributed under the same license as the scilab package. +# FIRST AUTHOR <EMAIL@ADDRESS>, 2008. +# +msgid "" +msgstr "" +"Project-Id-Version: scilab\n" +"Report-Msgid-Bugs-To: <localization@lists.scilab.org>\n" +"POT-Creation-Date: 2013-04-16 17:44+0100\n" +"PO-Revision-Date: 2012-08-11 22:34+0000\n" +"Last-Translator: Jose Gutierrez <joseb.gutierrez@gmail.com>\n" +"Language-Team: Spanish <es@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Launchpad (build 17413)\n" +"Language: es\n" + +#, c-format +msgid "%s: Wrong type for input argument #%d: A string expected.\n" +msgstr "" + +#, c-format +msgid "%s: Wrong size for input argument #%d: A string expected.\n" +msgstr "" + +#, c-format +msgid "%s: Memory allocation error.\n" +msgstr "" + +#, c-format +msgid "%s: Wrong type for input argument #%d: A double expected.\n" +msgstr "" + +#, c-format +msgid "%s: Wrong size for input argument #%d: A double expected.\n" +msgstr "" + +#, c-format +msgid "%s: Wrong type for input argument #%d: A boolean expected.\n" +msgstr "" + +#, c-format +msgid "%s: Wrong size for input argument #%d: A boolean expected.\n" +msgstr "" + +#, c-format +msgid "%s: Wrong type for input argument #%d: A matrix of double expected.\n" +msgstr "" + +#, c-format +msgid "" +"%s: Wrong value for input argument #%d: A matrix of double, with integer " +"values, expected.\n" +msgstr "" + +#, c-format +msgid "" +"%s: Wrong value for input argument #%d: '%s', '%s', '%s', '%s', '%s' or '%s' " +"expected.\n" +msgstr "" + +#, c-format +msgid "" +"%s: Wrong value for input argument #%d: A double (value %d to %d) expected.\n" +msgstr "" + +#, c-format +msgid "" +"%s: Wrong value for input argument #%d: '%s', '%s', '%s' , '%s', '%s', '%s', " +"'%s' or '%s' expected.\n" +msgstr "" + +#, c-format +msgid "%s: Wrong size for input argument #%d: Four entries expected.\n" +msgstr "" + +#, c-format +msgid "" +"%s: Wrong size for input argument #%d: A column or row vector expected.\n" +msgstr "" + +#, c-format +msgid "%s: Wrong value for input argument #%d: Inconsistent range.\n" +msgstr "" + +#, c-format +msgid "%s: Wrong size for input argument #%d.\n" +msgstr "" + +#, c-format +msgid "" +"%s: Wrong value for input argument #%d: '%s' or '%s' string expected.\n" +msgstr "" + +#, c-format +msgid "%s: Wrong value for input argument #%d.\n" +msgstr "" + +#, c-format +msgid "%s: separator and decimal must have different values.\n" +msgstr "" + +#, c-format +msgid "%s: Range row or/and column left indice(s) out of bounds.\n" +msgstr "" + +#, c-format +msgid "%s: can not convert data.\n" +msgstr "" + +#, c-format +msgid "%s: %s does not exist.\n" +msgstr "" + +#, c-format +msgid "%s: can not open file %s.\n" +msgstr "" + +#, c-format +msgid "%s: can not read file %s: Error in the column structure\n" +msgstr "" + +#, c-format +msgid "%s: can not read file %s.\n" +msgstr "" + +#, c-format +msgid "%s: Wrong size for input argument #%d: String vector expected.\n" +msgstr "" + +#, c-format +msgid "%s: can not read text: Error in the column structure\n" +msgstr "" + +#, c-format +msgid "%s: can not read text.\n" +msgstr "" + +#, c-format +msgid "" +"%s: Wrong size for input argument #%d: A 1-by-n or m-by-1 array of strings " +"expected.\n" +msgstr "" + +#, c-format +msgid "" +"%s: Wrong value for input argument #%d: A double (value 1 to 17) expected.\n" +msgstr "" + +#, c-format +msgid "%s: Not supported format %s.\n" +msgstr "" + +#, c-format +msgid "%s: Wrong value for input argument #%d: '%s' or '%s' expected.\n" +msgstr "" +"%s: Valor incorrecto del argumento de entrada #%d: Se esperaba '%s' o '%s'.\n" + +#, c-format +msgid "" +"%s: Wrong type for input argument #%d: A matrix of string or a matrix of " +"real expected.\n" +msgstr "" + +#, c-format +msgid "%s: error.\n" +msgstr "" + +#, c-format +msgid "The file %s does not exist.\n" +msgstr "El archivo %s no existe.\n" + +#, c-format +msgid "%s: File %s is not an ole2 file.\n" +msgstr "%s: El archivo %s no es ole2.\n" + +#, c-format +msgid "%s: Cannot open file %s.\n" +msgstr "%s: No se puede abrir el archivo %s.\n" + +#, c-format +msgid "%s: There is no xls stream in the ole2 file %s.\n" +msgstr "%s: No hay un flujo xls en el archivo ole2 %s.\n" + +#, c-format +msgid "%s: Not an ole2 file.\n" +msgstr "%s: No es un archivo ole2.\n" + +#, c-format +msgid "%s: The file has no Workbook directory.\n" +msgstr "%s: El archivo no tiene directorio de Workbook.\n" + +#, c-format +msgid "%s: No more memory.\n" +msgstr "%s: No hay más memoria.\n" + +#, c-format +msgid "%s: Incorrect or corrupted file.\n" +msgstr "%s: Archivo incorrecto o corrupto.\n" + +#, c-format +msgid "%s: Only BIFF8 file format is handled.\n" +msgstr "%s: Solo el formato de archivo BIFF8 es manejado.\n" + +#, c-format +msgid "%s: Wrong type for input argument #%d: Scalar expected.\n" +msgstr "" +"%s: Tipo incorrecto del argumento de entrada #%d: Se esperaba un escalar.\n" + +#, c-format +msgid "%s: Failed to read expected data, may be invalid xls file.\n" +msgstr "" +"%s: Falló la lectura de los datos esperados, puede ser un archivo xls " +"inválido.\n" + +#, c-format +msgid "%s: End of file.\n" +msgstr "%s: Fin de archivo.\n" + +#, c-format +msgid "" +"%s: Inconsistency found in the columns. At line %d, found %d columns while " +"the previous had %d.\n" +msgstr "" + +msgid "Warning" +msgstr "" + +#, c-format +msgid "LOGGER_set_logfile: ERROR - Cannot open logfile '%s' (%s)" +msgstr "LOGGER_set_logfile: ERROR - No se puede abrir logfile '%s' (%s)" + +#, c-format +msgid "LOGGER_set_logfile: ERROR - Cannot open logfile '%s' (%s)\n" +msgstr "LOGGER_set_logfile: ERROR - No se puede abrir logfile '%s' (%s)\n" + +#, c-format +msgid "LOGGER-Default: %s%s" +msgstr "LOGGER-Default: %s%s" + +#, c-format +msgid "ripOLE: %s\n" +msgstr "ripOLE: %s\n" + +#, c-format +msgid "%s:%d:OLE_set_debug: Debug level set to %d" +msgstr "%s:%d:OLE_set_debug: Nivel de depuración %d" + +#, c-format +msgid "%s:%d:OLE_get_block:ERROR: Block buffer is NULL" +msgstr "%s:%d:OLE_get_block:ERROR: El buffer de bloque es NULL" + +#, c-format +msgid "%s:%d:OLE_get_block:ERROR: Cannot allocate %d bytes for OLE block" +msgstr "" +"%s:%d:OLE_get_block:ERROR: No se pueden asignar %d bytes para el bloque OLE" + +#, c-format +msgid "%s:%d:OLE_get_block:ERROR: Seek failure (block=%d:%d)" +msgstr "%s:%d:OLE_get_block:ERROR: Falló la búsqueda (bloque=%d:%d)" + +#, c-format +msgid "%s:%d:Mismatch in bytes read. Requested %d, got %d\n" +msgstr "" +"%s:%d:Inconsistencia en los bytes leídos. Se solicitó %d, se obtuvo %d\n" + +#, c-format +msgid "%s:%d:OLE_get_block:ERROR: OLE file is closed\n" +msgstr "%s:%d:OLE_get_block:ERROR: El archivo OLE está cerrado\n" + +#, c-format +msgid "%s:%d:OLE_load_FAT:ERROR: Unable to allocate %d bytes\n" +msgstr "%s:%d:OLE_load_FAT:ERROR: Imposible asignar %d bytes\n" + +#, c-format +msgid "" +"%s:%d:OLE_load_FAT:ERROR: Not able to load block, import sector = 0x%x, fat " +"position = 0x%x" +msgstr "" +"%s:%d:OLE_load_FAT:ERROR: Incapaz de cargar bloque, sector importado = 0x%x, " +"posición fat = 0x%x" + +#, c-format +msgid "%s:%d:OLE_load_FAT:ERROR: FAT memory boundary limit exceeded %p >= %p" +msgstr "" +"%s:%d:OLE_load_FAT:ERROR: Los límites de memoria de la FAT exceden %p >= %p" + +#, c-format +msgid "%s:%d:OLE_load_FAT:ERROR: sector request was negative (%d)" +msgstr "%s:%d:OLE_load_FAT:ERROR: Petición de sector fue negativa (%d)" + +#, c-format +msgid "" +"%s:%d:OLE_get_miniblock:ERROR: Failed to allocate enough memory for miniChain" +msgstr "" +"%s:%d:OLE_get_miniblock:ERROR: Falló la asignación de suficiente memoria " +"para miniChain" + +#, c-format +msgid "%s:%d:OLE_load_chain:ERROR: Load-chain went over memory boundary" +msgstr "" +"%s:%d:OLE_load_chain:ERROR: La cadena de carga pasó el límite de memoria" + +#, c-format +msgid "%s:%d:OLE_open_file:ERROR: Cannot locate file '%s' for opening (%s)" +msgstr "" +"%s:%d:OLE_open_file:ERROR: No se puede localizar el archivo '%s' para " +"abrirlo (%s)" + +#, c-format +msgid "%s:%d:OLE_open_file:ERROR:Cannot open %s for reading (%s)\n" +msgstr "%s:%d:OLE_open_file:ERROR: No se puede abrir %s para lectura (%s)\n" + +#, c-format +msgid "%s:%d:OLE_open_directory:ERROR: %s" +msgstr "%s:%d:OLE_open_directory:ERROR: %s" + +#, c-format +msgid "" +"%s:%d:OLE_store_stream:ERROR: Cannot compose full filename string from '%s' " +"and '%s'" +msgstr "" +"%s:%d:OLE_store_stream:ERROR: No se puede componer un nombre de archivo " +"completo desde '%s' y '%s'" + +#, c-format +msgid "%s:%d:OLE_store_stream:ERROR: Cannot open %s for writing (%s)" +msgstr "" +"%s:%d:OLE_store_stream:ERROR: No se puede abrir %s para escritura (%s)" + +#, c-format +msgid "%s:%d:OLE_store_stream:WARNING: Only wrote %d of %d bytes to file %s" +msgstr "" +"%s:%d:OLE_store_stream:WARNING: Solo se escribieron %d de %d bytes en el " +"archivo %s" + +#, c-format +msgid "" +"%s:%d:OLEUNWRAP_save_stream:ERROR: Unable to create filename string from " +"'%s' and '%s'" +msgstr "" +"%s:%d:OLEUNWRAP_save_stream:ERROR: Incapaz de crear nombre de archivo desde " +"la cadena '%s' y '%s'" + +#, c-format +msgid "" +"%s:%d:OLEUNWRAP_save_stream:WARNING: Only wrote %d of %d bytes to file %s\n" +msgstr "" +"%s:%d:OLEUNWRAP_save_stream:WARNING: Solo se escribieron %d de %d bytes en " +"el archivo %s\n" + +#, c-format +msgid "" +"%s:%d:OLEUNWRAP_save_stream:ERROR: Unable to open %s for writing (%s)\n" +msgstr "" +"%s:%d:OLEUNWRAP_save_stream:ERROR: incapaz de abrir%s para escritura (%s)\n" + +#, c-format +msgid "" +"%s:%d:OLEUNWRAP_decode_attachment:DEBUG: Attachment %s:%s:%s size = %d\n" +msgstr "" +"%s:%d:OLEUNWRAP_decode_attachment:DEBUG: Adjunto %s:%s:%s tamaño = %d\n" + +#, c-format +msgid "" +"%s:%d:OLEUNWRAP_decode_attachment:DEBUG: Calling reporter for the filename" +msgstr "" +"%s:%d:OLEUNWRAP_decode_attachment:DEPURACIÓN: Llamando reporte para el " +"nombre de archivo" + +#, c-format +msgid "Unable to decode stream with element string '%s'\n" +msgstr "Incapaz de decodificar flujo con el elemento de la cadena '%s'\n" + +#, c-format +msgid "" +"%s:%d:PLD_strreplace:ERROR: Cannot allocate %d bytes of memory to perform " +"replacement operation" +msgstr "" +"%s:%d:PLD_strreplace:ERROR: No se pueden asignar %d bytes de memoria para " +"ejecutar la operación de reemplazo" + +#, c-format +msgid "" +"%s:%d:PLD_strreplace_general: Allocated memory ran out while replacing '%s' " +"with '%s'" +msgstr "" +"%s:%d:PLD_strreplace_general: Se quedo sin memoria asignada mientras se " +"reemplazaba '%s' con '%s'" + +#, c-format +msgid "Decoding filename=%s" +msgstr "Decodificando archivo=%s" + +#, c-format +msgid "ripOLE requires an input file to decode.\n" +msgstr "ripOLE requiere un archivo de entrada para decodificar.\n" + +#, c-format +msgid "ripOLE: decoding of %s resulted in error %d.\n" +msgstr "ripOLE: la decodificación de %s terminó en un error %d.\n" + +msgid "Scilab spreadsheet module not installed.\n" +msgstr "El módulo de hoja de cálculos de Scilab no está instalado.\n" + +msgid "Spreadsheet" +msgstr "hoja de cálculo" + +msgid "Read a xls file" +msgstr "Leer archivo xls" diff --git a/modules/spreadsheet/locales/fr_FR.po b/modules/spreadsheet/locales/fr_FR.po new file mode 100755 index 000000000..023e648c7 --- /dev/null +++ b/modules/spreadsheet/locales/fr_FR.po @@ -0,0 +1,455 @@ +# French translation for scilab +# Copyright (c) 2008 Rosetta Contributors and Canonical Ltd 2008 +# This file is distributed under the same license as the scilab package. +# FIRST AUTHOR <EMAIL@ADDRESS>, 2008. +# +msgid "" +msgstr "" +"Project-Id-Version: scilab\n" +"Report-Msgid-Bugs-To: <localization@lists.scilab.org>\n" +"POT-Creation-Date: 2013-04-16 17:44+0100\n" +"PO-Revision-Date: 2013-03-22 14:41+0000\n" +"Last-Translator: Julie PAUL <Unknown>\n" +"Language-Team: French <fr@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Launchpad (build 17413)\n" +"Language: fr\n" + +#, c-format +msgid "%s: Wrong type for input argument #%d: A string expected.\n" +msgstr "" +"%s : Type erroné de l'argument d'entrée n°%d : Une chaîne de caractères " +"attendue.\n" + +#, c-format +msgid "%s: Wrong size for input argument #%d: A string expected.\n" +msgstr "" +"%s : Dimension erronée de l'argument d'entrée n°%d : Une chaîne de " +"caractères attendue.\n" + +#, c-format +msgid "%s: Memory allocation error.\n" +msgstr "%s : Erreur d'allocation mémoire.\n" + +#, c-format +msgid "%s: Wrong type for input argument #%d: A double expected.\n" +msgstr "%s : Type erroné de l'argument d'entrée n°%d : Un double attendu.\n" + +#, c-format +msgid "%s: Wrong size for input argument #%d: A double expected.\n" +msgstr "" +"%s : Dimension erronée de l'argument d'entrée n°%d : Un double attendu.\n" + +#, c-format +msgid "%s: Wrong type for input argument #%d: A boolean expected.\n" +msgstr "%s : Type erroné de l'argument d'entrée n°%d : Un booléen attendu.\n" + +#, c-format +msgid "%s: Wrong size for input argument #%d: A boolean expected.\n" +msgstr "" +"%s : Dimension erronée de l'argument d'entrée n°%d : Un booléen attendu.\n" + +#, c-format +msgid "%s: Wrong type for input argument #%d: A matrix of double expected.\n" +msgstr "" +"%s : Type erroné de l'argument d'entrée n°%d : Une matrice de doubles " +"attendue.\n" + +#, c-format +msgid "" +"%s: Wrong value for input argument #%d: A matrix of double, with integer " +"values, expected.\n" +msgstr "" +"%s : Valeur erronée de l'argument d'entrée n°%d : Une matrice de doubles " +"avec des valeurs entières attendue.\n" + +#, c-format +msgid "" +"%s: Wrong value for input argument #%d: '%s', '%s', '%s', '%s', '%s' or '%s' " +"expected.\n" +msgstr "" +"%s : Valeur erronée de l'argument d'entrée n°%d : '%s', '%s', '%s', '%s', " +"'%s' ou '%s' attendu.\n" + +#, c-format +msgid "" +"%s: Wrong value for input argument #%d: A double (value %d to %d) expected.\n" +msgstr "" +"%s : Valeur erronée de l'argument d'entrée n°%d : Un double (de %d à %d) " +"attendu.\n" + +#, c-format +msgid "" +"%s: Wrong value for input argument #%d: '%s', '%s', '%s' , '%s', '%s', '%s', " +"'%s' or '%s' expected.\n" +msgstr "" +"%s : Valeur erronée de l'argument d'entrée n°%d : '%s', '%s', '%s' , '%s', " +"'%s', '%s', '%s' ou '%s' attendu.\n" + +#, c-format +msgid "%s: Wrong size for input argument #%d: Four entries expected.\n" +msgstr "" +"%s : Dimension erronée de l'argument d'entrée n°%d : Quatre entrées " +"attendues.\n" + +#, c-format +msgid "" +"%s: Wrong size for input argument #%d: A column or row vector expected.\n" +msgstr "" +"%s : Dimension erronée de l'argument d'entrée n°%d : Un vecteur colonne ou " +"ligne attendu.\n" + +#, c-format +msgid "%s: Wrong value for input argument #%d: Inconsistent range.\n" +msgstr "" +"%s : Valeur erronée de l'argument d'entrée n°%d : Intervalle inconsistant.\n" + +#, c-format +msgid "%s: Wrong size for input argument #%d.\n" +msgstr "%s : Dimension erronée de l'argument d'entrée n°%d.\n" + +#, c-format +msgid "" +"%s: Wrong value for input argument #%d: '%s' or '%s' string expected.\n" +msgstr "" +"%s : Valeur erronée de l'argument d'entrée n°%d : La chaîne de caractères " +"'%s' ou '%s' attendue.\n" + +#, c-format +msgid "%s: Wrong value for input argument #%d.\n" +msgstr "%s : Valeur erronée de l'argument d'entrée n°%d.\n" + +#, c-format +msgid "%s: separator and decimal must have different values.\n" +msgstr "" +"%s : Le séparateur et la décimale doivent avoir des valeurs différentes.\n" + +#, c-format +msgid "%s: Range row or/and column left indice(s) out of bounds.\n" +msgstr "" +"%s : Les indices des lignes et/ou de la colonne de gauche sont en dehors des " +"bornes.\n" + +#, c-format +msgid "%s: can not convert data.\n" +msgstr "%s : Impossible de convertir les données.\n" + +#, c-format +msgid "%s: %s does not exist.\n" +msgstr "%s : %s n'existe pas.\n" + +#, c-format +msgid "%s: can not open file %s.\n" +msgstr "%s : Impossible d'ouvrir le fichier %s.\n" + +#, c-format +msgid "%s: can not read file %s: Error in the column structure\n" +msgstr "" +"%s : Impossible de lire le fichier %s : Erreur dans la structure de la " +"colonne.\n" + +#, c-format +msgid "%s: can not read file %s.\n" +msgstr "%s : Impossible de lire le fichier %s.\n" + +#, c-format +msgid "%s: Wrong size for input argument #%d: String vector expected.\n" +msgstr "" +"%s : Mauvaise dimension pour l'argument d'entrée #%d : Vecteur de chaîne de " +"caractères attendu.\n" + +#, c-format +msgid "%s: can not read text: Error in the column structure\n" +msgstr "" +"%s : Impossible de lire le texte : Erreur dans la structure de la colonne.\n" + +#, c-format +msgid "%s: can not read text.\n" +msgstr "%s : Impossible de lire le texte.\n" + +#, c-format +msgid "" +"%s: Wrong size for input argument #%d: A 1-by-n or m-by-1 array of strings " +"expected.\n" +msgstr "" +"%s : Dimension erronée de l'argument d'entrée n°%d : Un tableau de chaîne de " +"caractères de taille 1-par-n ou m-par-1 attendu.\n" + +#, c-format +msgid "" +"%s: Wrong value for input argument #%d: A double (value 1 to 17) expected.\n" +msgstr "" +"%s : Valeur erronée de l'argument d'entrée n°%d : Un double (de valeur 1 à " +"17) attendu.\n" + +#, c-format +msgid "%s: Not supported format %s.\n" +msgstr "%s : Format %s non supporté.\n" + +#, c-format +msgid "%s: Wrong value for input argument #%d: '%s' or '%s' expected.\n" +msgstr "" +"%s : Valeur erronée de l'argument d'entrée n°%d : '%s' ou '%s' attendu.\n" + +#, c-format +msgid "" +"%s: Wrong type for input argument #%d: A matrix of string or a matrix of " +"real expected.\n" +msgstr "" +"%s : Type erroné de l'argument d'entrée n°%d : Une matrice de chaîne de " +"caractères ou de réels attendue.\n" + +#, c-format +msgid "%s: error.\n" +msgstr "%s : Erreur.\n" + +#, c-format +msgid "The file %s does not exist.\n" +msgstr "Le fichier %s n'existe pas.\n" + +#, c-format +msgid "%s: File %s is not an ole2 file.\n" +msgstr "%s : Le fichier %s n'est pas un fichier ole2.\n" + +#, c-format +msgid "%s: Cannot open file %s.\n" +msgstr "%s : Impossible d'ouvrir le fichier %s.\n" + +#, c-format +msgid "%s: There is no xls stream in the ole2 file %s.\n" +msgstr "%s : Il n'y a pas de flux xls dans le fichier ole2 %s.\n" + +#, c-format +msgid "%s: Not an ole2 file.\n" +msgstr "%s : Ce n'est pas un fichier ole2.\n" + +#, c-format +msgid "%s: The file has no Workbook directory.\n" +msgstr "%s : Le fichier n'a pas de répertoire Workbook.\n" + +#, c-format +msgid "%s: No more memory.\n" +msgstr "%s : Plus de mémoire disponible.\n" + +#, c-format +msgid "%s: Incorrect or corrupted file.\n" +msgstr "%s : Fichier incorrect ou corrompu.\n" + +#, c-format +msgid "%s: Only BIFF8 file format is handled.\n" +msgstr "%s : Seul le format de fichier BIFF8 est pris en charge.\n" + +#, c-format +msgid "%s: Wrong type for input argument #%d: Scalar expected.\n" +msgstr "" +"%s : Type erroné de l'argument d'entrée n°%d : Un scalaire attendu.\n" + +#, c-format +msgid "%s: Failed to read expected data, may be invalid xls file.\n" +msgstr "" +"%s : Échec de lecture des données attendues, le fichier xls est peut être " +"invalide.\n" + +#, c-format +msgid "%s: End of file.\n" +msgstr "%s : Fin de fichier.\n" + +#, c-format +msgid "" +"%s: Inconsistency found in the columns. At line %d, found %d columns while " +"the previous had %d.\n" +msgstr "" +"%s : Une incohérence a été trouvée dans les colonnes. À la ligne %d, %d " +"colonnes ont été trouvées, alors que la précédente en avait %d.\n" + +msgid "Warning" +msgstr "Attention" + +#, c-format +msgid "LOGGER_set_logfile: ERROR - Cannot open logfile '%s' (%s)" +msgstr "" +"LOGGER_set_logfile: ERREUR - Impossible d'ouvrir le fichier de log '%s' (%s)" + +#, c-format +msgid "LOGGER_set_logfile: ERROR - Cannot open logfile '%s' (%s)\n" +msgstr "" +"LOGGER_set_logfile: ERREUR - Impossible d'ouvrir le fichier de log '%s' " +"(%s)\n" + +#, c-format +msgid "LOGGER-Default: %s%s" +msgstr "LOGGER-Default: %s%s" + +#, c-format +msgid "ripOLE: %s\n" +msgstr "ripOLE : %s\n" + +#, c-format +msgid "%s:%d:OLE_set_debug: Debug level set to %d" +msgstr "%s:%d:OLE_set_debug: Le niveau de débogage est réglé sur %d" + +#, c-format +msgid "%s:%d:OLE_get_block:ERROR: Block buffer is NULL" +msgstr "%s:%d:OLE_get_block:ERROR : Le bloc buffer est NULL" + +#, c-format +msgid "%s:%d:OLE_get_block:ERROR: Cannot allocate %d bytes for OLE block" +msgstr "" +"%s:%d:OLE_get_block:ERROR: Impossible d'allouer %d bytes pour le bloc OLE" + +#, c-format +msgid "%s:%d:OLE_get_block:ERROR: Seek failure (block=%d:%d)" +msgstr "%s:%d:OLE_get_block:ERROR: Échec de Seek (block=%d:%d)" + +#, c-format +msgid "%s:%d:Mismatch in bytes read. Requested %d, got %d\n" +msgstr "%s:%d: Décalage dans les bytes lus. Requis %d, obtenus %d\n" + +#, c-format +msgid "%s:%d:OLE_get_block:ERROR: OLE file is closed\n" +msgstr "%s:%d:OLE_get_block:ERREUR: Le fichier OLE est fermé\n" + +#, c-format +msgid "%s:%d:OLE_load_FAT:ERROR: Unable to allocate %d bytes\n" +msgstr "%s:%d:OLE_load_FAT:ERREUR: Impossible d'allouer %d bytes\n" + +#, c-format +msgid "" +"%s:%d:OLE_load_FAT:ERROR: Not able to load block, import sector = 0x%x, fat " +"position = 0x%x" +msgstr "" +"%s:%d:OLE_load_FAT:ERREUR: Impossible de charger le bloc, secteur importé = " +"0x%x, position fat = 0x%x" + +#, c-format +msgid "%s:%d:OLE_load_FAT:ERROR: FAT memory boundary limit exceeded %p >= %p" +msgstr "%s:%d:OLE_load_FAT:ERROR: La limite de mémoire FAT dépassée %p >= %p" + +#, c-format +msgid "%s:%d:OLE_load_FAT:ERROR: sector request was negative (%d)" +msgstr "%s:%d:OLE_load_FAT:ERREUR: Le secteur demandé était négatif (%d)" + +#, c-format +msgid "" +"%s:%d:OLE_get_miniblock:ERROR: Failed to allocate enough memory for miniChain" +msgstr "" +"%s:%d:OLE_get_miniblock:ERREUR: Impossible d'allouer suffisamment de mémoire " +"pour miniChain" + +#, c-format +msgid "%s:%d:OLE_load_chain:ERROR: Load-chain went over memory boundary" +msgstr "" +"%s:%d:OLE_load_chain:ERREUR: La chaîne de chargement a dépassé la limite de " +"mémoire" + +#, c-format +msgid "%s:%d:OLE_open_file:ERROR: Cannot locate file '%s' for opening (%s)" +msgstr "" +"%s:%d:OLE_open_file:ERROR: Impossible de localiser le fichier '%s' pour " +"ouvrir (%s)" + +#, c-format +msgid "%s:%d:OLE_open_file:ERROR:Cannot open %s for reading (%s)\n" +msgstr "%s:%d:OLE_open_file:ERREUR: Impossible d'ouvrir %s en lecture (%s)\n" + +#, c-format +msgid "%s:%d:OLE_open_directory:ERROR: %s" +msgstr "%s:%d:OLE_open_directory:ERREUR: %s" + +#, c-format +msgid "" +"%s:%d:OLE_store_stream:ERROR: Cannot compose full filename string from '%s' " +"and '%s'" +msgstr "" +"%s:%d:OLE_store_stream:ERREUR: Impossible de recomposer le nom de fichier " +"complet à partir de '%s' et '%s'" + +#, c-format +msgid "%s:%d:OLE_store_stream:ERROR: Cannot open %s for writing (%s)" +msgstr "" +"%s:%d:OLE_store_stream:ERREUR: Impossible d'ouvrir %s en écriture (%s)" + +#, c-format +msgid "%s:%d:OLE_store_stream:WARNING: Only wrote %d of %d bytes to file %s" +msgstr "" +"%s:%d:OLE_store_stream: ATTENTION: Seuls %d de %d bytes ont été écrits dans " +"le fichier %s" + +#, c-format +msgid "" +"%s:%d:OLEUNWRAP_save_stream:ERROR: Unable to create filename string from " +"'%s' and '%s'" +msgstr "" +"%s:%d:OLEUNWRAP_save_stream:ERREUR: Impossible de créer la chaîne de " +"caractères du nom de fichier à partir de '%s' et '%s'" + +#, c-format +msgid "" +"%s:%d:OLEUNWRAP_save_stream:WARNING: Only wrote %d of %d bytes to file %s\n" +msgstr "" +"%s:%d:OLEUNWRAP_save_stream: ATTENTION: Seuls %d de %d bytes ont été écrits " +"dans le fichier %s\n" + +#, c-format +msgid "" +"%s:%d:OLEUNWRAP_save_stream:ERROR: Unable to open %s for writing (%s)\n" +msgstr "" +"%s:%d:OLEUNWRAP_save_stream:ERREUR: Impossible d'ouvrir %s en écriture (%s)\n" + +#, c-format +msgid "" +"%s:%d:OLEUNWRAP_decode_attachment:DEBUG: Attachment %s:%s:%s size = %d\n" +msgstr "" +"%s:%d:OLEUNWRAP_decode_attachment:DEBUG: Attachement %s:%s:%s dimension = " +"%d\n" + +#, c-format +msgid "" +"%s:%d:OLEUNWRAP_decode_attachment:DEBUG: Calling reporter for the filename" +msgstr "" +"%s:%d:OLEUNWRAP_decode_attachment:DEBUG: Contactez l'auteur du bug pour le " +"nom du fichier" + +#, c-format +msgid "Unable to decode stream with element string '%s'\n" +msgstr "" +"Impossible de décoder le flux avec la chaîne de caractères élément '%s'\n" + +#, c-format +msgid "" +"%s:%d:PLD_strreplace:ERROR: Cannot allocate %d bytes of memory to perform " +"replacement operation" +msgstr "" +"%s:%d:PLD_strreplace:ERREUR: Impossible d'allouer %d bytes de mémoire pour " +"effectuer l'opération de remplacement" + +#, c-format +msgid "" +"%s:%d:PLD_strreplace_general: Allocated memory ran out while replacing '%s' " +"with '%s'" +msgstr "" +"%s:%d:PLD_strreplace_general: La mémoire allouée a été épuisée pendant le " +"remplacement de '%s' par '%s'" + +#, c-format +msgid "Decoding filename=%s" +msgstr "Décoder le nom de fichier=%s" + +#, c-format +msgid "ripOLE requires an input file to decode.\n" +msgstr "ripOLE nécessite un fichier à décoder en entrée.\n" + +#, c-format +msgid "ripOLE: decoding of %s resulted in error %d.\n" +msgstr "ripOLE : Le décodage de %s s'est terminé par une erreur %d.\n" + +msgid "Scilab spreadsheet module not installed.\n" +msgstr "Le module spreadsheet de Scilab n'est pas installé.\n" + +msgid "Spreadsheet" +msgstr "Feuille de calcul" + +msgid "Read a xls file" +msgstr "Lire un fichier xls" diff --git a/modules/spreadsheet/locales/it_IT.po b/modules/spreadsheet/locales/it_IT.po new file mode 100755 index 000000000..2ab47f5f6 --- /dev/null +++ b/modules/spreadsheet/locales/it_IT.po @@ -0,0 +1,465 @@ +# Italian translation for scilab +# Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 +# This file is distributed under the same license as the scilab package. +# FIRST AUTHOR <EMAIL@ADDRESS>, 2009. +# +msgid "" +msgstr "" +"Project-Id-Version: scilab\n" +"Report-Msgid-Bugs-To: <localization@lists.scilab.org>\n" +"POT-Creation-Date: 2013-04-16 17:44+0100\n" +"PO-Revision-Date: 2015-02-14 22:05+0000\n" +"Last-Translator: Carml <mighty.carml@gmail.com>\n" +"Language-Team: Italian <it@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Launchpad (build 17413)\n" +"Language: it\n" + +#, c-format +msgid "%s: Wrong type for input argument #%d: A string expected.\n" +msgstr "" +"%s: L'argomento in ingresso #%d è di tipo sbagliato: era attesa una " +"stringa.\n" + +#, c-format +msgid "%s: Wrong size for input argument #%d: A string expected.\n" +msgstr "" +"%s: L'argomento in ingresso #%d ha una dimensione sbagliata: era attesa una " +"stringa.\n" + +#, c-format +msgid "%s: Memory allocation error.\n" +msgstr "%s: Errore di allocazione della memoria.\n" + +#, c-format +msgid "%s: Wrong type for input argument #%d: A double expected.\n" +msgstr "" +"%s: L'argomento in ingresso #%d è di tipo sbagliato: era atteso un double.\n" + +#, c-format +msgid "%s: Wrong size for input argument #%d: A double expected.\n" +msgstr "" +"%s: L'argomento in ingresso #%d ha una dimensione sbagliata: era atteso un " +"double.\n" + +#, c-format +msgid "%s: Wrong type for input argument #%d: A boolean expected.\n" +msgstr "" +"%s: L'argomento in ingresso #%d è di tipo sbagliato: era atteso un valore " +"booleano.\n" + +#, c-format +msgid "%s: Wrong size for input argument #%d: A boolean expected.\n" +msgstr "" +"%s: L'argomento in ingresso #%d ha una dimensione sbagliata: era atteso un " +"valore booleano.\n" + +#, c-format +msgid "%s: Wrong type for input argument #%d: A matrix of double expected.\n" +msgstr "" +"%s: L'argomento in ingresso #%d è di tipo sbagliato: era attesa una matrice " +"di double.\n" + +#, c-format +msgid "" +"%s: Wrong value for input argument #%d: A matrix of double, with integer " +"values, expected.\n" +msgstr "" +"%s: L'argomento in ingresso #%d è di tipo sbagliato: era attesa una matrice " +"di double con valori interi.\n" + +#, c-format +msgid "" +"%s: Wrong value for input argument #%d: '%s', '%s', '%s', '%s', '%s' or '%s' " +"expected.\n" +msgstr "" +"%s: L'argomento in ingresso #%d è di tipo sbagliato: era atteso '%s', '%s', " +"'%s', '%s', '%s' o '%s'.\n" + +#, c-format +msgid "" +"%s: Wrong value for input argument #%d: A double (value %d to %d) expected.\n" +msgstr "" +"%s: L'argomento in ingresso #%d ha un valore sbagliato: era atteso un double " +"(valore fra %d e %d).\n" + +#, c-format +msgid "" +"%s: Wrong value for input argument #%d: '%s', '%s', '%s' , '%s', '%s', '%s', " +"'%s' or '%s' expected.\n" +msgstr "" +"%s: L' argomento in ingresso #%d ha un valore sbagliato: era atteso '%s', " +"'%s', '%s' , '%s', '%s', '%s', '%s' o '%s' .\n" + +#, c-format +msgid "%s: Wrong size for input argument #%d: Four entries expected.\n" +msgstr "" +"%s: L'argomento in ingresso #%d ha una dimensione sbagliata: erano attese " +"quattro voci.\n" + +#, c-format +msgid "" +"%s: Wrong size for input argument #%d: A column or row vector expected.\n" +msgstr "" +"%s: L'argomento in ingresso #%d ha una dimensione sbagliata: era atteso un " +"vettore colonna o un vettore riga.\n" + +#, c-format +msgid "%s: Wrong value for input argument #%d: Inconsistent range.\n" +msgstr "" +"%s: L'argomento in ingresso #%d ha un valore sbagliato: intervallo non " +"consistente.\n" + +#, c-format +msgid "%s: Wrong size for input argument #%d.\n" +msgstr "%s: L'argomento in ingresso #%d ha una dimensione sbagliata.\n" + +#, c-format +msgid "" +"%s: Wrong value for input argument #%d: '%s' or '%s' string expected.\n" +msgstr "" +"%s: L'argomento in ingresso #%d ha un valore sbagliato: era attesa una " +"stringa '%s' o '%s'.\n" + +#, c-format +msgid "%s: Wrong value for input argument #%d.\n" +msgstr "%s: L'argomento in ingresso #%d ha un valore sbagliato.\n" + +#, c-format +msgid "%s: separator and decimal must have different values.\n" +msgstr "%s: separatore e decimale devono avere valori differenti.\n" + +#, c-format +msgid "%s: Range row or/and column left indice(s) out of bounds.\n" +msgstr "" +"%s: Riga dell'intervallo o/e indice sinistro della colonna fuori dai " +"limiti.\n" + +#, c-format +msgid "%s: can not convert data.\n" +msgstr "%s: impossibile convertire i dati.\n" + +#, c-format +msgid "%s: %s does not exist.\n" +msgstr "%s: %s non esiste.\n" + +#, c-format +msgid "%s: can not open file %s.\n" +msgstr "%s: impossibile aprire il file %s.\n" + +#, c-format +msgid "%s: can not read file %s: Error in the column structure\n" +msgstr "" +"%s: impossibile aprire il file %s: errore nella struttura della colonna\n" + +#, c-format +msgid "%s: can not read file %s.\n" +msgstr "%s: impossibile leggere il file %s.\n" + +#, c-format +msgid "%s: Wrong size for input argument #%d: String vector expected.\n" +msgstr "" +"%s: L'argomento in ingresso #%d ha una dimensione sbagliata: era atteso un " +"vettore di tipo stringa.\n" + +#, c-format +msgid "%s: can not read text: Error in the column structure\n" +msgstr "" +"%s: impossibile leggere il testo: errore nella struttura della colonna\n" + +#, c-format +msgid "%s: can not read text.\n" +msgstr "%s: impossibile leggere il testo.\n" + +#, c-format +msgid "" +"%s: Wrong size for input argument #%d: A 1-by-n or m-by-1 array of strings " +"expected.\n" +msgstr "" +"%s: L'argomento in ingresso #%d ha una dimensione sbagliata: era atteso un " +"vettore di stringhe 1-per-n o m-per-1.\n" + +#, c-format +msgid "" +"%s: Wrong value for input argument #%d: A double (value 1 to 17) expected.\n" +msgstr "" +"%s: L'argomento in ingresso #%d ha un valore sbagliato: era atteso un double " +"(valore fra 1 e 17).\n" + +#, c-format +msgid "%s: Not supported format %s.\n" +msgstr "%s: Il formato %s non è supportato.\n" + +#, c-format +msgid "%s: Wrong value for input argument #%d: '%s' or '%s' expected.\n" +msgstr "" +"%s: L'argomento in ingresso #%d ha un valore sbagliato: era atteso '%s' o " +"'%s'.\n" + +#, c-format +msgid "" +"%s: Wrong type for input argument #%d: A matrix of string or a matrix of " +"real expected.\n" +msgstr "" +"%s: L'argomento in ingresso #%d è di tipo sbagliato: era attesa una matrice " +"di stringhe o una di numeri reali.\n" + +#, c-format +msgid "%s: error.\n" +msgstr "%s: errore.\n" + +#, c-format +msgid "The file %s does not exist.\n" +msgstr "Il file %s non esiste.\n" + +#, c-format +msgid "%s: File %s is not an ole2 file.\n" +msgstr "%s: Il file %s non è un file ole2.\n" + +#, c-format +msgid "%s: Cannot open file %s.\n" +msgstr "%s: Non è possibile aprire il file %s.\n" + +#, c-format +msgid "%s: There is no xls stream in the ole2 file %s.\n" +msgstr "%s: Non c'è alcun flusso xls nel file ole2 %s.\n" + +#, c-format +msgid "%s: Not an ole2 file.\n" +msgstr "%s: Non è un file ole2.\n" + +#, c-format +msgid "%s: The file has no Workbook directory.\n" +msgstr "%s: Il file non ha una directory Workbook.\n" + +#, c-format +msgid "%s: No more memory.\n" +msgstr "%s: Memoria esaurita.\n" + +#, c-format +msgid "%s: Incorrect or corrupted file.\n" +msgstr "%s: Il file non è corretto o è danneggiato.\n" + +#, c-format +msgid "%s: Only BIFF8 file format is handled.\n" +msgstr "%s: È gestito solo il formato di file BIFF8.\n" + +#, c-format +msgid "%s: Wrong type for input argument #%d: Scalar expected.\n" +msgstr "" +"%s: L'argomento in ingresso #%d è di tipo sbagliato: era atteso uno " +"scalare.\n" + +#, c-format +msgid "%s: Failed to read expected data, may be invalid xls file.\n" +msgstr "" +"%s: Non è stato possibile leggere i dati attesi, forse non è un file xls " +"valido.\n" + +#, c-format +msgid "%s: End of file.\n" +msgstr "%s: Fine del file.\n" + +#, c-format +msgid "" +"%s: Inconsistency found in the columns. At line %d, found %d columns while " +"the previous had %d.\n" +msgstr "" +"%s: Trovata un'inconsistenza nelle colonne. Alla riga %d vi sono %d colonne " +"mentre nella precedente %d.\n" + +msgid "Warning" +msgstr "Attenzione" + +#, c-format +msgid "LOGGER_set_logfile: ERROR - Cannot open logfile '%s' (%s)" +msgstr "" +"LOGGER_ser_logfile: ERRORE - Non è possibile aprire il logfile '%s' (%s)" + +#, c-format +msgid "LOGGER_set_logfile: ERROR - Cannot open logfile '%s' (%s)\n" +msgstr "" +"LOGGER_ser_logfile: ERRORE - Non è possibile aprire il logfile '%s' (%s)\n" + +#, c-format +msgid "LOGGER-Default: %s%s" +msgstr "LOGGER-Default: %s%s" + +#, c-format +msgid "ripOLE: %s\n" +msgstr "ripOLE: %s\n" + +#, c-format +msgid "%s:%d:OLE_set_debug: Debug level set to %d" +msgstr "%s:%d: OLE_set_debug: il livello di debug è impostato a %d" + +#, c-format +msgid "%s:%d:OLE_get_block:ERROR: Block buffer is NULL" +msgstr "%s:%d: OLE_get_block:Errore: Il buffer del blocco è NULL" + +#, c-format +msgid "%s:%d:OLE_get_block:ERROR: Cannot allocate %d bytes for OLE block" +msgstr "" +"%s:%d: OLE_get_block:ERROR: non è possibile allocare %d byte per il blocco " +"OLE" + +#, c-format +msgid "%s:%d:OLE_get_block:ERROR: Seek failure (block=%d:%d)" +msgstr "%s:%d: OLE_get_block:ERROR: fallimento nella ricerca (block=%d%d)" + +#, c-format +msgid "%s:%d:Mismatch in bytes read. Requested %d, got %d\n" +msgstr "" +"%s:%d: Discordanza nella lettura dei byte. Richiesto %d, ottenuto %d\n" + +#, c-format +msgid "%s:%d:OLE_get_block:ERROR: OLE file is closed\n" +msgstr "%s:%d: OLE_get_block:ERROR: il file OLE è chiuso\n" + +#, c-format +msgid "%s:%d:OLE_load_FAT:ERROR: Unable to allocate %d bytes\n" +msgstr "%s:%d: OLE_load_FAT:ERROR: impossibile allocare %d byte\n" + +#, c-format +msgid "" +"%s:%d:OLE_load_FAT:ERROR: Not able to load block, import sector = 0x%x, fat " +"position = 0x%x" +msgstr "" +"%s:%d: OLE_load_FAT:ERRORE: impossibile caricare il blocco, settore di " +"importazione = 0x%x,posizione fat = 0x%x" + +#, c-format +msgid "%s:%d:OLE_load_FAT:ERROR: FAT memory boundary limit exceeded %p >= %p" +msgstr "" +"%s:%d: OLE_load_FAT:ERROR: oltrepassato il limite della memoria di confine " +"FAT %p >= %p" + +#, c-format +msgid "%s:%d:OLE_load_FAT:ERROR: sector request was negative (%d)" +msgstr "%s:%d: OLE_load_FAT:ERROR: la richiesta del settore è negativa (%d)" + +#, c-format +msgid "" +"%s:%d:OLE_get_miniblock:ERROR: Failed to allocate enough memory for miniChain" +msgstr "" +"%s:%d: OLE_get_miniblock:ERROR: impossibile allocare memoria sufficiente per " +"miniChain" + +#, c-format +msgid "%s:%d:OLE_load_chain:ERROR: Load-chain went over memory boundary" +msgstr "" +"%s:%d: OLE_load_chain:ERROR: Load-chain è andata oltre il limite della " +"memoria" + +#, c-format +msgid "%s:%d:OLE_open_file:ERROR: Cannot locate file '%s' for opening (%s)" +msgstr "" +"%s:%d: OLE_open_file:ERROR: non è possibile trovare il file '%s' per " +"l'apertura (%s)" + +#, c-format +msgid "%s:%d:OLE_open_file:ERROR:Cannot open %s for reading (%s)\n" +msgstr "" +"%s:%d: OLE_open_file:ERROR: non è possibile trovare %s per la lettura (%s)\n" + +#, c-format +msgid "%s:%d:OLE_open_directory:ERROR: %s" +msgstr "%s:%d: OLE_open_directory:ERROR: %s" + +#, c-format +msgid "" +"%s:%d:OLE_store_stream:ERROR: Cannot compose full filename string from '%s' " +"and '%s'" +msgstr "" +"%s:%d: OLE_store_stream:ERROR: non è possibile comporre l'intera stringa " +"nomefile da '%s' e '%s'" + +#, c-format +msgid "%s:%d:OLE_store_stream:ERROR: Cannot open %s for writing (%s)" +msgstr "" +"%s:%d: OLE_store_stream:ERROR: non è possibile aprire %s per la scrittura " +"(%s)" + +#, c-format +msgid "%s:%d:OLE_store_stream:WARNING: Only wrote %d of %d bytes to file %s" +msgstr "" +"%s:%d: OLE_store_stream:ATTENZIONE: ha scritto solo %d di %d byte nel file %s" + +#, c-format +msgid "" +"%s:%d:OLEUNWRAP_save_stream:ERROR: Unable to create filename string from " +"'%s' and '%s'" +msgstr "" +"%s:%d: OLEUNWRAP_save_stream:ERROR: non è possibile creare la stringa " +"nomefile da '%s' e '%s'" + +#, c-format +msgid "" +"%s:%d:OLEUNWRAP_save_stream:WARNING: Only wrote %d of %d bytes to file %s\n" +msgstr "" +"%s:%d: OLEUNWRAP_save_stream:ERROR: ha scritto solo %d di %d byte nel file " +"%s\n" + +#, c-format +msgid "" +"%s:%d:OLEUNWRAP_save_stream:ERROR: Unable to open %s for writing (%s)\n" +msgstr "" +"%s:%d: OLEUNWRAP_save_stream:ERROR: non è possibile aprire %s per la " +"scrittura (%s)\n" + +#, c-format +msgid "" +"%s:%d:OLEUNWRAP_decode_attachment:DEBUG: Attachment %s:%s:%s size = %d\n" +msgstr "" +"%s:%d: OLEUNWRAP_decode_attachment:DEBUG: allegato %s%s%s dimensione = %d\n" + +#, c-format +msgid "" +"%s:%d:OLEUNWRAP_decode_attachment:DEBUG: Calling reporter for the filename" +msgstr "" +"%s:%d: OLEUNWRAP_decode_attachment:DEBUG: chiamata di reporter in corso per " +"il nome del file" + +#, c-format +msgid "Unable to decode stream with element string '%s'\n" +msgstr "" +"Non è possibile decodificare il flusso con un elemento della stringa '%s'\n" + +#, c-format +msgid "" +"%s:%d:PLD_strreplace:ERROR: Cannot allocate %d bytes of memory to perform " +"replacement operation" +msgstr "" +"%s:%d:PLD_strreplace:ERROR: non è possibile allocare %d byte di memoria per " +"eseguire l'operazione di sostituzione" + +#, c-format +msgid "" +"%s:%d:PLD_strreplace_general: Allocated memory ran out while replacing '%s' " +"with '%s'" +msgstr "" +"%s:%d:PLD_strreplace_general: la memoria allocata è finita durante la " +"sostituzione di '%s' con '%s'" + +#, c-format +msgid "Decoding filename=%s" +msgstr "Decodifica in corso nomefile=%s" + +#, c-format +msgid "ripOLE requires an input file to decode.\n" +msgstr "ripOLE richiede un file in ingresso da decodificare.\n" + +#, c-format +msgid "ripOLE: decoding of %s resulted in error %d.\n" +msgstr "ripOLE: la decodifica di %s ha portato all'errore %d.\n" + +msgid "Scilab spreadsheet module not installed.\n" +msgstr "Il modulo speadsheet di Scilab non è installato.\n" + +msgid "Spreadsheet" +msgstr "Foglio di calcolo" + +msgid "Read a xls file" +msgstr "Leggi un file xls" diff --git a/modules/spreadsheet/locales/ja_JP.po b/modules/spreadsheet/locales/ja_JP.po new file mode 100755 index 000000000..764a65c02 --- /dev/null +++ b/modules/spreadsheet/locales/ja_JP.po @@ -0,0 +1,443 @@ +# Japanese translation for scilab +# Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 +# This file is distributed under the same license as the scilab package. +# FIRST AUTHOR <EMAIL@ADDRESS>, 2009. +# +msgid "" +msgstr "" +"Project-Id-Version: scilab\n" +"Report-Msgid-Bugs-To: <localization@lists.scilab.org>\n" +"POT-Creation-Date: 2013-04-16 17:44+0100\n" +"PO-Revision-Date: 2013-03-22 15:05+0000\n" +"Last-Translator: Rui Hirokawa <Unknown>\n" +"Language-Team: Japanese <z-saito@guitar.ocn.ne.jp>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Launchpad (build 17413)\n" +"X-Poedit-Country: Japan\n" +"Language: ja\n" +"X-Poedit-Language: Japanese\n" + +#, c-format +msgid "%s: Wrong type for input argument #%d: A string expected.\n" +msgstr "%s: 入力引数 #%d の型が間違っています: 文字列を指定してください.\n" + +#, c-format +msgid "%s: Wrong size for input argument #%d: A string expected.\n" +msgstr "%s: 入力引数 #%d の大きさが間違っています: 文字列を指定してください.\n" + +#, c-format +msgid "%s: Memory allocation error.\n" +msgstr "%s: メモリ割当エラー.\n" + +#, c-format +msgid "%s: Wrong type for input argument #%d: A double expected.\n" +msgstr "%s: 入力引数 #%d の型が間違っています: doubleを指定してください.\n" + +#, c-format +msgid "%s: Wrong size for input argument #%d: A double expected.\n" +msgstr "%s: 入力引数 #%d の大きさが間違っています: doubleを指定してください.\n" + +#, c-format +msgid "%s: Wrong type for input argument #%d: A boolean expected.\n" +msgstr "%s: 入力引数 #%d の型が間違っています: 論理値を指定してください.\n" + +#, c-format +msgid "%s: Wrong size for input argument #%d: A boolean expected.\n" +msgstr "%s: 入力引数 #%d の大きさが間違っています: 論理値を指定してください.\n" + +#, c-format +msgid "%s: Wrong type for input argument #%d: A matrix of double expected.\n" +msgstr "%s: 入力引数 #%d の型が間違っています: doubleの行列を指定してください.\n" + +#, c-format +msgid "" +"%s: Wrong value for input argument #%d: A matrix of double, with integer " +"values, expected.\n" +msgstr "%s: 入力引数 #%d の値が間違っています: 整数の値を有するdoubleの行列を指定してください.\n" + +#, c-format +msgid "" +"%s: Wrong value for input argument #%d: '%s', '%s', '%s', '%s', '%s' or '%s' " +"expected.\n" +msgstr "" +"%s: 入力引数 #%d の値が間違っています: '%s', '%s', '%s', '%s', '%s' または '%s' を指定してください.\n" + +#, c-format +msgid "" +"%s: Wrong value for input argument #%d: A double (value %d to %d) expected.\n" +msgstr "%s: 入力引数 #%d の値が間違っています: double (値 %d から %d) を指定してください.\n" + +#, c-format +msgid "" +"%s: Wrong value for input argument #%d: '%s', '%s', '%s' , '%s', '%s', '%s', " +"'%s' or '%s' expected.\n" +msgstr "" +"%s: 入力引数 #%d の値が間違っています: '%s', '%s', '%s' , '%s', '%s', '%s', '%s' または '%s' " +"を指定してください.\n" + +#, c-format +msgid "%s: Wrong size for input argument #%d: Four entries expected.\n" +msgstr "%s: 入力引数 #%d の大きさが間違っています: 4つのエントリを指定してください.\n" + +#, c-format +msgid "" +"%s: Wrong size for input argument #%d: A column or row vector expected.\n" +msgstr "%s: 入力引数 #%d の大きさが間違っています: 列または行ベクトルを指定してください.\n" + +#, c-format +msgid "%s: Wrong value for input argument #%d: Inconsistent range.\n" +msgstr "%s: 入力引数 #%d の値が間違っています: 範囲が一致しません.\n" + +#, c-format +msgid "%s: Wrong size for input argument #%d.\n" +msgstr "%s: 入力引数 #%d の大きさが間違っています.\n" + +#, c-format +msgid "" +"%s: Wrong value for input argument #%d: '%s' or '%s' string expected.\n" +msgstr "%s: 入力引数 #%d の値が間違っています: 文字列'%s' または '%s' を指定してください.\n" + +#, c-format +msgid "%s: Wrong value for input argument #%d.\n" +msgstr "%s: 入力引数 #%d の値が間違っています.\n" + +#, c-format +msgid "%s: separator and decimal must have different values.\n" +msgstr "%s: セパレータと小数点は異なる値とする必要があります.\n" + +#, c-format +msgid "%s: Range row or/and column left indice(s) out of bounds.\n" +msgstr "%s: 行または列添字が範囲外です.\n" + +#, c-format +msgid "%s: can not convert data.\n" +msgstr "%s: データを変換できません.\n" + +#, c-format +msgid "%s: %s does not exist.\n" +msgstr "%s: %s は存在しません.\n" + +#, c-format +msgid "%s: can not open file %s.\n" +msgstr "%s: ファイル %s をオープンできません.\n" + +#, c-format +msgid "%s: can not read file %s: Error in the column structure\n" +msgstr "%s: ファイル %s を読み込めません: 列構造体にエラーがあります\n" + +#, c-format +msgid "%s: can not read file %s.\n" +msgstr "%s: ファイル %s を読み込めません.\n" + +#, c-format +msgid "%s: Wrong size for input argument #%d: String vector expected.\n" +msgstr "%s: 入力引数 #%d の大きさが間違っています: 文字列ベクトルを指定してください.\n" + +#, c-format +msgid "%s: can not read text: Error in the column structure\n" +msgstr "%s: テキストを読み込めません: 列構造体にエラーがあります\n" + +#, c-format +msgid "%s: can not read text.\n" +msgstr "%s: テキストを読み込めません.\n" + +#, c-format +msgid "" +"%s: Wrong size for input argument #%d: A 1-by-n or m-by-1 array of strings " +"expected.\n" +msgstr "%s: 入力引数 #%d の大きさが間違っています: 1行n列またはm行1列の文字列配列を指定してください.\n" + +#, c-format +msgid "" +"%s: Wrong value for input argument #%d: A double (value 1 to 17) expected.\n" +msgstr "%s: 入力引数 #%d の値が間違っています: double (値は 1 から 17) を指定してください.\n" + +#, c-format +msgid "%s: Not supported format %s.\n" +msgstr "%s: サポートされない形式 %s.\n" + +#, c-format +msgid "%s: Wrong value for input argument #%d: '%s' or '%s' expected.\n" +msgstr "%s: 入力引数 #%d の値が間違っています: '%s' または '%s' を指定してください.\n" + +#, c-format +msgid "" +"%s: Wrong type for input argument #%d: A matrix of string or a matrix of " +"real expected.\n" +msgstr "%s: 入力引数 #%d の型が間違っています: 文字列行列または実数行列を指定してください.\n" + +#, c-format +msgid "%s: error.\n" +msgstr "%s: エラー.\n" + +# +# File: sci_gateway/c/sci_xls_open.c, line: 81 +#, c-format +msgid "The file %s does not exist.\n" +msgstr "ファイル %s は存在しません。\n" + +#, c-format +msgid "%s: File %s is not an ole2 file.\n" +msgstr "%s: ファイル %s は OLE2ファイルではありません.\n" + +# +# File: sci_gateway/c/sci_xls_open.c, line: 93 +#, c-format +msgid "%s: Cannot open file %s.\n" +msgstr "%s: ファイル %s を開けません。\n" + +#, c-format +msgid "%s: There is no xls stream in the ole2 file %s.\n" +msgstr "%s: OLE2ファイル %s にxlsストリームがありません.\n" + +# +# File: sci_gateway/c/sci_xls_open.c, line: 124 +#, c-format +msgid "%s: Not an ole2 file.\n" +msgstr "%s: OLE2 ファイルではありません。\n" + +#, c-format +msgid "%s: The file has no Workbook directory.\n" +msgstr "%s: このファイルにはワークブックディレクトリがありません.\n" + +#, c-format +msgid "%s: No more memory.\n" +msgstr "%s: メモリ不足です.\n" + +#, c-format +msgid "%s: Incorrect or corrupted file.\n" +msgstr "%s: 無効または破損したファイルです.\n" + +#, c-format +msgid "%s: Only BIFF8 file format is handled.\n" +msgstr "%s: 処理できるのは,BIFF8ファイル形式のみです.\n" + +#, c-format +msgid "%s: Wrong type for input argument #%d: Scalar expected.\n" +msgstr "%s: 入力引数 #%d の型が間違っています: スカラーを指定してください.\n" + +# +# File: sci_gateway/c/sci_xls_read.c, line: 66 +#, c-format +msgid "%s: Failed to read expected data, may be invalid xls file.\n" +msgstr "%s: 予想したデータを読み込めません、無効なxlsファイルかもしれません。\n" + +#, c-format +msgid "%s: End of file.\n" +msgstr "%s: ファイルの終端に達しました.\n" + +#, c-format +msgid "" +"%s: Inconsistency found in the columns. At line %d, found %d columns while " +"the previous had %d.\n" +msgstr "%s: 列内に不整合があります. %d行目は %d 列ですが, その前の行は %d 列です.\n" + +msgid "Warning" +msgstr "警告" + +# +# File: src/c/ripole/logger.c, line: 117 +#, c-format +msgid "LOGGER_set_logfile: ERROR - Cannot open logfile '%s' (%s)" +msgstr "LOGGER_set_logfile: エラー - ログファイル '%s' (%s) を開けません" + +# +# File: src/c/ripole/logger.c, line: 119 +#, c-format +msgid "LOGGER_set_logfile: ERROR - Cannot open logfile '%s' (%s)\n" +msgstr "LOGGER_set_logfile: エラー - ログファイル '%s' (%s) を開けません\n" + +# +# File: src/c/ripole/logger.c, line: 342 +#, c-format +msgid "LOGGER-Default: %s%s" +msgstr "LOGGER-Default: %s%s" + +# +# File: src/c/ripole/ole.c, line: 101 +#, c-format +msgid "ripOLE: %s\n" +msgstr "ripOLE: %s\n" + +# +# File: src/c/ripole/ole.c, line: 251 +#, c-format +msgid "%s:%d:OLE_set_debug: Debug level set to %d" +msgstr "%s:%d:OLE_set_debug: デバックレベルを %d に設定" + +# +# File: src/c/ripole/ole.c, line: 333 +#, c-format +msgid "%s:%d:OLE_get_block:ERROR: Block buffer is NULL" +msgstr "%s:%d:OLE_get_block:エラー: ブロックバッファはNULLです" + +# +# File: src/c/ripole/ole.c, line: 347 +#, c-format +msgid "%s:%d:OLE_get_block:ERROR: Cannot allocate %d bytes for OLE block" +msgstr "%s:%d:OLE_get_block:エラー: OLEブロックで、%d バイトの割り当てができません" + +#, c-format +msgid "%s:%d:OLE_get_block:ERROR: Seek failure (block=%d:%d)" +msgstr "%s:%d:OLE_get_block:エラー:シークに失敗しました(ブロック =%d:%d)" + +#, c-format +msgid "%s:%d:Mismatch in bytes read. Requested %d, got %d\n" +msgstr "%s:%d:読み込んだバイト数が一致しません. %d バイトを要求しましたが, %d バイトが読み込まれました.\n" + +# +# File: src/c/ripole/ole.c, line: 388 +#, c-format +msgid "%s:%d:OLE_get_block:ERROR: OLE file is closed\n" +msgstr "%s:%d:OLE_get_block:エラー: OLEファイルは閉じられました。\n" + +# +# File: src/c/ripole/ole.c, line: 978 +#, c-format +msgid "%s:%d:OLE_load_FAT:ERROR: Unable to allocate %d bytes\n" +msgstr "%s:%d:OLE_load_FAT:エラー: %d バイトを割り当てることが出来ません。\n" + +#, c-format +msgid "" +"%s:%d:OLE_load_FAT:ERROR: Not able to load block, import sector = 0x%x, fat " +"position = 0x%x" +msgstr "%s:%d:OLE_load_FAT:エラー: ブロックをロードできません、 読み込みセクタ = 0x%x, FAT位置 = 0x%x" + +# +# File: src/c/ripole/ole.c, line: 1048 +# File: src/c/ripole/ole.c, line: 1055 +#, c-format +msgid "%s:%d:OLE_load_FAT:ERROR: FAT memory boundary limit exceeded %p >= %p" +msgstr "%s:%d:OLE_load_FAT:エラー: FATメモリの限界境界を越えました %p>=%p" + +#, c-format +msgid "%s:%d:OLE_load_FAT:ERROR: sector request was negative (%d)" +msgstr "%s:%d:OLE_load_FAT:エラー: 要求セクタが負(%d)でした" + +# +# File: src/c/ripole/ole.c, line: 1314 +#, c-format +msgid "" +"%s:%d:OLE_get_miniblock:ERROR: Failed to allocate enough memory for miniChain" +msgstr "%s:%d:OLE_get_miniblock:エラー: miniChainのためのメモリを十分に割り当てることができませんでした" + +# +# File: src/c/ripole/ole.c, line: 1392 +#, c-format +msgid "%s:%d:OLE_load_chain:ERROR: Load-chain went over memory boundary" +msgstr "%s:%d:OLE_load_chain:エラー: Load-chainはメモリ境界を越えました" + +# +# File: src/c/ripole/ole.c, line: 1435 +#, c-format +msgid "%s:%d:OLE_open_file:ERROR: Cannot locate file '%s' for opening (%s)" +msgstr "%1$s:%2$d:OLE_open_file:エラー: 開いた(%4$s) のファイル '%3$s' を割り当てることができません" + +# +# File: src/c/ripole/ole.c, line: 1450 +#, c-format +msgid "%s:%d:OLE_open_file:ERROR:Cannot open %s for reading (%s)\n" +msgstr "%1$s:%2$d:OLE_open_file:エラー: 読み込み(%4$s)の %3$s を開けません\n" + +# +# File: src/c/ripole/ole.c, line: 1492 +#, c-format +msgid "%s:%d:OLE_open_directory:ERROR: %s" +msgstr "%s:%d:OLE_open_directory:エラー: %s" + +#, c-format +msgid "" +"%s:%d:OLE_store_stream:ERROR: Cannot compose full filename string from '%s' " +"and '%s'" +msgstr "%s:%d:OLE_store_stream:エラー: ’%s’と’%s’ から完全なファイル名を構築できません" + +#, c-format +msgid "%s:%d:OLE_store_stream:ERROR: Cannot open %s for writing (%s)" +msgstr "%1$s:%2$d:OLE_store_stream:エラー: 書き込み用(%4$s) に %3$s をオープンできません" + +#, c-format +msgid "%s:%d:OLE_store_stream:WARNING: Only wrote %d of %d bytes to file %s" +msgstr "" +"%1$s:%2$d:OLE_store_stream:警告: ファイル %5$s に %4$d バイトのうち %3$d のみが書き込まれました." + +# +# File: src/c/ripole/olestream-unwrap.c, line: 156 +#, c-format +msgid "" +"%s:%d:OLEUNWRAP_save_stream:ERROR: Unable to create filename string from " +"'%s' and '%s'" +msgstr "%s:%d:OLEUNWRAP_save_stream:エラー: '%s' と '%s' からファイル名文字を作成できません" + +#, c-format +msgid "" +"%s:%d:OLEUNWRAP_save_stream:WARNING: Only wrote %d of %d bytes to file %s\n" +msgstr "" +"%1$s:%2$d:OLEUNWRAP_save_stream:警告: ファイル %5$s へ %4$d バイトのうち,%3$d " +"のみが書き込まれました.\n" + +#, c-format +msgid "" +"%s:%d:OLEUNWRAP_save_stream:ERROR: Unable to open %s for writing (%s)\n" +msgstr "%1$s:%2$d:OLEUNWRAP_save_stream:エラー: 書き込み用(%4$s)に %3$s をオープン出来ません.\n" + +#, c-format +msgid "" +"%s:%d:OLEUNWRAP_decode_attachment:DEBUG: Attachment %s:%s:%s size = %d\n" +msgstr "%s:%d:OLEUNWRAP_decode_attachment:デバッグ: 添付 %s:%s:%s サイズ=%d\n" + +# +# File: src/c/ripole/olestream-unwrap.c, line: 293 +#, c-format +msgid "" +"%s:%d:OLEUNWRAP_decode_attachment:DEBUG: Calling reporter for the filename" +msgstr "%s:%d:OLEUNWRAP_decode_attachment:デバッグ: ファイル名のレポータの呼び出し" + +# +# File: src/c/ripole/olestream-unwrap.c, line: 334 +#, c-format +msgid "Unable to decode stream with element string '%s'\n" +msgstr "要素文字列 '%s' ストリームを復号化できません。\n" + +# +# File: src/c/ripole/pldstr.c, line: 500 +#, c-format +msgid "" +"%s:%d:PLD_strreplace:ERROR: Cannot allocate %d bytes of memory to perform " +"replacement operation" +msgstr "%s:%d:PLD_strreplace:エラー: 置換を行うためのメモリ %d バイトを割り当てることができません" + +# +# File: src/c/ripole/pldstr.c, line: 582 +#, c-format +msgid "" +"%s:%d:PLD_strreplace_general: Allocated memory ran out while replacing '%s' " +"with '%s'" +msgstr "" +"%1$s:%2$d:PLD_strreplace_general: '%4$s' で '%3$s' の置換の間に割り当てたメモリがなくなりました。" + +#, c-format +msgid "Decoding filename=%s" +msgstr "ファイル名=%s をデコード中" + +# +# File: src/c/ripole/ripole.c, line: 285 +#, c-format +msgid "ripOLE requires an input file to decode.\n" +msgstr "ripOLEは、復号化するべき入力ファイルを必要とします。\n" + +#, c-format +msgid "ripOLE: decoding of %s resulted in error %d.\n" +msgstr "ripOLE: %s のデコード時にエラー %d を発生しました.\n" + +# +# File: src/nospreadsheet/nospreadsheet.c, line: 19 +msgid "Scilab spreadsheet module not installed.\n" +msgstr "Scilab スプレッドシート・モジュールはインストールされていません。\n" + +msgid "Spreadsheet" +msgstr "表計算" + +msgid "Read a xls file" +msgstr "xlsファイルを読み込む" diff --git a/modules/spreadsheet/locales/pl_PL.po b/modules/spreadsheet/locales/pl_PL.po new file mode 100755 index 000000000..ff87b9ee7 --- /dev/null +++ b/modules/spreadsheet/locales/pl_PL.po @@ -0,0 +1,431 @@ +# Polish translation for scilab +# Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010 +# This file is distributed under the same license as the scilab package. +# FIRST AUTHOR <EMAIL@ADDRESS>, 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: scilab\n" +"Report-Msgid-Bugs-To: <localization@lists.scilab.org>\n" +"POT-Creation-Date: 2013-04-16 17:44+0100\n" +"PO-Revision-Date: 2011-10-20 14:09+0000\n" +"Last-Translator: Grzegorz Szostek <Unknown>\n" +"Language-Team: Polish <pl@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Launchpad (build 17413)\n" +"Language: pl\n" + +#, c-format +msgid "%s: Wrong type for input argument #%d: A string expected.\n" +msgstr "" + +#, c-format +msgid "%s: Wrong size for input argument #%d: A string expected.\n" +msgstr "" + +#, c-format +msgid "%s: Memory allocation error.\n" +msgstr "" + +#, c-format +msgid "%s: Wrong type for input argument #%d: A double expected.\n" +msgstr "" + +#, c-format +msgid "%s: Wrong size for input argument #%d: A double expected.\n" +msgstr "" + +#, c-format +msgid "%s: Wrong type for input argument #%d: A boolean expected.\n" +msgstr "" + +#, c-format +msgid "%s: Wrong size for input argument #%d: A boolean expected.\n" +msgstr "" + +#, c-format +msgid "%s: Wrong type for input argument #%d: A matrix of double expected.\n" +msgstr "" + +#, c-format +msgid "" +"%s: Wrong value for input argument #%d: A matrix of double, with integer " +"values, expected.\n" +msgstr "" + +#, c-format +msgid "" +"%s: Wrong value for input argument #%d: '%s', '%s', '%s', '%s', '%s' or '%s' " +"expected.\n" +msgstr "" + +#, c-format +msgid "" +"%s: Wrong value for input argument #%d: A double (value %d to %d) expected.\n" +msgstr "" + +#, c-format +msgid "" +"%s: Wrong value for input argument #%d: '%s', '%s', '%s' , '%s', '%s', '%s', " +"'%s' or '%s' expected.\n" +msgstr "" + +#, c-format +msgid "%s: Wrong size for input argument #%d: Four entries expected.\n" +msgstr "" + +#, c-format +msgid "" +"%s: Wrong size for input argument #%d: A column or row vector expected.\n" +msgstr "" + +#, c-format +msgid "%s: Wrong value for input argument #%d: Inconsistent range.\n" +msgstr "" + +#, c-format +msgid "%s: Wrong size for input argument #%d.\n" +msgstr "" + +#, c-format +msgid "" +"%s: Wrong value for input argument #%d: '%s' or '%s' string expected.\n" +msgstr "" + +#, c-format +msgid "%s: Wrong value for input argument #%d.\n" +msgstr "" + +#, c-format +msgid "%s: separator and decimal must have different values.\n" +msgstr "" + +#, c-format +msgid "%s: Range row or/and column left indice(s) out of bounds.\n" +msgstr "" + +#, c-format +msgid "%s: can not convert data.\n" +msgstr "" + +#, c-format +msgid "%s: %s does not exist.\n" +msgstr "" + +#, c-format +msgid "%s: can not open file %s.\n" +msgstr "" + +#, c-format +msgid "%s: can not read file %s: Error in the column structure\n" +msgstr "" + +#, c-format +msgid "%s: can not read file %s.\n" +msgstr "" + +#, c-format +msgid "%s: Wrong size for input argument #%d: String vector expected.\n" +msgstr "" + +#, c-format +msgid "%s: can not read text: Error in the column structure\n" +msgstr "" + +#, c-format +msgid "%s: can not read text.\n" +msgstr "" + +#, c-format +msgid "" +"%s: Wrong size for input argument #%d: A 1-by-n or m-by-1 array of strings " +"expected.\n" +msgstr "" + +#, c-format +msgid "" +"%s: Wrong value for input argument #%d: A double (value 1 to 17) expected.\n" +msgstr "" + +#, c-format +msgid "%s: Not supported format %s.\n" +msgstr "" + +#, c-format +msgid "%s: Wrong value for input argument #%d: '%s' or '%s' expected.\n" +msgstr "" +"%s: Nieprawidłowa wartość argumentu wejściowego nr %d: oczekiwany '%s' lub " +"'%s' .\n" + +#, c-format +msgid "" +"%s: Wrong type for input argument #%d: A matrix of string or a matrix of " +"real expected.\n" +msgstr "" + +#, c-format +msgid "%s: error.\n" +msgstr "" + +#, c-format +msgid "The file %s does not exist.\n" +msgstr "Plik %s nie istnieje.\n" + +#, c-format +msgid "%s: File %s is not an ole2 file.\n" +msgstr "%s: Plik %s nie jest plikiem ole2.\n" + +#, c-format +msgid "%s: Cannot open file %s.\n" +msgstr "%s: Nie można otworzyć pliku %s.\n" + +#, c-format +msgid "%s: There is no xls stream in the ole2 file %s.\n" +msgstr "%s: W pliku ole2 nie ma ścieżki xls %s.\n" + +#, c-format +msgid "%s: Not an ole2 file.\n" +msgstr "%s: Nie jest plikiem ole2.\n" + +#, c-format +msgid "%s: The file has no Workbook directory.\n" +msgstr "%s: Nie ma pliku w katalogu skoroszyt.\n" + +#, c-format +msgid "%s: No more memory.\n" +msgstr "%s: Brak pamięci.\n" + +#, c-format +msgid "%s: Incorrect or corrupted file.\n" +msgstr "%s: Nieprawidłowy lub uszkodzony plik.\n" + +#, c-format +msgid "%s: Only BIFF8 file format is handled.\n" +msgstr "%s: Tylko format pliku BIFF8 jest obsługiwany.\n" + +#, c-format +msgid "%s: Wrong type for input argument #%d: Scalar expected.\n" +msgstr "" +"%s: Nieprawidłowy typ argumentu wejściowego nr %d: oczekiwany skalar.\n" + +#, c-format +msgid "%s: Failed to read expected data, may be invalid xls file.\n" +msgstr "%s: Oczekiwany błędny odczyt danych, plik xls może być uszkodzony.\n" + +#, c-format +msgid "%s: End of file.\n" +msgstr "%s: Koniec pliku.\n" + +#, c-format +msgid "" +"%s: Inconsistency found in the columns. At line %d, found %d columns while " +"the previous had %d.\n" +msgstr "" + +msgid "Warning" +msgstr "" + +#, c-format +msgid "LOGGER_set_logfile: ERROR - Cannot open logfile '%s' (%s)" +msgstr "" +"LOGGER_set(ustaw)_logfile(plik log): ERROR(błąd) - Nie można otworzyć pliku " +"log '%s' (%s)" + +#, c-format +msgid "LOGGER_set_logfile: ERROR - Cannot open logfile '%s' (%s)\n" +msgstr "" +"LOGGER_set(ustaw)_logfile(plik log): ERROR(błąd) - Nie można otworzyć pliku " +"log '%s' (%s)\n" + +#, c-format +msgid "LOGGER-Default: %s%s" +msgstr "LOGGER-Domyślnie: %s%s" + +#, c-format +msgid "ripOLE: %s\n" +msgstr "rozdzielenie OLE: %s\n" + +#, c-format +msgid "%s:%d:OLE_set_debug: Debug level set to %d" +msgstr "" +"%s:%d:OLE_set(ustaw)_debug(analizę): Analiza ustawiona na poziomie %d" + +#, c-format +msgid "%s:%d:OLE_get_block:ERROR: Block buffer is NULL" +msgstr "" +"%s:%d:OLE_get(posiada)_block(blok):ERROR(błąd): Blok buforu jest ZEREM" + +#, c-format +msgid "%s:%d:OLE_get_block:ERROR: Cannot allocate %d bytes for OLE block" +msgstr "" +"%s:%d:OLE_get(posiada)_block(blok):ERROR(błąd): Nie można przydzielić %d " +"bajtu dla bloku OLE" + +#, c-format +msgid "%s:%d:OLE_get_block:ERROR: Seek failure (block=%d:%d)" +msgstr "" +"%s:%d:OLE_get(posiada)_block(blok):ERROR(błąd): Szukanie nie powiodło się " +"(blok=%d:%d)" + +#, c-format +msgid "%s:%d:Mismatch in bytes read. Requested %d, got %d\n" +msgstr "%s:%d:Niezgodność w odczytanych bajtach . Posiadany wniosek %d, %d\n" + +#, c-format +msgid "%s:%d:OLE_get_block:ERROR: OLE file is closed\n" +msgstr "" +"%s:%d:OLE_get(posiada)_block(blok):ERROR(błąd): Plik OLE jest zamknięty\n" + +#, c-format +msgid "%s:%d:OLE_load_FAT:ERROR: Unable to allocate %d bytes\n" +msgstr "" +"%s:%d:OLE_load(wczytuje)_FAT:ERROR(błąd): Nie można przydzielić bajtów %d\n" + +#, c-format +msgid "" +"%s:%d:OLE_load_FAT:ERROR: Not able to load block, import sector = 0x%x, fat " +"position = 0x%x" +msgstr "" +"%s:%d:OLE_load(wczytuje)_FAT:ERROR(błąd): Nie można wczytać bloku, sektora " +"importu = 0x%x, fat pozycja = 0x%x" + +#, c-format +msgid "%s:%d:OLE_load_FAT:ERROR: FAT memory boundary limit exceeded %p >= %p" +msgstr "" +"%s:%d:OLE_load(wczytuje)_FAT:ERROR(błąd): FAT przekroczył granicę limitu " +"pamięci %p >= %p" + +#, c-format +msgid "%s:%d:OLE_load_FAT:ERROR: sector request was negative (%d)" +msgstr "" +"%s:%d:OLE_load(wczytuje)_FAT:ERROR(błąd): wnioskowany sektor był negatywny " +"(%d)" + +#, c-format +msgid "" +"%s:%d:OLE_get_miniblock:ERROR: Failed to allocate enough memory for miniChain" +msgstr "" +"%s:%d:OLE_get(posiada)_miniblock(mały blok):ERROR(błąd): Nie udało się " +"przydzielić wystarczającej ilości pamięci do miniChain" + +#, c-format +msgid "%s:%d:OLE_load_chain:ERROR: Load-chain went over memory boundary" +msgstr "" +"%s:%d:OLE_load(wczytuje)_FAT:ERROR(błąd): Obciążenia sieci sięgają granicy " +"pamięci" + +#, c-format +msgid "%s:%d:OLE_open_file:ERROR: Cannot locate file '%s' for opening (%s)" +msgstr "" +"%s:%d:OLE_open(otwierać)_file(plik):ERROR(błąd): Nie można odnaleźć pliku " +"'%s' do otwarcia (%s)" + +#, c-format +msgid "%s:%d:OLE_open_file:ERROR:Cannot open %s for reading (%s)\n" +msgstr "" +"%s:%d:OLE_open(otwierać)_file(plik):ERROR(błąd):Nie można otworzyć %s do " +"odczytu (%s)\n" + +#, c-format +msgid "%s:%d:OLE_open_directory:ERROR: %s" +msgstr "%s:%d:OLE_open(otwierać)_directory(katalog):ERROR(błąd): %s" + +#, c-format +msgid "" +"%s:%d:OLE_store_stream:ERROR: Cannot compose full filename string from '%s' " +"and '%s'" +msgstr "" +"%s:%d:OLE_store(magazyn)_stream(ścieżkę):ERROR(błąd): Nie można skomponować " +"pełnej nazwy pliku z ciągu znaków '%s' i '%s'" + +#, c-format +msgid "%s:%d:OLE_store_stream:ERROR: Cannot open %s for writing (%s)" +msgstr "" +"%s:%d:OLE_store(magazyn)_stream(ścieżkę):ERROR(błąd): Nie można otworzyć %s " +"do zapisu (%s)" + +#, c-format +msgid "%s:%d:OLE_store_stream:WARNING: Only wrote %d of %d bytes to file %s" +msgstr "" +"%s:%d:OLE_store(magazyn)_stream(ścieżkę):OSTRZEŻENIE: Tylko zapis %d z %d " +"bajtów do pliku %s" + +#, c-format +msgid "" +"%s:%d:OLEUNWRAP_save_stream:ERROR: Unable to create filename string from " +"'%s' and '%s'" +msgstr "" +"%s:%d:OLEUNWRAP_save(zapisz)_stream(ścieżkę):ERROR(błąd): Nie można utworzyć " +"pliku z ciągu znaków '%s' i '%s'" + +#, c-format +msgid "" +"%s:%d:OLEUNWRAP_save_stream:WARNING: Only wrote %d of %d bytes to file %s\n" +msgstr "" +"%s:%d:OLEUNWRAP_save(zapisz)_stream(ścieżkę):OSTRZEŻENIE: Tylko napisz %d z " +"%d bajtów do pliku %s\n" + +#, c-format +msgid "" +"%s:%d:OLEUNWRAP_save_stream:ERROR: Unable to open %s for writing (%s)\n" +msgstr "" +"%s:%d:OLEUNWRAP_save(zapisz)_stream(ścieżkę):ERROR(błąd): Nie można otworzyć " +"%s do zapisu (%s)\n" + +#, c-format +msgid "" +"%s:%d:OLEUNWRAP_decode_attachment:DEBUG: Attachment %s:%s:%s size = %d\n" +msgstr "" +"%s:%d:OLEUNWRAP_decode(rozkoduj)_attachment(przypisanie):DEBUG (Analiza): " +"Przypisany %s:%s:%s rozmiar = %d\n" + +#, c-format +msgid "" +"%s:%d:OLEUNWRAP_decode_attachment:DEBUG: Calling reporter for the filename" +msgstr "" +"%s:%d:OLEUNWRAP_decode_attachment:DEBUG(Analiza): Przywołanie wydarzeń dla " +"nazwy pliku" + +#, c-format +msgid "Unable to decode stream with element string '%s'\n" +msgstr "Nie można rozkodować ścieżki z elementami ciągu znaków '%s'\n" + +#, c-format +msgid "" +"%s:%d:PLD_strreplace:ERROR: Cannot allocate %d bytes of memory to perform " +"replacement operation" +msgstr "" +"%s:%d:PLD_strreplace:ERROR(błąd): Nie można przydzielić %d bajtów pamięci do " +"wykonania operacji wymiany" + +#, c-format +msgid "" +"%s:%d:PLD_strreplace_general: Allocated memory ran out while replacing '%s' " +"with '%s'" +msgstr "" +"%s:%d:PLD_strreplace_general(ogólnie): Przydzielona pamięć została " +"wyprowadzona podczas zamiany '%s' z '%s'" + +#, c-format +msgid "Decoding filename=%s" +msgstr "Dekodowanie pliku=%s" + +#, c-format +msgid "ripOLE requires an input file to decode.\n" +msgstr "" +"ripOLE (rozdzielenie OLE) wymaga pliku wejściowego do rozkodowania.\n" + +#, c-format +msgid "ripOLE: decoding of %s resulted in error %d.\n" +msgstr "ripOLE: dekodowanie %s zakończyło się błędem %d.\n" + +msgid "Scilab spreadsheet module not installed.\n" +msgstr "Moduł arkusza kalkulacyjnego Scilab nie zainstalowany.\n" + +msgid "Spreadsheet" +msgstr "" + +msgid "Read a xls file" +msgstr "Odczytaj plik xls" diff --git a/modules/spreadsheet/locales/pt_BR.po b/modules/spreadsheet/locales/pt_BR.po new file mode 100755 index 000000000..0c500eccd --- /dev/null +++ b/modules/spreadsheet/locales/pt_BR.po @@ -0,0 +1,417 @@ +# Brazilian Portuguese translation for scilab +# Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 +# This file is distributed under the same license as the scilab package. +# FIRST AUTHOR <EMAIL@ADDRESS>, 2009. +# +msgid "" +msgstr "" +"Project-Id-Version: scilab\n" +"Report-Msgid-Bugs-To: <localization@lists.scilab.org>\n" +"POT-Creation-Date: 2013-04-16 17:44+0100\n" +"PO-Revision-Date: 2012-01-06 15:46+0000\n" +"Last-Translator: RodolfoRG <rodolforg@gmail.com>\n" +"Language-Team: Brazilian Portuguese <pt_BR@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Launchpad (build 17413)\n" +"Language: pt_BR\n" + +#, c-format +msgid "%s: Wrong type for input argument #%d: A string expected.\n" +msgstr "" + +#, c-format +msgid "%s: Wrong size for input argument #%d: A string expected.\n" +msgstr "" + +#, c-format +msgid "%s: Memory allocation error.\n" +msgstr "" + +#, c-format +msgid "%s: Wrong type for input argument #%d: A double expected.\n" +msgstr "" + +#, c-format +msgid "%s: Wrong size for input argument #%d: A double expected.\n" +msgstr "" + +#, c-format +msgid "%s: Wrong type for input argument #%d: A boolean expected.\n" +msgstr "" + +#, c-format +msgid "%s: Wrong size for input argument #%d: A boolean expected.\n" +msgstr "" + +#, c-format +msgid "%s: Wrong type for input argument #%d: A matrix of double expected.\n" +msgstr "" + +#, c-format +msgid "" +"%s: Wrong value for input argument #%d: A matrix of double, with integer " +"values, expected.\n" +msgstr "" + +#, c-format +msgid "" +"%s: Wrong value for input argument #%d: '%s', '%s', '%s', '%s', '%s' or '%s' " +"expected.\n" +msgstr "" + +#, c-format +msgid "" +"%s: Wrong value for input argument #%d: A double (value %d to %d) expected.\n" +msgstr "" + +#, c-format +msgid "" +"%s: Wrong value for input argument #%d: '%s', '%s', '%s' , '%s', '%s', '%s', " +"'%s' or '%s' expected.\n" +msgstr "" + +#, c-format +msgid "%s: Wrong size for input argument #%d: Four entries expected.\n" +msgstr "" + +#, c-format +msgid "" +"%s: Wrong size for input argument #%d: A column or row vector expected.\n" +msgstr "" + +#, c-format +msgid "%s: Wrong value for input argument #%d: Inconsistent range.\n" +msgstr "" + +#, c-format +msgid "%s: Wrong size for input argument #%d.\n" +msgstr "" + +#, c-format +msgid "" +"%s: Wrong value for input argument #%d: '%s' or '%s' string expected.\n" +msgstr "" + +#, c-format +msgid "%s: Wrong value for input argument #%d.\n" +msgstr "" + +#, c-format +msgid "%s: separator and decimal must have different values.\n" +msgstr "" + +#, c-format +msgid "%s: Range row or/and column left indice(s) out of bounds.\n" +msgstr "" + +#, c-format +msgid "%s: can not convert data.\n" +msgstr "" + +#, c-format +msgid "%s: %s does not exist.\n" +msgstr "" + +#, c-format +msgid "%s: can not open file %s.\n" +msgstr "" + +#, c-format +msgid "%s: can not read file %s: Error in the column structure\n" +msgstr "" + +#, c-format +msgid "%s: can not read file %s.\n" +msgstr "" + +#, c-format +msgid "%s: Wrong size for input argument #%d: String vector expected.\n" +msgstr "" + +#, c-format +msgid "%s: can not read text: Error in the column structure\n" +msgstr "" + +#, c-format +msgid "%s: can not read text.\n" +msgstr "" + +#, c-format +msgid "" +"%s: Wrong size for input argument #%d: A 1-by-n or m-by-1 array of strings " +"expected.\n" +msgstr "" + +#, c-format +msgid "" +"%s: Wrong value for input argument #%d: A double (value 1 to 17) expected.\n" +msgstr "" + +#, c-format +msgid "%s: Not supported format %s.\n" +msgstr "" + +#, c-format +msgid "%s: Wrong value for input argument #%d: '%s' or '%s' expected.\n" +msgstr "" +"%s: Valor incorreto para o argumento de entrada #%d: esperava-se '%s' ou " +"'%s'.\n" + +#, c-format +msgid "" +"%s: Wrong type for input argument #%d: A matrix of string or a matrix of " +"real expected.\n" +msgstr "" + +#, c-format +msgid "%s: error.\n" +msgstr "" + +#, c-format +msgid "The file %s does not exist.\n" +msgstr "O arquivo %s não existe.\n" + +#, c-format +msgid "%s: File %s is not an ole2 file.\n" +msgstr "%s: O arquivo %s não é um arquivo ole2.\n" + +#, c-format +msgid "%s: Cannot open file %s.\n" +msgstr "%s: Não foi possível abrir o arquivo %s.\n" + +#, c-format +msgid "%s: There is no xls stream in the ole2 file %s.\n" +msgstr "%s: Não há fluxo xls no arquivo ole2 %s.\n" + +#, c-format +msgid "%s: Not an ole2 file.\n" +msgstr "%s: Não é um arquivo ole2.\n" + +#, c-format +msgid "%s: The file has no Workbook directory.\n" +msgstr "%s: O arquivo não possui diretório Workbook.\n" + +#, c-format +msgid "%s: No more memory.\n" +msgstr "%s: Memória esgotada.\n" + +#, c-format +msgid "%s: Incorrect or corrupted file.\n" +msgstr "%s: Arquivo incorreto ou corrompido.\n" + +#, c-format +msgid "%s: Only BIFF8 file format is handled.\n" +msgstr "%s: Apenas o formato de arquivo BIFF8 é tratado.\n" + +#, c-format +msgid "%s: Wrong type for input argument #%d: Scalar expected.\n" +msgstr "" +"%s: Tipo incorreto para o argumento de entrada #%d: esperava-se um escalar.\n" + +#, c-format +msgid "%s: Failed to read expected data, may be invalid xls file.\n" +msgstr "" +"%s: Falhou ao ler os dados esperados: pode ser um arquivo xls inválido.\n" + +#, c-format +msgid "%s: End of file.\n" +msgstr "%s: Fim do arquivo.\n" + +#, c-format +msgid "" +"%s: Inconsistency found in the columns. At line %d, found %d columns while " +"the previous had %d.\n" +msgstr "" + +msgid "Warning" +msgstr "" + +#, c-format +msgid "LOGGER_set_logfile: ERROR - Cannot open logfile '%s' (%s)" +msgstr "" +"LOGGER_set_logfile: ERRO - Não é posível abrir o arquivo de registros '%s' " +"(%s)" + +#, c-format +msgid "LOGGER_set_logfile: ERROR - Cannot open logfile '%s' (%s)\n" +msgstr "" +"LOGGER_set_logfile: ERRO - Não é posível abrir o arquivo de registros '%s' " +"(%s)\n" + +#, c-format +msgid "LOGGER-Default: %s%s" +msgstr "LOGGER-Padrão: %s%s" + +#, c-format +msgid "ripOLE: %s\n" +msgstr "ripOLE: %s\n" + +#, c-format +msgid "%s:%d:OLE_set_debug: Debug level set to %d" +msgstr "%s:%d:OLE_set_debug: Nível de depuramento ajustado para %d" + +#, c-format +msgid "%s:%d:OLE_get_block:ERROR: Block buffer is NULL" +msgstr "%s:%d:OLE_get_block:ERROR: O buffer do bloco é NULL" + +#, c-format +msgid "%s:%d:OLE_get_block:ERROR: Cannot allocate %d bytes for OLE block" +msgstr "%s:%d:OLE_get_block:ERROR: Não é possível alocar %d para o bloco OLE" + +#, c-format +msgid "%s:%d:OLE_get_block:ERROR: Seek failure (block=%d:%d)" +msgstr "%s:%d:OLE_get_block:ERROR: Falha na busca (bloco=%d:%d)" + +#, c-format +msgid "%s:%d:Mismatch in bytes read. Requested %d, got %d\n" +msgstr "" +"%s:%d: Não há correspondência na leitura de bytes. Requereu-se %d, obteve-se " +"%d\n" + +#, c-format +msgid "%s:%d:OLE_get_block:ERROR: OLE file is closed\n" +msgstr "%s:%d:OLE_get_block:ERRO: O arquivo OLE está fechado\n" + +#, c-format +msgid "%s:%d:OLE_load_FAT:ERROR: Unable to allocate %d bytes\n" +msgstr "%s:%d:OLE_load_FAT:ERRO: Não se consegue alocar %d bytes\n" + +#, c-format +msgid "" +"%s:%d:OLE_load_FAT:ERROR: Not able to load block, import sector = 0x%x, fat " +"position = 0x%x" +msgstr "" +"%s:%d:OLE_load_FAT:ERRO: Não se consegue carregar bloco, setor de importação " +"= 0x%x, posição de fat = 0x%x" + +#, c-format +msgid "%s:%d:OLE_load_FAT:ERROR: FAT memory boundary limit exceeded %p >= %p" +msgstr "%s:%d:OLE_load_FAT:ERRO: Limite da memória FAT excedido %p >= %p" + +#, c-format +msgid "%s:%d:OLE_load_FAT:ERROR: sector request was negative (%d)" +msgstr "%s:%d:OLE_load_FAT:ERRO: pedido do setor foi negativo (%d)" + +#, c-format +msgid "" +"%s:%d:OLE_get_miniblock:ERROR: Failed to allocate enough memory for miniChain" +msgstr "" +"%s:%d:OLE_get_miniblock:ERRO: Falhou ao alocar memória suficiente para " +"miniChain" + +#, c-format +msgid "%s:%d:OLE_load_chain:ERROR: Load-chain went over memory boundary" +msgstr "" +"%s:%d:OLE_load_chain:ERRO: Load-chain ultrapassou os limites de memória" + +#, c-format +msgid "%s:%d:OLE_open_file:ERROR: Cannot locate file '%s' for opening (%s)" +msgstr "" +"%s:%d:OLE_open_file:ERROR: Não é possível localizar o arquivo '%s' para abri-" +"lo (%s)" + +#, c-format +msgid "%s:%d:OLE_open_file:ERROR:Cannot open %s for reading (%s)\n" +msgstr "" +"%s:%d:OLE_open_file:ERRO: Não é possível abrir %s para leitura (%s)\n" + +#, c-format +msgid "%s:%d:OLE_open_directory:ERROR: %s" +msgstr "%s:%d:OLE_open_directory:ERRO: %s" + +#, c-format +msgid "" +"%s:%d:OLE_store_stream:ERROR: Cannot compose full filename string from '%s' " +"and '%s'" +msgstr "" +"%s:%d:OLE_store_stream:ERRO: Não é possível compor texto de nome de arquivo " +"completo a partir de '%s' e '%s'" + +#, c-format +msgid "%s:%d:OLE_store_stream:ERROR: Cannot open %s for writing (%s)" +msgstr "" +"%s:%d:OLE_store_stream:ERRO: Não é possível abrir %s para escrita (%s)" + +#, c-format +msgid "%s:%d:OLE_store_stream:WARNING: Only wrote %d of %d bytes to file %s" +msgstr "" +"%s:%d:OLE_store_stream:AVISO: Escreveu apenas %d de %d bytes para o arquivo " +"%s" + +#, c-format +msgid "" +"%s:%d:OLEUNWRAP_save_stream:ERROR: Unable to create filename string from " +"'%s' and '%s'" +msgstr "" +"%s:%d:OLEUNWRAP_save_stream:ERRO: Impossível criar o texto de nome de " +"arquivo a partir de '%s' e '%s'" + +#, c-format +msgid "" +"%s:%d:OLEUNWRAP_save_stream:WARNING: Only wrote %d of %d bytes to file %s\n" +msgstr "" +"%s:%d:OLEUNWRAP_save_stream:AVISO: Escreveu apenas %d de %d bytes para o " +"arquivo %s\n" + +#, c-format +msgid "" +"%s:%d:OLEUNWRAP_save_stream:ERROR: Unable to open %s for writing (%s)\n" +msgstr "" +"%s:%d:OLEUNWRAP_save_stream:ERRO: Não se consegue abrir %s para escrita " +"(%s)\n" + +#, c-format +msgid "" +"%s:%d:OLEUNWRAP_decode_attachment:DEBUG: Attachment %s:%s:%s size = %d\n" +msgstr "" +"%s:%d:OLEUNWRAP_decode_attachment:DEBUG: Anexo %s:%s:%s tamanho = %d\n" + +#, c-format +msgid "" +"%s:%d:OLEUNWRAP_decode_attachment:DEBUG: Calling reporter for the filename" +msgstr "" +"%s:%d:OLEUNWRAP_decode_attachment:DEBUG: Chamando o relator para o nome de " +"arquivo" + +#, c-format +msgid "Unable to decode stream with element string '%s'\n" +msgstr "Não foi possível decodificar o fluxo contendo o texto '%s'\n" + +#, c-format +msgid "" +"%s:%d:PLD_strreplace:ERROR: Cannot allocate %d bytes of memory to perform " +"replacement operation" +msgstr "" +"%s:%d:PLD_strreplace:ERRO: Não é possível alocar %d bytes de memória para a " +"realizar a operação de substituição" + +#, c-format +msgid "" +"%s:%d:PLD_strreplace_general: Allocated memory ran out while replacing '%s' " +"with '%s'" +msgstr "" +"%s:%d:PLD_strreplace_general: A memória alocada esgotou-se durante a " +"substituição de \"%s\" por \"%s\"" + +#, c-format +msgid "Decoding filename=%s" +msgstr "Decodificando o nome de arquivo=%s" + +#, c-format +msgid "ripOLE requires an input file to decode.\n" +msgstr "ripOLE exige um arquivo de entrada para decodificar.\n" + +#, c-format +msgid "ripOLE: decoding of %s resulted in error %d.\n" +msgstr "ripOLE: A decodificação de %s resultou no erro %d.\n" + +msgid "Scilab spreadsheet module not installed.\n" +msgstr "O módulo Planilha (Spreadsheet) do Scilab não está instalado.\n" + +msgid "Spreadsheet" +msgstr "Planilha" + +msgid "Read a xls file" +msgstr "Ler um arquivo xls" diff --git a/modules/spreadsheet/locales/ru_RU.po b/modules/spreadsheet/locales/ru_RU.po new file mode 100755 index 000000000..8ce079278 --- /dev/null +++ b/modules/spreadsheet/locales/ru_RU.po @@ -0,0 +1,435 @@ +# Russian translation for scilab +# Copyright (c) 2008 Rosetta Contributors and Canonical Ltd 2008 +# This file is distributed under the same license as the scilab package. +# FIRST AUTHOR <EMAIL@ADDRESS>, 2008. +# +msgid "" +msgstr "" +"Project-Id-Version: scilab\n" +"Report-Msgid-Bugs-To: <localization@lists.scilab.org>\n" +"POT-Creation-Date: 2013-04-16 17:44+0100\n" +"PO-Revision-Date: 2013-03-19 15:09+0000\n" +"Last-Translator: Stanislav V. Kroter <krotersv@gmail.com>\n" +"Language-Team: Russian <ru@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Launchpad (build 17413)\n" +"Language: ru\n" + +#, c-format +msgid "%s: Wrong type for input argument #%d: A string expected.\n" +msgstr "%s: Неверный тип входного аргумента №%d: Ожидалась строка.\n" + +#, c-format +msgid "%s: Wrong size for input argument #%d: A string expected.\n" +msgstr "%s: Неверный размер входного параметра №%d: ожидалась строка.\n" + +#, c-format +msgid "%s: Memory allocation error.\n" +msgstr "%s: Ошибка распределения памяти.\n" + +#, c-format +msgid "%s: Wrong type for input argument #%d: A double expected.\n" +msgstr "%s: Неверный тип входного аргумента №%d: Ожидался тип double.\n" + +#, c-format +msgid "%s: Wrong size for input argument #%d: A double expected.\n" +msgstr "" +"%s: Неверный размер входного аргумента №%d: ожидалось число типа double.\n" + +#, c-format +msgid "%s: Wrong type for input argument #%d: A boolean expected.\n" +msgstr "" +"%s: Неверный тип входного аргумента №%d: ожидалось логическое значение.\n" + +#, c-format +msgid "%s: Wrong size for input argument #%d: A boolean expected.\n" +msgstr "" +"%s: Неверный размер входного параметра №%d: ожидалось логическое значение.\n" + +#, c-format +msgid "%s: Wrong type for input argument #%d: A matrix of double expected.\n" +msgstr "" +"%s: Неверный тип входного аргумента №%d: ожидалась матрица значений типа " +"double.\n" + +#, c-format +msgid "" +"%s: Wrong value for input argument #%d: A matrix of double, with integer " +"values, expected.\n" +msgstr "" +"%s: Неверное значение входного аргумента №%d: ожидалась матрица " +"целочисленных значений типа double.\n" + +#, c-format +msgid "" +"%s: Wrong value for input argument #%d: '%s', '%s', '%s', '%s', '%s' or '%s' " +"expected.\n" +msgstr "" +"%s: Неверное значение входного параметра №%d: ожидалось «%s», «%s», «%s», " +"«%s», «%s» или «%s».\n" + +#, c-format +msgid "" +"%s: Wrong value for input argument #%d: A double (value %d to %d) expected.\n" +msgstr "" +"%s: Неверное значение входного аргумента №%d: ожидалось значение удвоенной " +"точности (от %d до %d).\n" + +#, c-format +msgid "" +"%s: Wrong value for input argument #%d: '%s', '%s', '%s' , '%s', '%s', '%s', " +"'%s' or '%s' expected.\n" +msgstr "" +"%s: Неверное значение входного аргумента №%d: Ожидалось '%s', '%s', '%s' , " +"'%s', '%s', '%s', '%s' или '%s'.\n" + +#, c-format +msgid "%s: Wrong size for input argument #%d: Four entries expected.\n" +msgstr "" +"%s: Неверный размер входного аргумента №%d: Ожидалось четыре элемента.\n" + +#, c-format +msgid "" +"%s: Wrong size for input argument #%d: A column or row vector expected.\n" +msgstr "" +"%s: Неверный размер входного аргумента №%d: Ожидался вектор-столбец или " +"вектор-строка.\n" + +#, c-format +msgid "%s: Wrong value for input argument #%d: Inconsistent range.\n" +msgstr "" +"%s: Неверное значение входного аргумента №%d: несовместимый диапазон.\n" + +#, c-format +msgid "%s: Wrong size for input argument #%d.\n" +msgstr "%s: Неверный размер входного аргумента №%d.\n" + +#, c-format +msgid "" +"%s: Wrong value for input argument #%d: '%s' or '%s' string expected.\n" +msgstr "" +"%s: Неверное значение входного аргумента №%d: ожидалось строковое значение " +"'%s' или '%s'.\n" + +#, c-format +msgid "%s: Wrong value for input argument #%d.\n" +msgstr "%s: Неверное значение входного аргумента №%d.\n" + +#, c-format +msgid "%s: separator and decimal must have different values.\n" +msgstr "%s: разделитель и десятичная точка должны иметь разные значения.\n" + +#, c-format +msgid "%s: Range row or/and column left indice(s) out of bounds.\n" +msgstr "" +"%s: Диапазон строк или/и столбцов оставляет индекс(ы) за пределами.\n" + +#, c-format +msgid "%s: can not convert data.\n" +msgstr "%s: не удалось преобразовать данные.\n" + +#, c-format +msgid "%s: %s does not exist.\n" +msgstr "%s: %s не существует.\n" + +#, c-format +msgid "%s: can not open file %s.\n" +msgstr "%s: не удалось открыть файл %s.\n" + +#, c-format +msgid "%s: can not read file %s: Error in the column structure\n" +msgstr "%s: не удалось прочитать файл %s: ошибка в структуре столбцов\n" + +#, c-format +msgid "%s: can not read file %s.\n" +msgstr "%s: не удалось прочитать файл %s.\n" + +#, c-format +msgid "%s: Wrong size for input argument #%d: String vector expected.\n" +msgstr "%s: Неверный размер входного аргумента №%d: ожидался вектор строк.\n" + +#, c-format +msgid "%s: can not read text: Error in the column structure\n" +msgstr "%s: не удалось прочитать текст: ошибка в структуре столбцов\n" + +#, c-format +msgid "%s: can not read text.\n" +msgstr "%s: не удалось прочитать текст.\n" + +#, c-format +msgid "" +"%s: Wrong size for input argument #%d: A 1-by-n or m-by-1 array of strings " +"expected.\n" +msgstr "" +"%s: Неверный размер входного аргумента №%d:ожидалсся массив строк размером 1 " +"на n или m на 1.\n" + +#, c-format +msgid "" +"%s: Wrong value for input argument #%d: A double (value 1 to 17) expected.\n" +msgstr "" +"%s: Неверное значение входного аргумента №%d: ожидалось значение от 1 до 17 " +"типа double.\n" + +#, c-format +msgid "%s: Not supported format %s.\n" +msgstr "%s: Неподдерживаемый формат %s.\n" + +#, c-format +msgid "%s: Wrong value for input argument #%d: '%s' or '%s' expected.\n" +msgstr "" +"%s: Неверное значение входного параметра №%d: ожидалось «%s» или «%s».\n" + +#, c-format +msgid "" +"%s: Wrong type for input argument #%d: A matrix of string or a matrix of " +"real expected.\n" +msgstr "" +"%s: Неверный тип входного аргумента №%d: ожидалась матрица строк или матрица " +"вещественных значений.\n" + +#, c-format +msgid "%s: error.\n" +msgstr "%s: ошибка.\n" + +#, c-format +msgid "The file %s does not exist.\n" +msgstr "Файл %s не существует.\n" + +#, c-format +msgid "%s: File %s is not an ole2 file.\n" +msgstr "%s: Файл %s не является файлом ole2.\n" + +#, c-format +msgid "%s: Cannot open file %s.\n" +msgstr "%s: Не удалось открыть файл %s.\n" + +#, c-format +msgid "%s: There is no xls stream in the ole2 file %s.\n" +msgstr "%s: В файле ole2 %s нет xls-потока.\n" + +#, c-format +msgid "%s: Not an ole2 file.\n" +msgstr "%s: Не ole2 файл.\n" + +#, c-format +msgid "%s: The file has no Workbook directory.\n" +msgstr "%s: Файл не содержит каталога Workbook.\n" + +#, c-format +msgid "%s: No more memory.\n" +msgstr "%s: Не осталось доступной памяти.\n" + +#, c-format +msgid "%s: Incorrect or corrupted file.\n" +msgstr "%s: Файл повреждён или некорректен.\n" + +#, c-format +msgid "%s: Only BIFF8 file format is handled.\n" +msgstr "%s: Поддерживается только формат файлов BIFF8.\n" + +#, c-format +msgid "%s: Wrong type for input argument #%d: Scalar expected.\n" +msgstr "%s: Неверный тип входного параметра №%d: ожидался скаляр.\n" + +#, c-format +msgid "%s: Failed to read expected data, may be invalid xls file.\n" +msgstr "" +"%s: Не удалось прочитать ожидаемые данные, возможно неправильный файл xls.\n" + +#, c-format +msgid "%s: End of file.\n" +msgstr "%s: Конец файла.\n" + +#, c-format +msgid "" +"%s: Inconsistency found in the columns. At line %d, found %d columns while " +"the previous had %d.\n" +msgstr "" +"%s: Обнаружено несоответствие столбцов. На строке %d обнаружено %d столбцов " +"хотя прошлая имела %d.\n" + +msgid "Warning" +msgstr "Внимание" + +#, c-format +msgid "LOGGER_set_logfile: ERROR - Cannot open logfile '%s' (%s)" +msgstr "LOGGER_set_logfile: ОШИБК - Не удалось открыть файл лога «%s» (%s)" + +#, c-format +msgid "LOGGER_set_logfile: ERROR - Cannot open logfile '%s' (%s)\n" +msgstr "" +"LOGGER_set_logfile: ОШИБКА - Не удалось открыть файл лога «%s» (%s)\n" + +#, c-format +msgid "LOGGER-Default: %s%s" +msgstr "LOGGER-Default: %s%s" + +#, c-format +msgid "ripOLE: %s\n" +msgstr "ripOLE: %s\n" + +#, c-format +msgid "%s:%d:OLE_set_debug: Debug level set to %d" +msgstr "%s:%d:OLE_set_debug: Уровень отладки установлен в %d" + +#, c-format +msgid "%s:%d:OLE_get_block:ERROR: Block buffer is NULL" +msgstr "%s:%d:OLE_get_block:ОШИБКА: Блочный буфер равен NULL" + +#, c-format +msgid "%s:%d:OLE_get_block:ERROR: Cannot allocate %d bytes for OLE block" +msgstr "" +"%s:%d:OLE_get_block:ОШИБКА: Не удалось выделить %d байт для OLE-блока" + +#, c-format +msgid "%s:%d:OLE_get_block:ERROR: Seek failure (block=%d:%d)" +msgstr "%s:%d:OLE_get_block:ОШИБКА: Проблема поиска (block=%d:%d)" + +#, c-format +msgid "%s:%d:Mismatch in bytes read. Requested %d, got %d\n" +msgstr "%s:%d:Несовпадение в чтении байт. Запрошено %d, получено %d\n" + +#, c-format +msgid "%s:%d:OLE_get_block:ERROR: OLE file is closed\n" +msgstr "%s:%d:OLE_get_block:ОШИБКА: OLE-файл закрыт\n" + +#, c-format +msgid "%s:%d:OLE_load_FAT:ERROR: Unable to allocate %d bytes\n" +msgstr "%s:%d:OLE_load_FAT:ОШИБКА: Не удалось выделить %d байт\n" + +#, c-format +msgid "" +"%s:%d:OLE_load_FAT:ERROR: Not able to load block, import sector = 0x%x, fat " +"position = 0x%x" +msgstr "" +"%s:%d:OLE_load_FAT:ОШИБКА: Не удалось загрузить блок, import sector = 0x%x, " +"fat position = 0x%x" + +#, c-format +msgid "%s:%d:OLE_load_FAT:ERROR: FAT memory boundary limit exceeded %p >= %p" +msgstr "" +"%s:%d:OLE_load_FAT:ОШИБКА: Превышена предельная граница FAT-памяти %p >= %p" + +#, c-format +msgid "%s:%d:OLE_load_FAT:ERROR: sector request was negative (%d)" +msgstr "%s:%d:OLE_load_FAT:ОШИБКА: запрос сектора был отрицателен (%d)" + +#, c-format +msgid "" +"%s:%d:OLE_get_miniblock:ERROR: Failed to allocate enough memory for miniChain" +msgstr "" +"%s:%d:OLE_get_miniblock:ОШИБКА: Не удалось выделить достаточно памяти для " +"miniChain" + +#, c-format +msgid "%s:%d:OLE_load_chain:ERROR: Load-chain went over memory boundary" +msgstr "%s:%d:OLE_load_chain:Ошибка: Load-chain превысила границы памяти" + +#, c-format +msgid "%s:%d:OLE_open_file:ERROR: Cannot locate file '%s' for opening (%s)" +msgstr "" +"%s:%d:OLE_open_file:ОШИБКА: Не удалось найти файл «%s» для открытия (%s)" + +#, c-format +msgid "%s:%d:OLE_open_file:ERROR:Cannot open %s for reading (%s)\n" +msgstr "" +"%s:%d:OLE_open_file:Ошибка: Не удалось открыть файл «%s» для чтения (%s)\n" + +#, c-format +msgid "%s:%d:OLE_open_directory:ERROR: %s" +msgstr "%s:%d:OLE_open_directory:ОШИБКА: %s" + +#, c-format +msgid "" +"%s:%d:OLE_store_stream:ERROR: Cannot compose full filename string from '%s' " +"and '%s'" +msgstr "" +"%s:%d:OLE_store_stream:ОШИБКА: Не удалось составить полное имя файла из «%s» " +"и «%s»" + +#, c-format +msgid "%s:%d:OLE_store_stream:ERROR: Cannot open %s for writing (%s)" +msgstr "" +"%s:%d:OLE_store_stream:ОШИБКА: Не удалось открыть файл %s для записи (%s)" + +#, c-format +msgid "%s:%d:OLE_store_stream:WARNING: Only wrote %d of %d bytes to file %s" +msgstr "" +"%s:%d:OLE_store_stream:ВНИМАНИЕ: Записано только %d из %d байт в файл %s" + +#, c-format +msgid "" +"%s:%d:OLEUNWRAP_save_stream:ERROR: Unable to create filename string from " +"'%s' and '%s'" +msgstr "" +"%s:%d:OLEUNWRAP_save_stream:ОШИБКА: Не удалось создать имя файла из «%s» и " +"«%s»" + +#, c-format +msgid "" +"%s:%d:OLEUNWRAP_save_stream:WARNING: Only wrote %d of %d bytes to file %s\n" +msgstr "" +"%s:%d:OLEUNWRAP_save_stream:ВНИМАНИЕ: Записано только %d из %d байт в файл " +"%s\n" + +#, c-format +msgid "" +"%s:%d:OLEUNWRAP_save_stream:ERROR: Unable to open %s for writing (%s)\n" +msgstr "" +"%s:%d:OLEUNWRAP_save_stream:ОШИБКА: Не удалось открыть %s для записи (%s)\n" + +#, c-format +msgid "" +"%s:%d:OLEUNWRAP_decode_attachment:DEBUG: Attachment %s:%s:%s size = %d\n" +msgstr "" +"%s:%d:OLEUNWRAP_decode_attachment:ОТЛАДКА: Attachment %s:%s:%s size = %d\n" + +#, c-format +msgid "" +"%s:%d:OLEUNWRAP_decode_attachment:DEBUG: Calling reporter for the filename" +msgstr "" +"%s:%d:OLEUNWRAP_decode_attachment:ОТЛАДКА: Calling reporter for the filename" + +#, c-format +msgid "Unable to decode stream with element string '%s'\n" +msgstr "Не удалось декодировать поток со строкой элемента «%s»\n" + +#, c-format +msgid "" +"%s:%d:PLD_strreplace:ERROR: Cannot allocate %d bytes of memory to perform " +"replacement operation" +msgstr "" +"%s:%d:PLD_strreplace:ОШИБКА: Не удалось выделить %d байт в памяти для " +"выполнения операции замены" + +#, c-format +msgid "" +"%s:%d:PLD_strreplace_general: Allocated memory ran out while replacing '%s' " +"with '%s'" +msgstr "" +"%s:%d:PLD_strreplace_general: Выделенная память закончилась в процессе " +"замены «%s» на «%s»" + +#, c-format +msgid "Decoding filename=%s" +msgstr "Декодирование файла %s" + +#, c-format +msgid "ripOLE requires an input file to decode.\n" +msgstr "ripOLE требуется входной файл для декодирования.\n" + +#, c-format +msgid "ripOLE: decoding of %s resulted in error %d.\n" +msgstr "ripOLE: декодирование %s завершилось ошибкой %d.\n" + +msgid "Scilab spreadsheet module not installed.\n" +msgstr "Модуль Spreadsheet (электронная таблица) не установлен.\n" + +msgid "Spreadsheet" +msgstr "Электронная таблица" + +msgid "Read a xls file" +msgstr "Прочитать xls-файл" diff --git a/modules/spreadsheet/locales/spreadsheet.pot b/modules/spreadsheet/locales/spreadsheet.pot new file mode 100755 index 000000000..1cec7276f --- /dev/null +++ b/modules/spreadsheet/locales/spreadsheet.pot @@ -0,0 +1,589 @@ +# Localization of the module spreadsheet +# Please see in SCI/tools/localization for localization management +# Copyright (C) 2007-2008 - INRIA +# Copyright (C) 2008-2011 - DIGITEO +# Copyright (C) 2012-2014 - Scilab-Enterprises +# This file is distributed under the same license as the Scilab package. +# +msgid "" +msgstr "" +"Project-Id-Version: Scilab\n" +"Report-Msgid-Bugs-To: <localization@lists.scilab.org>\n" +"POT-Creation-Date: 2013-04-16 17:44+0100\n" +"Last-Translator: Vincent COUVERT <vincent.couvert@scilab-enterprises.com>\n" +"Language-Team: Scilab Localization <localization@lists.scilab.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-1\n" +"Content-Transfer-Encoding: 8bit\n" +"Revision-Date: 2015-03-27 13:54+0100\n" + +# File: sci_gateway/c/gw_csv_helpers.c, line: 72 +# File: sci_gateway/c/gw_csv_helpers.c, line: 137 +# File: sci_gateway/c/gw_csv_helpers.c, line: 288 +#, c-format +msgid "%s: Wrong type for input argument #%d: A string expected.\n" +msgstr "" + +# +# File: sci_gateway/c/gw_csv_helpers.c, line: 83 +# File: sci_gateway/c/gw_csv_helpers.c, line: 146 +#, c-format +msgid "%s: Wrong size for input argument #%d: A string expected.\n" +msgstr "" + +# +# File: sci_gateway/c/gw_csv_helpers.c, line: 95 +# File: sci_gateway/c/gw_csv_helpers.c, line: 158 +# File: sci_gateway/c/gw_csv_helpers.c, line: 451 +# File: sci_gateway/c/sci_csvDefault.c, line: 143 +# File: sci_gateway/c/sci_csvDefault.c, line: 293 +# File: sci_gateway/c/sci_csvRead.c, line: 305 +# File: sci_gateway/c/sci_csvRead.c, line: 332 +# File: sci_gateway/c/sci_csvRead.c, line: 370 +# File: sci_gateway/c/sci_csvRead.c, line: 396 +# File: sci_gateway/c/sci_csvRead.c, line: 414 +# File: sci_gateway/c/sci_csvRead.c, line: 447 +# File: sci_gateway/c/sci_csvRead.c, line: 473 +# File: sci_gateway/c/sci_csvRead.c, line: 493 +# File: sci_gateway/c/sci_csvStringToDouble.c, line: 80 +# File: sci_gateway/c/sci_csvStringToDouble.c, line: 105 +# File: sci_gateway/c/sci_csvTextScan.c, line: 204 +# File: sci_gateway/c/sci_csvTextScan.c, line: 227 +# File: sci_gateway/c/sci_csvTextScan.c, line: 257 +# File: sci_gateway/c/sci_csvTextScan.c, line: 278 +# File: sci_gateway/c/sci_csvTextScan.c, line: 297 +# File: sci_gateway/c/sci_csvTextScan.c, line: 310 +# File: sci_gateway/c/sci_csvTextScan.c, line: 330 +# File: sci_gateway/c/sci_csvWrite.c, line: 110 +#, c-format +msgid "%s: Memory allocation error.\n" +msgstr "" + +# +# File: sci_gateway/c/gw_csv_helpers.c, line: 191 +# File: sci_gateway/c/sci_csvDefault.c, line: 268 +#, c-format +msgid "%s: Wrong type for input argument #%d: A double expected.\n" +msgstr "" + +# +# File: sci_gateway/c/gw_csv_helpers.c, line: 201 +#, c-format +msgid "%s: Wrong size for input argument #%d: A double expected.\n" +msgstr "" + +# +# File: sci_gateway/c/gw_csv_helpers.c, line: 236 +#, c-format +msgid "%s: Wrong type for input argument #%d: A boolean expected.\n" +msgstr "" + +# +# File: sci_gateway/c/gw_csv_helpers.c, line: 246 +#, c-format +msgid "%s: Wrong size for input argument #%d: A boolean expected.\n" +msgstr "" + +# +# File: sci_gateway/c/gw_csv_helpers.c, line: 424 +#, c-format +msgid "%s: Wrong type for input argument #%d: A matrix of double expected.\n" +msgstr "" + +# +# File: sci_gateway/c/gw_csv_helpers.c, line: 442 +#, c-format +msgid "" +"%s: Wrong value for input argument #%d: A matrix of double, with integer " +"values, expected.\n" +msgstr "" + +# +# File: sci_gateway/c/sci_csvDefault.c, line: 232 +#, c-format +msgid "" +"%s: Wrong value for input argument #%d: '%s', '%s', '%s', '%s', '%s' or '%s' " +"expected.\n" +msgstr "" + +# +# File: sci_gateway/c/sci_csvDefault.c, line: 285 +#, c-format +msgid "" +"%s: Wrong value for input argument #%d: A double (value %d to %d) expected.\n" +msgstr "" + +# +# File: sci_gateway/c/sci_csvDefault.c, line: 367 +#, c-format +msgid "" +"%s: Wrong value for input argument #%d: '%s', '%s', '%s' , '%s', '%s', '%s', " +"'%s' or '%s' expected.\n" +msgstr "" + +# +# File: sci_gateway/c/sci_csvRead.c, line: 94 +# File: sci_gateway/c/sci_csvTextScan.c, line: 79 +#, c-format +msgid "%s: Wrong size for input argument #%d: Four entries expected.\n" +msgstr "" + +# +# File: sci_gateway/c/sci_csvRead.c, line: 101 +# File: sci_gateway/c/sci_csvTextScan.c, line: 86 +#, c-format +msgid "" +"%s: Wrong size for input argument #%d: A column or row vector expected.\n" +msgstr "" + +# +# File: sci_gateway/c/sci_csvRead.c, line: 112 +# File: sci_gateway/c/sci_csvTextScan.c, line: 97 +#, c-format +msgid "%s: Wrong value for input argument #%d: Inconsistent range.\n" +msgstr "" + +# +# File: sci_gateway/c/sci_csvRead.c, line: 173 +#, c-format +msgid "%s: Wrong size for input argument #%d.\n" +msgstr "" + +# +# File: sci_gateway/c/sci_csvRead.c, line: 198 +# File: sci_gateway/c/sci_csvTextScan.c, line: 114 +# File: sci_gateway/c/sci_csvTextScan.c, line: 135 +#, c-format +msgid "%s: Wrong value for input argument #%d: '%s' or '%s' string expected.\n" +msgstr "" + +# +# File: sci_gateway/c/sci_csvRead.c, line: 272 +#, c-format +msgid "%s: Wrong value for input argument #%d.\n" +msgstr "" + +# +# File: sci_gateway/c/sci_csvRead.c, line: 278 +# File: sci_gateway/c/sci_csvTextScan.c, line: 183 +# File: sci_gateway/c/sci_csvWrite.c, line: 268 +#, c-format +msgid "%s: separator and decimal must have different values.\n" +msgstr "" + +# +# File: sci_gateway/c/sci_csvRead.c, line: 301 +# File: sci_gateway/c/sci_csvRead.c, line: 366 +#, c-format +msgid "%s: Range row or/and column left indice(s) out of bounds.\n" +msgstr "" + +# +# File: sci_gateway/c/sci_csvRead.c, line: 328 +# File: sci_gateway/c/sci_csvRead.c, line: 404 +# File: sci_gateway/c/sci_csvStringToDouble.c, line: 76 +# File: sci_gateway/c/sci_csvStringToDouble.c, line: 112 +# File: sci_gateway/c/sci_csvTextScan.c, line: 223 +# File: sci_gateway/c/sci_csvTextScan.c, line: 285 +#, c-format +msgid "%s: can not convert data.\n" +msgstr "" + +# +# File: sci_gateway/c/sci_csvRead.c, line: 461 +#, c-format +msgid "%s: %s does not exist.\n" +msgstr "" + +# +# File: sci_gateway/c/sci_csvRead.c, line: 467 +# File: sci_gateway/c/sci_csvWrite.c, line: 280 +#, c-format +msgid "%s: can not open file %s.\n" +msgstr "" + +# +# File: sci_gateway/c/sci_csvRead.c, line: 479 +#, c-format +msgid "%s: can not read file %s: Error in the column structure\n" +msgstr "" + +# +# File: sci_gateway/c/sci_csvRead.c, line: 486 +#, c-format +msgid "%s: can not read file %s.\n" +msgstr "" + +# +# File: sci_gateway/c/sci_csvTextScan.c, line: 163 +#, c-format +msgid "%s: Wrong size for input argument #%d: String vector expected.\n" +msgstr "" + +# +# File: sci_gateway/c/sci_csvTextScan.c, line: 316 +#, c-format +msgid "%s: can not read text: Error in the column structure\n" +msgstr "" + +# +# File: sci_gateway/c/sci_csvTextScan.c, line: 323 +#, c-format +msgid "%s: can not read text.\n" +msgstr "" + +# +# File: sci_gateway/c/sci_csvWrite.c, line: 82 +#, c-format +msgid "" +"%s: Wrong size for input argument #%d: A 1-by-n or m-by-1 array of strings " +"expected.\n" +msgstr "" + +# +# File: sci_gateway/c/sci_csvWrite.c, line: 102 +#, c-format +msgid "" +"%s: Wrong value for input argument #%d: A double (value 1 to 17) expected.\n" +msgstr "" + +# +# File: sci_gateway/c/sci_csvWrite.c, line: 127 +#, c-format +msgid "%s: Not supported format %s.\n" +msgstr "" + +# +# File: sci_gateway/c/sci_csvWrite.c, line: 150 +#, c-format +msgid "%s: Wrong value for input argument #%d: '%s' or '%s' expected.\n" +msgstr "" + +# +# File: sci_gateway/c/sci_csvWrite.c, line: 228 +#, c-format +msgid "" +"%s: Wrong type for input argument #%d: A matrix of string or a matrix of " +"real expected.\n" +msgstr "" + +# +# File: sci_gateway/c/sci_csvWrite.c, line: 286 +#, c-format +msgid "%s: error.\n" +msgstr "" + +# +# File: sci_gateway/c/sci_xls_open.c, line: 100 +# File: sci_gateway/c/sci_xls_open.c, line: 122 +#, c-format +msgid "The file %s does not exist.\n" +msgstr "" + +# +# File: sci_gateway/c/sci_xls_open.c, line: 128 +#, c-format +msgid "%s: File %s is not an ole2 file.\n" +msgstr "" + +# +# File: sci_gateway/c/sci_xls_open.c, line: 133 +#, c-format +msgid "%s: Cannot open file %s.\n" +msgstr "" + +# +# File: sci_gateway/c/sci_xls_open.c, line: 143 +#, c-format +msgid "%s: There is no xls stream in the ole2 file %s.\n" +msgstr "" + +# +# File: sci_gateway/c/sci_xls_open.c, line: 169 +#, c-format +msgid "%s: Not an ole2 file.\n" +msgstr "" + +# +# File: sci_gateway/c/sci_xls_open.c, line: 173 +#, c-format +msgid "%s: The file has no Workbook directory.\n" +msgstr "" + +# +# File: sci_gateway/c/sci_xls_open.c, line: 177 +# File: sci_gateway/c/sci_xls_read.c, line: 62 +#, c-format +msgid "%s: No more memory.\n" +msgstr "" + +# +# File: sci_gateway/c/sci_xls_open.c, line: 181 +#, c-format +msgid "%s: Incorrect or corrupted file.\n" +msgstr "" + +# +# File: sci_gateway/c/sci_xls_open.c, line: 185 +#, c-format +msgid "%s: Only BIFF8 file format is handled.\n" +msgstr "" + +# +# File: sci_gateway/c/sci_xls_read.c, line: 39 +# File: sci_gateway/c/sci_xls_read.c, line: 45 +#, c-format +msgid "%s: Wrong type for input argument #%d: Scalar expected.\n" +msgstr "" + +# +# File: sci_gateway/c/sci_xls_read.c, line: 66 +#, c-format +msgid "%s: Failed to read expected data, may be invalid xls file.\n" +msgstr "" + +# +# File: sci_gateway/c/sci_xls_read.c, line: 70 +#, c-format +msgid "%s: End of file.\n" +msgstr "" + +# +# File: src/c/csvRead.c, line: 358 +#, c-format +msgid "" +"%s: Inconsistency found in the columns. At line %d, found %d columns while " +"the previous had %d.\n" +msgstr "" + +# +# File: src/c/csvRead.c, line: 358 +msgid "Warning" +msgstr "" + +# +# File: src/c/ripole/logger.c, line: 121 +#, c-format +msgid "LOGGER_set_logfile: ERROR - Cannot open logfile '%s' (%s)" +msgstr "" + +# +# File: src/c/ripole/logger.c, line: 123 +#, c-format +msgid "LOGGER_set_logfile: ERROR - Cannot open logfile '%s' (%s)\n" +msgstr "" + +# +# File: src/c/ripole/logger.c, line: 365 +#, c-format +msgid "LOGGER-Default: %s%s" +msgstr "" + +# +# File: src/c/ripole/ole.c, line: 98 +#, c-format +msgid "ripOLE: %s\n" +msgstr "" + +# +# File: src/c/ripole/ole.c, line: 246 +#, c-format +msgid "%s:%d:OLE_set_debug: Debug level set to %d" +msgstr "" + +# +# File: src/c/ripole/ole.c, line: 326 +#, c-format +msgid "%s:%d:OLE_get_block:ERROR: Block buffer is NULL" +msgstr "" + +# +# File: src/c/ripole/ole.c, line: 340 +#, c-format +msgid "%s:%d:OLE_get_block:ERROR: Cannot allocate %d bytes for OLE block" +msgstr "" + +# +# File: src/c/ripole/ole.c, line: 359 +#, c-format +msgid "%s:%d:OLE_get_block:ERROR: Seek failure (block=%d:%d)" +msgstr "" + +# +# File: src/c/ripole/ole.c, line: 374 +#, c-format +msgid "%s:%d:Mismatch in bytes read. Requested %d, got %d\n" +msgstr "" + +# +# File: src/c/ripole/ole.c, line: 397 +#, c-format +msgid "%s:%d:OLE_get_block:ERROR: OLE file is closed\n" +msgstr "" + +# +# File: src/c/ripole/ole.c, line: 985 +#, c-format +msgid "%s:%d:OLE_load_FAT:ERROR: Unable to allocate %d bytes\n" +msgstr "" + +# +# File: src/c/ripole/ole.c, line: 1049 +#, c-format +msgid "" +"%s:%d:OLE_load_FAT:ERROR: Not able to load block, import sector = 0x%x, fat " +"position = 0x%x" +msgstr "" + +# +# File: src/c/ripole/ole.c, line: 1065 +# File: src/c/ripole/ole.c, line: 1078 +#, c-format +msgid "%s:%d:OLE_load_FAT:ERROR: FAT memory boundary limit exceeded %p >= %p" +msgstr "" + +# +# File: src/c/ripole/ole.c, line: 1088 +#, c-format +msgid "%s:%d:OLE_load_FAT:ERROR: sector request was negative (%d)" +msgstr "" + +# +# File: src/c/ripole/ole.c, line: 1387 +#, c-format +msgid "" +"%s:%d:OLE_get_miniblock:ERROR: Failed to allocate enough memory for miniChain" +msgstr "" + +# +# File: src/c/ripole/ole.c, line: 1473 +#, c-format +msgid "%s:%d:OLE_load_chain:ERROR: Load-chain went over memory boundary" +msgstr "" + +# +# File: src/c/ripole/ole.c, line: 1527 +#, c-format +msgid "%s:%d:OLE_open_file:ERROR: Cannot locate file '%s' for opening (%s)" +msgstr "" + +# +# File: src/c/ripole/ole.c, line: 1548 +#, c-format +msgid "%s:%d:OLE_open_file:ERROR:Cannot open %s for reading (%s)\n" +msgstr "" + +# +# File: src/c/ripole/ole.c, line: 1599 +#, c-format +msgid "%s:%d:OLE_open_directory:ERROR: %s" +msgstr "" + +# +# File: src/c/ripole/ole.c, line: 1658 +#, c-format +msgid "" +"%s:%d:OLE_store_stream:ERROR: Cannot compose full filename string from '%s' " +"and '%s'" +msgstr "" + +# +# File: src/c/ripole/ole.c, line: 1669 +#, c-format +msgid "%s:%d:OLE_store_stream:ERROR: Cannot open %s for writing (%s)" +msgstr "" + +# +# File: src/c/ripole/ole.c, line: 1683 +#, c-format +msgid "%s:%d:OLE_store_stream:WARNING: Only wrote %d of %d bytes to file %s" +msgstr "" + +# +# File: src/c/ripole/olestream-unwrap.c, line: 158 +#, c-format +msgid "" +"%s:%d:OLEUNWRAP_save_stream:ERROR: Unable to create filename string from " +"'%s' and '%s'" +msgstr "" + +# +# File: src/c/ripole/olestream-unwrap.c, line: 170 +#, c-format +msgid "" +"%s:%d:OLEUNWRAP_save_stream:WARNING: Only wrote %d of %d bytes to file %s\n" +msgstr "" + +# +# File: src/c/ripole/olestream-unwrap.c, line: 179 +#, c-format +msgid "%s:%d:OLEUNWRAP_save_stream:ERROR: Unable to open %s for writing (%s)\n" +msgstr "" + +# +# File: src/c/ripole/olestream-unwrap.c, line: 299 +#, c-format +msgid "" +"%s:%d:OLEUNWRAP_decode_attachment:DEBUG: Attachment %s:%s:%s size = %d\n" +msgstr "" + +# +# File: src/c/ripole/olestream-unwrap.c, line: 313 +#, c-format +msgid "" +"%s:%d:OLEUNWRAP_decode_attachment:DEBUG: Calling reporter for the filename" +msgstr "" + +# +# File: src/c/ripole/olestream-unwrap.c, line: 368 +#, c-format +msgid "Unable to decode stream with element string '%s'\n" +msgstr "" + +# +# File: src/c/ripole/pldstr.c, line: 564 +#, c-format +msgid "" +"%s:%d:PLD_strreplace:ERROR: Cannot allocate %d bytes of memory to perform " +"replacement operation" +msgstr "" + +# +# File: src/c/ripole/pldstr.c, line: 667 +#, c-format +msgid "" +"%s:%d:PLD_strreplace_general: Allocated memory ran out while replacing '%s' " +"with '%s'" +msgstr "" + +# +# File: src/c/ripole/ripole.c, line: 72 +#, c-format +msgid "Decoding filename=%s" +msgstr "" + +# +# File: src/c/ripole/ripole.c, line: 154 +#, c-format +msgid "ripOLE requires an input file to decode.\n" +msgstr "" + +# +# File: src/c/ripole/ripole.c, line: 196 +#, c-format +msgid "ripOLE: decoding of %s resulted in error %d.\n" +msgstr "" + +# +# File: src/nospreadsheet/nospreadsheet.c, line: 20 +msgid "Scilab spreadsheet module not installed.\n" +msgstr "" + +# File: demos/spreadsheet.dem.gateway.sce, line: 9 +msgid "Spreadsheet" +msgstr "" + +# +# File: demos/spreadsheet.dem.gateway.sce, line: 11 +msgid "Read a xls file" +msgstr "" diff --git a/modules/spreadsheet/locales/uk_UA.po b/modules/spreadsheet/locales/uk_UA.po new file mode 100755 index 000000000..a03635baf --- /dev/null +++ b/modules/spreadsheet/locales/uk_UA.po @@ -0,0 +1,460 @@ +# Ukrainian translation for scilab +# Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010 +# This file is distributed under the same license as the scilab package. +# +# FIRST AUTHOR <EMAIL@ADDRESS>, 2010. +# Yuri Chornoivan <yurchor@gmail.com>, 2010, 2012. +msgid "" +msgstr "" +"Project-Id-Version: scilab\n" +"Report-Msgid-Bugs-To: <localization@lists.scilab.org>\n" +"POT-Creation-Date: 2013-04-16 17:44+0100\n" +"PO-Revision-Date: 2013-03-19 18:34+0000\n" +"Last-Translator: Yuri Chornoivan <yurchor@gmail.com>\n" +"Language-Team: Ukrainian <translation@linux.org.ua>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Launchpad (build 17413)\n" +"Language: uk\n" + +#, c-format +msgid "%s: Wrong type for input argument #%d: A string expected.\n" +msgstr "" +"%s: помилковий тип вхідного параметра №%d: слід використовувати тип " +"«string».\n" + +#, c-format +msgid "%s: Wrong size for input argument #%d: A string expected.\n" +msgstr "" +"%s: помилковий розмір вхідного параметра №%d: слід використовувати рядок.\n" + +#, c-format +msgid "%s: Memory allocation error.\n" +msgstr "%s: помилка під час спроби виділення пам’яті.\n" + +#, c-format +msgid "%s: Wrong type for input argument #%d: A double expected.\n" +msgstr "" +"%s: помилковий тип вхідного параметра №%d: мало бути використано тип " +"«double».\n" + +#, c-format +msgid "%s: Wrong size for input argument #%d: A double expected.\n" +msgstr "" +"%s: помилкова розмірність вхідного параметра №%d: мало бути використано тип " +"«double».\n" + +#, c-format +msgid "%s: Wrong type for input argument #%d: A boolean expected.\n" +msgstr "" +"%s: помилковий тип вхідного параметра №%d: слід використовувати тип " +"«boolean».\n" + +#, c-format +msgid "%s: Wrong size for input argument #%d: A boolean expected.\n" +msgstr "" +"%s: помилкова розмірність вхідного параметра №%d: слід використовувати " +"булівське значення.\n" + +#, c-format +msgid "%s: Wrong type for input argument #%d: A matrix of double expected.\n" +msgstr "" +"%s: помилковий тип вхідного параметра №%d: мало бути використано тип матриці " +"зі значень від 1 до 17.\n" + +#, c-format +msgid "" +"%s: Wrong value for input argument #%d: A matrix of double, with integer " +"values, expected.\n" +msgstr "" +"%s: помилкове значення вхідного параметра №%d: слід використовувати матрицю " +"зі значень від 1 до 17.\n" + +#, c-format +msgid "" +"%s: Wrong value for input argument #%d: '%s', '%s', '%s', '%s', '%s' or '%s' " +"expected.\n" +msgstr "" +"%s: помилкове значення вхідного параметра №%d: слід використовувати «%s», " +"«%s», «%s», «%s», «%s» або «%s».\n" + +#, c-format +msgid "" +"%s: Wrong value for input argument #%d: A double (value %d to %d) expected.\n" +msgstr "" +"%s: помилкове значення вхідного параметра №%d: мало бути вкзаано значення " +"double (від %d до %d).\n" + +#, c-format +msgid "" +"%s: Wrong value for input argument #%d: '%s', '%s', '%s' , '%s', '%s', '%s', " +"'%s' or '%s' expected.\n" +msgstr "" +"%s: помилкове значення вхідного параметра №%d: мало бути вказано «%s», «%s», " +"«%s» , «%s», «%s», «%s», «%s» або «%s».\n" + +#, c-format +msgid "%s: Wrong size for input argument #%d: Four entries expected.\n" +msgstr "" +"%s: помилкова розмірність вхідного параметра №%d: мало бути чотири записи.\n" + +#, c-format +msgid "" +"%s: Wrong size for input argument #%d: A column or row vector expected.\n" +msgstr "" +"%s: помилковий розмір вхідного параметра №%d: слід використовувати вектор-" +"стовпчик або вектор-рядок.\n" + +#, c-format +msgid "%s: Wrong value for input argument #%d: Inconsistent range.\n" +msgstr "" +"%s: помилкове значення для вхідного параметра №%d: непослідовність у " +"визначенні діапазонів.\n" + +#, c-format +msgid "%s: Wrong size for input argument #%d.\n" +msgstr "%s: помилкова розмірність вхідного параметра №%d.\n" + +#, c-format +msgid "" +"%s: Wrong value for input argument #%d: '%s' or '%s' string expected.\n" +msgstr "" +"%s: помилкове значення вхідного параметра №%d: слід використовувати рядок " +"«%s» або «%s».\n" + +#, c-format +msgid "%s: Wrong value for input argument #%d.\n" +msgstr "%s: помилкове значення вхідного параметра №%d.\n" + +#, c-format +msgid "%s: separator and decimal must have different values.\n" +msgstr "%s: роздільник і десяткове число мають бути різними.\n" + +#, c-format +msgid "%s: Range row or/and column left indice(s) out of bounds.\n" +msgstr "" +"%s: решта номерів діапазону рядків або стовпчиків лежить поза межами " +"доступного діапазону.\n" + +#, c-format +msgid "%s: can not convert data.\n" +msgstr "%s: не вдалося перетворити дані.\n" + +#, c-format +msgid "%s: %s does not exist.\n" +msgstr "%s: %s не існує.\n" + +#, c-format +msgid "%s: can not open file %s.\n" +msgstr "%s: не вдалося відкрити файл %s.\n" + +#, c-format +msgid "%s: can not read file %s: Error in the column structure\n" +msgstr "%s: не вдалося прочитати файл %s: помилка у структурі стовпчиків\n" + +#, c-format +msgid "%s: can not read file %s.\n" +msgstr "%s: не вдалося прочитати файл %s.\n" + +#, c-format +msgid "%s: Wrong size for input argument #%d: String vector expected.\n" +msgstr "" +"%s: помилковий розмір вхідного параметра №%d: слід використовувати рядок " +"рядків.\n" + +#, c-format +msgid "%s: can not read text: Error in the column structure\n" +msgstr "%s: не вдалося прочитати текст: помилка у структурі стовпчиків\n" + +#, c-format +msgid "%s: can not read text.\n" +msgstr "%s: не вдалося прочитати текст.\n" + +#, c-format +msgid "" +"%s: Wrong size for input argument #%d: A 1-by-n or m-by-1 array of strings " +"expected.\n" +msgstr "" +"%s: помилкова розмірність вхідного параметра №%d: слід використовувати " +"масиви 1xn або mx1 з рядків.\n" + +#, c-format +msgid "" +"%s: Wrong value for input argument #%d: A double (value 1 to 17) expected.\n" +msgstr "" +"%s: помилкове значення вхідного параметра №%d: слід використовувати значення " +"від 1 до 17.\n" + +#, c-format +msgid "%s: Not supported format %s.\n" +msgstr "%s: непідтримуваний формат %s.\n" + +#, c-format +msgid "%s: Wrong value for input argument #%d: '%s' or '%s' expected.\n" +msgstr "" +"%s: Помилкове значення вхідного параметра №%d: слід використовувати «%s» або " +"«%s».\n" + +#, c-format +msgid "" +"%s: Wrong type for input argument #%d: A matrix of string or a matrix of " +"real expected.\n" +msgstr "" +"%s: помилковий тип вхідного параметра №%d: слід використовувати матрицю з " +"рядків або дійсних значень.\n" + +#, c-format +msgid "%s: error.\n" +msgstr "%s: помилка.\n" + +#, c-format +msgid "The file %s does not exist.\n" +msgstr "Файла з назвою %s не існує.\n" + +#, c-format +msgid "%s: File %s is not an ole2 file.\n" +msgstr "%s: файл %s не є файлом ole2.\n" + +#, c-format +msgid "%s: Cannot open file %s.\n" +msgstr "%s: не вдалося відкрити файл %s.\n" + +#, c-format +msgid "%s: There is no xls stream in the ole2 file %s.\n" +msgstr "%s: у файлі ole2 %s не виявлено потоку даних xls.\n" + +#, c-format +msgid "%s: Not an ole2 file.\n" +msgstr "%s: не є файлом ole2.\n" + +#, c-format +msgid "%s: The file has no Workbook directory.\n" +msgstr "%s: у файлі не вказано каталогу робочої книги.\n" + +#, c-format +msgid "%s: No more memory.\n" +msgstr "%s: доступну пам’ять вичерпано.\n" + +#, c-format +msgid "%s: Incorrect or corrupted file.\n" +msgstr "%s: помилковий або пошкоджений файл.\n" + +#, c-format +msgid "%s: Only BIFF8 file format is handled.\n" +msgstr "%s: можлива обробка лише файлів у форматі BIFF8.\n" + +#, c-format +msgid "%s: Wrong type for input argument #%d: Scalar expected.\n" +msgstr "" +"%s: помилковий тип вхідного параметра №%d: слід використовувати скалярний " +"тип.\n" + +#, c-format +msgid "%s: Failed to read expected data, may be invalid xls file.\n" +msgstr "" +"%s: не вдалося прочитати потрібні дані, ймовірно, помилка у файлі xls.\n" + +#, c-format +msgid "%s: End of file.\n" +msgstr "%s: кінець файла.\n" + +#, c-format +msgid "" +"%s: Inconsistency found in the columns. At line %d, found %d columns while " +"the previous had %d.\n" +msgstr "" +"%s: виявлено несумісності у стовпчика. У рядку %d виявлено %d стовпчики, " +"хоча у попередньому їх було %d.\n" + +msgid "Warning" +msgstr "Попередження" + +#, c-format +msgid "LOGGER_set_logfile: ERROR - Cannot open logfile '%s' (%s)" +msgstr "" +"LOGGER_set_logfile: ПОМИЛКА: не вдалося відкрити файл журналу «%s» (%s)" + +#, c-format +msgid "LOGGER_set_logfile: ERROR - Cannot open logfile '%s' (%s)\n" +msgstr "" +"LOGGER_set_logfile: ПОМИЛКА: не вдалося відкрити файл журналу «%s» (%s)\n" + +#, c-format +msgid "LOGGER-Default: %s%s" +msgstr "LOGGER-Default: %s%s" + +#, c-format +msgid "ripOLE: %s\n" +msgstr "ripOLE: %s\n" + +#, c-format +msgid "%s:%d:OLE_set_debug: Debug level set to %d" +msgstr "%s:%d:OLE_set_debug: встановлено рівень діагностики %d" + +#, c-format +msgid "%s:%d:OLE_get_block:ERROR: Block buffer is NULL" +msgstr "%s:%d:OLE_get_block: ПОМИЛКА: у буфері блоків зберігається NULL" + +#, c-format +msgid "%s:%d:OLE_get_block:ERROR: Cannot allocate %d bytes for OLE block" +msgstr "" +"%s:%d:OLE_get_block: ПОМИЛКА: не вдалося отримати %d байтів для блоку OLE" + +#, c-format +msgid "%s:%d:OLE_get_block:ERROR: Seek failure (block=%d:%d)" +msgstr "%s:%d:OLE_get_block: ПОМИЛКА: невдале позиціювання (блок=%d:%d)" + +#, c-format +msgid "%s:%d:Mismatch in bytes read. Requested %d, got %d\n" +msgstr "" +"%s:%d: розбіжність у читанні байтів. Надіслано запит на %d, отримано %d\n" + +#, c-format +msgid "%s:%d:OLE_get_block:ERROR: OLE file is closed\n" +msgstr "%s:%d:OLE_get_block: помилка: файл OLE закрито\n" + +#, c-format +msgid "%s:%d:OLE_load_FAT:ERROR: Unable to allocate %d bytes\n" +msgstr "%s:%d:OLE_load_FAT: ПОМИЛКА: не вдалося отримати %d байтів\n" + +#, c-format +msgid "" +"%s:%d:OLE_load_FAT:ERROR: Not able to load block, import sector = 0x%x, fat " +"position = 0x%x" +msgstr "" +"%s:%d:OLE_load_FAT: ПОМИЛКА: не вдалося завантажити блок, імпортування " +"сектора = 0x%x, позиція fat = 0x%x" + +#, c-format +msgid "%s:%d:OLE_load_FAT:ERROR: FAT memory boundary limit exceeded %p >= %p" +msgstr "" +"%s:%d:OLE_load_FAT: ПОМИЛКА: перевищено обмеження файлової системи FAT %p >= " +"%p" + +#, c-format +msgid "%s:%d:OLE_load_FAT:ERROR: sector request was negative (%d)" +msgstr "%s:%d:OLE_load_FAT: ПОМИЛКА: запит на дані від’ємного сектора (%d)" + +#, c-format +msgid "" +"%s:%d:OLE_get_miniblock:ERROR: Failed to allocate enough memory for miniChain" +msgstr "" +"%s:%d:OLE_get_miniblock: ПОМИЛКА: не вдалося отримати достатньо пам’яті для " +"miniChain" + +#, c-format +msgid "%s:%d:OLE_load_chain:ERROR: Load-chain went over memory boundary" +msgstr "" +"%s:%d:OLE_load_chain: ПОМИЛКА: вихід підпрограми load-chain за межі " +"доступної пам’яті" + +#, c-format +msgid "%s:%d:OLE_open_file:ERROR: Cannot locate file '%s' for opening (%s)" +msgstr "" +"%s:%d:OLE_open_file: ПОМИЛКА: не вдалося виявити файл «%s» для відкриття (%s)" + +#, c-format +msgid "%s:%d:OLE_open_file:ERROR:Cannot open %s for reading (%s)\n" +msgstr "" +"%s:%d:OLE_open_file: ПОМИЛКА: не вдалося відкрити %s для читання (%s)\n" + +#, c-format +msgid "%s:%d:OLE_open_directory:ERROR: %s" +msgstr "%s:%d:OLE_open_directory: ПОМИЛКА: %s" + +#, c-format +msgid "" +"%s:%d:OLE_store_stream:ERROR: Cannot compose full filename string from '%s' " +"and '%s'" +msgstr "" +"%s:%d:OLE_store_stream: ПОМИЛКА: не вдалося створити загального рядка назви " +"файла з «%s» та «%s»" + +#, c-format +msgid "%s:%d:OLE_store_stream:ERROR: Cannot open %s for writing (%s)" +msgstr "" +"%s:%d:OLE_store_stream:ПОМИЛКА: не вдалося відкрити %s для запису (%s)" + +#, c-format +msgid "%s:%d:OLE_store_stream:WARNING: Only wrote %d of %d bytes to file %s" +msgstr "" +"%s:%d:OLE_store_stream: ПОПЕРЕДЖЕННЯ: записано лише %d з %d байтів до файла " +"%s" + +#, c-format +msgid "" +"%s:%d:OLEUNWRAP_save_stream:ERROR: Unable to create filename string from " +"'%s' and '%s'" +msgstr "" +"%s:%d:OLEUNWRAP_save_stream: ПОМИЛКА: не вдалося створити рядок назви файла " +"за «%s» і «%s»" + +#, c-format +msgid "" +"%s:%d:OLEUNWRAP_save_stream:WARNING: Only wrote %d of %d bytes to file %s\n" +msgstr "" +"%s:%d:OLEUNWRAP_save_stream: ПОПЕРЕДЖЕННЯ: записано лише %d з %d байтів до " +"файла %s\n" + +#, c-format +msgid "" +"%s:%d:OLEUNWRAP_save_stream:ERROR: Unable to open %s for writing (%s)\n" +msgstr "" +"%s:%d:OLEUNWRAP_save_stream: ПОМИЛКА: не вдалося відкрити %s для запису " +"(%s)\n" + +#, c-format +msgid "" +"%s:%d:OLEUNWRAP_decode_attachment:DEBUG: Attachment %s:%s:%s size = %d\n" +msgstr "" +"%s:%d:OLEUNWRAP_decode_attachment: ДІАГНОСТИКА: долучення %s:%s:%s розмір = " +"%d\n" + +#, c-format +msgid "" +"%s:%d:OLEUNWRAP_decode_attachment:DEBUG: Calling reporter for the filename" +msgstr "" +"%s:%d:OLEUNWRAP_decode_attachment: ДІАГНОСТИКА: надсилання запиту щодо назви " +"файла" + +#, c-format +msgid "Unable to decode stream with element string '%s'\n" +msgstr "Не вдалося декодувати потік з рядком елементів «%s»\n" + +#, c-format +msgid "" +"%s:%d:PLD_strreplace:ERROR: Cannot allocate %d bytes of memory to perform " +"replacement operation" +msgstr "" +"%s:%d:PLD_strreplace: ПОМИЛКА: не вдалося отримати %d байтів пам’яті для " +"виконання дії з заміни" + +#, c-format +msgid "" +"%s:%d:PLD_strreplace_general: Allocated memory ran out while replacing '%s' " +"with '%s'" +msgstr "" +"%s:%d:PLD_strreplace_general: під час заміни «%s» на «%s» вичерпано отриману " +"пам’ять" + +#, c-format +msgid "Decoding filename=%s" +msgstr "Декодування файла %s" + +#, c-format +msgid "ripOLE requires an input file to decode.\n" +msgstr "Для використання ripOLE слід декодувати файл вхідних даних.\n" + +#, c-format +msgid "ripOLE: decoding of %s resulted in error %d.\n" +msgstr "ripOLE: спроба декодування %s призвела до помилки %d.\n" + +msgid "Scilab spreadsheet module not installed.\n" +msgstr "Модуль електронних таблиць Scilab не встановлено.\n" + +msgid "Spreadsheet" +msgstr "Електронні таблиці" + +msgid "Read a xls file" +msgstr "Читання з файла xls" diff --git a/modules/spreadsheet/locales/zh_CN.po b/modules/spreadsheet/locales/zh_CN.po new file mode 100755 index 000000000..302ced5e9 --- /dev/null +++ b/modules/spreadsheet/locales/zh_CN.po @@ -0,0 +1,381 @@ +# Simplified Chinese translation for scilab +# Copyright (c) 2008 Rosetta Contributors and Canonical Ltd 2008 +# This file is distributed under the same license as the scilab package. +# FIRST AUTHOR <EMAIL@ADDRESS>, 2008. +# +msgid "" +msgstr "" +"Project-Id-Version: scilab\n" +"Report-Msgid-Bugs-To: <localization@lists.scilab.org>\n" +"POT-Creation-Date: 2013-04-16 17:44+0100\n" +"PO-Revision-Date: 2012-03-04 09:48+0000\n" +"Last-Translator: Wesh <Unknown>\n" +"Language-Team: Simplified Chinese <zh_CN@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Launchpad (build 17413)\n" +"Language: \n" + +#, c-format +msgid "%s: Wrong type for input argument #%d: A string expected.\n" +msgstr "" + +#, c-format +msgid "%s: Wrong size for input argument #%d: A string expected.\n" +msgstr "" + +#, c-format +msgid "%s: Memory allocation error.\n" +msgstr "" + +#, c-format +msgid "%s: Wrong type for input argument #%d: A double expected.\n" +msgstr "" + +#, c-format +msgid "%s: Wrong size for input argument #%d: A double expected.\n" +msgstr "" + +#, c-format +msgid "%s: Wrong type for input argument #%d: A boolean expected.\n" +msgstr "" + +#, c-format +msgid "%s: Wrong size for input argument #%d: A boolean expected.\n" +msgstr "" + +#, c-format +msgid "%s: Wrong type for input argument #%d: A matrix of double expected.\n" +msgstr "" + +#, c-format +msgid "" +"%s: Wrong value for input argument #%d: A matrix of double, with integer " +"values, expected.\n" +msgstr "" + +#, c-format +msgid "" +"%s: Wrong value for input argument #%d: '%s', '%s', '%s', '%s', '%s' or '%s' " +"expected.\n" +msgstr "" + +#, c-format +msgid "" +"%s: Wrong value for input argument #%d: A double (value %d to %d) expected.\n" +msgstr "" + +#, c-format +msgid "" +"%s: Wrong value for input argument #%d: '%s', '%s', '%s' , '%s', '%s', '%s', " +"'%s' or '%s' expected.\n" +msgstr "" + +#, c-format +msgid "%s: Wrong size for input argument #%d: Four entries expected.\n" +msgstr "" + +#, c-format +msgid "" +"%s: Wrong size for input argument #%d: A column or row vector expected.\n" +msgstr "" + +#, c-format +msgid "%s: Wrong value for input argument #%d: Inconsistent range.\n" +msgstr "" + +#, c-format +msgid "%s: Wrong size for input argument #%d.\n" +msgstr "" + +#, c-format +msgid "" +"%s: Wrong value for input argument #%d: '%s' or '%s' string expected.\n" +msgstr "" + +#, c-format +msgid "%s: Wrong value for input argument #%d.\n" +msgstr "" + +#, c-format +msgid "%s: separator and decimal must have different values.\n" +msgstr "" + +#, c-format +msgid "%s: Range row or/and column left indice(s) out of bounds.\n" +msgstr "" + +#, c-format +msgid "%s: can not convert data.\n" +msgstr "" + +#, c-format +msgid "%s: %s does not exist.\n" +msgstr "" + +#, c-format +msgid "%s: can not open file %s.\n" +msgstr "" + +#, c-format +msgid "%s: can not read file %s: Error in the column structure\n" +msgstr "" + +#, c-format +msgid "%s: can not read file %s.\n" +msgstr "" + +#, c-format +msgid "%s: Wrong size for input argument #%d: String vector expected.\n" +msgstr "" + +#, c-format +msgid "%s: can not read text: Error in the column structure\n" +msgstr "" + +#, c-format +msgid "%s: can not read text.\n" +msgstr "" + +#, c-format +msgid "" +"%s: Wrong size for input argument #%d: A 1-by-n or m-by-1 array of strings " +"expected.\n" +msgstr "" + +#, c-format +msgid "" +"%s: Wrong value for input argument #%d: A double (value 1 to 17) expected.\n" +msgstr "" + +#, c-format +msgid "%s: Not supported format %s.\n" +msgstr "" + +#, c-format +msgid "%s: Wrong value for input argument #%d: '%s' or '%s' expected.\n" +msgstr "%s:第%d个输入参数的值错误:应该为‘%s’或‘%s’。\n" + +#, c-format +msgid "" +"%s: Wrong type for input argument #%d: A matrix of string or a matrix of " +"real expected.\n" +msgstr "" + +#, c-format +msgid "%s: error.\n" +msgstr "" + +#, c-format +msgid "The file %s does not exist.\n" +msgstr "文件%s不存在。\n" + +#, c-format +msgid "%s: File %s is not an ole2 file.\n" +msgstr "%s:文件%s不是一个ole2文件。\n" + +#, c-format +msgid "%s: Cannot open file %s.\n" +msgstr "%s:无法打开文件%s。\n" + +#, c-format +msgid "%s: There is no xls stream in the ole2 file %s.\n" +msgstr "%s:在ole2文件%s中不存在xls流。\n" + +#, c-format +msgid "%s: Not an ole2 file.\n" +msgstr "%s:不是一个ole2文件。\n" + +#, c-format +msgid "%s: The file has no Workbook directory.\n" +msgstr "%s:文件没有Workbook目录。\n" + +#, c-format +msgid "%s: No more memory.\n" +msgstr "%s: 内存不足。\n" + +#, c-format +msgid "%s: Incorrect or corrupted file.\n" +msgstr "%s:不正确或被损坏的文件。\n" + +#, c-format +msgid "%s: Only BIFF8 file format is handled.\n" +msgstr "%s:只能处理BIFF8文件格式。\n" + +#, c-format +msgid "%s: Wrong type for input argument #%d: Scalar expected.\n" +msgstr "%s:输入参数#%d的类型错误:应该为标量。\n" + +#, c-format +msgid "%s: Failed to read expected data, may be invalid xls file.\n" +msgstr "%s:读取指定数据失败,可能是不正确的xls文件。\n" + +#, c-format +msgid "%s: End of file.\n" +msgstr "%s:文件结束。\n" + +#, c-format +msgid "" +"%s: Inconsistency found in the columns. At line %d, found %d columns while " +"the previous had %d.\n" +msgstr "" + +msgid "Warning" +msgstr "" + +#, c-format +msgid "LOGGER_set_logfile: ERROR - Cannot open logfile '%s' (%s)" +msgstr "LOGGER_set_logfile:错误 - 不能打开日志文件'%s'(%s)" + +#, c-format +msgid "LOGGER_set_logfile: ERROR - Cannot open logfile '%s' (%s)\n" +msgstr "LOGGER_set_logfile:错误 - 不能打开日志文件'%s'(%s)\n" + +#, c-format +msgid "LOGGER-Default: %s%s" +msgstr "LOGGER-Default:%s%s" + +#, c-format +msgid "ripOLE: %s\n" +msgstr "ripOLE:%s\n" + +#, c-format +msgid "%s:%d:OLE_set_debug: Debug level set to %d" +msgstr "%s:%d:OLE_set_debug:调试级别设置为%d" + +#, c-format +msgid "%s:%d:OLE_get_block:ERROR: Block buffer is NULL" +msgstr "%s:%d:OLE_get_block:错误:块缓存是NULL。" + +#, c-format +msgid "%s:%d:OLE_get_block:ERROR: Cannot allocate %d bytes for OLE block" +msgstr "%s:%d:OLE_get_block:错误:无法为OLE快申请%d字节。" + +#, c-format +msgid "%s:%d:OLE_get_block:ERROR: Seek failure (block=%d:%d)" +msgstr "%s:%d:OLE_get_block:错误:寻址失败(block=%d:%d)" + +#, c-format +msgid "%s:%d:Mismatch in bytes read. Requested %d, got %d\n" +msgstr "%s:%d:在字节读取中不匹配。需要%d,却得到%d\n" + +#, c-format +msgid "%s:%d:OLE_get_block:ERROR: OLE file is closed\n" +msgstr "%s:%d:OLE_get_block:错误:OLE文件关闭。\n" + +#, c-format +msgid "%s:%d:OLE_load_FAT:ERROR: Unable to allocate %d bytes\n" +msgstr "%s:%d:OLE_load_FAT:错误:不能申请%d个字节。\n" + +#, c-format +msgid "" +"%s:%d:OLE_load_FAT:ERROR: Not able to load block, import sector = 0x%x, fat " +"position = 0x%x" +msgstr "%s:%d:OLE_load_FAT:错误:无法装载块,import sector = 0x%x,fat position = 0x%x" + +#, c-format +msgid "%s:%d:OLE_load_FAT:ERROR: FAT memory boundary limit exceeded %p >= %p" +msgstr "%s:%d:OLE_load_FAT:错误:FAT内存边界限制超出%p >= %p" + +#, c-format +msgid "%s:%d:OLE_load_FAT:ERROR: sector request was negative (%d)" +msgstr "%s:%d:OLE_load_FAT:错误:扇区请求时负数(%d)" + +#, c-format +msgid "" +"%s:%d:OLE_get_miniblock:ERROR: Failed to allocate enough memory for miniChain" +msgstr "%s:%d:OLE_get_miniblock:错误:为miniChain申请足够的内存失败" + +#, c-format +msgid "%s:%d:OLE_load_chain:ERROR: Load-chain went over memory boundary" +msgstr "%s:%d:OLE_load_chain:错误:Load-chain越过了内存边界。" + +#, c-format +msgid "%s:%d:OLE_open_file:ERROR: Cannot locate file '%s' for opening (%s)" +msgstr "%s:%d:OLE_open_file:错误:无法找到文件'%s'并打开(%s)" + +#, c-format +msgid "%s:%d:OLE_open_file:ERROR:Cannot open %s for reading (%s)\n" +msgstr "%s:%d:OLE_open_file:错误:无法打开文件'%s'进行读操作(%s)\n" + +#, c-format +msgid "%s:%d:OLE_open_directory:ERROR: %s" +msgstr "%s:%d:OLE_open_directory:错误:%s" + +#, c-format +msgid "" +"%s:%d:OLE_store_stream:ERROR: Cannot compose full filename string from '%s' " +"and '%s'" +msgstr "%s:%d:OLE_store_stream:错误:无法从'%s'和'%s'组成完整的文件名。" + +#, c-format +msgid "%s:%d:OLE_store_stream:ERROR: Cannot open %s for writing (%s)" +msgstr "%s:%d:OLE_store_stream:错误:无法打开%s进行写操作(%s)" + +#, c-format +msgid "%s:%d:OLE_store_stream:WARNING: Only wrote %d of %d bytes to file %s" +msgstr "%s:%d:OLE_store_stream:警告:只写了%d字节(总共%d字节)到文件%s" + +#, c-format +msgid "" +"%s:%d:OLEUNWRAP_save_stream:ERROR: Unable to create filename string from " +"'%s' and '%s'" +msgstr "%s:%d:OLEUNWRAP_save_stream:错误:不能从'%s'和'%s'来创建文件名字符串。" + +#, c-format +msgid "" +"%s:%d:OLEUNWRAP_save_stream:WARNING: Only wrote %d of %d bytes to file %s\n" +msgstr "%s:%d:OLEUNWRAP_save_stream:警告:只写了%d字节(总共%d字节)到文件%s\n" + +#, c-format +msgid "" +"%s:%d:OLEUNWRAP_save_stream:ERROR: Unable to open %s for writing (%s)\n" +msgstr "%s:%d:OLEUNWRAP_save_stream:错误:不能打开%s进行写操作(%s)\n" + +#, c-format +msgid "" +"%s:%d:OLEUNWRAP_decode_attachment:DEBUG: Attachment %s:%s:%s size = %d\n" +msgstr "%s:%d:OLEUNWRAP_decode_attachment:调试:Attachment %s:%s:%s size = %d\n" + +#, c-format +msgid "" +"%s:%d:OLEUNWRAP_decode_attachment:DEBUG: Calling reporter for the filename" +msgstr "%s:%d:OLEUNWRAP_decode_attachment:调试:为文件名调用reporter。" + +#, c-format +msgid "Unable to decode stream with element string '%s'\n" +msgstr "当有字符串'%s'时不能解码流数据\n" + +#, c-format +msgid "" +"%s:%d:PLD_strreplace:ERROR: Cannot allocate %d bytes of memory to perform " +"replacement operation" +msgstr "%s:%d:PLD_strreplace:错误:不能从内存中申请%d字节用来进行替换操作" + +#, c-format +msgid "" +"%s:%d:PLD_strreplace_general: Allocated memory ran out while replacing '%s' " +"with '%s'" +msgstr "%s:%d:PLD_strreplace_general:当替换'%s'为'%s'时已申请的内存被用光。" + +#, c-format +msgid "Decoding filename=%s" +msgstr "解码 filename=%s" + +#, c-format +msgid "ripOLE requires an input file to decode.\n" +msgstr "ripOLE需要解码一个输入文件。\n" + +#, c-format +msgid "ripOLE: decoding of %s resulted in error %d.\n" +msgstr "ripOLE:解码%s时出现错误%d。\n" + +msgid "Scilab spreadsheet module not installed.\n" +msgstr "Scilab spreadsheet 模块没有安装。\n" + +msgid "Spreadsheet" +msgstr "电子表格" + +msgid "Read a xls file" +msgstr "读取一个xls文件" diff --git a/modules/spreadsheet/locales/zh_TW.po b/modules/spreadsheet/locales/zh_TW.po new file mode 100755 index 000000000..f9246fdf0 --- /dev/null +++ b/modules/spreadsheet/locales/zh_TW.po @@ -0,0 +1,381 @@ +# Traditional Chinese translation for scilab +# Copyright (c) 2008 Rosetta Contributors and Canonical Ltd 2008 +# This file is distributed under the same license as the scilab package. +# FIRST AUTHOR <EMAIL@ADDRESS>, 2008. +# +msgid "" +msgstr "" +"Project-Id-Version: scilab\n" +"Report-Msgid-Bugs-To: <localization@lists.scilab.org>\n" +"POT-Creation-Date: 2013-04-16 17:44+0100\n" +"PO-Revision-Date: 2011-12-13 07:28+0000\n" +"Last-Translator: TzuYuan Lin <Unknown>\n" +"Language-Team: Traditional Chinese <zh_TW@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Launchpad (build 17413)\n" +"Language: \n" + +#, c-format +msgid "%s: Wrong type for input argument #%d: A string expected.\n" +msgstr "" + +#, c-format +msgid "%s: Wrong size for input argument #%d: A string expected.\n" +msgstr "" + +#, c-format +msgid "%s: Memory allocation error.\n" +msgstr "" + +#, c-format +msgid "%s: Wrong type for input argument #%d: A double expected.\n" +msgstr "" + +#, c-format +msgid "%s: Wrong size for input argument #%d: A double expected.\n" +msgstr "" + +#, c-format +msgid "%s: Wrong type for input argument #%d: A boolean expected.\n" +msgstr "" + +#, c-format +msgid "%s: Wrong size for input argument #%d: A boolean expected.\n" +msgstr "" + +#, c-format +msgid "%s: Wrong type for input argument #%d: A matrix of double expected.\n" +msgstr "" + +#, c-format +msgid "" +"%s: Wrong value for input argument #%d: A matrix of double, with integer " +"values, expected.\n" +msgstr "" + +#, c-format +msgid "" +"%s: Wrong value for input argument #%d: '%s', '%s', '%s', '%s', '%s' or '%s' " +"expected.\n" +msgstr "" + +#, c-format +msgid "" +"%s: Wrong value for input argument #%d: A double (value %d to %d) expected.\n" +msgstr "" + +#, c-format +msgid "" +"%s: Wrong value for input argument #%d: '%s', '%s', '%s' , '%s', '%s', '%s', " +"'%s' or '%s' expected.\n" +msgstr "" + +#, c-format +msgid "%s: Wrong size for input argument #%d: Four entries expected.\n" +msgstr "" + +#, c-format +msgid "" +"%s: Wrong size for input argument #%d: A column or row vector expected.\n" +msgstr "" + +#, c-format +msgid "%s: Wrong value for input argument #%d: Inconsistent range.\n" +msgstr "" + +#, c-format +msgid "%s: Wrong size for input argument #%d.\n" +msgstr "" + +#, c-format +msgid "" +"%s: Wrong value for input argument #%d: '%s' or '%s' string expected.\n" +msgstr "" + +#, c-format +msgid "%s: Wrong value for input argument #%d.\n" +msgstr "" + +#, c-format +msgid "%s: separator and decimal must have different values.\n" +msgstr "" + +#, c-format +msgid "%s: Range row or/and column left indice(s) out of bounds.\n" +msgstr "" + +#, c-format +msgid "%s: can not convert data.\n" +msgstr "" + +#, c-format +msgid "%s: %s does not exist.\n" +msgstr "" + +#, c-format +msgid "%s: can not open file %s.\n" +msgstr "" + +#, c-format +msgid "%s: can not read file %s: Error in the column structure\n" +msgstr "" + +#, c-format +msgid "%s: can not read file %s.\n" +msgstr "" + +#, c-format +msgid "%s: Wrong size for input argument #%d: String vector expected.\n" +msgstr "" + +#, c-format +msgid "%s: can not read text: Error in the column structure\n" +msgstr "" + +#, c-format +msgid "%s: can not read text.\n" +msgstr "" + +#, c-format +msgid "" +"%s: Wrong size for input argument #%d: A 1-by-n or m-by-1 array of strings " +"expected.\n" +msgstr "" + +#, c-format +msgid "" +"%s: Wrong value for input argument #%d: A double (value 1 to 17) expected.\n" +msgstr "" + +#, c-format +msgid "%s: Not supported format %s.\n" +msgstr "" + +#, c-format +msgid "%s: Wrong value for input argument #%d: '%s' or '%s' expected.\n" +msgstr "%s: 第 %d 個輸入參數數值錯誤: 應該是 '%s' 或 '%s'.\n" + +#, c-format +msgid "" +"%s: Wrong type for input argument #%d: A matrix of string or a matrix of " +"real expected.\n" +msgstr "" + +#, c-format +msgid "%s: error.\n" +msgstr "" + +#, c-format +msgid "The file %s does not exist.\n" +msgstr "檔案 %s 不存在.\n" + +#, c-format +msgid "%s: File %s is not an ole2 file.\n" +msgstr "%s: 檔案 %s 不是一 ole2 檔.\n" + +#, c-format +msgid "%s: Cannot open file %s.\n" +msgstr "%s: 無法開啟檔案 %s.\n" + +#, c-format +msgid "%s: There is no xls stream in the ole2 file %s.\n" +msgstr "%s: ole2 檔 %s 內沒有 xls 串流 (stream ).\n" + +#, c-format +msgid "%s: Not an ole2 file.\n" +msgstr "%s: 不是一 ole2 檔.\n" + +#, c-format +msgid "%s: The file has no Workbook directory.\n" +msgstr "%s: 檔案內沒有 Workbook 目錄.\n" + +#, c-format +msgid "%s: No more memory.\n" +msgstr "%s: 記憶體耗盡.\n" + +#, c-format +msgid "%s: Incorrect or corrupted file.\n" +msgstr "%s: 檔案不正確或已毀損.\n" + +#, c-format +msgid "%s: Only BIFF8 file format is handled.\n" +msgstr "%s: 只能處理 BIFF8 檔案格式.\n" + +#, c-format +msgid "%s: Wrong type for input argument #%d: Scalar expected.\n" +msgstr "%s: 第 %d 個輸入參數型態錯誤: 應為純量.\n" + +#, c-format +msgid "%s: Failed to read expected data, may be invalid xls file.\n" +msgstr "%s: 讀取資料失敗, xls 檔可能不正確.\n" + +#, c-format +msgid "%s: End of file.\n" +msgstr "%s: 檔案結束.\n" + +#, c-format +msgid "" +"%s: Inconsistency found in the columns. At line %d, found %d columns while " +"the previous had %d.\n" +msgstr "" + +msgid "Warning" +msgstr "" + +#, c-format +msgid "LOGGER_set_logfile: ERROR - Cannot open logfile '%s' (%s)" +msgstr "LOGGER_set_logfile: 錯誤- 無法開啟紀錄檔 '%s' (%s)" + +#, c-format +msgid "LOGGER_set_logfile: ERROR - Cannot open logfile '%s' (%s)\n" +msgstr "LOGGER_set_logfile: 錯誤- 無法開啟紀錄檔 '%s' (%s)\n" + +#, c-format +msgid "LOGGER-Default: %s%s" +msgstr "LOGGER-內定: %s%s" + +#, c-format +msgid "ripOLE: %s\n" +msgstr "ripOLE: %s\n" + +#, c-format +msgid "%s:%d:OLE_set_debug: Debug level set to %d" +msgstr "%s:%d:OLE_set_debug: 偵錯層級設為 %d" + +#, c-format +msgid "%s:%d:OLE_get_block:ERROR: Block buffer is NULL" +msgstr "%s:%d:OLE_get_block:錯誤: 暫存區塊為 NULL (空)" + +#, c-format +msgid "%s:%d:OLE_get_block:ERROR: Cannot allocate %d bytes for OLE block" +msgstr "%s:%d:OLE_get_block:錯誤: 無法配置 %d 位元給 OLE block" + +#, c-format +msgid "%s:%d:OLE_get_block:ERROR: Seek failure (block=%d:%d)" +msgstr "%s:%d:OLE_get_block:錯誤: Seek 指令失敗 (block=%d:%d)" + +#, c-format +msgid "%s:%d:Mismatch in bytes read. Requested %d, got %d\n" +msgstr "%s:%d:讀取之位元數與要求不合. 需求 %d 位元, 得到 %d 位元.\n" + +#, c-format +msgid "%s:%d:OLE_get_block:ERROR: OLE file is closed\n" +msgstr "%s:%d:OLE_get_block:錯誤: OLE 檔已關閉\n" + +#, c-format +msgid "%s:%d:OLE_load_FAT:ERROR: Unable to allocate %d bytes\n" +msgstr "%s:%d:OLE_load_FAT:錯誤: 無法配置 %d 位元\n" + +#, c-format +msgid "" +"%s:%d:OLE_load_FAT:ERROR: Not able to load block, import sector = 0x%x, fat " +"position = 0x%x" +msgstr "%s:%d:OLE_load_FAT:錯誤: 無法載入區塊,匯入區段 (sector ) =0x%x, fat 位置= 0x%x" + +#, c-format +msgid "%s:%d:OLE_load_FAT:ERROR: FAT memory boundary limit exceeded %p >= %p" +msgstr "%s:%d:OLE_load_FAT:錯誤: FAT 記憶超過邊界限制 , %p >= %p" + +#, c-format +msgid "%s:%d:OLE_load_FAT:ERROR: sector request was negative (%d)" +msgstr "%s:%d:OLE_load_FAT:錯誤: 要求之區段 (sector ) 為負值(%d)" + +#, c-format +msgid "" +"%s:%d:OLE_get_miniblock:ERROR: Failed to allocate enough memory for miniChain" +msgstr "%s:%d:OLE_get_miniblock:錯誤: 無法為 miniChain 配置記憶區." + +#, c-format +msgid "%s:%d:OLE_load_chain:ERROR: Load-chain went over memory boundary" +msgstr "%s:%d:OLE_load_chain:錯誤:載入鏈 (Load-chain) 超過記憶體邊界" + +#, c-format +msgid "%s:%d:OLE_open_file:ERROR: Cannot locate file '%s' for opening (%s)" +msgstr "%s:%d:OLE_open_file::錯誤: 無法找到檔案 '%s' 以開啟 (%s)" + +#, c-format +msgid "%s:%d:OLE_open_file:ERROR:Cannot open %s for reading (%s)\n" +msgstr "%s:%d:OLE_open_file::錯誤: 無法開啟檔案 '%s' 以讀取 (%s)\n" + +#, c-format +msgid "%s:%d:OLE_open_directory:ERROR: %s" +msgstr "%s:%d:OLE_open_directory:錯誤: %s" + +#, c-format +msgid "" +"%s:%d:OLE_store_stream:ERROR: Cannot compose full filename string from '%s' " +"and '%s'" +msgstr "%s:%d:OLE_store_stream:錯誤: 無法由字串 '%s' 及 '%s' 組合成檔案全名" + +#, c-format +msgid "%s:%d:OLE_store_stream:ERROR: Cannot open %s for writing (%s)" +msgstr "%s:%d:OLE_store_stream:錯誤: 無法開啟 %s 以讀取 (%s)" + +#, c-format +msgid "%s:%d:OLE_store_stream:WARNING: Only wrote %d of %d bytes to file %s" +msgstr "%s:%d:OLE_store_stream:警告: 只寫入 %d 位元而非 %d 位元到檔案 %s 中" + +#, c-format +msgid "" +"%s:%d:OLEUNWRAP_save_stream:ERROR: Unable to create filename string from " +"'%s' and '%s'" +msgstr "%s:%d:OLEUNWRAP_save_stream:錯誤: 無法由字串 '%s' 及 '%s' 產生檔案名稱" + +#, c-format +msgid "" +"%s:%d:OLEUNWRAP_save_stream:WARNING: Only wrote %d of %d bytes to file %s\n" +msgstr "%s:%d:OLEUNWRAP_save_stream:警告: 只寫入 %d 位元而非 %d 位元到檔案 %s 中\n" + +#, c-format +msgid "" +"%s:%d:OLEUNWRAP_save_stream:ERROR: Unable to open %s for writing (%s)\n" +msgstr "%s:%d:OLEUNWRAP_save_stream:錯誤:無法開啟檔案 %s 以寫入 (%s)\n" + +#, c-format +msgid "" +"%s:%d:OLEUNWRAP_decode_attachment:DEBUG: Attachment %s:%s:%s size = %d\n" +msgstr "%s:%d:OLEUNWRAP_decode_attachment:偵錯: 附件%s:%s:%s 大小= %d\n" + +#, c-format +msgid "" +"%s:%d:OLEUNWRAP_decode_attachment:DEBUG: Calling reporter for the filename" +msgstr "%s:%d:OLEUNWRAP_decode_attachment:偵錯: 針對此檔名做一報告" + +#, c-format +msgid "Unable to decode stream with element string '%s'\n" +msgstr "無法解譯串流中之字串元素 '%s'\n" + +#, c-format +msgid "" +"%s:%d:PLD_strreplace:ERROR: Cannot allocate %d bytes of memory to perform " +"replacement operation" +msgstr "%s:%d:PLD_strreplace:錯誤: 無法配置 %d 位元記憶區以完成取代運算" + +#, c-format +msgid "" +"%s:%d:PLD_strreplace_general: Allocated memory ran out while replacing '%s' " +"with '%s'" +msgstr "%s:%d:PLD_strreplace:錯誤: 進行將 '%s' 代以'%s' 時,配置記憶區完全用完" + +#, c-format +msgid "Decoding filename=%s" +msgstr "解碼檔名 =%s" + +#, c-format +msgid "ripOLE requires an input file to decode.\n" +msgstr "ripOLE 須要一輸入檔以進尋解碼.\n" + +#, c-format +msgid "ripOLE: decoding of %s resulted in error %d.\n" +msgstr "ripOLE: 進行 %s 之解碼時發生錯誤 %d.\n" + +msgid "Scilab spreadsheet module not installed.\n" +msgstr "未安裝 Scilab spreadsheet 模組.\n" + +msgid "Spreadsheet" +msgstr "" + +msgid "Read a xls file" +msgstr "讀取 xls 檔案. (Excel 檔)" diff --git a/modules/spreadsheet/macros/buildmacros.bat b/modules/spreadsheet/macros/buildmacros.bat new file mode 100755 index 000000000..a73ca67f8 --- /dev/null +++ b/modules/spreadsheet/macros/buildmacros.bat @@ -0,0 +1,11 @@ + +rem Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +rem Copyright (C) 2008 - INRIA +rem +rem This file must be used under the terms of the CeCILL. +rem This source file is licensed as described in the file COPYING, which +rem you should have received as part of this distribution. The terms +rem are also available at +rem http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + +@..\..\..\bin\scilex -nwni -ns -e exec('buildmacros.sce');quit; diff --git a/modules/spreadsheet/macros/buildmacros.sce b/modules/spreadsheet/macros/buildmacros.sce new file mode 100755 index 000000000..8b88958d1 --- /dev/null +++ b/modules/spreadsheet/macros/buildmacros.sce @@ -0,0 +1,15 @@ + +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2007-2008 - INRIA - Allan CORNET <allan.cornet@inria.fr> +// +// This file must be used under the terms of the CeCILL. +// This source file is licensed as described in the file COPYING, which +// you should have received as part of this distribution. The terms +// are also available at +// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + +if (isdef("genlib") == %f) then + exec(SCI+"/modules/functions/scripts/buildmacros/loadgenlib.sce"); +end + +genlib("spreadsheetlib","SCI/modules/spreadsheet/macros",%f,%t); diff --git a/modules/spreadsheet/macros/cleanmacros.bat b/modules/spreadsheet/macros/cleanmacros.bat new file mode 100755 index 000000000..4ad1bbae2 --- /dev/null +++ b/modules/spreadsheet/macros/cleanmacros.bat @@ -0,0 +1,13 @@ + +rem Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +rem Copyright (C) 2008 - INRIA +rem +rem This file must be used under the terms of the CeCILL. +rem This source file is licensed as described in the file COPYING, which +rem you should have received as part of this distribution. The terms +rem are also available at +rem http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + +@del *.bin 2>NUL +@del lib 2>NUL +@del names 2>NUL diff --git a/modules/spreadsheet/macros/lib b/modules/spreadsheet/macros/lib Binary files differnew file mode 100755 index 000000000..93c8fbb12 --- /dev/null +++ b/modules/spreadsheet/macros/lib diff --git a/modules/spreadsheet/macros/names b/modules/spreadsheet/macros/names new file mode 100755 index 000000000..5a41185f6 --- /dev/null +++ b/modules/spreadsheet/macros/names @@ -0,0 +1 @@ +readxls diff --git a/modules/spreadsheet/macros/readxls.bin b/modules/spreadsheet/macros/readxls.bin Binary files differnew file mode 100755 index 000000000..e53d8ac54 --- /dev/null +++ b/modules/spreadsheet/macros/readxls.bin diff --git a/modules/spreadsheet/macros/readxls.sci b/modules/spreadsheet/macros/readxls.sci new file mode 100755 index 000000000..7a160d6fd --- /dev/null +++ b/modules/spreadsheet/macros/readxls.sci @@ -0,0 +1,33 @@ + +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2005-2008 - INRIA - Serge STEER <serge.steer@inria.fr> +// Copyright (C) 2005- INRIA - Pierrick Mode +// +// This file must be used under the terms of the CeCILL. +// This source file is licensed as described in the file COPYING, which +// you should have received as part of this distribution. The terms +// are also available at +// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + +function sheets=readxls(fil) + if argn(2)==1 then opt=1,end + fil=pathconvert(fil,%f,%t) + sheets=mlist(["xls","sheets"],list()) + [fd,Text,Sheetnames,Abspos]=xls_open(fil) + Text=["", Text]; + for k=1:size(Abspos,"*") + [Value,TextInd]=xls_read(fd,Abspos(k)) + if Value==[] then + sheet=mlist(["xlssheet","name","text","value"],Sheetnames(k),[],Value) + else + if size(Text,"*")==1 then + T=emptystr(Value) + else + T=matrix(Text(TextInd+1),size(Value)) + end + sheet=mlist(["xlssheet","name","text","value"],Sheetnames(k),T,Value) + end + sheets.sheets($+1)= sheet + end + mclose(fd) +endfunction diff --git a/modules/spreadsheet/sci_gateway/c/.deps/.dirstamp b/modules/spreadsheet/sci_gateway/c/.deps/.dirstamp new file mode 100755 index 000000000..e69de29bb --- /dev/null +++ b/modules/spreadsheet/sci_gateway/c/.deps/.dirstamp diff --git a/modules/spreadsheet/sci_gateway/c/.deps/libscispreadsheet_la-gw_csv_helpers.Plo b/modules/spreadsheet/sci_gateway/c/.deps/libscispreadsheet_la-gw_csv_helpers.Plo new file mode 100755 index 000000000..1c04e11bd --- /dev/null +++ b/modules/spreadsheet/sci_gateway/c/.deps/libscispreadsheet_la-gw_csv_helpers.Plo @@ -0,0 +1,293 @@ +sci_gateway/c/libscispreadsheet_la-gw_csv_helpers.lo: \ + sci_gateway/c/gw_csv_helpers.c /usr/include/stdc-predef.h \ + /usr/include/string.h /usr/include/features.h \ + /usr/include/x86_64-linux-gnu/sys/cdefs.h \ + /usr/include/x86_64-linux-gnu/bits/wordsize.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h /usr/include/xlocale.h \ + /usr/include/x86_64-linux-gnu/bits/string.h \ + /usr/include/x86_64-linux-gnu/bits/string2.h /usr/include/endian.h \ + /usr/include/x86_64-linux-gnu/bits/endian.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap.h \ + /usr/include/x86_64-linux-gnu/bits/types.h \ + /usr/include/x86_64-linux-gnu/bits/typesizes.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap-16.h /usr/include/stdlib.h \ + /usr/include/x86_64-linux-gnu/bits/string3.h \ + ../../modules/api_scilab/includes/api_scilab.h \ + ../../modules/core/includes/stack-c.h \ + ../../modules/core/includes/core_math.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h \ + /usr/include/limits.h /usr/include/x86_64-linux-gnu/bits/posix1_lim.h \ + /usr/include/x86_64-linux-gnu/bits/local_lim.h \ + /usr/include/linux/limits.h \ + /usr/include/x86_64-linux-gnu/bits/posix2_lim.h /usr/include/math.h \ + /usr/include/x86_64-linux-gnu/bits/math-vector.h \ + /usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h \ + /usr/include/x86_64-linux-gnu/bits/huge_val.h \ + /usr/include/x86_64-linux-gnu/bits/huge_valf.h \ + /usr/include/x86_64-linux-gnu/bits/huge_vall.h \ + /usr/include/x86_64-linux-gnu/bits/inf.h \ + /usr/include/x86_64-linux-gnu/bits/nan.h \ + /usr/include/x86_64-linux-gnu/bits/mathdef.h \ + /usr/include/x86_64-linux-gnu/bits/mathcalls.h \ + /usr/include/x86_64-linux-gnu/bits/mathinline.h \ + /usr/include/x86_64-linux-gnu/bits/waitflags.h \ + /usr/include/x86_64-linux-gnu/bits/waitstatus.h \ + /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \ + /usr/include/x86_64-linux-gnu/sys/select.h \ + /usr/include/x86_64-linux-gnu/bits/select.h \ + /usr/include/x86_64-linux-gnu/bits/sigset.h \ + /usr/include/x86_64-linux-gnu/bits/time.h \ + /usr/include/x86_64-linux-gnu/bits/select2.h \ + /usr/include/x86_64-linux-gnu/sys/sysmacros.h \ + /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib.h \ + ../../modules/core/includes/stack-def.h \ + ../../modules/core/includes/machine.h \ + ../../modules/core/includes/stackTypeVariable.h \ + ../../modules/core/includes/BOOL.h \ + ../../modules/core/includes/doublecomplex.h \ + ../../modules/core/includes/stack1.h \ + ../../modules/core/includes/scisparse.h \ + ../../modules/core/includes/stack2.h \ + ../../modules/core/includes/stack3.h \ + ../../modules/core/includes/stack-optional.h \ + ../../modules/core/includes/sci_types.h \ + ../../modules/api_scilab/includes/api_common.h \ + ../../modules/api_scilab/includes/api_scilab.h \ + ../../modules/api_scilab/includes/api_double.h \ + ../../modules/core/includes/doublecomplex.h \ + ../../modules/api_scilab/includes/api_string.h /usr/include/wchar.h \ + /usr/include/stdio.h /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \ + /usr/include/x86_64-linux-gnu/bits/wchar.h \ + /usr/include/x86_64-linux-gnu/bits/wchar2.h \ + ../../modules/api_scilab/includes/api_int.h \ + ../../modules/api_scilab/includes/api_poly.h \ + ../../modules/api_scilab/includes/api_sparse.h \ + ../../modules/api_scilab/includes/api_boolean.h \ + ../../modules/api_scilab/includes/api_boolean_sparse.h \ + ../../modules/api_scilab/includes/api_pointer.h \ + ../../modules/api_scilab/includes/api_list.h \ + ../../modules/api_scilab/includes/api_error.h \ + ../../modules/api_scilab/includes/api_handle.h \ + ../../modules/api_scilab/includes/api_optional.h \ + ../../modules/core/includes/stack-optional.h \ + ../../modules/api_scilab/includes/api_hypermat.h \ + ../../modules/core/includes/core_math.h \ + ../../modules/core/includes/sci_types.h \ + ../../modules/output_stream/includes/Scierror.h \ + ../../modules/output_stream/includes/do_error_number.h \ + ../../modules/core/includes/machine.h \ + ../../modules/core/includes/MALLOC.h \ + ../../modules/core/includes/sci_mem_alloc.h \ + ../../modules/localization/includes/localization.h \ + /usr/include/libintl.h /usr/include/locale.h \ + /usr/include/x86_64-linux-gnu/bits/locale.h \ + sci_gateway/c/gw_csv_helpers.h \ + ../../modules/core/includes/freeArrayOfString.h + +/usr/include/stdc-predef.h: + +/usr/include/string.h: + +/usr/include/features.h: + +/usr/include/x86_64-linux-gnu/sys/cdefs.h: + +/usr/include/x86_64-linux-gnu/bits/wordsize.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs-64.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h: + +/usr/include/xlocale.h: + +/usr/include/x86_64-linux-gnu/bits/string.h: + +/usr/include/x86_64-linux-gnu/bits/string2.h: + +/usr/include/endian.h: + +/usr/include/x86_64-linux-gnu/bits/endian.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap.h: + +/usr/include/x86_64-linux-gnu/bits/types.h: + +/usr/include/x86_64-linux-gnu/bits/typesizes.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap-16.h: + +/usr/include/stdlib.h: + +/usr/include/x86_64-linux-gnu/bits/string3.h: + +../../modules/api_scilab/includes/api_scilab.h: + +../../modules/core/includes/stack-c.h: + +../../modules/core/includes/core_math.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h: + +/usr/include/limits.h: + +/usr/include/x86_64-linux-gnu/bits/posix1_lim.h: + +/usr/include/x86_64-linux-gnu/bits/local_lim.h: + +/usr/include/linux/limits.h: + +/usr/include/x86_64-linux-gnu/bits/posix2_lim.h: + +/usr/include/math.h: + +/usr/include/x86_64-linux-gnu/bits/math-vector.h: + +/usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h: + +/usr/include/x86_64-linux-gnu/bits/huge_val.h: + +/usr/include/x86_64-linux-gnu/bits/huge_valf.h: + +/usr/include/x86_64-linux-gnu/bits/huge_vall.h: + +/usr/include/x86_64-linux-gnu/bits/inf.h: + +/usr/include/x86_64-linux-gnu/bits/nan.h: + +/usr/include/x86_64-linux-gnu/bits/mathdef.h: + +/usr/include/x86_64-linux-gnu/bits/mathcalls.h: + +/usr/include/x86_64-linux-gnu/bits/mathinline.h: + +/usr/include/x86_64-linux-gnu/bits/waitflags.h: + +/usr/include/x86_64-linux-gnu/bits/waitstatus.h: + +/usr/include/x86_64-linux-gnu/sys/types.h: + +/usr/include/time.h: + +/usr/include/x86_64-linux-gnu/sys/select.h: + +/usr/include/x86_64-linux-gnu/bits/select.h: + +/usr/include/x86_64-linux-gnu/bits/sigset.h: + +/usr/include/x86_64-linux-gnu/bits/time.h: + +/usr/include/x86_64-linux-gnu/bits/select2.h: + +/usr/include/x86_64-linux-gnu/sys/sysmacros.h: + +/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h: + +/usr/include/alloca.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib-float.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib.h: + +../../modules/core/includes/stack-def.h: + +../../modules/core/includes/machine.h: + +../../modules/core/includes/stackTypeVariable.h: + +../../modules/core/includes/BOOL.h: + +../../modules/core/includes/doublecomplex.h: + +../../modules/core/includes/stack1.h: + +../../modules/core/includes/scisparse.h: + +../../modules/core/includes/stack2.h: + +../../modules/core/includes/stack3.h: + +../../modules/core/includes/stack-optional.h: + +../../modules/core/includes/sci_types.h: + +../../modules/api_scilab/includes/api_common.h: + +../../modules/api_scilab/includes/api_scilab.h: + +../../modules/api_scilab/includes/api_double.h: + +../../modules/core/includes/doublecomplex.h: + +../../modules/api_scilab/includes/api_string.h: + +/usr/include/wchar.h: + +/usr/include/stdio.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h: + +/usr/include/x86_64-linux-gnu/bits/wchar.h: + +/usr/include/x86_64-linux-gnu/bits/wchar2.h: + +../../modules/api_scilab/includes/api_int.h: + +../../modules/api_scilab/includes/api_poly.h: + +../../modules/api_scilab/includes/api_sparse.h: + +../../modules/api_scilab/includes/api_boolean.h: + +../../modules/api_scilab/includes/api_boolean_sparse.h: + +../../modules/api_scilab/includes/api_pointer.h: + +../../modules/api_scilab/includes/api_list.h: + +../../modules/api_scilab/includes/api_error.h: + +../../modules/api_scilab/includes/api_handle.h: + +../../modules/api_scilab/includes/api_optional.h: + +../../modules/core/includes/stack-optional.h: + +../../modules/api_scilab/includes/api_hypermat.h: + +../../modules/core/includes/core_math.h: + +../../modules/core/includes/sci_types.h: + +../../modules/output_stream/includes/Scierror.h: + +../../modules/output_stream/includes/do_error_number.h: + +../../modules/core/includes/machine.h: + +../../modules/core/includes/MALLOC.h: + +../../modules/core/includes/sci_mem_alloc.h: + +../../modules/localization/includes/localization.h: + +/usr/include/libintl.h: + +/usr/include/locale.h: + +/usr/include/x86_64-linux-gnu/bits/locale.h: + +sci_gateway/c/gw_csv_helpers.h: + +../../modules/core/includes/freeArrayOfString.h: diff --git a/modules/spreadsheet/sci_gateway/c/.deps/libscispreadsheet_la-gw_spreadsheet.Plo b/modules/spreadsheet/sci_gateway/c/.deps/libscispreadsheet_la-gw_spreadsheet.Plo new file mode 100755 index 000000000..0f217c0f2 --- /dev/null +++ b/modules/spreadsheet/sci_gateway/c/.deps/libscispreadsheet_la-gw_spreadsheet.Plo @@ -0,0 +1,275 @@ +sci_gateway/c/libscispreadsheet_la-gw_spreadsheet.lo: \ + sci_gateway/c/gw_spreadsheet.c /usr/include/stdc-predef.h \ + /usr/include/string.h /usr/include/features.h \ + /usr/include/x86_64-linux-gnu/sys/cdefs.h \ + /usr/include/x86_64-linux-gnu/bits/wordsize.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h /usr/include/xlocale.h \ + /usr/include/x86_64-linux-gnu/bits/string.h \ + /usr/include/x86_64-linux-gnu/bits/string2.h /usr/include/endian.h \ + /usr/include/x86_64-linux-gnu/bits/endian.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap.h \ + /usr/include/x86_64-linux-gnu/bits/types.h \ + /usr/include/x86_64-linux-gnu/bits/typesizes.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap-16.h /usr/include/stdlib.h \ + /usr/include/x86_64-linux-gnu/bits/string3.h includes/gw_spreadsheet.h \ + includes/dynlib_spreadsheet.h \ + ../../modules/api_scilab/includes/api_scilab.h \ + ../../modules/core/includes/stack-c.h \ + ../../modules/core/includes/core_math.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h \ + /usr/include/limits.h /usr/include/x86_64-linux-gnu/bits/posix1_lim.h \ + /usr/include/x86_64-linux-gnu/bits/local_lim.h \ + /usr/include/linux/limits.h \ + /usr/include/x86_64-linux-gnu/bits/posix2_lim.h /usr/include/math.h \ + /usr/include/x86_64-linux-gnu/bits/math-vector.h \ + /usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h \ + /usr/include/x86_64-linux-gnu/bits/huge_val.h \ + /usr/include/x86_64-linux-gnu/bits/huge_valf.h \ + /usr/include/x86_64-linux-gnu/bits/huge_vall.h \ + /usr/include/x86_64-linux-gnu/bits/inf.h \ + /usr/include/x86_64-linux-gnu/bits/nan.h \ + /usr/include/x86_64-linux-gnu/bits/mathdef.h \ + /usr/include/x86_64-linux-gnu/bits/mathcalls.h \ + /usr/include/x86_64-linux-gnu/bits/mathinline.h \ + /usr/include/x86_64-linux-gnu/bits/waitflags.h \ + /usr/include/x86_64-linux-gnu/bits/waitstatus.h \ + /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \ + /usr/include/x86_64-linux-gnu/sys/select.h \ + /usr/include/x86_64-linux-gnu/bits/select.h \ + /usr/include/x86_64-linux-gnu/bits/sigset.h \ + /usr/include/x86_64-linux-gnu/bits/time.h \ + /usr/include/x86_64-linux-gnu/bits/select2.h \ + /usr/include/x86_64-linux-gnu/sys/sysmacros.h \ + /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib.h \ + ../../modules/core/includes/stack-def.h \ + ../../modules/core/includes/machine.h \ + ../../modules/core/includes/stackTypeVariable.h \ + ../../modules/core/includes/BOOL.h \ + ../../modules/core/includes/doublecomplex.h \ + ../../modules/core/includes/stack1.h \ + ../../modules/core/includes/scisparse.h \ + ../../modules/core/includes/stack2.h \ + ../../modules/core/includes/stack3.h \ + ../../modules/core/includes/stack-optional.h \ + ../../modules/core/includes/sci_types.h \ + ../../modules/api_scilab/includes/api_common.h \ + ../../modules/api_scilab/includes/api_scilab.h \ + ../../modules/api_scilab/includes/api_double.h \ + ../../modules/core/includes/doublecomplex.h \ + ../../modules/api_scilab/includes/api_string.h /usr/include/wchar.h \ + /usr/include/stdio.h /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \ + /usr/include/x86_64-linux-gnu/bits/wchar.h \ + /usr/include/x86_64-linux-gnu/bits/wchar2.h \ + ../../modules/api_scilab/includes/api_int.h \ + ../../modules/api_scilab/includes/api_poly.h \ + ../../modules/api_scilab/includes/api_sparse.h \ + ../../modules/api_scilab/includes/api_boolean.h \ + ../../modules/api_scilab/includes/api_boolean_sparse.h \ + ../../modules/api_scilab/includes/api_pointer.h \ + ../../modules/api_scilab/includes/api_list.h \ + ../../modules/api_scilab/includes/api_error.h \ + ../../modules/api_scilab/includes/api_handle.h \ + ../../modules/api_scilab/includes/api_optional.h \ + ../../modules/core/includes/stack-optional.h \ + ../../modules/api_scilab/includes/api_hypermat.h \ + ../../modules/core/includes/core_math.h \ + ../../modules/core/includes/sci_types.h \ + ../../modules/core/includes/MALLOC.h \ + ../../modules/core/includes/sci_mem_alloc.h \ + ../../modules/core/includes/callFunctionFromGateway.h + +/usr/include/stdc-predef.h: + +/usr/include/string.h: + +/usr/include/features.h: + +/usr/include/x86_64-linux-gnu/sys/cdefs.h: + +/usr/include/x86_64-linux-gnu/bits/wordsize.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs-64.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h: + +/usr/include/xlocale.h: + +/usr/include/x86_64-linux-gnu/bits/string.h: + +/usr/include/x86_64-linux-gnu/bits/string2.h: + +/usr/include/endian.h: + +/usr/include/x86_64-linux-gnu/bits/endian.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap.h: + +/usr/include/x86_64-linux-gnu/bits/types.h: + +/usr/include/x86_64-linux-gnu/bits/typesizes.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap-16.h: + +/usr/include/stdlib.h: + +/usr/include/x86_64-linux-gnu/bits/string3.h: + +includes/gw_spreadsheet.h: + +includes/dynlib_spreadsheet.h: + +../../modules/api_scilab/includes/api_scilab.h: + +../../modules/core/includes/stack-c.h: + +../../modules/core/includes/core_math.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h: + +/usr/include/limits.h: + +/usr/include/x86_64-linux-gnu/bits/posix1_lim.h: + +/usr/include/x86_64-linux-gnu/bits/local_lim.h: + +/usr/include/linux/limits.h: + +/usr/include/x86_64-linux-gnu/bits/posix2_lim.h: + +/usr/include/math.h: + +/usr/include/x86_64-linux-gnu/bits/math-vector.h: + +/usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h: + +/usr/include/x86_64-linux-gnu/bits/huge_val.h: + +/usr/include/x86_64-linux-gnu/bits/huge_valf.h: + +/usr/include/x86_64-linux-gnu/bits/huge_vall.h: + +/usr/include/x86_64-linux-gnu/bits/inf.h: + +/usr/include/x86_64-linux-gnu/bits/nan.h: + +/usr/include/x86_64-linux-gnu/bits/mathdef.h: + +/usr/include/x86_64-linux-gnu/bits/mathcalls.h: + +/usr/include/x86_64-linux-gnu/bits/mathinline.h: + +/usr/include/x86_64-linux-gnu/bits/waitflags.h: + +/usr/include/x86_64-linux-gnu/bits/waitstatus.h: + +/usr/include/x86_64-linux-gnu/sys/types.h: + +/usr/include/time.h: + +/usr/include/x86_64-linux-gnu/sys/select.h: + +/usr/include/x86_64-linux-gnu/bits/select.h: + +/usr/include/x86_64-linux-gnu/bits/sigset.h: + +/usr/include/x86_64-linux-gnu/bits/time.h: + +/usr/include/x86_64-linux-gnu/bits/select2.h: + +/usr/include/x86_64-linux-gnu/sys/sysmacros.h: + +/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h: + +/usr/include/alloca.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib-float.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib.h: + +../../modules/core/includes/stack-def.h: + +../../modules/core/includes/machine.h: + +../../modules/core/includes/stackTypeVariable.h: + +../../modules/core/includes/BOOL.h: + +../../modules/core/includes/doublecomplex.h: + +../../modules/core/includes/stack1.h: + +../../modules/core/includes/scisparse.h: + +../../modules/core/includes/stack2.h: + +../../modules/core/includes/stack3.h: + +../../modules/core/includes/stack-optional.h: + +../../modules/core/includes/sci_types.h: + +../../modules/api_scilab/includes/api_common.h: + +../../modules/api_scilab/includes/api_scilab.h: + +../../modules/api_scilab/includes/api_double.h: + +../../modules/core/includes/doublecomplex.h: + +../../modules/api_scilab/includes/api_string.h: + +/usr/include/wchar.h: + +/usr/include/stdio.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h: + +/usr/include/x86_64-linux-gnu/bits/wchar.h: + +/usr/include/x86_64-linux-gnu/bits/wchar2.h: + +../../modules/api_scilab/includes/api_int.h: + +../../modules/api_scilab/includes/api_poly.h: + +../../modules/api_scilab/includes/api_sparse.h: + +../../modules/api_scilab/includes/api_boolean.h: + +../../modules/api_scilab/includes/api_boolean_sparse.h: + +../../modules/api_scilab/includes/api_pointer.h: + +../../modules/api_scilab/includes/api_list.h: + +../../modules/api_scilab/includes/api_error.h: + +../../modules/api_scilab/includes/api_handle.h: + +../../modules/api_scilab/includes/api_optional.h: + +../../modules/core/includes/stack-optional.h: + +../../modules/api_scilab/includes/api_hypermat.h: + +../../modules/core/includes/core_math.h: + +../../modules/core/includes/sci_types.h: + +../../modules/core/includes/MALLOC.h: + +../../modules/core/includes/sci_mem_alloc.h: + +../../modules/core/includes/callFunctionFromGateway.h: diff --git a/modules/spreadsheet/sci_gateway/c/.deps/libscispreadsheet_la-sci_csvDefault.Plo b/modules/spreadsheet/sci_gateway/c/.deps/libscispreadsheet_la-sci_csvDefault.Plo new file mode 100755 index 000000000..570f3416c --- /dev/null +++ b/modules/spreadsheet/sci_gateway/c/.deps/libscispreadsheet_la-sci_csvDefault.Plo @@ -0,0 +1,317 @@ +sci_gateway/c/libscispreadsheet_la-sci_csvDefault.lo: \ + sci_gateway/c/sci_csvDefault.c /usr/include/stdc-predef.h \ + /usr/include/string.h /usr/include/features.h \ + /usr/include/x86_64-linux-gnu/sys/cdefs.h \ + /usr/include/x86_64-linux-gnu/bits/wordsize.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h /usr/include/xlocale.h \ + /usr/include/x86_64-linux-gnu/bits/string.h \ + /usr/include/x86_64-linux-gnu/bits/string2.h /usr/include/endian.h \ + /usr/include/x86_64-linux-gnu/bits/endian.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap.h \ + /usr/include/x86_64-linux-gnu/bits/types.h \ + /usr/include/x86_64-linux-gnu/bits/typesizes.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap-16.h /usr/include/stdlib.h \ + /usr/include/x86_64-linux-gnu/bits/string3.h /usr/include/stdio.h \ + /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \ + /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \ + /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \ + /usr/include/x86_64-linux-gnu/bits/stdio.h \ + /usr/include/x86_64-linux-gnu/bits/stdio2.h includes/gw_spreadsheet.h \ + includes/dynlib_spreadsheet.h \ + ../../modules/api_scilab/includes/api_scilab.h \ + ../../modules/core/includes/stack-c.h \ + ../../modules/core/includes/core_math.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h \ + /usr/include/limits.h /usr/include/x86_64-linux-gnu/bits/posix1_lim.h \ + /usr/include/x86_64-linux-gnu/bits/local_lim.h \ + /usr/include/linux/limits.h \ + /usr/include/x86_64-linux-gnu/bits/posix2_lim.h /usr/include/math.h \ + /usr/include/x86_64-linux-gnu/bits/math-vector.h \ + /usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h \ + /usr/include/x86_64-linux-gnu/bits/huge_val.h \ + /usr/include/x86_64-linux-gnu/bits/huge_valf.h \ + /usr/include/x86_64-linux-gnu/bits/huge_vall.h \ + /usr/include/x86_64-linux-gnu/bits/inf.h \ + /usr/include/x86_64-linux-gnu/bits/nan.h \ + /usr/include/x86_64-linux-gnu/bits/mathdef.h \ + /usr/include/x86_64-linux-gnu/bits/mathcalls.h \ + /usr/include/x86_64-linux-gnu/bits/mathinline.h \ + /usr/include/x86_64-linux-gnu/bits/waitflags.h \ + /usr/include/x86_64-linux-gnu/bits/waitstatus.h \ + /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \ + /usr/include/x86_64-linux-gnu/sys/select.h \ + /usr/include/x86_64-linux-gnu/bits/select.h \ + /usr/include/x86_64-linux-gnu/bits/sigset.h \ + /usr/include/x86_64-linux-gnu/bits/time.h \ + /usr/include/x86_64-linux-gnu/bits/select2.h \ + /usr/include/x86_64-linux-gnu/sys/sysmacros.h \ + /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib.h \ + ../../modules/core/includes/stack-def.h \ + ../../modules/core/includes/machine.h \ + ../../modules/core/includes/stackTypeVariable.h \ + ../../modules/core/includes/BOOL.h \ + ../../modules/core/includes/doublecomplex.h \ + ../../modules/core/includes/stack1.h \ + ../../modules/core/includes/scisparse.h \ + ../../modules/core/includes/stack2.h \ + ../../modules/core/includes/stack3.h \ + ../../modules/core/includes/stack-optional.h \ + ../../modules/core/includes/sci_types.h \ + ../../modules/api_scilab/includes/api_common.h \ + ../../modules/api_scilab/includes/api_scilab.h \ + ../../modules/api_scilab/includes/api_double.h \ + ../../modules/core/includes/doublecomplex.h \ + ../../modules/api_scilab/includes/api_string.h \ + /usr/include/x86_64-linux-gnu/bits/wchar.h \ + /usr/include/x86_64-linux-gnu/bits/wchar2.h \ + ../../modules/api_scilab/includes/api_int.h \ + ../../modules/api_scilab/includes/api_poly.h \ + ../../modules/api_scilab/includes/api_sparse.h \ + ../../modules/api_scilab/includes/api_boolean.h \ + ../../modules/api_scilab/includes/api_boolean_sparse.h \ + ../../modules/api_scilab/includes/api_pointer.h \ + ../../modules/api_scilab/includes/api_list.h \ + ../../modules/api_scilab/includes/api_error.h \ + ../../modules/api_scilab/includes/api_handle.h \ + ../../modules/api_scilab/includes/api_optional.h \ + ../../modules/core/includes/stack-optional.h \ + ../../modules/api_scilab/includes/api_hypermat.h \ + ../../modules/core/includes/core_math.h \ + ../../modules/core/includes/sci_types.h \ + ../../modules/output_stream/includes/Scierror.h \ + ../../modules/output_stream/includes/do_error_number.h \ + ../../modules/core/includes/machine.h \ + ../../modules/core/includes/MALLOC.h \ + ../../modules/core/includes/sci_mem_alloc.h \ + ../../modules/localization/includes/localization.h \ + /usr/include/libintl.h /usr/include/locale.h \ + /usr/include/x86_64-linux-gnu/bits/locale.h \ + ../../modules/core/includes/freeArrayOfString.h src/c/csvDefault.h \ + sci_gateway/c/gw_csv_helpers.h + +/usr/include/stdc-predef.h: + +/usr/include/string.h: + +/usr/include/features.h: + +/usr/include/x86_64-linux-gnu/sys/cdefs.h: + +/usr/include/x86_64-linux-gnu/bits/wordsize.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs-64.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h: + +/usr/include/xlocale.h: + +/usr/include/x86_64-linux-gnu/bits/string.h: + +/usr/include/x86_64-linux-gnu/bits/string2.h: + +/usr/include/endian.h: + +/usr/include/x86_64-linux-gnu/bits/endian.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap.h: + +/usr/include/x86_64-linux-gnu/bits/types.h: + +/usr/include/x86_64-linux-gnu/bits/typesizes.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap-16.h: + +/usr/include/stdlib.h: + +/usr/include/x86_64-linux-gnu/bits/string3.h: + +/usr/include/stdio.h: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/wchar.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h: + +/usr/include/x86_64-linux-gnu/bits/stdio_lim.h: + +/usr/include/x86_64-linux-gnu/bits/sys_errlist.h: + +/usr/include/x86_64-linux-gnu/bits/stdio.h: + +/usr/include/x86_64-linux-gnu/bits/stdio2.h: + +includes/gw_spreadsheet.h: + +includes/dynlib_spreadsheet.h: + +../../modules/api_scilab/includes/api_scilab.h: + +../../modules/core/includes/stack-c.h: + +../../modules/core/includes/core_math.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h: + +/usr/include/limits.h: + +/usr/include/x86_64-linux-gnu/bits/posix1_lim.h: + +/usr/include/x86_64-linux-gnu/bits/local_lim.h: + +/usr/include/linux/limits.h: + +/usr/include/x86_64-linux-gnu/bits/posix2_lim.h: + +/usr/include/math.h: + +/usr/include/x86_64-linux-gnu/bits/math-vector.h: + +/usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h: + +/usr/include/x86_64-linux-gnu/bits/huge_val.h: + +/usr/include/x86_64-linux-gnu/bits/huge_valf.h: + +/usr/include/x86_64-linux-gnu/bits/huge_vall.h: + +/usr/include/x86_64-linux-gnu/bits/inf.h: + +/usr/include/x86_64-linux-gnu/bits/nan.h: + +/usr/include/x86_64-linux-gnu/bits/mathdef.h: + +/usr/include/x86_64-linux-gnu/bits/mathcalls.h: + +/usr/include/x86_64-linux-gnu/bits/mathinline.h: + +/usr/include/x86_64-linux-gnu/bits/waitflags.h: + +/usr/include/x86_64-linux-gnu/bits/waitstatus.h: + +/usr/include/x86_64-linux-gnu/sys/types.h: + +/usr/include/time.h: + +/usr/include/x86_64-linux-gnu/sys/select.h: + +/usr/include/x86_64-linux-gnu/bits/select.h: + +/usr/include/x86_64-linux-gnu/bits/sigset.h: + +/usr/include/x86_64-linux-gnu/bits/time.h: + +/usr/include/x86_64-linux-gnu/bits/select2.h: + +/usr/include/x86_64-linux-gnu/sys/sysmacros.h: + +/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h: + +/usr/include/alloca.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib-float.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib.h: + +../../modules/core/includes/stack-def.h: + +../../modules/core/includes/machine.h: + +../../modules/core/includes/stackTypeVariable.h: + +../../modules/core/includes/BOOL.h: + +../../modules/core/includes/doublecomplex.h: + +../../modules/core/includes/stack1.h: + +../../modules/core/includes/scisparse.h: + +../../modules/core/includes/stack2.h: + +../../modules/core/includes/stack3.h: + +../../modules/core/includes/stack-optional.h: + +../../modules/core/includes/sci_types.h: + +../../modules/api_scilab/includes/api_common.h: + +../../modules/api_scilab/includes/api_scilab.h: + +../../modules/api_scilab/includes/api_double.h: + +../../modules/core/includes/doublecomplex.h: + +../../modules/api_scilab/includes/api_string.h: + +/usr/include/x86_64-linux-gnu/bits/wchar.h: + +/usr/include/x86_64-linux-gnu/bits/wchar2.h: + +../../modules/api_scilab/includes/api_int.h: + +../../modules/api_scilab/includes/api_poly.h: + +../../modules/api_scilab/includes/api_sparse.h: + +../../modules/api_scilab/includes/api_boolean.h: + +../../modules/api_scilab/includes/api_boolean_sparse.h: + +../../modules/api_scilab/includes/api_pointer.h: + +../../modules/api_scilab/includes/api_list.h: + +../../modules/api_scilab/includes/api_error.h: + +../../modules/api_scilab/includes/api_handle.h: + +../../modules/api_scilab/includes/api_optional.h: + +../../modules/core/includes/stack-optional.h: + +../../modules/api_scilab/includes/api_hypermat.h: + +../../modules/core/includes/core_math.h: + +../../modules/core/includes/sci_types.h: + +../../modules/output_stream/includes/Scierror.h: + +../../modules/output_stream/includes/do_error_number.h: + +../../modules/core/includes/machine.h: + +../../modules/core/includes/MALLOC.h: + +../../modules/core/includes/sci_mem_alloc.h: + +../../modules/localization/includes/localization.h: + +/usr/include/libintl.h: + +/usr/include/locale.h: + +/usr/include/x86_64-linux-gnu/bits/locale.h: + +../../modules/core/includes/freeArrayOfString.h: + +src/c/csvDefault.h: + +sci_gateway/c/gw_csv_helpers.h: diff --git a/modules/spreadsheet/sci_gateway/c/.deps/libscispreadsheet_la-sci_csvRead.Plo b/modules/spreadsheet/sci_gateway/c/.deps/libscispreadsheet_la-sci_csvRead.Plo new file mode 100755 index 000000000..ccc29be16 --- /dev/null +++ b/modules/spreadsheet/sci_gateway/c/.deps/libscispreadsheet_la-sci_csvRead.Plo @@ -0,0 +1,336 @@ +sci_gateway/c/libscispreadsheet_la-sci_csvRead.lo: \ + sci_gateway/c/sci_csvRead.c /usr/include/stdc-predef.h \ + /usr/include/string.h /usr/include/features.h \ + /usr/include/x86_64-linux-gnu/sys/cdefs.h \ + /usr/include/x86_64-linux-gnu/bits/wordsize.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h /usr/include/xlocale.h \ + /usr/include/x86_64-linux-gnu/bits/string.h \ + /usr/include/x86_64-linux-gnu/bits/string2.h /usr/include/endian.h \ + /usr/include/x86_64-linux-gnu/bits/endian.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap.h \ + /usr/include/x86_64-linux-gnu/bits/types.h \ + /usr/include/x86_64-linux-gnu/bits/typesizes.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap-16.h /usr/include/stdlib.h \ + /usr/include/x86_64-linux-gnu/bits/string3.h /usr/include/stdio.h \ + /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \ + /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \ + /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \ + /usr/include/x86_64-linux-gnu/bits/stdio.h \ + /usr/include/x86_64-linux-gnu/bits/stdio2.h includes/gw_spreadsheet.h \ + includes/dynlib_spreadsheet.h \ + ../../modules/api_scilab/includes/api_scilab.h \ + ../../modules/core/includes/stack-c.h \ + ../../modules/core/includes/core_math.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h \ + /usr/include/limits.h /usr/include/x86_64-linux-gnu/bits/posix1_lim.h \ + /usr/include/x86_64-linux-gnu/bits/local_lim.h \ + /usr/include/linux/limits.h \ + /usr/include/x86_64-linux-gnu/bits/posix2_lim.h /usr/include/math.h \ + /usr/include/x86_64-linux-gnu/bits/math-vector.h \ + /usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h \ + /usr/include/x86_64-linux-gnu/bits/huge_val.h \ + /usr/include/x86_64-linux-gnu/bits/huge_valf.h \ + /usr/include/x86_64-linux-gnu/bits/huge_vall.h \ + /usr/include/x86_64-linux-gnu/bits/inf.h \ + /usr/include/x86_64-linux-gnu/bits/nan.h \ + /usr/include/x86_64-linux-gnu/bits/mathdef.h \ + /usr/include/x86_64-linux-gnu/bits/mathcalls.h \ + /usr/include/x86_64-linux-gnu/bits/mathinline.h \ + /usr/include/x86_64-linux-gnu/bits/waitflags.h \ + /usr/include/x86_64-linux-gnu/bits/waitstatus.h \ + /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \ + /usr/include/x86_64-linux-gnu/sys/select.h \ + /usr/include/x86_64-linux-gnu/bits/select.h \ + /usr/include/x86_64-linux-gnu/bits/sigset.h \ + /usr/include/x86_64-linux-gnu/bits/time.h \ + /usr/include/x86_64-linux-gnu/bits/select2.h \ + /usr/include/x86_64-linux-gnu/sys/sysmacros.h \ + /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib.h \ + ../../modules/core/includes/stack-def.h \ + ../../modules/core/includes/machine.h \ + ../../modules/core/includes/stackTypeVariable.h \ + ../../modules/core/includes/BOOL.h \ + ../../modules/core/includes/doublecomplex.h \ + ../../modules/core/includes/stack1.h \ + ../../modules/core/includes/scisparse.h \ + ../../modules/core/includes/stack2.h \ + ../../modules/core/includes/stack3.h \ + ../../modules/core/includes/stack-optional.h \ + ../../modules/core/includes/sci_types.h \ + ../../modules/api_scilab/includes/api_common.h \ + ../../modules/api_scilab/includes/api_scilab.h \ + ../../modules/api_scilab/includes/api_double.h \ + ../../modules/core/includes/doublecomplex.h \ + ../../modules/api_scilab/includes/api_string.h \ + /usr/include/x86_64-linux-gnu/bits/wchar.h \ + /usr/include/x86_64-linux-gnu/bits/wchar2.h \ + ../../modules/api_scilab/includes/api_int.h \ + ../../modules/api_scilab/includes/api_poly.h \ + ../../modules/api_scilab/includes/api_sparse.h \ + ../../modules/api_scilab/includes/api_boolean.h \ + ../../modules/api_scilab/includes/api_boolean_sparse.h \ + ../../modules/api_scilab/includes/api_pointer.h \ + ../../modules/api_scilab/includes/api_list.h \ + ../../modules/api_scilab/includes/api_error.h \ + ../../modules/api_scilab/includes/api_handle.h \ + ../../modules/api_scilab/includes/api_optional.h \ + ../../modules/core/includes/stack-optional.h \ + ../../modules/api_scilab/includes/api_hypermat.h \ + ../../modules/core/includes/core_math.h \ + ../../modules/core/includes/sci_types.h \ + ../../modules/output_stream/includes/Scierror.h \ + ../../modules/output_stream/includes/do_error_number.h \ + ../../modules/core/includes/machine.h \ + ../../modules/localization/includes/localization.h \ + /usr/include/libintl.h /usr/include/locale.h \ + /usr/include/x86_64-linux-gnu/bits/locale.h \ + ../../modules/core/includes/freeArrayOfString.h \ + ../../modules/core/includes/MALLOC.h \ + ../../modules/core/includes/sci_mem_alloc.h src/c/csvRead.h \ + ../../modules/string/includes/stringToComplex.h \ + ../../modules/string/includes/complex_array.h \ + ../../modules/string/includes/dynlib_string.h \ + ../../modules/core/includes/BOOL.h src/c/csvDefault.h \ + ../../modules/string/includes/complex_array.h \ + sci_gateway/c/gw_csv_helpers.h src/c/getRange.h + +/usr/include/stdc-predef.h: + +/usr/include/string.h: + +/usr/include/features.h: + +/usr/include/x86_64-linux-gnu/sys/cdefs.h: + +/usr/include/x86_64-linux-gnu/bits/wordsize.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs-64.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h: + +/usr/include/xlocale.h: + +/usr/include/x86_64-linux-gnu/bits/string.h: + +/usr/include/x86_64-linux-gnu/bits/string2.h: + +/usr/include/endian.h: + +/usr/include/x86_64-linux-gnu/bits/endian.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap.h: + +/usr/include/x86_64-linux-gnu/bits/types.h: + +/usr/include/x86_64-linux-gnu/bits/typesizes.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap-16.h: + +/usr/include/stdlib.h: + +/usr/include/x86_64-linux-gnu/bits/string3.h: + +/usr/include/stdio.h: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/wchar.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h: + +/usr/include/x86_64-linux-gnu/bits/stdio_lim.h: + +/usr/include/x86_64-linux-gnu/bits/sys_errlist.h: + +/usr/include/x86_64-linux-gnu/bits/stdio.h: + +/usr/include/x86_64-linux-gnu/bits/stdio2.h: + +includes/gw_spreadsheet.h: + +includes/dynlib_spreadsheet.h: + +../../modules/api_scilab/includes/api_scilab.h: + +../../modules/core/includes/stack-c.h: + +../../modules/core/includes/core_math.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h: + +/usr/include/limits.h: + +/usr/include/x86_64-linux-gnu/bits/posix1_lim.h: + +/usr/include/x86_64-linux-gnu/bits/local_lim.h: + +/usr/include/linux/limits.h: + +/usr/include/x86_64-linux-gnu/bits/posix2_lim.h: + +/usr/include/math.h: + +/usr/include/x86_64-linux-gnu/bits/math-vector.h: + +/usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h: + +/usr/include/x86_64-linux-gnu/bits/huge_val.h: + +/usr/include/x86_64-linux-gnu/bits/huge_valf.h: + +/usr/include/x86_64-linux-gnu/bits/huge_vall.h: + +/usr/include/x86_64-linux-gnu/bits/inf.h: + +/usr/include/x86_64-linux-gnu/bits/nan.h: + +/usr/include/x86_64-linux-gnu/bits/mathdef.h: + +/usr/include/x86_64-linux-gnu/bits/mathcalls.h: + +/usr/include/x86_64-linux-gnu/bits/mathinline.h: + +/usr/include/x86_64-linux-gnu/bits/waitflags.h: + +/usr/include/x86_64-linux-gnu/bits/waitstatus.h: + +/usr/include/x86_64-linux-gnu/sys/types.h: + +/usr/include/time.h: + +/usr/include/x86_64-linux-gnu/sys/select.h: + +/usr/include/x86_64-linux-gnu/bits/select.h: + +/usr/include/x86_64-linux-gnu/bits/sigset.h: + +/usr/include/x86_64-linux-gnu/bits/time.h: + +/usr/include/x86_64-linux-gnu/bits/select2.h: + +/usr/include/x86_64-linux-gnu/sys/sysmacros.h: + +/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h: + +/usr/include/alloca.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib-float.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib.h: + +../../modules/core/includes/stack-def.h: + +../../modules/core/includes/machine.h: + +../../modules/core/includes/stackTypeVariable.h: + +../../modules/core/includes/BOOL.h: + +../../modules/core/includes/doublecomplex.h: + +../../modules/core/includes/stack1.h: + +../../modules/core/includes/scisparse.h: + +../../modules/core/includes/stack2.h: + +../../modules/core/includes/stack3.h: + +../../modules/core/includes/stack-optional.h: + +../../modules/core/includes/sci_types.h: + +../../modules/api_scilab/includes/api_common.h: + +../../modules/api_scilab/includes/api_scilab.h: + +../../modules/api_scilab/includes/api_double.h: + +../../modules/core/includes/doublecomplex.h: + +../../modules/api_scilab/includes/api_string.h: + +/usr/include/x86_64-linux-gnu/bits/wchar.h: + +/usr/include/x86_64-linux-gnu/bits/wchar2.h: + +../../modules/api_scilab/includes/api_int.h: + +../../modules/api_scilab/includes/api_poly.h: + +../../modules/api_scilab/includes/api_sparse.h: + +../../modules/api_scilab/includes/api_boolean.h: + +../../modules/api_scilab/includes/api_boolean_sparse.h: + +../../modules/api_scilab/includes/api_pointer.h: + +../../modules/api_scilab/includes/api_list.h: + +../../modules/api_scilab/includes/api_error.h: + +../../modules/api_scilab/includes/api_handle.h: + +../../modules/api_scilab/includes/api_optional.h: + +../../modules/core/includes/stack-optional.h: + +../../modules/api_scilab/includes/api_hypermat.h: + +../../modules/core/includes/core_math.h: + +../../modules/core/includes/sci_types.h: + +../../modules/output_stream/includes/Scierror.h: + +../../modules/output_stream/includes/do_error_number.h: + +../../modules/core/includes/machine.h: + +../../modules/localization/includes/localization.h: + +/usr/include/libintl.h: + +/usr/include/locale.h: + +/usr/include/x86_64-linux-gnu/bits/locale.h: + +../../modules/core/includes/freeArrayOfString.h: + +../../modules/core/includes/MALLOC.h: + +../../modules/core/includes/sci_mem_alloc.h: + +src/c/csvRead.h: + +../../modules/string/includes/stringToComplex.h: + +../../modules/string/includes/complex_array.h: + +../../modules/string/includes/dynlib_string.h: + +../../modules/core/includes/BOOL.h: + +src/c/csvDefault.h: + +../../modules/string/includes/complex_array.h: + +sci_gateway/c/gw_csv_helpers.h: + +src/c/getRange.h: diff --git a/modules/spreadsheet/sci_gateway/c/.deps/libscispreadsheet_la-sci_csvStringToDouble.Plo b/modules/spreadsheet/sci_gateway/c/.deps/libscispreadsheet_la-sci_csvStringToDouble.Plo new file mode 100755 index 000000000..99d5dcb3d --- /dev/null +++ b/modules/spreadsheet/sci_gateway/c/.deps/libscispreadsheet_la-sci_csvStringToDouble.Plo @@ -0,0 +1,310 @@ +sci_gateway/c/libscispreadsheet_la-sci_csvStringToDouble.lo: \ + sci_gateway/c/sci_csvStringToDouble.c /usr/include/stdc-predef.h \ + /usr/include/string.h /usr/include/features.h \ + /usr/include/x86_64-linux-gnu/sys/cdefs.h \ + /usr/include/x86_64-linux-gnu/bits/wordsize.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h /usr/include/xlocale.h \ + /usr/include/x86_64-linux-gnu/bits/string.h \ + /usr/include/x86_64-linux-gnu/bits/string2.h /usr/include/endian.h \ + /usr/include/x86_64-linux-gnu/bits/endian.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap.h \ + /usr/include/x86_64-linux-gnu/bits/types.h \ + /usr/include/x86_64-linux-gnu/bits/typesizes.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap-16.h /usr/include/stdlib.h \ + /usr/include/x86_64-linux-gnu/bits/string3.h \ + ../../modules/api_scilab/includes/api_scilab.h \ + ../../modules/core/includes/stack-c.h \ + ../../modules/core/includes/core_math.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h \ + /usr/include/limits.h /usr/include/x86_64-linux-gnu/bits/posix1_lim.h \ + /usr/include/x86_64-linux-gnu/bits/local_lim.h \ + /usr/include/linux/limits.h \ + /usr/include/x86_64-linux-gnu/bits/posix2_lim.h /usr/include/math.h \ + /usr/include/x86_64-linux-gnu/bits/math-vector.h \ + /usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h \ + /usr/include/x86_64-linux-gnu/bits/huge_val.h \ + /usr/include/x86_64-linux-gnu/bits/huge_valf.h \ + /usr/include/x86_64-linux-gnu/bits/huge_vall.h \ + /usr/include/x86_64-linux-gnu/bits/inf.h \ + /usr/include/x86_64-linux-gnu/bits/nan.h \ + /usr/include/x86_64-linux-gnu/bits/mathdef.h \ + /usr/include/x86_64-linux-gnu/bits/mathcalls.h \ + /usr/include/x86_64-linux-gnu/bits/mathinline.h \ + /usr/include/x86_64-linux-gnu/bits/waitflags.h \ + /usr/include/x86_64-linux-gnu/bits/waitstatus.h \ + /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \ + /usr/include/x86_64-linux-gnu/sys/select.h \ + /usr/include/x86_64-linux-gnu/bits/select.h \ + /usr/include/x86_64-linux-gnu/bits/sigset.h \ + /usr/include/x86_64-linux-gnu/bits/time.h \ + /usr/include/x86_64-linux-gnu/bits/select2.h \ + /usr/include/x86_64-linux-gnu/sys/sysmacros.h \ + /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib.h \ + ../../modules/core/includes/stack-def.h \ + ../../modules/core/includes/machine.h \ + ../../modules/core/includes/stackTypeVariable.h \ + ../../modules/core/includes/BOOL.h \ + ../../modules/core/includes/doublecomplex.h \ + ../../modules/core/includes/stack1.h \ + ../../modules/core/includes/scisparse.h \ + ../../modules/core/includes/stack2.h \ + ../../modules/core/includes/stack3.h \ + ../../modules/core/includes/stack-optional.h \ + ../../modules/core/includes/sci_types.h \ + ../../modules/api_scilab/includes/api_common.h \ + ../../modules/api_scilab/includes/api_scilab.h \ + ../../modules/api_scilab/includes/api_double.h \ + ../../modules/core/includes/doublecomplex.h \ + ../../modules/api_scilab/includes/api_string.h /usr/include/wchar.h \ + /usr/include/stdio.h /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \ + /usr/include/x86_64-linux-gnu/bits/wchar.h \ + /usr/include/x86_64-linux-gnu/bits/wchar2.h \ + ../../modules/api_scilab/includes/api_int.h \ + ../../modules/api_scilab/includes/api_poly.h \ + ../../modules/api_scilab/includes/api_sparse.h \ + ../../modules/api_scilab/includes/api_boolean.h \ + ../../modules/api_scilab/includes/api_boolean_sparse.h \ + ../../modules/api_scilab/includes/api_pointer.h \ + ../../modules/api_scilab/includes/api_list.h \ + ../../modules/api_scilab/includes/api_error.h \ + ../../modules/api_scilab/includes/api_handle.h \ + ../../modules/api_scilab/includes/api_optional.h \ + ../../modules/core/includes/stack-optional.h \ + ../../modules/api_scilab/includes/api_hypermat.h \ + ../../modules/core/includes/core_math.h \ + ../../modules/core/includes/sci_types.h \ + ../../modules/output_stream/includes/Scierror.h \ + ../../modules/output_stream/includes/do_error_number.h \ + ../../modules/core/includes/machine.h \ + ../../modules/core/includes/MALLOC.h \ + ../../modules/core/includes/sci_mem_alloc.h \ + ../../modules/localization/includes/localization.h \ + /usr/include/libintl.h /usr/include/locale.h \ + /usr/include/x86_64-linux-gnu/bits/locale.h \ + ../../modules/core/includes/freeArrayOfString.h \ + ../../modules/string/includes/stringToComplex.h \ + ../../modules/string/includes/complex_array.h \ + ../../modules/string/includes/dynlib_string.h \ + ../../modules/core/includes/BOOL.h src/c/csvDefault.h \ + sci_gateway/c/gw_csv_helpers.h \ + ../../modules/string/includes/complex_array.h + +/usr/include/stdc-predef.h: + +/usr/include/string.h: + +/usr/include/features.h: + +/usr/include/x86_64-linux-gnu/sys/cdefs.h: + +/usr/include/x86_64-linux-gnu/bits/wordsize.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs-64.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h: + +/usr/include/xlocale.h: + +/usr/include/x86_64-linux-gnu/bits/string.h: + +/usr/include/x86_64-linux-gnu/bits/string2.h: + +/usr/include/endian.h: + +/usr/include/x86_64-linux-gnu/bits/endian.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap.h: + +/usr/include/x86_64-linux-gnu/bits/types.h: + +/usr/include/x86_64-linux-gnu/bits/typesizes.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap-16.h: + +/usr/include/stdlib.h: + +/usr/include/x86_64-linux-gnu/bits/string3.h: + +../../modules/api_scilab/includes/api_scilab.h: + +../../modules/core/includes/stack-c.h: + +../../modules/core/includes/core_math.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h: + +/usr/include/limits.h: + +/usr/include/x86_64-linux-gnu/bits/posix1_lim.h: + +/usr/include/x86_64-linux-gnu/bits/local_lim.h: + +/usr/include/linux/limits.h: + +/usr/include/x86_64-linux-gnu/bits/posix2_lim.h: + +/usr/include/math.h: + +/usr/include/x86_64-linux-gnu/bits/math-vector.h: + +/usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h: + +/usr/include/x86_64-linux-gnu/bits/huge_val.h: + +/usr/include/x86_64-linux-gnu/bits/huge_valf.h: + +/usr/include/x86_64-linux-gnu/bits/huge_vall.h: + +/usr/include/x86_64-linux-gnu/bits/inf.h: + +/usr/include/x86_64-linux-gnu/bits/nan.h: + +/usr/include/x86_64-linux-gnu/bits/mathdef.h: + +/usr/include/x86_64-linux-gnu/bits/mathcalls.h: + +/usr/include/x86_64-linux-gnu/bits/mathinline.h: + +/usr/include/x86_64-linux-gnu/bits/waitflags.h: + +/usr/include/x86_64-linux-gnu/bits/waitstatus.h: + +/usr/include/x86_64-linux-gnu/sys/types.h: + +/usr/include/time.h: + +/usr/include/x86_64-linux-gnu/sys/select.h: + +/usr/include/x86_64-linux-gnu/bits/select.h: + +/usr/include/x86_64-linux-gnu/bits/sigset.h: + +/usr/include/x86_64-linux-gnu/bits/time.h: + +/usr/include/x86_64-linux-gnu/bits/select2.h: + +/usr/include/x86_64-linux-gnu/sys/sysmacros.h: + +/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h: + +/usr/include/alloca.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib-float.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib.h: + +../../modules/core/includes/stack-def.h: + +../../modules/core/includes/machine.h: + +../../modules/core/includes/stackTypeVariable.h: + +../../modules/core/includes/BOOL.h: + +../../modules/core/includes/doublecomplex.h: + +../../modules/core/includes/stack1.h: + +../../modules/core/includes/scisparse.h: + +../../modules/core/includes/stack2.h: + +../../modules/core/includes/stack3.h: + +../../modules/core/includes/stack-optional.h: + +../../modules/core/includes/sci_types.h: + +../../modules/api_scilab/includes/api_common.h: + +../../modules/api_scilab/includes/api_scilab.h: + +../../modules/api_scilab/includes/api_double.h: + +../../modules/core/includes/doublecomplex.h: + +../../modules/api_scilab/includes/api_string.h: + +/usr/include/wchar.h: + +/usr/include/stdio.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h: + +/usr/include/x86_64-linux-gnu/bits/wchar.h: + +/usr/include/x86_64-linux-gnu/bits/wchar2.h: + +../../modules/api_scilab/includes/api_int.h: + +../../modules/api_scilab/includes/api_poly.h: + +../../modules/api_scilab/includes/api_sparse.h: + +../../modules/api_scilab/includes/api_boolean.h: + +../../modules/api_scilab/includes/api_boolean_sparse.h: + +../../modules/api_scilab/includes/api_pointer.h: + +../../modules/api_scilab/includes/api_list.h: + +../../modules/api_scilab/includes/api_error.h: + +../../modules/api_scilab/includes/api_handle.h: + +../../modules/api_scilab/includes/api_optional.h: + +../../modules/core/includes/stack-optional.h: + +../../modules/api_scilab/includes/api_hypermat.h: + +../../modules/core/includes/core_math.h: + +../../modules/core/includes/sci_types.h: + +../../modules/output_stream/includes/Scierror.h: + +../../modules/output_stream/includes/do_error_number.h: + +../../modules/core/includes/machine.h: + +../../modules/core/includes/MALLOC.h: + +../../modules/core/includes/sci_mem_alloc.h: + +../../modules/localization/includes/localization.h: + +/usr/include/libintl.h: + +/usr/include/locale.h: + +/usr/include/x86_64-linux-gnu/bits/locale.h: + +../../modules/core/includes/freeArrayOfString.h: + +../../modules/string/includes/stringToComplex.h: + +../../modules/string/includes/complex_array.h: + +../../modules/string/includes/dynlib_string.h: + +../../modules/core/includes/BOOL.h: + +src/c/csvDefault.h: + +sci_gateway/c/gw_csv_helpers.h: + +../../modules/string/includes/complex_array.h: diff --git a/modules/spreadsheet/sci_gateway/c/.deps/libscispreadsheet_la-sci_csvTextScan.Plo b/modules/spreadsheet/sci_gateway/c/.deps/libscispreadsheet_la-sci_csvTextScan.Plo new file mode 100755 index 000000000..d7d1ac7bc --- /dev/null +++ b/modules/spreadsheet/sci_gateway/c/.deps/libscispreadsheet_la-sci_csvTextScan.Plo @@ -0,0 +1,319 @@ +sci_gateway/c/libscispreadsheet_la-sci_csvTextScan.lo: \ + sci_gateway/c/sci_csvTextScan.c /usr/include/stdc-predef.h \ + /usr/include/string.h /usr/include/features.h \ + /usr/include/x86_64-linux-gnu/sys/cdefs.h \ + /usr/include/x86_64-linux-gnu/bits/wordsize.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h /usr/include/xlocale.h \ + /usr/include/x86_64-linux-gnu/bits/string.h \ + /usr/include/x86_64-linux-gnu/bits/string2.h /usr/include/endian.h \ + /usr/include/x86_64-linux-gnu/bits/endian.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap.h \ + /usr/include/x86_64-linux-gnu/bits/types.h \ + /usr/include/x86_64-linux-gnu/bits/typesizes.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap-16.h /usr/include/stdlib.h \ + /usr/include/x86_64-linux-gnu/bits/string3.h includes/gw_spreadsheet.h \ + includes/dynlib_spreadsheet.h \ + ../../modules/api_scilab/includes/api_scilab.h \ + ../../modules/core/includes/stack-c.h \ + ../../modules/core/includes/core_math.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h \ + /usr/include/limits.h /usr/include/x86_64-linux-gnu/bits/posix1_lim.h \ + /usr/include/x86_64-linux-gnu/bits/local_lim.h \ + /usr/include/linux/limits.h \ + /usr/include/x86_64-linux-gnu/bits/posix2_lim.h /usr/include/math.h \ + /usr/include/x86_64-linux-gnu/bits/math-vector.h \ + /usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h \ + /usr/include/x86_64-linux-gnu/bits/huge_val.h \ + /usr/include/x86_64-linux-gnu/bits/huge_valf.h \ + /usr/include/x86_64-linux-gnu/bits/huge_vall.h \ + /usr/include/x86_64-linux-gnu/bits/inf.h \ + /usr/include/x86_64-linux-gnu/bits/nan.h \ + /usr/include/x86_64-linux-gnu/bits/mathdef.h \ + /usr/include/x86_64-linux-gnu/bits/mathcalls.h \ + /usr/include/x86_64-linux-gnu/bits/mathinline.h \ + /usr/include/x86_64-linux-gnu/bits/waitflags.h \ + /usr/include/x86_64-linux-gnu/bits/waitstatus.h \ + /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \ + /usr/include/x86_64-linux-gnu/sys/select.h \ + /usr/include/x86_64-linux-gnu/bits/select.h \ + /usr/include/x86_64-linux-gnu/bits/sigset.h \ + /usr/include/x86_64-linux-gnu/bits/time.h \ + /usr/include/x86_64-linux-gnu/bits/select2.h \ + /usr/include/x86_64-linux-gnu/sys/sysmacros.h \ + /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib.h \ + ../../modules/core/includes/stack-def.h \ + ../../modules/core/includes/machine.h \ + ../../modules/core/includes/stackTypeVariable.h \ + ../../modules/core/includes/BOOL.h \ + ../../modules/core/includes/doublecomplex.h \ + ../../modules/core/includes/stack1.h \ + ../../modules/core/includes/scisparse.h \ + ../../modules/core/includes/stack2.h \ + ../../modules/core/includes/stack3.h \ + ../../modules/core/includes/stack-optional.h \ + ../../modules/core/includes/sci_types.h \ + ../../modules/api_scilab/includes/api_common.h \ + ../../modules/api_scilab/includes/api_scilab.h \ + ../../modules/api_scilab/includes/api_double.h \ + ../../modules/core/includes/doublecomplex.h \ + ../../modules/api_scilab/includes/api_string.h /usr/include/wchar.h \ + /usr/include/stdio.h /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \ + /usr/include/x86_64-linux-gnu/bits/wchar.h \ + /usr/include/x86_64-linux-gnu/bits/wchar2.h \ + ../../modules/api_scilab/includes/api_int.h \ + ../../modules/api_scilab/includes/api_poly.h \ + ../../modules/api_scilab/includes/api_sparse.h \ + ../../modules/api_scilab/includes/api_boolean.h \ + ../../modules/api_scilab/includes/api_boolean_sparse.h \ + ../../modules/api_scilab/includes/api_pointer.h \ + ../../modules/api_scilab/includes/api_list.h \ + ../../modules/api_scilab/includes/api_error.h \ + ../../modules/api_scilab/includes/api_handle.h \ + ../../modules/api_scilab/includes/api_optional.h \ + ../../modules/core/includes/stack-optional.h \ + ../../modules/api_scilab/includes/api_hypermat.h \ + ../../modules/core/includes/core_math.h \ + ../../modules/core/includes/sci_types.h \ + ../../modules/output_stream/includes/Scierror.h \ + ../../modules/output_stream/includes/do_error_number.h \ + ../../modules/core/includes/machine.h \ + ../../modules/core/includes/MALLOC.h \ + ../../modules/core/includes/sci_mem_alloc.h \ + ../../modules/localization/includes/localization.h \ + /usr/include/libintl.h /usr/include/locale.h \ + /usr/include/x86_64-linux-gnu/bits/locale.h \ + ../../modules/core/includes/freeArrayOfString.h \ + ../../modules/string/includes/stringToComplex.h \ + ../../modules/string/includes/complex_array.h \ + ../../modules/string/includes/dynlib_string.h \ + ../../modules/core/includes/BOOL.h src/c/csvDefault.h src/c/csvRead.h \ + src/c/getRange.h ../../modules/string/includes/complex_array.h \ + sci_gateway/c/gw_csv_helpers.h + +/usr/include/stdc-predef.h: + +/usr/include/string.h: + +/usr/include/features.h: + +/usr/include/x86_64-linux-gnu/sys/cdefs.h: + +/usr/include/x86_64-linux-gnu/bits/wordsize.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs-64.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h: + +/usr/include/xlocale.h: + +/usr/include/x86_64-linux-gnu/bits/string.h: + +/usr/include/x86_64-linux-gnu/bits/string2.h: + +/usr/include/endian.h: + +/usr/include/x86_64-linux-gnu/bits/endian.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap.h: + +/usr/include/x86_64-linux-gnu/bits/types.h: + +/usr/include/x86_64-linux-gnu/bits/typesizes.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap-16.h: + +/usr/include/stdlib.h: + +/usr/include/x86_64-linux-gnu/bits/string3.h: + +includes/gw_spreadsheet.h: + +includes/dynlib_spreadsheet.h: + +../../modules/api_scilab/includes/api_scilab.h: + +../../modules/core/includes/stack-c.h: + +../../modules/core/includes/core_math.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h: + +/usr/include/limits.h: + +/usr/include/x86_64-linux-gnu/bits/posix1_lim.h: + +/usr/include/x86_64-linux-gnu/bits/local_lim.h: + +/usr/include/linux/limits.h: + +/usr/include/x86_64-linux-gnu/bits/posix2_lim.h: + +/usr/include/math.h: + +/usr/include/x86_64-linux-gnu/bits/math-vector.h: + +/usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h: + +/usr/include/x86_64-linux-gnu/bits/huge_val.h: + +/usr/include/x86_64-linux-gnu/bits/huge_valf.h: + +/usr/include/x86_64-linux-gnu/bits/huge_vall.h: + +/usr/include/x86_64-linux-gnu/bits/inf.h: + +/usr/include/x86_64-linux-gnu/bits/nan.h: + +/usr/include/x86_64-linux-gnu/bits/mathdef.h: + +/usr/include/x86_64-linux-gnu/bits/mathcalls.h: + +/usr/include/x86_64-linux-gnu/bits/mathinline.h: + +/usr/include/x86_64-linux-gnu/bits/waitflags.h: + +/usr/include/x86_64-linux-gnu/bits/waitstatus.h: + +/usr/include/x86_64-linux-gnu/sys/types.h: + +/usr/include/time.h: + +/usr/include/x86_64-linux-gnu/sys/select.h: + +/usr/include/x86_64-linux-gnu/bits/select.h: + +/usr/include/x86_64-linux-gnu/bits/sigset.h: + +/usr/include/x86_64-linux-gnu/bits/time.h: + +/usr/include/x86_64-linux-gnu/bits/select2.h: + +/usr/include/x86_64-linux-gnu/sys/sysmacros.h: + +/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h: + +/usr/include/alloca.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib-float.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib.h: + +../../modules/core/includes/stack-def.h: + +../../modules/core/includes/machine.h: + +../../modules/core/includes/stackTypeVariable.h: + +../../modules/core/includes/BOOL.h: + +../../modules/core/includes/doublecomplex.h: + +../../modules/core/includes/stack1.h: + +../../modules/core/includes/scisparse.h: + +../../modules/core/includes/stack2.h: + +../../modules/core/includes/stack3.h: + +../../modules/core/includes/stack-optional.h: + +../../modules/core/includes/sci_types.h: + +../../modules/api_scilab/includes/api_common.h: + +../../modules/api_scilab/includes/api_scilab.h: + +../../modules/api_scilab/includes/api_double.h: + +../../modules/core/includes/doublecomplex.h: + +../../modules/api_scilab/includes/api_string.h: + +/usr/include/wchar.h: + +/usr/include/stdio.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h: + +/usr/include/x86_64-linux-gnu/bits/wchar.h: + +/usr/include/x86_64-linux-gnu/bits/wchar2.h: + +../../modules/api_scilab/includes/api_int.h: + +../../modules/api_scilab/includes/api_poly.h: + +../../modules/api_scilab/includes/api_sparse.h: + +../../modules/api_scilab/includes/api_boolean.h: + +../../modules/api_scilab/includes/api_boolean_sparse.h: + +../../modules/api_scilab/includes/api_pointer.h: + +../../modules/api_scilab/includes/api_list.h: + +../../modules/api_scilab/includes/api_error.h: + +../../modules/api_scilab/includes/api_handle.h: + +../../modules/api_scilab/includes/api_optional.h: + +../../modules/core/includes/stack-optional.h: + +../../modules/api_scilab/includes/api_hypermat.h: + +../../modules/core/includes/core_math.h: + +../../modules/core/includes/sci_types.h: + +../../modules/output_stream/includes/Scierror.h: + +../../modules/output_stream/includes/do_error_number.h: + +../../modules/core/includes/machine.h: + +../../modules/core/includes/MALLOC.h: + +../../modules/core/includes/sci_mem_alloc.h: + +../../modules/localization/includes/localization.h: + +/usr/include/libintl.h: + +/usr/include/locale.h: + +/usr/include/x86_64-linux-gnu/bits/locale.h: + +../../modules/core/includes/freeArrayOfString.h: + +../../modules/string/includes/stringToComplex.h: + +../../modules/string/includes/complex_array.h: + +../../modules/string/includes/dynlib_string.h: + +../../modules/core/includes/BOOL.h: + +src/c/csvDefault.h: + +src/c/csvRead.h: + +src/c/getRange.h: + +../../modules/string/includes/complex_array.h: + +sci_gateway/c/gw_csv_helpers.h: diff --git a/modules/spreadsheet/sci_gateway/c/.deps/libscispreadsheet_la-sci_csvWrite.Plo b/modules/spreadsheet/sci_gateway/c/.deps/libscispreadsheet_la-sci_csvWrite.Plo new file mode 100755 index 000000000..c59eef21a --- /dev/null +++ b/modules/spreadsheet/sci_gateway/c/.deps/libscispreadsheet_la-sci_csvWrite.Plo @@ -0,0 +1,316 @@ +sci_gateway/c/libscispreadsheet_la-sci_csvWrite.lo: \ + sci_gateway/c/sci_csvWrite.c /usr/include/stdc-predef.h \ + /usr/include/string.h /usr/include/features.h \ + /usr/include/x86_64-linux-gnu/sys/cdefs.h \ + /usr/include/x86_64-linux-gnu/bits/wordsize.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h /usr/include/xlocale.h \ + /usr/include/x86_64-linux-gnu/bits/string.h \ + /usr/include/x86_64-linux-gnu/bits/string2.h /usr/include/endian.h \ + /usr/include/x86_64-linux-gnu/bits/endian.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap.h \ + /usr/include/x86_64-linux-gnu/bits/types.h \ + /usr/include/x86_64-linux-gnu/bits/typesizes.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap-16.h /usr/include/stdlib.h \ + /usr/include/x86_64-linux-gnu/bits/string3.h /usr/include/stdio.h \ + /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \ + /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \ + /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \ + /usr/include/x86_64-linux-gnu/bits/stdio.h \ + /usr/include/x86_64-linux-gnu/bits/stdio2.h \ + ../../modules/api_scilab/includes/api_scilab.h \ + ../../modules/core/includes/stack-c.h \ + ../../modules/core/includes/core_math.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h \ + /usr/include/limits.h /usr/include/x86_64-linux-gnu/bits/posix1_lim.h \ + /usr/include/x86_64-linux-gnu/bits/local_lim.h \ + /usr/include/linux/limits.h \ + /usr/include/x86_64-linux-gnu/bits/posix2_lim.h /usr/include/math.h \ + /usr/include/x86_64-linux-gnu/bits/math-vector.h \ + /usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h \ + /usr/include/x86_64-linux-gnu/bits/huge_val.h \ + /usr/include/x86_64-linux-gnu/bits/huge_valf.h \ + /usr/include/x86_64-linux-gnu/bits/huge_vall.h \ + /usr/include/x86_64-linux-gnu/bits/inf.h \ + /usr/include/x86_64-linux-gnu/bits/nan.h \ + /usr/include/x86_64-linux-gnu/bits/mathdef.h \ + /usr/include/x86_64-linux-gnu/bits/mathcalls.h \ + /usr/include/x86_64-linux-gnu/bits/mathinline.h \ + /usr/include/x86_64-linux-gnu/bits/waitflags.h \ + /usr/include/x86_64-linux-gnu/bits/waitstatus.h \ + /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \ + /usr/include/x86_64-linux-gnu/sys/select.h \ + /usr/include/x86_64-linux-gnu/bits/select.h \ + /usr/include/x86_64-linux-gnu/bits/sigset.h \ + /usr/include/x86_64-linux-gnu/bits/time.h \ + /usr/include/x86_64-linux-gnu/bits/select2.h \ + /usr/include/x86_64-linux-gnu/sys/sysmacros.h \ + /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib.h \ + ../../modules/core/includes/stack-def.h \ + ../../modules/core/includes/machine.h \ + ../../modules/core/includes/stackTypeVariable.h \ + ../../modules/core/includes/BOOL.h \ + ../../modules/core/includes/doublecomplex.h \ + ../../modules/core/includes/stack1.h \ + ../../modules/core/includes/scisparse.h \ + ../../modules/core/includes/stack2.h \ + ../../modules/core/includes/stack3.h \ + ../../modules/core/includes/stack-optional.h \ + ../../modules/core/includes/sci_types.h \ + ../../modules/api_scilab/includes/api_common.h \ + ../../modules/api_scilab/includes/api_scilab.h \ + ../../modules/api_scilab/includes/api_double.h \ + ../../modules/core/includes/doublecomplex.h \ + ../../modules/api_scilab/includes/api_string.h \ + /usr/include/x86_64-linux-gnu/bits/wchar.h \ + /usr/include/x86_64-linux-gnu/bits/wchar2.h \ + ../../modules/api_scilab/includes/api_int.h \ + ../../modules/api_scilab/includes/api_poly.h \ + ../../modules/api_scilab/includes/api_sparse.h \ + ../../modules/api_scilab/includes/api_boolean.h \ + ../../modules/api_scilab/includes/api_boolean_sparse.h \ + ../../modules/api_scilab/includes/api_pointer.h \ + ../../modules/api_scilab/includes/api_list.h \ + ../../modules/api_scilab/includes/api_error.h \ + ../../modules/api_scilab/includes/api_handle.h \ + ../../modules/api_scilab/includes/api_optional.h \ + ../../modules/core/includes/stack-optional.h \ + ../../modules/api_scilab/includes/api_hypermat.h \ + ../../modules/core/includes/core_math.h \ + ../../modules/core/includes/sci_types.h \ + ../../modules/output_stream/includes/Scierror.h \ + ../../modules/output_stream/includes/do_error_number.h \ + ../../modules/core/includes/machine.h \ + ../../modules/core/includes/MALLOC.h \ + ../../modules/core/includes/sci_mem_alloc.h src/c/csvWrite.h \ + ../../modules/localization/includes/localization.h \ + /usr/include/libintl.h /usr/include/locale.h \ + /usr/include/x86_64-linux-gnu/bits/locale.h \ + ../../modules/core/includes/freeArrayOfString.h src/c/csvDefault.h \ + src/c/checkCsvWriteFormat.h sci_gateway/c/gw_csv_helpers.h + +/usr/include/stdc-predef.h: + +/usr/include/string.h: + +/usr/include/features.h: + +/usr/include/x86_64-linux-gnu/sys/cdefs.h: + +/usr/include/x86_64-linux-gnu/bits/wordsize.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs-64.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h: + +/usr/include/xlocale.h: + +/usr/include/x86_64-linux-gnu/bits/string.h: + +/usr/include/x86_64-linux-gnu/bits/string2.h: + +/usr/include/endian.h: + +/usr/include/x86_64-linux-gnu/bits/endian.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap.h: + +/usr/include/x86_64-linux-gnu/bits/types.h: + +/usr/include/x86_64-linux-gnu/bits/typesizes.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap-16.h: + +/usr/include/stdlib.h: + +/usr/include/x86_64-linux-gnu/bits/string3.h: + +/usr/include/stdio.h: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/wchar.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h: + +/usr/include/x86_64-linux-gnu/bits/stdio_lim.h: + +/usr/include/x86_64-linux-gnu/bits/sys_errlist.h: + +/usr/include/x86_64-linux-gnu/bits/stdio.h: + +/usr/include/x86_64-linux-gnu/bits/stdio2.h: + +../../modules/api_scilab/includes/api_scilab.h: + +../../modules/core/includes/stack-c.h: + +../../modules/core/includes/core_math.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h: + +/usr/include/limits.h: + +/usr/include/x86_64-linux-gnu/bits/posix1_lim.h: + +/usr/include/x86_64-linux-gnu/bits/local_lim.h: + +/usr/include/linux/limits.h: + +/usr/include/x86_64-linux-gnu/bits/posix2_lim.h: + +/usr/include/math.h: + +/usr/include/x86_64-linux-gnu/bits/math-vector.h: + +/usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h: + +/usr/include/x86_64-linux-gnu/bits/huge_val.h: + +/usr/include/x86_64-linux-gnu/bits/huge_valf.h: + +/usr/include/x86_64-linux-gnu/bits/huge_vall.h: + +/usr/include/x86_64-linux-gnu/bits/inf.h: + +/usr/include/x86_64-linux-gnu/bits/nan.h: + +/usr/include/x86_64-linux-gnu/bits/mathdef.h: + +/usr/include/x86_64-linux-gnu/bits/mathcalls.h: + +/usr/include/x86_64-linux-gnu/bits/mathinline.h: + +/usr/include/x86_64-linux-gnu/bits/waitflags.h: + +/usr/include/x86_64-linux-gnu/bits/waitstatus.h: + +/usr/include/x86_64-linux-gnu/sys/types.h: + +/usr/include/time.h: + +/usr/include/x86_64-linux-gnu/sys/select.h: + +/usr/include/x86_64-linux-gnu/bits/select.h: + +/usr/include/x86_64-linux-gnu/bits/sigset.h: + +/usr/include/x86_64-linux-gnu/bits/time.h: + +/usr/include/x86_64-linux-gnu/bits/select2.h: + +/usr/include/x86_64-linux-gnu/sys/sysmacros.h: + +/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h: + +/usr/include/alloca.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib-float.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib.h: + +../../modules/core/includes/stack-def.h: + +../../modules/core/includes/machine.h: + +../../modules/core/includes/stackTypeVariable.h: + +../../modules/core/includes/BOOL.h: + +../../modules/core/includes/doublecomplex.h: + +../../modules/core/includes/stack1.h: + +../../modules/core/includes/scisparse.h: + +../../modules/core/includes/stack2.h: + +../../modules/core/includes/stack3.h: + +../../modules/core/includes/stack-optional.h: + +../../modules/core/includes/sci_types.h: + +../../modules/api_scilab/includes/api_common.h: + +../../modules/api_scilab/includes/api_scilab.h: + +../../modules/api_scilab/includes/api_double.h: + +../../modules/core/includes/doublecomplex.h: + +../../modules/api_scilab/includes/api_string.h: + +/usr/include/x86_64-linux-gnu/bits/wchar.h: + +/usr/include/x86_64-linux-gnu/bits/wchar2.h: + +../../modules/api_scilab/includes/api_int.h: + +../../modules/api_scilab/includes/api_poly.h: + +../../modules/api_scilab/includes/api_sparse.h: + +../../modules/api_scilab/includes/api_boolean.h: + +../../modules/api_scilab/includes/api_boolean_sparse.h: + +../../modules/api_scilab/includes/api_pointer.h: + +../../modules/api_scilab/includes/api_list.h: + +../../modules/api_scilab/includes/api_error.h: + +../../modules/api_scilab/includes/api_handle.h: + +../../modules/api_scilab/includes/api_optional.h: + +../../modules/core/includes/stack-optional.h: + +../../modules/api_scilab/includes/api_hypermat.h: + +../../modules/core/includes/core_math.h: + +../../modules/core/includes/sci_types.h: + +../../modules/output_stream/includes/Scierror.h: + +../../modules/output_stream/includes/do_error_number.h: + +../../modules/core/includes/machine.h: + +../../modules/core/includes/MALLOC.h: + +../../modules/core/includes/sci_mem_alloc.h: + +src/c/csvWrite.h: + +../../modules/localization/includes/localization.h: + +/usr/include/libintl.h: + +/usr/include/locale.h: + +/usr/include/x86_64-linux-gnu/bits/locale.h: + +../../modules/core/includes/freeArrayOfString.h: + +src/c/csvDefault.h: + +src/c/checkCsvWriteFormat.h: + +sci_gateway/c/gw_csv_helpers.h: diff --git a/modules/spreadsheet/sci_gateway/c/.deps/libscispreadsheet_la-sci_xls_open.Plo b/modules/spreadsheet/sci_gateway/c/.deps/libscispreadsheet_la-sci_xls_open.Plo new file mode 100755 index 000000000..bed7a4e29 --- /dev/null +++ b/modules/spreadsheet/sci_gateway/c/.deps/libscispreadsheet_la-sci_xls_open.Plo @@ -0,0 +1,276 @@ +sci_gateway/c/libscispreadsheet_la-sci_xls_open.lo: \ + sci_gateway/c/sci_xls_open.c /usr/include/stdc-predef.h \ + /usr/include/stdlib.h /usr/include/features.h \ + /usr/include/x86_64-linux-gnu/sys/cdefs.h \ + /usr/include/x86_64-linux-gnu/bits/wordsize.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h \ + /usr/include/x86_64-linux-gnu/bits/waitflags.h \ + /usr/include/x86_64-linux-gnu/bits/waitstatus.h /usr/include/endian.h \ + /usr/include/x86_64-linux-gnu/bits/endian.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap.h \ + /usr/include/x86_64-linux-gnu/bits/types.h \ + /usr/include/x86_64-linux-gnu/bits/typesizes.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap-16.h \ + /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \ + /usr/include/x86_64-linux-gnu/sys/select.h \ + /usr/include/x86_64-linux-gnu/bits/select.h \ + /usr/include/x86_64-linux-gnu/bits/sigset.h \ + /usr/include/x86_64-linux-gnu/bits/time.h \ + /usr/include/x86_64-linux-gnu/bits/select2.h \ + /usr/include/x86_64-linux-gnu/sys/sysmacros.h \ + /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib.h /usr/include/stdio.h \ + /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \ + /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \ + /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \ + /usr/include/x86_64-linux-gnu/bits/stdio.h \ + /usr/include/x86_64-linux-gnu/bits/stdio2.h /usr/include/string.h \ + /usr/include/xlocale.h /usr/include/x86_64-linux-gnu/bits/string.h \ + /usr/include/x86_64-linux-gnu/bits/string2.h \ + /usr/include/x86_64-linux-gnu/bits/string3.h \ + ../../modules/core/includes/stack-c.h \ + ../../modules/core/includes/core_math.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h \ + /usr/include/limits.h /usr/include/x86_64-linux-gnu/bits/posix1_lim.h \ + /usr/include/x86_64-linux-gnu/bits/local_lim.h \ + /usr/include/linux/limits.h \ + /usr/include/x86_64-linux-gnu/bits/posix2_lim.h /usr/include/math.h \ + /usr/include/x86_64-linux-gnu/bits/math-vector.h \ + /usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h \ + /usr/include/x86_64-linux-gnu/bits/huge_val.h \ + /usr/include/x86_64-linux-gnu/bits/huge_valf.h \ + /usr/include/x86_64-linux-gnu/bits/huge_vall.h \ + /usr/include/x86_64-linux-gnu/bits/inf.h \ + /usr/include/x86_64-linux-gnu/bits/nan.h \ + /usr/include/x86_64-linux-gnu/bits/mathdef.h \ + /usr/include/x86_64-linux-gnu/bits/mathcalls.h \ + /usr/include/x86_64-linux-gnu/bits/mathinline.h \ + ../../modules/core/includes/stack-def.h \ + ../../modules/core/includes/machine.h \ + ../../modules/core/includes/stackTypeVariable.h \ + ../../modules/core/includes/BOOL.h \ + ../../modules/core/includes/doublecomplex.h \ + ../../modules/core/includes/stack1.h \ + ../../modules/core/includes/scisparse.h \ + ../../modules/core/includes/stack2.h \ + ../../modules/core/includes/stack3.h \ + ../../modules/core/includes/stack-optional.h \ + ../../modules/core/includes/sci_types.h includes/gw_spreadsheet.h \ + includes/dynlib_spreadsheet.h src/c/xls.h src/c/ripole/ole.h \ + src/c/ripole/ripole.h ../../modules/fileio/includes/expandPathVariable.h \ + /usr/include/x86_64-linux-gnu/bits/wchar.h \ + /usr/include/x86_64-linux-gnu/bits/wchar2.h \ + ../../modules/fileio/includes/dynlib_fileio.h \ + ../../modules/core/includes/MALLOC.h \ + ../../modules/core/includes/sci_mem_alloc.h \ + ../../modules/fileio/includes/mopen.h \ + ../../modules/core/includes/machine.h \ + ../../modules/output_stream/includes/Scierror.h \ + ../../modules/output_stream/includes/do_error_number.h \ + ../../modules/localization/includes/localization.h \ + /usr/include/libintl.h /usr/include/locale.h \ + /usr/include/x86_64-linux-gnu/bits/locale.h \ + ../../modules/core/includes/tmpdir.h \ + ../../modules/core/includes/freeArrayOfString.h \ + ../../modules/fileio/includes/FileExist.h \ + ../../modules/core/includes/BOOL.h + +/usr/include/stdc-predef.h: + +/usr/include/stdlib.h: + +/usr/include/features.h: + +/usr/include/x86_64-linux-gnu/sys/cdefs.h: + +/usr/include/x86_64-linux-gnu/bits/wordsize.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs-64.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h: + +/usr/include/x86_64-linux-gnu/bits/waitflags.h: + +/usr/include/x86_64-linux-gnu/bits/waitstatus.h: + +/usr/include/endian.h: + +/usr/include/x86_64-linux-gnu/bits/endian.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap.h: + +/usr/include/x86_64-linux-gnu/bits/types.h: + +/usr/include/x86_64-linux-gnu/bits/typesizes.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap-16.h: + +/usr/include/x86_64-linux-gnu/sys/types.h: + +/usr/include/time.h: + +/usr/include/x86_64-linux-gnu/sys/select.h: + +/usr/include/x86_64-linux-gnu/bits/select.h: + +/usr/include/x86_64-linux-gnu/bits/sigset.h: + +/usr/include/x86_64-linux-gnu/bits/time.h: + +/usr/include/x86_64-linux-gnu/bits/select2.h: + +/usr/include/x86_64-linux-gnu/sys/sysmacros.h: + +/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h: + +/usr/include/alloca.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib-float.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib.h: + +/usr/include/stdio.h: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/wchar.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h: + +/usr/include/x86_64-linux-gnu/bits/stdio_lim.h: + +/usr/include/x86_64-linux-gnu/bits/sys_errlist.h: + +/usr/include/x86_64-linux-gnu/bits/stdio.h: + +/usr/include/x86_64-linux-gnu/bits/stdio2.h: + +/usr/include/string.h: + +/usr/include/xlocale.h: + +/usr/include/x86_64-linux-gnu/bits/string.h: + +/usr/include/x86_64-linux-gnu/bits/string2.h: + +/usr/include/x86_64-linux-gnu/bits/string3.h: + +../../modules/core/includes/stack-c.h: + +../../modules/core/includes/core_math.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h: + +/usr/include/limits.h: + +/usr/include/x86_64-linux-gnu/bits/posix1_lim.h: + +/usr/include/x86_64-linux-gnu/bits/local_lim.h: + +/usr/include/linux/limits.h: + +/usr/include/x86_64-linux-gnu/bits/posix2_lim.h: + +/usr/include/math.h: + +/usr/include/x86_64-linux-gnu/bits/math-vector.h: + +/usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h: + +/usr/include/x86_64-linux-gnu/bits/huge_val.h: + +/usr/include/x86_64-linux-gnu/bits/huge_valf.h: + +/usr/include/x86_64-linux-gnu/bits/huge_vall.h: + +/usr/include/x86_64-linux-gnu/bits/inf.h: + +/usr/include/x86_64-linux-gnu/bits/nan.h: + +/usr/include/x86_64-linux-gnu/bits/mathdef.h: + +/usr/include/x86_64-linux-gnu/bits/mathcalls.h: + +/usr/include/x86_64-linux-gnu/bits/mathinline.h: + +../../modules/core/includes/stack-def.h: + +../../modules/core/includes/machine.h: + +../../modules/core/includes/stackTypeVariable.h: + +../../modules/core/includes/BOOL.h: + +../../modules/core/includes/doublecomplex.h: + +../../modules/core/includes/stack1.h: + +../../modules/core/includes/scisparse.h: + +../../modules/core/includes/stack2.h: + +../../modules/core/includes/stack3.h: + +../../modules/core/includes/stack-optional.h: + +../../modules/core/includes/sci_types.h: + +includes/gw_spreadsheet.h: + +includes/dynlib_spreadsheet.h: + +src/c/xls.h: + +src/c/ripole/ole.h: + +src/c/ripole/ripole.h: + +../../modules/fileio/includes/expandPathVariable.h: + +/usr/include/x86_64-linux-gnu/bits/wchar.h: + +/usr/include/x86_64-linux-gnu/bits/wchar2.h: + +../../modules/fileio/includes/dynlib_fileio.h: + +../../modules/core/includes/MALLOC.h: + +../../modules/core/includes/sci_mem_alloc.h: + +../../modules/fileio/includes/mopen.h: + +../../modules/core/includes/machine.h: + +../../modules/output_stream/includes/Scierror.h: + +../../modules/output_stream/includes/do_error_number.h: + +../../modules/localization/includes/localization.h: + +/usr/include/libintl.h: + +/usr/include/locale.h: + +/usr/include/x86_64-linux-gnu/bits/locale.h: + +../../modules/core/includes/tmpdir.h: + +../../modules/core/includes/freeArrayOfString.h: + +../../modules/fileio/includes/FileExist.h: + +../../modules/core/includes/BOOL.h: diff --git a/modules/spreadsheet/sci_gateway/c/.deps/libscispreadsheet_la-sci_xls_read.Plo b/modules/spreadsheet/sci_gateway/c/.deps/libscispreadsheet_la-sci_xls_read.Plo new file mode 100755 index 000000000..ca1d72f80 --- /dev/null +++ b/modules/spreadsheet/sci_gateway/c/.deps/libscispreadsheet_la-sci_xls_read.Plo @@ -0,0 +1,245 @@ +sci_gateway/c/libscispreadsheet_la-sci_xls_read.lo: \ + sci_gateway/c/sci_xls_read.c /usr/include/stdc-predef.h \ + /usr/include/stdlib.h /usr/include/features.h \ + /usr/include/x86_64-linux-gnu/sys/cdefs.h \ + /usr/include/x86_64-linux-gnu/bits/wordsize.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h \ + /usr/include/x86_64-linux-gnu/bits/waitflags.h \ + /usr/include/x86_64-linux-gnu/bits/waitstatus.h /usr/include/endian.h \ + /usr/include/x86_64-linux-gnu/bits/endian.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap.h \ + /usr/include/x86_64-linux-gnu/bits/types.h \ + /usr/include/x86_64-linux-gnu/bits/typesizes.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap-16.h \ + /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \ + /usr/include/x86_64-linux-gnu/sys/select.h \ + /usr/include/x86_64-linux-gnu/bits/select.h \ + /usr/include/x86_64-linux-gnu/bits/sigset.h \ + /usr/include/x86_64-linux-gnu/bits/time.h \ + /usr/include/x86_64-linux-gnu/bits/select2.h \ + /usr/include/x86_64-linux-gnu/sys/sysmacros.h \ + /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib.h /usr/include/stdio.h \ + /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \ + /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \ + /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \ + /usr/include/x86_64-linux-gnu/bits/stdio.h \ + /usr/include/x86_64-linux-gnu/bits/stdio2.h /usr/include/string.h \ + /usr/include/xlocale.h /usr/include/x86_64-linux-gnu/bits/string.h \ + /usr/include/x86_64-linux-gnu/bits/string2.h \ + /usr/include/x86_64-linux-gnu/bits/string3.h \ + ../../modules/core/includes/stack-c.h \ + ../../modules/core/includes/core_math.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h \ + /usr/include/limits.h /usr/include/x86_64-linux-gnu/bits/posix1_lim.h \ + /usr/include/x86_64-linux-gnu/bits/local_lim.h \ + /usr/include/linux/limits.h \ + /usr/include/x86_64-linux-gnu/bits/posix2_lim.h /usr/include/math.h \ + /usr/include/x86_64-linux-gnu/bits/math-vector.h \ + /usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h \ + /usr/include/x86_64-linux-gnu/bits/huge_val.h \ + /usr/include/x86_64-linux-gnu/bits/huge_valf.h \ + /usr/include/x86_64-linux-gnu/bits/huge_vall.h \ + /usr/include/x86_64-linux-gnu/bits/inf.h \ + /usr/include/x86_64-linux-gnu/bits/nan.h \ + /usr/include/x86_64-linux-gnu/bits/mathdef.h \ + /usr/include/x86_64-linux-gnu/bits/mathcalls.h \ + /usr/include/x86_64-linux-gnu/bits/mathinline.h \ + ../../modules/core/includes/stack-def.h \ + ../../modules/core/includes/machine.h \ + ../../modules/core/includes/stackTypeVariable.h \ + ../../modules/core/includes/BOOL.h \ + ../../modules/core/includes/doublecomplex.h \ + ../../modules/core/includes/stack1.h \ + ../../modules/core/includes/scisparse.h \ + ../../modules/core/includes/stack2.h \ + ../../modules/core/includes/stack3.h \ + ../../modules/core/includes/stack-optional.h \ + ../../modules/core/includes/sci_types.h includes/gw_spreadsheet.h \ + includes/dynlib_spreadsheet.h src/c/xls.h \ + ../../modules/output_stream/includes/Scierror.h \ + ../../modules/output_stream/includes/do_error_number.h \ + ../../modules/core/includes/machine.h \ + ../../modules/localization/includes/localization.h \ + /usr/include/libintl.h /usr/include/locale.h \ + /usr/include/x86_64-linux-gnu/bits/locale.h \ + ../../modules/core/includes/MALLOC.h \ + ../../modules/core/includes/sci_mem_alloc.h + +/usr/include/stdc-predef.h: + +/usr/include/stdlib.h: + +/usr/include/features.h: + +/usr/include/x86_64-linux-gnu/sys/cdefs.h: + +/usr/include/x86_64-linux-gnu/bits/wordsize.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs-64.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h: + +/usr/include/x86_64-linux-gnu/bits/waitflags.h: + +/usr/include/x86_64-linux-gnu/bits/waitstatus.h: + +/usr/include/endian.h: + +/usr/include/x86_64-linux-gnu/bits/endian.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap.h: + +/usr/include/x86_64-linux-gnu/bits/types.h: + +/usr/include/x86_64-linux-gnu/bits/typesizes.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap-16.h: + +/usr/include/x86_64-linux-gnu/sys/types.h: + +/usr/include/time.h: + +/usr/include/x86_64-linux-gnu/sys/select.h: + +/usr/include/x86_64-linux-gnu/bits/select.h: + +/usr/include/x86_64-linux-gnu/bits/sigset.h: + +/usr/include/x86_64-linux-gnu/bits/time.h: + +/usr/include/x86_64-linux-gnu/bits/select2.h: + +/usr/include/x86_64-linux-gnu/sys/sysmacros.h: + +/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h: + +/usr/include/alloca.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib-float.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib.h: + +/usr/include/stdio.h: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/wchar.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h: + +/usr/include/x86_64-linux-gnu/bits/stdio_lim.h: + +/usr/include/x86_64-linux-gnu/bits/sys_errlist.h: + +/usr/include/x86_64-linux-gnu/bits/stdio.h: + +/usr/include/x86_64-linux-gnu/bits/stdio2.h: + +/usr/include/string.h: + +/usr/include/xlocale.h: + +/usr/include/x86_64-linux-gnu/bits/string.h: + +/usr/include/x86_64-linux-gnu/bits/string2.h: + +/usr/include/x86_64-linux-gnu/bits/string3.h: + +../../modules/core/includes/stack-c.h: + +../../modules/core/includes/core_math.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h: + +/usr/include/limits.h: + +/usr/include/x86_64-linux-gnu/bits/posix1_lim.h: + +/usr/include/x86_64-linux-gnu/bits/local_lim.h: + +/usr/include/linux/limits.h: + +/usr/include/x86_64-linux-gnu/bits/posix2_lim.h: + +/usr/include/math.h: + +/usr/include/x86_64-linux-gnu/bits/math-vector.h: + +/usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h: + +/usr/include/x86_64-linux-gnu/bits/huge_val.h: + +/usr/include/x86_64-linux-gnu/bits/huge_valf.h: + +/usr/include/x86_64-linux-gnu/bits/huge_vall.h: + +/usr/include/x86_64-linux-gnu/bits/inf.h: + +/usr/include/x86_64-linux-gnu/bits/nan.h: + +/usr/include/x86_64-linux-gnu/bits/mathdef.h: + +/usr/include/x86_64-linux-gnu/bits/mathcalls.h: + +/usr/include/x86_64-linux-gnu/bits/mathinline.h: + +../../modules/core/includes/stack-def.h: + +../../modules/core/includes/machine.h: + +../../modules/core/includes/stackTypeVariable.h: + +../../modules/core/includes/BOOL.h: + +../../modules/core/includes/doublecomplex.h: + +../../modules/core/includes/stack1.h: + +../../modules/core/includes/scisparse.h: + +../../modules/core/includes/stack2.h: + +../../modules/core/includes/stack3.h: + +../../modules/core/includes/stack-optional.h: + +../../modules/core/includes/sci_types.h: + +includes/gw_spreadsheet.h: + +includes/dynlib_spreadsheet.h: + +src/c/xls.h: + +../../modules/output_stream/includes/Scierror.h: + +../../modules/output_stream/includes/do_error_number.h: + +../../modules/core/includes/machine.h: + +../../modules/localization/includes/localization.h: + +/usr/include/libintl.h: + +/usr/include/locale.h: + +/usr/include/x86_64-linux-gnu/bits/locale.h: + +../../modules/core/includes/MALLOC.h: + +../../modules/core/includes/sci_mem_alloc.h: diff --git a/modules/spreadsheet/sci_gateway/c/.dirstamp b/modules/spreadsheet/sci_gateway/c/.dirstamp new file mode 100755 index 000000000..e69de29bb --- /dev/null +++ b/modules/spreadsheet/sci_gateway/c/.dirstamp diff --git a/modules/spreadsheet/sci_gateway/c/.libs/libscispreadsheet_la-gw_csv_helpers.o b/modules/spreadsheet/sci_gateway/c/.libs/libscispreadsheet_la-gw_csv_helpers.o Binary files differnew file mode 100755 index 000000000..2eff98dad --- /dev/null +++ b/modules/spreadsheet/sci_gateway/c/.libs/libscispreadsheet_la-gw_csv_helpers.o diff --git a/modules/spreadsheet/sci_gateway/c/.libs/libscispreadsheet_la-gw_spreadsheet.o b/modules/spreadsheet/sci_gateway/c/.libs/libscispreadsheet_la-gw_spreadsheet.o Binary files differnew file mode 100755 index 000000000..abc1c71d2 --- /dev/null +++ b/modules/spreadsheet/sci_gateway/c/.libs/libscispreadsheet_la-gw_spreadsheet.o diff --git a/modules/spreadsheet/sci_gateway/c/.libs/libscispreadsheet_la-sci_csvDefault.o b/modules/spreadsheet/sci_gateway/c/.libs/libscispreadsheet_la-sci_csvDefault.o Binary files differnew file mode 100755 index 000000000..fe3c34d6f --- /dev/null +++ b/modules/spreadsheet/sci_gateway/c/.libs/libscispreadsheet_la-sci_csvDefault.o diff --git a/modules/spreadsheet/sci_gateway/c/.libs/libscispreadsheet_la-sci_csvRead.o b/modules/spreadsheet/sci_gateway/c/.libs/libscispreadsheet_la-sci_csvRead.o Binary files differnew file mode 100755 index 000000000..7309ff3bd --- /dev/null +++ b/modules/spreadsheet/sci_gateway/c/.libs/libscispreadsheet_la-sci_csvRead.o diff --git a/modules/spreadsheet/sci_gateway/c/.libs/libscispreadsheet_la-sci_csvStringToDouble.o b/modules/spreadsheet/sci_gateway/c/.libs/libscispreadsheet_la-sci_csvStringToDouble.o Binary files differnew file mode 100755 index 000000000..a448ab9de --- /dev/null +++ b/modules/spreadsheet/sci_gateway/c/.libs/libscispreadsheet_la-sci_csvStringToDouble.o diff --git a/modules/spreadsheet/sci_gateway/c/.libs/libscispreadsheet_la-sci_csvTextScan.o b/modules/spreadsheet/sci_gateway/c/.libs/libscispreadsheet_la-sci_csvTextScan.o Binary files differnew file mode 100755 index 000000000..93d932d6f --- /dev/null +++ b/modules/spreadsheet/sci_gateway/c/.libs/libscispreadsheet_la-sci_csvTextScan.o diff --git a/modules/spreadsheet/sci_gateway/c/.libs/libscispreadsheet_la-sci_csvWrite.o b/modules/spreadsheet/sci_gateway/c/.libs/libscispreadsheet_la-sci_csvWrite.o Binary files differnew file mode 100755 index 000000000..1365f5aa0 --- /dev/null +++ b/modules/spreadsheet/sci_gateway/c/.libs/libscispreadsheet_la-sci_csvWrite.o diff --git a/modules/spreadsheet/sci_gateway/c/.libs/libscispreadsheet_la-sci_xls_open.o b/modules/spreadsheet/sci_gateway/c/.libs/libscispreadsheet_la-sci_xls_open.o Binary files differnew file mode 100755 index 000000000..414f976eb --- /dev/null +++ b/modules/spreadsheet/sci_gateway/c/.libs/libscispreadsheet_la-sci_xls_open.o diff --git a/modules/spreadsheet/sci_gateway/c/.libs/libscispreadsheet_la-sci_xls_read.o b/modules/spreadsheet/sci_gateway/c/.libs/libscispreadsheet_la-sci_xls_read.o Binary files differnew file mode 100755 index 000000000..dc02b41c8 --- /dev/null +++ b/modules/spreadsheet/sci_gateway/c/.libs/libscispreadsheet_la-sci_xls_read.o diff --git a/modules/spreadsheet/sci_gateway/c/gw_csv_helpers.c b/modules/spreadsheet/sci_gateway/c/gw_csv_helpers.c new file mode 100755 index 000000000..fb07843af --- /dev/null +++ b/modules/spreadsheet/sci_gateway/c/gw_csv_helpers.c @@ -0,0 +1,466 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2010 - 2012 - INRIA - Allan CORNET + * Copyright (C) 2011 - INRIA - Michael Baudin + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + * This code is also published under the GPL v3 license. + * + */ +#include <string.h> +#include "api_scilab.h" +#include "sci_types.h" +#include "Scierror.h" +#include "MALLOC.h" +#include "localization.h" +#include "gw_csv_helpers.h" +#ifdef _MSC_VER +#include "strdup_windows.h" +#endif +#include "freeArrayOfString.h" +// ============================================================================= +char *csv_getArgumentAsStringWithEmptyManagement(void* _pvCtx, int _iVar, const char *fname, + const char *defaultValue, + int *iErr) +{ + SciErr sciErr; + char *returnedValue = NULL; + int *piAddressVar = NULL; + int iType = 0; + int m = 0, n = 0; + + sciErr = getVarAddressFromPosition(pvApiCtx, _iVar, &piAddressVar); + if (sciErr.iErr) + { + printError(&sciErr, 0); + *iErr = sciErr.iErr; + return NULL; + } + + sciErr = getVarType(pvApiCtx, piAddressVar, &iType); + if (sciErr.iErr) + { + printError(&sciErr, 0); + *iErr = sciErr.iErr; + return NULL; + } + + if (iType != sci_strings) + { + if (isEmptyMatrix(pvApiCtx, piAddressVar)) + { + /* [] equals default value */ + if (defaultValue) + { + *iErr = 0; + returnedValue = strdup(defaultValue); + } + else + { + *iErr = 0; + returnedValue = NULL; + } + } + else + { + *iErr = API_ERROR_INVALID_TYPE; + Scierror(999, _("%s: Wrong type for input argument #%d: A string expected.\n"), fname, _iVar); + return NULL; + } + } + else + { + *iErr = checkVarDimension(pvApiCtx, piAddressVar, 1, 1); + + if (*iErr == 0 ) + { + *iErr = API_ERROR_CHECK_VAR_DIMENSION; + Scierror(999, _("%s: Wrong size for input argument #%d: A string expected.\n"), fname, _iVar); + return NULL; + } + + *iErr = getAllocatedSingleString(pvApiCtx, piAddressVar, &returnedValue); + if (*iErr) + { + if (returnedValue) + { + FREE(returnedValue); + } + + Scierror(999, _("%s: Memory allocation error.\n"), fname); + return NULL; + } + if (strlen(returnedValue) == 0) + { + returnedValue = strdup(defaultValue); + } + } + return returnedValue; +} +// ============================================================================= + +char *csv_getArgumentAsString(void* _pvCtx, int _iVar, + const char *fname, int *iErr) +{ + SciErr sciErr; + + int *piAddressVar = NULL; + int m = 0, n = 0; + int iType = 0; + + char *returnedValue = NULL; + + sciErr = getVarAddressFromPosition(pvApiCtx, _iVar, &piAddressVar); + if (sciErr.iErr) + { + *iErr = sciErr.iErr; + printError(&sciErr, 0); + return NULL; + } + + sciErr = getVarType(pvApiCtx, piAddressVar, &iType); + if (sciErr.iErr) + { + *iErr = sciErr.iErr; + printError(&sciErr, 0); + return NULL; + } + + if (iType != sci_strings) + { + *iErr = API_ERROR_INVALID_TYPE; + Scierror(999, _("%s: Wrong type for input argument #%d: A string expected.\n"), fname, 1); + return NULL; + } + + *iErr = checkVarDimension(pvApiCtx, piAddressVar, 1, 1); + + if (*iErr == 0 ) + { + *iErr = API_ERROR_CHECK_VAR_DIMENSION; + Scierror(999, _("%s: Wrong size for input argument #%d: A string expected.\n"), fname, _iVar); + return NULL; + } + + *iErr = getAllocatedSingleString(pvApiCtx, piAddressVar, &returnedValue); + if (*iErr) + { + if (returnedValue) + { + FREE(returnedValue); + } + + Scierror(999, _("%s: Memory allocation error.\n"), fname); + return NULL; + } + return returnedValue; +} +// ============================================================================= +double csv_getArgumentAsScalarDouble(void* _pvCtx, int _iVar, + const char *fname, int *iErr) +{ + SciErr sciErr; + double dValue = 0.; + int *piAddressVar = NULL; + int m = 0, n = 0; + int iType = 0; + + sciErr = getVarAddressFromPosition(pvApiCtx, _iVar, &piAddressVar); + if (sciErr.iErr) + { + printError(&sciErr, 0); + *iErr = sciErr.iErr; + return 0; + } + + sciErr = getVarType(pvApiCtx, piAddressVar, &iType); + if (sciErr.iErr) + { + printError(&sciErr, 0); + *iErr = sciErr.iErr; + return 0; + } + + if (iType != sci_matrix) + { + Scierror(999, _("%s: Wrong type for input argument #%d: A double expected.\n"), fname, _iVar); + *iErr = API_ERROR_INVALID_TYPE; + return 0; + } + + *iErr = checkVarDimension(pvApiCtx, piAddressVar, 1, 1); + + if (*iErr == 0 ) + { + *iErr = API_ERROR_CHECK_VAR_DIMENSION; + Scierror(999, _("%s: Wrong size for input argument #%d: A double expected.\n"), fname, _iVar); + return 0; + } + + *iErr = getScalarDouble(pvApiCtx, piAddressVar, &dValue); + return dValue; +} +// ============================================================================= +int csv_getArgumentAsScalarBoolean(void* _pvCtx, int _iVar, + const char *fname, int *iErr) +{ + SciErr sciErr; + int bValue = 0; + int *piAddressVar = NULL; + int m = 0, n = 0; + int iType = 0; + + sciErr = getVarAddressFromPosition(pvApiCtx, _iVar, &piAddressVar); + if (sciErr.iErr) + { + printError(&sciErr, 0); + *iErr = sciErr.iErr; + return 0; + } + + sciErr = getVarType(pvApiCtx, piAddressVar, &iType); + if (sciErr.iErr) + { + printError(&sciErr, 0); + *iErr = sciErr.iErr; + return 0; + } + + if (iType != sci_boolean) + { + Scierror(999, _("%s: Wrong type for input argument #%d: A boolean expected.\n"), fname, _iVar); + *iErr = API_ERROR_INVALID_TYPE; + return 0; + } + + *iErr = checkVarDimension(pvApiCtx, piAddressVar, 1, 1); + + if (*iErr == 0 ) + { + *iErr = API_ERROR_CHECK_VAR_DIMENSION; + Scierror(999, _("%s: Wrong size for input argument #%d: A boolean expected.\n"), fname, _iVar); + return 0; + } + + *iErr = getScalarBoolean(pvApiCtx, piAddressVar, &bValue); + return bValue; +} +// ============================================================================= +char **csv_getArgumentAsMatrixOfString(void* _pvCtx, int _iVar, + const char *fname, + int *m, int *n, int *iErr) +{ + SciErr sciErr; + char **pStringValues = NULL; + int *piAddressVar = NULL; + int m_ = 0, n_ = 0; + int iType = 0; + int *lengthStringValues = NULL; + int i = 0; + + *m = 0; + *n = 0; + + sciErr = getVarAddressFromPosition(pvApiCtx, _iVar, &piAddressVar); + if (sciErr.iErr) + { + *iErr = sciErr.iErr; + printError(&sciErr, 0); + return NULL; + } + + sciErr = getVarType(pvApiCtx, piAddressVar, &iType); + if (sciErr.iErr) + { + *iErr = sciErr.iErr; + printError(&sciErr, 0); + return NULL; + } + + if (iType != sci_strings) + { + *iErr = API_ERROR_INVALID_TYPE; + Scierror(999, _("%s: Wrong type for input argument #%d: A string expected.\n"), fname, _iVar); + return NULL; + } + + *iErr = getAllocatedMatrixOfString(pvApiCtx, piAddressVar, &m_, &n_, &pStringValues); + if (*iErr != 0) + { + if (pStringValues) + { + FREE(pStringValues); + } + return NULL; + } + + *iErr = 0; + *m = m_; + *n = n_; + + return pStringValues; +} +// ============================================================================= +int csv_isRowVector(void* _pvCtx, int _iVar) +{ + SciErr sciErr; + int *piAddressVar = NULL; + sciErr = getVarAddressFromPosition(pvApiCtx, _iVar, &piAddressVar); + if (sciErr.iErr) + { + return 0; + } + return isRowVector(pvApiCtx, piAddressVar); +} +// ============================================================================= +int csv_isColumnVector(void* _pvCtx, int _iVar) +{ + SciErr sciErr; + int *piAddressVar = NULL; + sciErr = getVarAddressFromPosition(pvApiCtx, _iVar, &piAddressVar); + if (sciErr.iErr) + { + return 0; + } + return isColumnVector(pvApiCtx, piAddressVar); +} +// ============================================================================= +int csv_isScalar(void* _pvCtx, int _iVar) +{ + SciErr sciErr; + int *piAddressVar = NULL; + sciErr = getVarAddressFromPosition(pvApiCtx, _iVar, &piAddressVar); + if (sciErr.iErr) + { + return 0; + } + return isScalar(pvApiCtx, piAddressVar); +} +// ============================================================================= +int csv_isDoubleScalar(void* _pvCtx, int _iVar) +{ + SciErr sciErr; + int *piAddressVar = NULL; + + sciErr = getVarAddressFromPosition(pvApiCtx, _iVar, &piAddressVar); + if (sciErr.iErr) + { + return 0; + } + + if (csv_isScalar(_pvCtx, _iVar)) + { + int iType = 0; + sciErr = getVarType(pvApiCtx, piAddressVar, &iType); + if (sciErr.iErr) + { + return 0; + } + + if (isVarComplex(pvApiCtx, piAddressVar) == 0) + { + return (iType == sci_matrix); + } + } + return 0; +} +// ============================================================================= +int csv_isEmpty(void* _pvCtx, int _iVar) +{ + SciErr sciErr; + int *piAddressVar = NULL; + + sciErr = getVarAddressFromPosition(pvApiCtx, _iVar, &piAddressVar); + if (sciErr.iErr) + { + printError(&sciErr, 0); + if (sciErr.iErr) + { + return 0; + } + } + + return isEmptyMatrix(pvApiCtx, piAddressVar); +} +// ============================================================================= +int *csv_getArgumentAsMatrixofIntFromDouble(void* _pvCtx, int _iVar, + const char *fname, + int *m, int *n, int *iErr) +{ + int *iReturnedArray = NULL; + double *dArray = NULL; + SciErr sciErr; + int *piAddressVar = NULL; + int iType = 0; + int m_ = 0; + int n_ = 0; + int i = 0; + int j = 0; + + sciErr = getVarAddressFromPosition(pvApiCtx, _iVar, &piAddressVar); + if (sciErr.iErr) + { + *iErr = sciErr.iErr; + printError(&sciErr, 0); + return NULL; + } + + sciErr = getVarType(pvApiCtx, piAddressVar, &iType); + if (sciErr.iErr) + { + *iErr = sciErr.iErr; + printError(&sciErr, 0); + return NULL; + } + + if (iType != sci_matrix) + { + *iErr = API_ERROR_INVALID_TYPE; + Scierror(999, _("%s: Wrong type for input argument #%d: A matrix of double expected.\n"), fname, _iVar); + return NULL; + } + + sciErr = getMatrixOfDouble(pvApiCtx, piAddressVar, &m_, &n_, &dArray); + if (sciErr.iErr) + { + *iErr = sciErr.iErr; + printError(&sciErr, 0); + return NULL; + } + + for (j = 0; j < m_ * n_; j++) + { + int iVal = (int)dArray[j]; + if ((double)iVal != dArray[j]) + { + *iErr = API_ERROR_GET_DOUBLE; + Scierror(999, _("%s: Wrong value for input argument #%d: A matrix of double, with integer values, expected.\n"), fname, _iVar); + return NULL; + } + } + + iReturnedArray = (int*)MALLOC(sizeof(int) * (m_ * n_)); + if (iReturnedArray == NULL) + { + *iErr = API_ERROR_ALLOC_DOUBLE; + Scierror(999, _("%s: Memory allocation error.\n"), fname); + return NULL; + } + + for (j = 0; j < m_ * n_; j++) + { + iReturnedArray[j] = (int)dArray[j]; + } + + *iErr = 0; + *m = m_; + *n = n_; + + return iReturnedArray; +} +// ============================================================================= diff --git a/modules/spreadsheet/sci_gateway/c/gw_csv_helpers.h b/modules/spreadsheet/sci_gateway/c/gw_csv_helpers.h new file mode 100755 index 000000000..2261f97eb --- /dev/null +++ b/modules/spreadsheet/sci_gateway/c/gw_csv_helpers.h @@ -0,0 +1,50 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2010 - 2012 - INRIA - Allan CORNET + * Copyright (C) 2011 - INRIA - Michael Baudin + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + * This code is also published under the GPL v3 license. + * + */ + +#ifndef __GW_CSV_HELPERS_H__ +#define __GW_CSV_HELPERS_H__ + + +char *csv_getArgumentAsStringWithEmptyManagement(void* _pvCtx, int _iVar, + const char *fname, const char *defaultValue, + int *iErr); + +char *csv_getArgumentAsString(void* _pvCtx, int _iVar, + const char *fname, int *iErr); + +int csv_getArgumentAsScalarBoolean(void* _pvCtx, int _iVar, + const char *fname, int *iErr); + +char **csv_getArgumentAsMatrixOfString(void* _pvCtx, int _iVar, + const char *fname, + int *m, int *n, int *iErr); + +int *csv_getArgumentAsMatrixofIntFromDouble(void* _pvCtx, int _iVar, + const char *fname, + int *m, int *n, int *iErr); + +double csv_getArgumentAsScalarDouble(void* _pvCtx, int _iVar, + const char *fname, int *iErr); + + +int csv_isRowVector(void* _pvCtx, int _iVar); +int csv_isColumnVector(void* _pvCtx, int _iVar); +int csv_isScalar(void* _pvCtx, int _iVar); +int csv_isDoubleScalar(void* _pvCtx, int _iVar); +int csv_isEmpty(void* _pvCtx, int _iVar); + +#endif /* __GW_CSV_HELPERS_H__ */ +// ============================================================================= + diff --git a/modules/spreadsheet/sci_gateway/c/gw_spreadsheet.c b/modules/spreadsheet/sci_gateway/c/gw_spreadsheet.c new file mode 100755 index 000000000..957d1b39c --- /dev/null +++ b/modules/spreadsheet/sci_gateway/c/gw_spreadsheet.c @@ -0,0 +1,46 @@ + +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2007-2008 - INRIA - Allan CORNET <allan.cornet@inria.fr> + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +#include <string.h> +#include "gw_spreadsheet.h" +#include "api_scilab.h" +#include "MALLOC.h" +#include "callFunctionFromGateway.h" +/*--------------------------------------------------------------------------*/ +static gw_generic_table Tab[] = +{ + {sci_xls_open, "xls_open"}, + {sci_xls_read, "xls_read"}, + {sci_csvDefault, "csvDefault"}, + {sci_csvRead, "csvRead"}, + {sci_csvStringToDouble, "csvStringToDouble"}, + {sci_csvTextScan, "csvTextScan"}, + {sci_csvWrite, "csvWrite"}, + {sci_csvWrite, "write_csv"}, + {sci_csvRead, "read_csv"} +}; +/*--------------------------------------------------------------------------*/ +int gw_spreadsheet(void) +{ + Rhs = Max(0, Rhs); + + if (pvApiCtx == NULL) + { + pvApiCtx = (StrCtx*)MALLOC(sizeof(StrCtx)); + } + + pvApiCtx->pstName = (char*)Tab[Fin - 1].name; + callFunctionFromGateway(Tab, SIZE_CURRENT_GENERIC_TABLE(Tab)); + return 0; +} +/*--------------------------------------------------------------------------*/ diff --git a/modules/spreadsheet/sci_gateway/c/libscispreadsheet_la-gw_csv_helpers.lo b/modules/spreadsheet/sci_gateway/c/libscispreadsheet_la-gw_csv_helpers.lo new file mode 100755 index 000000000..ba236ccd5 --- /dev/null +++ b/modules/spreadsheet/sci_gateway/c/libscispreadsheet_la-gw_csv_helpers.lo @@ -0,0 +1,12 @@ +# sci_gateway/c/libscispreadsheet_la-gw_csv_helpers.lo - a libtool object file +# Generated by libtool (GNU libtool) 2.4.2 +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# Name of the PIC object. +pic_object='.libs/libscispreadsheet_la-gw_csv_helpers.o' + +# Name of the non-PIC object +non_pic_object=none + diff --git a/modules/spreadsheet/sci_gateway/c/libscispreadsheet_la-gw_spreadsheet.lo b/modules/spreadsheet/sci_gateway/c/libscispreadsheet_la-gw_spreadsheet.lo new file mode 100755 index 000000000..c04d0a506 --- /dev/null +++ b/modules/spreadsheet/sci_gateway/c/libscispreadsheet_la-gw_spreadsheet.lo @@ -0,0 +1,12 @@ +# sci_gateway/c/libscispreadsheet_la-gw_spreadsheet.lo - a libtool object file +# Generated by libtool (GNU libtool) 2.4.2 +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# Name of the PIC object. +pic_object='.libs/libscispreadsheet_la-gw_spreadsheet.o' + +# Name of the non-PIC object +non_pic_object=none + diff --git a/modules/spreadsheet/sci_gateway/c/libscispreadsheet_la-sci_csvDefault.lo b/modules/spreadsheet/sci_gateway/c/libscispreadsheet_la-sci_csvDefault.lo new file mode 100755 index 000000000..cd058f403 --- /dev/null +++ b/modules/spreadsheet/sci_gateway/c/libscispreadsheet_la-sci_csvDefault.lo @@ -0,0 +1,12 @@ +# sci_gateway/c/libscispreadsheet_la-sci_csvDefault.lo - a libtool object file +# Generated by libtool (GNU libtool) 2.4.2 +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# Name of the PIC object. +pic_object='.libs/libscispreadsheet_la-sci_csvDefault.o' + +# Name of the non-PIC object +non_pic_object=none + diff --git a/modules/spreadsheet/sci_gateway/c/libscispreadsheet_la-sci_csvRead.lo b/modules/spreadsheet/sci_gateway/c/libscispreadsheet_la-sci_csvRead.lo new file mode 100755 index 000000000..9ccdd311a --- /dev/null +++ b/modules/spreadsheet/sci_gateway/c/libscispreadsheet_la-sci_csvRead.lo @@ -0,0 +1,12 @@ +# sci_gateway/c/libscispreadsheet_la-sci_csvRead.lo - a libtool object file +# Generated by libtool (GNU libtool) 2.4.2 +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# Name of the PIC object. +pic_object='.libs/libscispreadsheet_la-sci_csvRead.o' + +# Name of the non-PIC object +non_pic_object=none + diff --git a/modules/spreadsheet/sci_gateway/c/libscispreadsheet_la-sci_csvStringToDouble.lo b/modules/spreadsheet/sci_gateway/c/libscispreadsheet_la-sci_csvStringToDouble.lo new file mode 100755 index 000000000..6fb82cc4a --- /dev/null +++ b/modules/spreadsheet/sci_gateway/c/libscispreadsheet_la-sci_csvStringToDouble.lo @@ -0,0 +1,12 @@ +# sci_gateway/c/libscispreadsheet_la-sci_csvStringToDouble.lo - a libtool object file +# Generated by libtool (GNU libtool) 2.4.2 +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# Name of the PIC object. +pic_object='.libs/libscispreadsheet_la-sci_csvStringToDouble.o' + +# Name of the non-PIC object +non_pic_object=none + diff --git a/modules/spreadsheet/sci_gateway/c/libscispreadsheet_la-sci_csvTextScan.lo b/modules/spreadsheet/sci_gateway/c/libscispreadsheet_la-sci_csvTextScan.lo new file mode 100755 index 000000000..0f88146bd --- /dev/null +++ b/modules/spreadsheet/sci_gateway/c/libscispreadsheet_la-sci_csvTextScan.lo @@ -0,0 +1,12 @@ +# sci_gateway/c/libscispreadsheet_la-sci_csvTextScan.lo - a libtool object file +# Generated by libtool (GNU libtool) 2.4.2 +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# Name of the PIC object. +pic_object='.libs/libscispreadsheet_la-sci_csvTextScan.o' + +# Name of the non-PIC object +non_pic_object=none + diff --git a/modules/spreadsheet/sci_gateway/c/libscispreadsheet_la-sci_csvWrite.lo b/modules/spreadsheet/sci_gateway/c/libscispreadsheet_la-sci_csvWrite.lo new file mode 100755 index 000000000..a73d7e9a4 --- /dev/null +++ b/modules/spreadsheet/sci_gateway/c/libscispreadsheet_la-sci_csvWrite.lo @@ -0,0 +1,12 @@ +# sci_gateway/c/libscispreadsheet_la-sci_csvWrite.lo - a libtool object file +# Generated by libtool (GNU libtool) 2.4.2 +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# Name of the PIC object. +pic_object='.libs/libscispreadsheet_la-sci_csvWrite.o' + +# Name of the non-PIC object +non_pic_object=none + diff --git a/modules/spreadsheet/sci_gateway/c/libscispreadsheet_la-sci_xls_open.lo b/modules/spreadsheet/sci_gateway/c/libscispreadsheet_la-sci_xls_open.lo new file mode 100755 index 000000000..e2364bddd --- /dev/null +++ b/modules/spreadsheet/sci_gateway/c/libscispreadsheet_la-sci_xls_open.lo @@ -0,0 +1,12 @@ +# sci_gateway/c/libscispreadsheet_la-sci_xls_open.lo - a libtool object file +# Generated by libtool (GNU libtool) 2.4.2 +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# Name of the PIC object. +pic_object='.libs/libscispreadsheet_la-sci_xls_open.o' + +# Name of the non-PIC object +non_pic_object=none + diff --git a/modules/spreadsheet/sci_gateway/c/libscispreadsheet_la-sci_xls_read.lo b/modules/spreadsheet/sci_gateway/c/libscispreadsheet_la-sci_xls_read.lo new file mode 100755 index 000000000..edd3d8a30 --- /dev/null +++ b/modules/spreadsheet/sci_gateway/c/libscispreadsheet_la-sci_xls_read.lo @@ -0,0 +1,12 @@ +# sci_gateway/c/libscispreadsheet_la-sci_xls_read.lo - a libtool object file +# Generated by libtool (GNU libtool) 2.4.2 +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# Name of the PIC object. +pic_object='.libs/libscispreadsheet_la-sci_xls_read.o' + +# Name of the non-PIC object +non_pic_object=none + diff --git a/modules/spreadsheet/sci_gateway/c/sci_csvDefault.c b/modules/spreadsheet/sci_gateway/c/sci_csvDefault.c new file mode 100755 index 000000000..a03383f6f --- /dev/null +++ b/modules/spreadsheet/sci_gateway/c/sci_csvDefault.c @@ -0,0 +1,395 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2010 - 2012 - INRIA - Allan CORNET + * Copyright (C) 2011 - INRIA - Michael Baudin + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + * This code is also published under the GPL v3 license. + * + */ + +#include <string.h> +#include <stdio.h> +#include "gw_spreadsheet.h" +#include "api_scilab.h" +#include "Scierror.h" +#include "MALLOC.h" +#include "Scierror.h" +#include "localization.h" +#include "freeArrayOfString.h" +#ifdef _MSC_VER +#include "strdup_windows.h" +#endif +#include "csvDefault.h" +#include "gw_csv_helpers.h" + + +// ============================================================================= +#define SEPARATOR_FIELDNAME "separator" +#define DECIMAL_FIELDNAME "decimal" +#define CONVERSION_FIELDNAME "conversion" +#define PRECISION_FIELDNAME "precision" +#define COMMENTSREGEXP_FIELDNAME "regexp" +#define EOL_FIELDNAME "eol" +#define ENCODING_FIELDNAME "encoding" +#define RESET_PARAMATERS "reset" +#define BLANK_FIELDNAME "blank" +// ============================================================================= +#define MACOS9_EOL_STRING "macos9" +#define MACOS9_EOL "\r" +#define WINDOWS_EOL_STRING "windows" +#define WINDOWS_EOL "\r\n" +#define LINUX_EOL_STRING "linux" +#define LINUX_EOL "\n" +// ============================================================================= +#define NUMBER_FIELD 8 +// ============================================================================= +static void freeVar(char** fieldname, char** fieldvalue); +static int sci_csvDefault_no_rhs(char *fname); +static int sci_csvDefault_one_rhs(char *fname); +static int sci_csvDefault_two_rhs(char *fname); +// ============================================================================= +int sci_csvDefault(char *fname, unsigned long fname_len) +{ + Rhs = Max(0, Rhs); + CheckRhs(0, 2); + CheckLhs(1, 1); + + switch (Rhs) + { + case 0: + return sci_csvDefault_no_rhs(fname); + case 1: + return sci_csvDefault_one_rhs(fname); + case 2: + return sci_csvDefault_two_rhs(fname); + } + return 0; +} +// ============================================================================= +static int sci_csvDefault_no_rhs(char *fname) +{ + int sizeArray = NUMBER_FIELD * 2; + char **arrayOut = (char**)MALLOC(sizeof(char*) * sizeArray); + + if (arrayOut) + { + SciErr sciErr; + + int nbRows = NUMBER_FIELD; + int nbCols = 2; + const char *currentEol = getCsvDefaultEOL(); + + arrayOut[0] = strdup(SEPARATOR_FIELDNAME); + arrayOut[1] = strdup(DECIMAL_FIELDNAME); + arrayOut[2] = strdup(CONVERSION_FIELDNAME); + arrayOut[3] = strdup(PRECISION_FIELDNAME); + arrayOut[4] = strdup(COMMENTSREGEXP_FIELDNAME); + arrayOut[5] = strdup(EOL_FIELDNAME); + arrayOut[6] = strdup(ENCODING_FIELDNAME); + arrayOut[7] = strdup(BLANK_FIELDNAME); + + arrayOut[8] = strdup(getCsvDefaultSeparator()); + arrayOut[9] = strdup(getCsvDefaultDecimal()); + arrayOut[10] = strdup(getCsvDefaultConversion()); + arrayOut[11] = strdup(getCsvDefaultPrecision()); + arrayOut[12] = strdup(getCsvDefaultCommentsRegExp()); + + if (currentEol) + { + if (strcmp(currentEol, MACOS9_EOL) == 0) + { + arrayOut[13] = strdup(MACOS9_EOL_STRING); + } + else if (strcmp(currentEol, WINDOWS_EOL) == 0) + { + arrayOut[13] = strdup(WINDOWS_EOL_STRING); + } + else if (strcmp(currentEol, LINUX_EOL) == 0) + { + arrayOut[13] = strdup(LINUX_EOL_STRING); + } + else + { + arrayOut[13] = strdup("ERROR"); + } + } + else + { + arrayOut[13] = strdup("ERROR"); + } + + arrayOut[14] = strdup(getCsvDefaultEncoding()); + arrayOut[15] = strdup(getCsvDefaultCsvIgnoreBlankLine()); + + sciErr = createMatrixOfString(pvApiCtx, Rhs + 1, nbRows, nbCols, arrayOut); + freeArrayOfString(arrayOut, sizeArray); + if (sciErr.iErr) + { + printError(&sciErr, 0); + return 0; + } + + LhsVar(1) = Rhs + 1; + PutLhsVar(); + } + else + { + Scierror(999, _("%s: Memory allocation error.\n"), fname); + } + + return 0; +} +// ============================================================================= +static int sci_csvDefault_one_rhs(char *fname) +{ + int iErr = 0; + + char *fieldname = NULL; + char *fieldvalue = NULL; + + fieldname = csv_getArgumentAsString(pvApiCtx, 1, fname, &iErr); + if (iErr) + { + freeVar(&fieldname, &fieldvalue); + return 0; + } + + if (strcmp(fieldname, SEPARATOR_FIELDNAME) == 0) + { + fieldvalue = strdup(getCsvDefaultSeparator()); + } + else if (strcmp(fieldname, DECIMAL_FIELDNAME) == 0) + { + fieldvalue = strdup(getCsvDefaultDecimal()); + } + else if (strcmp(fieldname, CONVERSION_FIELDNAME) == 0) + { + fieldvalue = strdup(getCsvDefaultConversion()); + } + else if (strcmp(fieldname, PRECISION_FIELDNAME) == 0) + { + fieldvalue = strdup(getCsvDefaultPrecision()); + } + else if (strcmp(fieldname, COMMENTSREGEXP_FIELDNAME) == 0) + { + fieldvalue = strdup(getCsvDefaultCommentsRegExp()); + } + else if (strcmp(fieldname, EOL_FIELDNAME) == 0) + { + const char *currentEol = getCsvDefaultEOL(); + if (currentEol) + { + if (strcmp(currentEol, MACOS9_EOL) == 0) + { + fieldvalue = strdup(MACOS9_EOL_STRING); + } + else if (strcmp(currentEol, WINDOWS_EOL) == 0) + { + fieldvalue = strdup(WINDOWS_EOL_STRING); + } + else if (strcmp(currentEol, LINUX_EOL) == 0) + { + fieldvalue = strdup(LINUX_EOL_STRING); + } + else + { + fieldvalue = strdup("ERROR"); + } + } + else + { + fieldvalue = strdup("ERROR"); + } + } + else if (strcmp(fieldname, ENCODING_FIELDNAME) == 0) + { + fieldvalue = strdup(getCsvDefaultEncoding()); + } + else if (strcmp(fieldname, BLANK_FIELDNAME) == 0) + { + fieldvalue = strdup(getCsvDefaultCsvIgnoreBlankLine()); + } + else if (strcmp(fieldname, RESET_PARAMATERS) == 0) + { + freeVar(&fieldname, &fieldvalue); + + setCsvDefaultReset(); + + createEmptyMatrix(pvApiCtx, Rhs + 1); + + LhsVar(1) = Rhs + 1; + PutLhsVar(); + return 0; + } + else + { + Scierror(999, _("%s: Wrong value for input argument #%d: '%s', '%s', '%s', '%s', '%s' or '%s' expected.\n"), fname, 1, SEPARATOR_FIELDNAME, DECIMAL_FIELDNAME, CONVERSION_FIELDNAME, COMMENTSREGEXP_FIELDNAME, EOL_FIELDNAME, BLANK_FIELDNAME); + freeVar(&fieldname, &fieldvalue); + return 0; + } + + createSingleString(pvApiCtx, Rhs + 1, fieldvalue); + + freeVar(&fieldname, &fieldvalue); + + LhsVar(1) = Rhs + 1; + PutLhsVar(); + + return 0; +} +// ============================================================================= +static int sci_csvDefault_two_rhs(char *fname) +{ + int iErr = 0; + int resultSet = 0; + + char *fieldname = NULL; + char *fieldvalue = NULL; + int ifieldvalue = 0; + + fieldname = csv_getArgumentAsString(pvApiCtx, 1, fname, &iErr); + if (iErr) + { + freeVar(&fieldname, &fieldvalue); + return 0; + } + + if (strcmp(fieldname, PRECISION_FIELDNAME) == 0) + { + if (csv_isEmpty(pvApiCtx, 2)) + { + freeVar(&fieldname, &fieldvalue); + Scierror(999, _("%s: Wrong type for input argument #%d: A double expected.\n"), fname, 2); + return 0; + } + + if (csv_isDoubleScalar(pvApiCtx, 2)) + { +#define FORMAT_FIELDVALUESTR "%%.%dlg" + ifieldvalue = (int) csv_getArgumentAsScalarDouble(pvApiCtx, 2, fname, &iErr); + if (iErr) + { + freeVar(&fieldname, &fieldvalue); + return 0; + } + + if ((ifieldvalue < 1) || (ifieldvalue > 17)) + { + freeVar(&fieldname, &fieldvalue); + Scierror(999, _("%s: Wrong value for input argument #%d: A double (value %d to %d) expected.\n"), fname, 2, 1, 17); + return 0; + } + + fieldvalue = (char*)MALLOC(sizeof(char) * ((int)strlen(FORMAT_FIELDVALUESTR) + 1)); + if (fieldvalue == NULL) + { + freeVar(&fieldname, &fieldvalue); + Scierror(999, _("%s: Memory allocation error.\n"), fname); + return 0; + } + sprintf(fieldvalue, FORMAT_FIELDVALUESTR, ifieldvalue); + } + else + { + fieldvalue = csv_getArgumentAsString(pvApiCtx, 2, fname, &iErr); + if (iErr) + { + freeVar(&fieldname, &fieldvalue); + return 0; + } + } + } + else + { + fieldvalue = csv_getArgumentAsString(pvApiCtx, 2, fname, &iErr); + if (iErr) + { + freeVar(&fieldname, &fieldvalue); + return 0; + } + } + + if (strcmp(fieldname, SEPARATOR_FIELDNAME) == 0) + { + resultSet = setCsvDefaultSeparator(fieldvalue); + } + else if (strcmp(fieldname, DECIMAL_FIELDNAME) == 0) + { + resultSet = setCsvDefaultDecimal(fieldvalue); + } + else if (strcmp(fieldname, CONVERSION_FIELDNAME) == 0) + { + resultSet = setCsvDefaultConversion(fieldvalue); + } + else if (strcmp(fieldname, PRECISION_FIELDNAME) == 0) + { + resultSet = setCsvDefaultPrecision(fieldvalue); + } + else if (strcmp(fieldname, COMMENTSREGEXP_FIELDNAME) == 0) + { + resultSet = setCsvDefaultCommentsRegExp(fieldvalue); + } + else if (strcmp(fieldname, EOL_FIELDNAME) == 0) + { + if (strcmp(fieldvalue, MACOS9_EOL_STRING) == 0) + { + resultSet = setCsvDefaultEOL(MACOS9_EOL); + } + else if (strcmp(fieldvalue, WINDOWS_EOL_STRING) == 0) + { + resultSet = setCsvDefaultEOL(WINDOWS_EOL); + } + else if (strcmp(fieldvalue, LINUX_EOL_STRING) == 0) + { + resultSet = setCsvDefaultEOL(LINUX_EOL); + } + else + { + resultSet = 1; + } + } + else if (strcmp(fieldname, ENCODING_FIELDNAME) == 0) + { + resultSet = setCsvDefaultEncoding(fieldvalue); + } + else if (strcmp(fieldname, BLANK_FIELDNAME) == 0) + { + resultSet = setCsvDefaultCsvIgnoreBlankLine(fieldvalue); + } + else + { + Scierror(999, _("%s: Wrong value for input argument #%d: '%s', '%s', '%s' , '%s', '%s', '%s', '%s' or '%s' expected.\n"), fname, 1, SEPARATOR_FIELDNAME, DECIMAL_FIELDNAME, CONVERSION_FIELDNAME, PRECISION_FIELDNAME, COMMENTSREGEXP_FIELDNAME, EOL_FIELDNAME, ENCODING_FIELDNAME, BLANK_FIELDNAME); + freeVar(&fieldname, &fieldvalue); + return 0; + } + + createScalarBoolean(pvApiCtx, Rhs + 1, (resultSet == 0)); + + freeVar(&fieldname, &fieldvalue); + + LhsVar(1) = Rhs + 1; + PutLhsVar(); + + return 0; +} +// ============================================================================= +static void freeVar(char** fieldname, char** fieldvalue) +{ + if (fieldname && *fieldname) + { + FREE(*fieldname); + *fieldname = NULL; + } + + if (fieldvalue && *fieldvalue) + { + FREE(*fieldvalue); + *fieldvalue = NULL; + } +}
\ No newline at end of file diff --git a/modules/spreadsheet/sci_gateway/c/sci_csvRead.c b/modules/spreadsheet/sci_gateway/c/sci_csvRead.c new file mode 100755 index 000000000..317aef798 --- /dev/null +++ b/modules/spreadsheet/sci_gateway/c/sci_csvRead.c @@ -0,0 +1,546 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2010 - 2012 - INRIA - Allan CORNET + * Copyright (C) 2011 - INRIA - Michael Baudin + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + * This code is also published under the GPL v3 license. + * + */ + +#include <string.h> +#include <stdio.h> +#include "gw_spreadsheet.h" +#include "api_scilab.h" +#include "Scierror.h" +#include "localization.h" +#include "freeArrayOfString.h" +#include "MALLOC.h" +#include "csvRead.h" +#ifdef _MSC_VER +#include "strdup_windows.h" +#endif +#include "stringToComplex.h" +#include "csvDefault.h" +#include "complex_array.h" +#include "gw_csv_helpers.h" +#include "getRange.h" + +static void freeVar(char** filename, char** separator, char** decimal, char** conversion, int** iRange, char*** toreplace, int sizeReplace, char** regexp); +/* ==================================================================== */ +#define CONVTOSTR "string" +#define CONVTODOUBLE "double" +/* ==================================================================== */ +/* csvRead(filename, separator, decimal, conversion, substitute, range)*/ +/* ==================================================================== */ +int sci_csvRead(char *fname, unsigned long fname_len) +{ + SciErr sciErr; + int iErr = 0; + int iErrEmpty = 0; + + char *filename = NULL; + char *separator = NULL; + char *decimal = NULL; + char *conversion = NULL; + int *iRange = NULL; + int haveRange = 0; + int header = 0; + + char **toreplace = NULL; + int nbElementsToReplace = 0; + + char *regexp = NULL; + int haveRegexp = 0; + + csvResult *result = NULL; + + double *dRealValues = NULL; + + sciErr.iErr = 0; + + CheckRhs(1, 8); + CheckLhs(1, 2); + + if (Rhs == 8) + { + header = (int) csv_getArgumentAsScalarDouble(pvApiCtx, 8, fname, &iErr); + if (iErr) + { + freeVar(&filename, &separator, &decimal, &conversion, &iRange, &toreplace, 0, ®exp); + return 0; + } + } + + if (Rhs == 7) + { + int m7 = 0, n7 = 0; + + iRange = csv_getArgumentAsMatrixofIntFromDouble(pvApiCtx, 7, fname, &m7, &n7, &iErr); + if (iErr) + { + freeVar(&filename, &separator, &decimal, &conversion, &iRange, &toreplace, 0, ®exp); + return 0; + } + + if ((m7 * n7 != SIZE_RANGE_SUPPORTED) ) + { + freeVar(&filename, &separator, &decimal, &conversion, &iRange, &toreplace, 0, ®exp); + Scierror(999, _("%s: Wrong size for input argument #%d: Four entries expected.\n"), fname, 7); + return 0; + } + + if ((m7 != 1) && (n7 != 1)) + { + freeVar(&filename, &separator, &decimal, &conversion, &iRange, &toreplace, 0, ®exp); + Scierror(999, _("%s: Wrong size for input argument #%d: A column or row vector expected.\n"), fname, 7); + return 0; + } + + if (isValidRange(iRange, m7 * n7)) + { + haveRange = 1; + } + else + { + freeVar(&filename, &separator, &decimal, &conversion, &iRange, &toreplace, 0, ®exp); + Scierror(999, _("%s: Wrong value for input argument #%d: Inconsistent range.\n"), fname, 7); + return 0; + } + } + + + if (Rhs >= 6) + { + regexp = csv_getArgumentAsStringWithEmptyManagement(pvApiCtx, 6, fname, getCsvDefaultCommentsRegExp(), &iErr); + if (regexp) + { + if (strcmp(regexp, "") == 0) + { + FREE(regexp); + regexp = NULL; + } + else + { + haveRegexp = 1; + } + } + + if (iErr) + { + freeVar(&filename, &separator, &decimal, &conversion, &iRange, &toreplace, 0, ®exp); + return 0; + } + } + else + { + regexp = strdup(getCsvDefaultCommentsRegExp()); + if (regexp) + { + if (strcmp(regexp, "") == 0) + { + FREE(regexp); + regexp = NULL; + } + } + } + + if (Rhs >= 5) + { + if (csv_isEmpty(pvApiCtx, 5)) + { + toreplace = NULL; + nbElementsToReplace = 0; + } + else + { + int m5 = 0, n5 = 0; + toreplace = csv_getArgumentAsMatrixOfString(pvApiCtx, 5, fname, &m5, &n5, &iErr); + if (iErr) + { + freeVar(&filename, &separator, &decimal, &conversion, &iRange, &toreplace, m5 * n5, ®exp); + return 0; + } + + if (n5 != 2) + { + freeVar(&filename, &separator, &decimal, &conversion, &iRange, &toreplace, m5 * n5, ®exp); + Scierror(999, _("%s: Wrong size for input argument #%d.\n"), fname, 5); + return 0; + } + nbElementsToReplace = m5; + } + } + else + { + toreplace = NULL; + nbElementsToReplace = 0; + } + + if (Rhs >= 4) + { + int iErr = 0; + conversion = csv_getArgumentAsStringWithEmptyManagement(pvApiCtx, 4, fname, getCsvDefaultConversion(), &iErr); + if (iErr) + { + freeVar(&filename, &separator, &decimal, &conversion, &iRange, &toreplace, nbElementsToReplace, ®exp); + return 0; + } + + if (!((strcmp(conversion, CONVTOSTR) == 0) || (strcmp(conversion, CONVTODOUBLE) == 0))) + { + freeVar(&filename, &separator, &decimal, &conversion, &iRange, &toreplace, nbElementsToReplace, ®exp); + Scierror(999, _("%s: Wrong value for input argument #%d: '%s' or '%s' string expected.\n"), fname, 4, "double", "string"); + return 0; + } + } + else + { + /* read_csv is using a 'string' conversion while csvRead is doing + a 'double' conversion */ + if (strcmp(fname, "read_csv") == 0) + { + conversion = (char*)MALLOC((strlen("string") + 1) * sizeof(char)); + strcpy(conversion, "string"); + } + else + { + conversion = strdup(getCsvDefaultConversion()); + } + } + + if (Rhs >= 3) + { + int iErr = 0; + decimal = csv_getArgumentAsStringWithEmptyManagement(pvApiCtx, 3, fname, getCsvDefaultDecimal(), &iErr); + if (iErr) + { + freeVar(&filename, &separator, &decimal, &conversion, &iRange, &toreplace, nbElementsToReplace, ®exp); + return 0; + } + } + else + { + decimal = strdup(getCsvDefaultDecimal()); + } + + if (Rhs >= 2) + { + int iErr = 0; + separator = csv_getArgumentAsStringWithEmptyManagement(pvApiCtx, 2, fname, getCsvDefaultSeparator(), &iErr); + if (iErr) + { + freeVar(&filename, &separator, &decimal, &conversion, &iRange, &toreplace, nbElementsToReplace, ®exp); + return 0; + } + } + else + { + separator = strdup(getCsvDefaultSeparator()); + } + + if (strcmp(separator, "\\t") == 0) + { + /* In Scilab, if the user is providing \t as separator, transform it to a real + tab. Example: read_csv(filename,"\t"); + */ + strcpy(separator, "\t"); + } + + + filename = csv_getArgumentAsString(pvApiCtx, 1, fname, &iErr); + if (iErr) + { + freeVar(&filename, &separator, &decimal, &conversion, &iRange, &toreplace, nbElementsToReplace, ®exp); + return 0; + } + + result = csvRead(filename, separator, decimal, (const char**)toreplace, nbElementsToReplace * 2, regexp, header); + freeVar(NULL, &separator, &decimal, NULL, NULL, &toreplace, nbElementsToReplace, ®exp); + + if (result) + { + switch (result->err) + { + case CSV_READ_REGEXP_ERROR: + { + Scierror(999, _("%s: Wrong value for input argument #%d.\n"), fname, 6); + } + break; + + case CSV_READ_SEPARATOR_DECIMAL_EQUAL: + { + Scierror(999, _("%s: separator and decimal must have different values.\n"), fname); + } + break; + + case CSV_READ_NO_ERROR: + { + if (strcmp(conversion, CONVTOSTR) == 0) + { + if (haveRange) + { + int newM = 0; + int newN = 0; + + char **pStrRange = getRangeAsString((const char**)result->pstrValues, result->m, result->n, iRange, &newM, &newN); + if (pStrRange) + { + sciErr = createMatrixOfString(pvApiCtx, Rhs + 1, newM, newN, pStrRange); + freeArrayOfString(pStrRange, newM * newN); + } + else + { + if ((newM == 0) || (newN == 0)) + { + Scierror(999, _("%s: Range row or/and column left indice(s) out of bounds.\n"), fname); + } + else + { + Scierror(999, _("%s: Memory allocation error.\n"), fname); + } + + freeCsvResult(result); + freeVar(&filename, &separator, &decimal, &conversion, &iRange, &toreplace, nbElementsToReplace, ®exp); + return 0; + } + } + else + { + sciErr = createMatrixOfString(pvApiCtx, Rhs + 1, result->m, result->n, result->pstrValues); + } + } + else /* to double */ + { + stringToComplexError ierr = STRINGTOCOMPLEX_ERROR; + complexArray *ptrComplexArray = stringsToComplexArray((const char**)result->pstrValues, result->m * result->n, decimal, TRUE, &ierr); + + if (ptrComplexArray == NULL) + { + freeCsvResult(result); + if (ierr == STRINGTOCOMPLEX_ERROR) + { + Scierror(999, _("%s: can not convert data.\n"), fname); + } + else + { + Scierror(999, _("%s: Memory allocation error.\n"), fname); + } + + freeVar(&filename, &separator, &decimal, &conversion, &iRange, &toreplace, nbElementsToReplace, ®exp); + return 0; + } + + switch (ierr) + { + case STRINGTOCOMPLEX_NOT_A_NUMBER: + case STRINGTOCOMPLEX_NO_ERROR: + { + if (haveRange) + { + int newM = 0; + int newN = 0; + complexArray *complexRange = getRangeAsComplexArray(ptrComplexArray, result->m, result->n, iRange, &newM, &newN); + if (complexRange) + { + if (complexRange->isComplex) + { + sciErr = createComplexMatrixOfDouble(pvApiCtx, Rhs + 1, newM, newN, ptrComplexArray->realPart, ptrComplexArray->imagPart); + } + else + { + sciErr = createMatrixOfDouble(pvApiCtx, Rhs + 1, newM, newN, complexRange->realPart); + } + freeComplexArray(complexRange); + complexRange = NULL; + } + else + { + if ((newM == 0) || (newN == 0)) + { + Scierror(999, _("%s: Range row or/and column left indice(s) out of bounds.\n"), fname); + } + else + { + Scierror(999, _("%s: Memory allocation error.\n"), fname); + } + + freeCsvResult(result); + freeVar(&filename, &separator, &decimal, &conversion, &iRange, &toreplace, nbElementsToReplace, ®exp); + return 0; + } + } + else + { + if (ptrComplexArray->isComplex) + { + sciErr = createComplexMatrixOfDouble(pvApiCtx, Rhs + 1, result->m, result->n, ptrComplexArray->realPart, ptrComplexArray->imagPart); + } + else + { + sciErr = createMatrixOfDouble(pvApiCtx, Rhs + 1, result->m, result->n, ptrComplexArray->realPart); + } + freeComplexArray(ptrComplexArray); + ptrComplexArray = NULL; + } + } + break; + + case STRINGTOCOMPLEX_MEMORY_ALLOCATION: + { + Scierror(999, _("%s: Memory allocation error.\n"), fname); + freeCsvResult(result); + freeVar(&filename, &separator, &decimal, &conversion, &iRange, &toreplace, nbElementsToReplace, ®exp); + return 0; + } + default: + case STRINGTOCOMPLEX_ERROR: + { + Scierror(999, _("%s: can not convert data.\n"), fname); + freeCsvResult(result); + freeVar(&filename, &separator, &decimal, &conversion, &iRange, &toreplace, nbElementsToReplace, ®exp); + return 0; + } + } + } + + if (sciErr.iErr) + { + Scierror(999, _("%s: Memory allocation error.\n"), fname); + freeCsvResult(result); + freeVar(&filename, &separator, &decimal, &conversion, &iRange, &toreplace, nbElementsToReplace, ®exp); + return 0; + } + else + { + LhsVar(1) = Rhs + 1; + + if (Lhs == 2) + { + if (haveRegexp == 0) + { + char **emptyStringMatrix = NULL; + emptyStringMatrix = (char**) malloc(sizeof(char*)); + emptyStringMatrix[0] = ""; + sciErr = createMatrixOfString(pvApiCtx, Rhs + 2, 1, 1, emptyStringMatrix); + free(emptyStringMatrix); + } + else + { + if (result->nbComments > 0) + { + sciErr = createMatrixOfString(pvApiCtx, Rhs + 2, result->nbComments, 1, result->pstrComments); + } + else + { + iErrEmpty = createEmptyMatrix(pvApiCtx, Rhs+2); + sciErr.iErr = iErrEmpty; + } + } + if (sciErr.iErr) + { + Scierror(999, _("%s: Memory allocation error.\n"), fname); + freeCsvResult(result); + freeVar(&filename, &separator, &decimal, &conversion, &iRange, &toreplace, nbElementsToReplace, ®exp); + return 0; + } + LhsVar(2) = Rhs + 2; + } + PutLhsVar(); + } + } + break; + + case CSV_READ_FILE_NOT_EXIST: + { + Scierror(999, _("%s: %s does not exist.\n"), fname, filename); + } + break; + + case CSV_READ_MOPEN_ERROR: + { + Scierror(999, _("%s: can not open file %s.\n"), fname, filename); + } + break; + + case CSV_READ_MEMORY_ALLOCATION: + { + Scierror(999, _("%s: Memory allocation error.\n"), fname); + } + break; + + case CSV_READ_COLUMNS_ERROR: + { + Scierror(999, _("%s: can not read file %s: Error in the column structure\n"), fname, filename); + } + break; + + case CSV_READ_READLINES_ERROR: + case CSV_READ_ERROR: + { + Scierror(999, _("%s: can not read file %s.\n"), fname, filename); + } + break; + } + } + else + { + Scierror(999, _("%s: Memory allocation error.\n"), fname); + } + + freeCsvResult(result); + + freeVar(&filename, &separator, &decimal, &conversion, &iRange, &toreplace, nbElementsToReplace, ®exp); + + return 0; +} +/* ==================================================================== */ +static void freeVar(char** filename, char** separator, char** decimal, char** conversion, int** iRange, char*** toreplace, int sizeReplace, char** regexp) +{ + if (filename && *filename) + { + FREE(*filename); + *filename = NULL; + } + + if (separator && *separator) + { + FREE(*separator); + *separator = NULL; + } + + if (decimal && *decimal) + { + FREE(*decimal); + *decimal = NULL; + } + + if (conversion && *conversion) + { + FREE(*conversion); + *conversion = NULL; + } + + if (iRange && *iRange) + { + FREE(*iRange); + *iRange = NULL; + } + + if (toreplace && *toreplace) + { + freeArrayOfString(*toreplace, sizeReplace); + *toreplace = NULL; + } + + if (regexp && *regexp) + { + FREE(*regexp); + *regexp = NULL; + } +} diff --git a/modules/spreadsheet/sci_gateway/c/sci_csvStringToDouble.c b/modules/spreadsheet/sci_gateway/c/sci_csvStringToDouble.c new file mode 100755 index 000000000..953013e3b --- /dev/null +++ b/modules/spreadsheet/sci_gateway/c/sci_csvStringToDouble.c @@ -0,0 +1,129 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2010 - 2012 - INRIA - Allan CORNET + * Copyright (C) 2011 - INRIA - Michael Baudin + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + * This code is also published under the GPL v3 license. + * + */ +#include <string.h> +#include "api_scilab.h" +#include "Scierror.h" +#include "MALLOC.h" +#include "Scierror.h" +#include "localization.h" +#include "freeArrayOfString.h" +#ifdef _MSC_VER +#include "strdup_windows.h" +#endif +#include "stringToComplex.h" +#include "csvDefault.h" +#include "gw_csv_helpers.h" +#include "complex_array.h" + +// ============================================================================= +int sci_csvStringToDouble(char *fname, unsigned long fname_len) +{ + SciErr sciErr; + int iErr = 0; + int m1 = 0, n1 = 0; + char **pStringValues = NULL; + + BOOL bConvertToNan = TRUE; + + complexArray *ptrComplexArray = NULL; + stringToComplexError ierr = STRINGTOCOMPLEX_ERROR; + + CheckRhs(1, 2); + CheckLhs(1, 1); + + if (Rhs == 1) + { + bConvertToNan = TRUE; + } + else /* Rhs == 2 */ + { + bConvertToNan = (BOOL)csv_getArgumentAsScalarBoolean(pvApiCtx, 2, fname, &iErr); + if (iErr) + { + return 0; + } + } + + pStringValues = csv_getArgumentAsMatrixOfString(pvApiCtx, 1, fname, &m1, &n1, &iErr); + if (iErr) + { + return 0; + } + + ptrComplexArray = stringsToComplexArray((const char**)pStringValues, m1 * n1, getCsvDefaultDecimal(), bConvertToNan, &ierr); + + freeArrayOfString(pStringValues, m1 * n1); + pStringValues = NULL; + + if (ptrComplexArray == NULL) + { + switch (ierr) + { + case STRINGTOCOMPLEX_NOT_A_NUMBER: + case STRINGTOCOMPLEX_ERROR: + Scierror(999, _("%s: can not convert data.\n"), fname); + return 0; + + default: + Scierror(999, _("%s: Memory allocation error.\n"), fname); + return 0; + } + } + + switch (ierr) + { + case STRINGTOCOMPLEX_NOT_A_NUMBER: + case STRINGTOCOMPLEX_NO_ERROR: + { + if (ptrComplexArray->isComplex) + { + sciErr = createComplexMatrixOfDouble(pvApiCtx, Rhs + 1, m1, n1, ptrComplexArray->realPart, ptrComplexArray->imagPart); + } + else + { + sciErr = createMatrixOfDouble(pvApiCtx, Rhs + 1, m1, n1, ptrComplexArray->realPart); + } + freeComplexArray(ptrComplexArray); + ptrComplexArray = NULL; + } + break; + + case STRINGTOCOMPLEX_MEMORY_ALLOCATION: + { + Scierror(999, _("%s: Memory allocation error.\n"), fname); + } + break; + + default: + case STRINGTOCOMPLEX_ERROR: + { + Scierror(999, _("%s: can not convert data.\n"), fname); + } + } + + if (sciErr.iErr) + { + printError(&sciErr, 0); + } + else + { + LhsVar(1) = Rhs + 1; + PutLhsVar(); + } + + return 0; +} +// ============================================================================= + diff --git a/modules/spreadsheet/sci_gateway/c/sci_csvTextScan.c b/modules/spreadsheet/sci_gateway/c/sci_csvTextScan.c new file mode 100755 index 000000000..8672e2bc3 --- /dev/null +++ b/modules/spreadsheet/sci_gateway/c/sci_csvTextScan.c @@ -0,0 +1,374 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2010 - 2012 - INRIA - Allan CORNET + * Copyright (C) 2011 - INRIA - Michael Baudin + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + * This code is also published under the GPL v3 license. + * + */ +#include <string.h> +#include "gw_spreadsheet.h" +#include "api_scilab.h" +#include "Scierror.h" +#include "MALLOC.h" +#include "Scierror.h" +#include "localization.h" +#include "freeArrayOfString.h" +#ifdef _MSC_VER +#include "strdup_windows.h" +#endif +#include "stringToComplex.h" +#include "csvDefault.h" +#include "csvRead.h" +#include "getRange.h" +#include "gw_csv_helpers.h" + +static void freeVar(char*** text, int sizeText, int** lengthText, char** separator, char** decimal, char** conversion, int** iRange); +// ============================================================================= +#define CONVTOSTR "string" +#define CONVTODOUBLE "double" +// ============================================================================= +int sci_csvTextScan(char *fname, unsigned long fname_len) +{ + SciErr sciErr; + int iErr = 0; + int i = 0; + + int *piAddressVarOne = NULL; + int m1 = 0, n1 = 0; + int iType1 = 0; + + char **text = NULL; + int *lengthText = NULL; + int nbLines = 0; + + char *separator = NULL; + char *decimal = NULL; + char *conversion = NULL; + + double * dRealValues = NULL; + + int *iRange = NULL; + int haveRange = 0; + + csvResult *result = NULL; + + CheckRhs(1, 5); + CheckLhs(1, 1); + + if (Rhs == 5) + { + int m5 = 0, n5 = 0; + + iRange = csv_getArgumentAsMatrixofIntFromDouble(pvApiCtx, 5, fname, &m5, &n5, &iErr); + if (iErr) + { + freeVar(&text, nbLines, &lengthText, &separator, &decimal, &conversion, &iRange); + return 0; + } + + if ((m5 * n5 != SIZE_RANGE_SUPPORTED) ) + { + freeVar(&text, nbLines, &lengthText, &separator, &decimal, &conversion, &iRange); + Scierror(999, _("%s: Wrong size for input argument #%d: Four entries expected.\n"), fname, 5); + return 0; + } + + if ((m5 != 1) && (n5 != 1)) + { + freeVar(&text, nbLines, &lengthText, &separator, &decimal, &conversion, &iRange); + Scierror(999, _("%s: Wrong size for input argument #%d: A column or row vector expected.\n"), fname, 5); + return 0; + } + + if (isValidRange(iRange, m5 * n5)) + { + haveRange = 1; + } + else + { + freeVar(&text, nbLines, &lengthText, &separator, &decimal, &conversion, &iRange); + Scierror(999, _("%s: Wrong value for input argument #%d: Inconsistent range.\n"), fname, 5); + return 0; + } + } + + if (Rhs >= 4) + { + conversion = csv_getArgumentAsStringWithEmptyManagement(pvApiCtx, 4, fname, getCsvDefaultConversion(), &iErr); + if (iErr) + { + freeVar(&text, nbLines, &lengthText, &separator, &decimal, &conversion, &iRange); + return 0; + } + + if (!((strcmp(conversion, CONVTOSTR) == 0) || (strcmp(conversion, CONVTODOUBLE) == 0))) + { + freeVar(&text, nbLines, &lengthText, &separator, &decimal, &conversion, &iRange); + Scierror(999, _("%s: Wrong value for input argument #%d: '%s' or '%s' string expected.\n"), fname, 4, "double", "string"); + return 0; + } + } + else + { + conversion = strdup(getCsvDefaultConversion()); + } + + if (Rhs >= 3) + { + decimal = csv_getArgumentAsStringWithEmptyManagement(pvApiCtx, 3, fname, getCsvDefaultDecimal(), &iErr); + if (iErr) + { + freeVar(&text, nbLines, &lengthText, &separator, &decimal, &conversion, &iRange); + return 0; + } + + if (decimal[0] != '.' && decimal[0] != ',') + { + freeVar(&text, nbLines, &lengthText, &separator, &decimal, &conversion, &iRange); + Scierror(999, _("%s: Wrong value for input argument #%d: '%s' or '%s' string expected.\n"), fname, 3, ",", "."); + return 0; + } + } + else + { + decimal = strdup(getCsvDefaultDecimal()); + } + + if (Rhs >= 2) + { + separator = csv_getArgumentAsStringWithEmptyManagement(pvApiCtx, 2, fname, getCsvDefaultSeparator(), &iErr); + if (iErr) + { + freeVar(&text, nbLines, &lengthText, &separator, &decimal, &conversion, &iRange); + return 0; + } + } + else + { + separator = strdup(getCsvDefaultSeparator()); + } + + if (!csv_isRowVector(pvApiCtx, 1) && + !csv_isColumnVector(pvApiCtx, 1) && + !csv_isScalar(pvApiCtx, 1)) + { + freeVar(&text, nbLines, &lengthText, &separator, &decimal, &conversion, &iRange); + Scierror(999, _("%s: Wrong size for input argument #%d: String vector expected.\n"), fname, 1); + return 0; + } + + text = csv_getArgumentAsMatrixOfString(pvApiCtx, 1, fname, &m1, &n1, &iErr); + if (iErr) + { + freeVar(&text, nbLines, &lengthText, &separator, &decimal, &conversion, &iRange); + return 0; + } + + nbLines = m1 * n1; + result = csvTextScan((const char**)text, nbLines, separator, decimal); + + if (result) + { + switch (result->err) + { + case CSV_READ_SEPARATOR_DECIMAL_EQUAL: + { + Scierror(999, _("%s: separator and decimal must have different values.\n"), fname); + } + break; + + case CSV_READ_NO_ERROR: + { + if (strcmp(conversion, CONVTOSTR) == 0) + { + if (haveRange) + { + int newM = 0; + int newN = 0; + + char **pStrRange = getRangeAsString((const char**)result->pstrValues, result->m, result->n, iRange, &newM, &newN); + if (pStrRange) + { + sciErr = createMatrixOfString(pvApiCtx, Rhs + 1, newM, newN, pStrRange); + freeArrayOfString(pStrRange, newM * newN); + } + else + { + Scierror(999, _("%s: Memory allocation error.\n"), fname); + } + } + else + { + sciErr = createMatrixOfString(pvApiCtx, Rhs + 1, result->m, result->n, result->pstrValues); + } + } + else /* to double */ + { + stringToComplexError ierr = STRINGTOCOMPLEX_ERROR; + complexArray *ptrComplexArray = stringsToComplexArray((const char**)result->pstrValues, result->m * result->n, decimal, TRUE, &ierr); + if (ptrComplexArray == NULL) + { + freeCsvResult(result); + freeVar(&text, nbLines, &lengthText, &separator, &decimal, &conversion, &iRange); + + if (ierr == STRINGTOCOMPLEX_ERROR) + { + Scierror(999, _("%s: can not convert data.\n"), fname); + } + else + { + Scierror(999, _("%s: Memory allocation error.\n"), fname); + } + return 0; + } + + switch (ierr) + { + case STRINGTOCOMPLEX_NOT_A_NUMBER: + case STRINGTOCOMPLEX_NO_ERROR: + { + if (haveRange) + { + int newM = 0; + int newN = 0; + complexArray *csvComplexRange = getRangeAsComplexArray(ptrComplexArray, result->m, result->n, iRange, &newM, &newN); + if (csvComplexRange) + { + if (csvComplexRange->isComplex) + { + sciErr = createComplexMatrixOfDouble(pvApiCtx, Rhs + 1, newM, newN, ptrComplexArray->realPart, ptrComplexArray->imagPart); + } + else + { + sciErr = createMatrixOfDouble(pvApiCtx, Rhs + 1, newM, newN, csvComplexRange->realPart); + } + freeComplexArray(csvComplexRange); + csvComplexRange = NULL; + } + else + { + Scierror(999, _("%s: Memory allocation error.\n"), fname); + } + } + else + { + if (ptrComplexArray->isComplex) + { + sciErr = createComplexMatrixOfDouble(pvApiCtx, Rhs + 1, result->m, result->n, ptrComplexArray->realPart, ptrComplexArray->imagPart); + } + else + { + sciErr = createMatrixOfDouble(pvApiCtx, Rhs + 1, result->m, result->n, ptrComplexArray->realPart); + } + } + freeComplexArray(ptrComplexArray); + ptrComplexArray = NULL; + } + break; + + case STRINGTOCOMPLEX_MEMORY_ALLOCATION: + { + Scierror(999, _("%s: Memory allocation error.\n"), fname); + } + break; + + default: + case STRINGTOCOMPLEX_ERROR: + { + Scierror(999, _("%s: can not convert data.\n"), fname); + } + break; + } + } + + freeCsvResult(result); + freeVar(&text, nbLines, &lengthText, &separator, &decimal, &conversion, &iRange); + + if (sciErr.iErr) + { + printError(&sciErr, 0); + Scierror(17, _("%s: Memory allocation error.\n"), fname); + return 0; + } + else + { + LhsVar(1) = Rhs + 1; + PutLhsVar(); + } + } + break; + + case CSV_READ_MEMORY_ALLOCATION: + { + Scierror(999, _("%s: Memory allocation error.\n"), fname); + } + break; + + case CSV_READ_COLUMNS_ERROR: + { + Scierror(999, _("%s: can not read text: Error in the column structure\n"), fname); + } + break; + + case CSV_READ_READLINES_ERROR: + case CSV_READ_ERROR: + { + Scierror(999, _("%s: can not read text.\n"), fname); + } + break; + } + } + else + { + Scierror(999, _("%s: Memory allocation error.\n"), fname); + } + + freeVar(&text, nbLines, &lengthText, &separator, &decimal, &conversion, &iRange); + return 0; +} +// ============================================================================= +static void freeVar(char*** text, int sizeText, int** lengthText, char** separator, char** decimal, char** conversion, int** iRange) +{ + if (text && *text) + { + freeArrayOfString(*text, sizeText); + *text = NULL; + } + + if (lengthText && *lengthText) + { + FREE(*lengthText); + *lengthText = NULL; + } + + if (separator && *separator) + { + FREE(*separator); + *separator = NULL; + } + + if (decimal && *decimal) + { + FREE(*decimal); + *decimal = NULL; + } + + if (conversion && *conversion) + { + FREE(*conversion); + *conversion = NULL; + } + + if (iRange && *iRange) + { + FREE(*iRange); + *iRange = NULL; + } +} diff --git a/modules/spreadsheet/sci_gateway/c/sci_csvWrite.c b/modules/spreadsheet/sci_gateway/c/sci_csvWrite.c new file mode 100755 index 000000000..fa50c1517 --- /dev/null +++ b/modules/spreadsheet/sci_gateway/c/sci_csvWrite.c @@ -0,0 +1,328 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2010 - 2012 - INRIA - Allan CORNET + * Copyright (C) 2011 - INRIA - Michael Baudin + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + * This code is also published under the GPL v3 license. + * + */ +#include <string.h> +#include <stdio.h> +#include "api_scilab.h" +#include "Scierror.h" +#include "MALLOC.h" +#include "csvWrite.h" +#include "localization.h" +#include "freeArrayOfString.h" +#ifdef _MSC_VER +#include "strdup_windows.h" +#endif +#include "csvDefault.h" +#include "checkCsvWriteFormat.h" +#include "gw_csv_helpers.h" + + +static void freeVar(char** separator, char** decimal, char** filename, char** precisionFormat, char*** pHeadersLines, int sizeHeader); +// ============================================================================= +// csvWrite(M, filename[, separator, decimal, precision]) */ +// with M string or double (not complex) +// ============================================================================= +int sci_csvWrite(char *fname, unsigned long fname_len) +{ + SciErr sciErr; + int iErr = 0; + csvWriteError csvError = CSV_WRITE_ERROR; + + char *separator = NULL; + char *decimal = NULL; + char *filename = NULL; + char *precisionFormat = NULL; + char **pHeadersLines = NULL; + int nbHeadersLines = 0; + + char **pStringValues = NULL; + double *pDoubleValuesReal = NULL; + double *pDoubleValuesImag = NULL; + int bIsComplex = 0; + int mValues = 0; + int nValues = 0; + + int *piAddressVarTwo = NULL; + int m2 = 0, n2 = 0; + int iType2 = 0; + + int *piAddressVarOne = NULL; + int m1 = 0, n1 = 0; + int iType1 = 0; + + CheckRhs(2, 6); + CheckLhs(1, 1); + + if (Rhs > 5) + { + int isOnlyRowOrCol = 0; + int m6 = 0; + int n6 = 0; + pHeadersLines = csv_getArgumentAsMatrixOfString(pvApiCtx, 6, fname, &m6, &n6, &iErr); + if (iErr) + { + freeVar(&separator, &decimal, &filename, &precisionFormat, &pHeadersLines, nbHeadersLines); + return 0; + } + isOnlyRowOrCol = ((m6 > 1) && (n6 == 1)) || ((m6 == 1) && (n6 > 1)) || ((m6 == 1) && (n6 == 1)); + if (!isOnlyRowOrCol) + { + freeVar(&separator, &decimal, &filename, &precisionFormat, &pHeadersLines, nbHeadersLines); + Scierror(999, _("%s: Wrong size for input argument #%d: A 1-by-n or m-by-1 array of strings expected.\n"), fname, 6); + return 0; + } + nbHeadersLines = m6 * n6; + } + + if (Rhs > 4) + { + if (csv_isDoubleScalar(pvApiCtx, 5)) + { +#define FORMAT_FIELDVALUESTR "%%.%dlg" + int iFormatValue = (int) csv_getArgumentAsScalarDouble(pvApiCtx, 5, fname, &iErr); + if (iErr) + { + freeVar(&separator, &decimal, &filename, &precisionFormat, &pHeadersLines, nbHeadersLines); + return 0; + } + + if ((iFormatValue < 1) || (iFormatValue > 17)) + { + Scierror(999, _("%s: Wrong value for input argument #%d: A double (value 1 to 17) expected.\n"), fname, 5); + freeVar(&separator, &decimal, &filename, &precisionFormat, &pHeadersLines, nbHeadersLines); + return 0; + } + + precisionFormat = (char*)MALLOC(sizeof(char) * ((int)strlen(FORMAT_FIELDVALUESTR) + 1)); + if (precisionFormat == NULL) + { + Scierror(999, _("%s: Memory allocation error.\n"), fname); + freeVar(&separator, &decimal, &filename, &precisionFormat, &pHeadersLines, nbHeadersLines); + return 0; + } + sprintf(precisionFormat, FORMAT_FIELDVALUESTR, iFormatValue); + } + else + { + precisionFormat = csv_getArgumentAsStringWithEmptyManagement(pvApiCtx, 5, fname, getCsvDefaultPrecision(), &iErr); + if (iErr) + { + freeVar(&separator, &decimal, &filename, &precisionFormat, &pHeadersLines, nbHeadersLines); + return 0; + } + + if (checkCsvWriteFormat(precisionFormat)) + { + Scierror(999, _("%s: Not supported format %s.\n"), fname, precisionFormat); + freeVar(&separator, &decimal, &filename, &precisionFormat, &pHeadersLines, nbHeadersLines); + return 0; + } + } + } + else + { + precisionFormat = strdup(getCsvDefaultPrecision()); + } + + if (Rhs > 3) + { + decimal = csv_getArgumentAsStringWithEmptyManagement(pvApiCtx, 4, fname, getCsvDefaultDecimal(), &iErr); + if (iErr) + { + freeVar(&separator, &decimal, &filename, &precisionFormat, &pHeadersLines, nbHeadersLines); + return 0; + } + + if (strcmp(decimal, ".") && strcmp(decimal, ",")) + { + //invalid value + Scierror(999, _("%s: Wrong value for input argument #%d: '%s' or '%s' expected.\n"), "write_csv", 4, ".", ","); + freeVar(&separator, &decimal, &filename, &precisionFormat, &pHeadersLines, nbHeadersLines); + return 1; + } + } + else + { + decimal = strdup(getCsvDefaultDecimal()); + } + + if (Rhs > 2) + { + separator = csv_getArgumentAsStringWithEmptyManagement(pvApiCtx, 3, fname, getCsvDefaultSeparator(), &iErr); + if (iErr) + { + freeVar(&separator, &decimal, &filename, &precisionFormat, &pHeadersLines, nbHeadersLines); + return 0; + } + } + else + { + separator = strdup(getCsvDefaultSeparator()); + } + + filename = csv_getArgumentAsString(pvApiCtx, 2, fname, &iErr); + if (iErr) + { + freeVar(&separator, &decimal, &filename, &precisionFormat, &pHeadersLines, nbHeadersLines); + return 0; + } + + sciErr = getVarAddressFromPosition(pvApiCtx, 1, &piAddressVarOne); + if (sciErr.iErr) + { + freeVar(&separator, &decimal, &filename, &precisionFormat, &pHeadersLines, nbHeadersLines); + printError(&sciErr, 0); + return 0; + } + + sciErr = getVarType(pvApiCtx, piAddressVarOne, &iType1); + if (sciErr.iErr) + { + freeVar(&separator, &decimal, &filename, &precisionFormat, &pHeadersLines, nbHeadersLines); + printError(&sciErr, 0); + return 0; + } + + if (iType1 == sci_strings) + { + pStringValues = csv_getArgumentAsMatrixOfString(pvApiCtx, 1, fname, &m1, &n1, &iErr); + if (iErr) + { + freeVar(&separator, &decimal, &filename, &precisionFormat, &pHeadersLines, nbHeadersLines); + return 0; + } + } + else if (iType1 == sci_matrix) + { + if (isVarComplex(pvApiCtx, piAddressVarOne)) + { + bIsComplex = 1; + sciErr = getComplexMatrixOfDouble(pvApiCtx, piAddressVarOne, &m1, &n1, &pDoubleValuesReal, &pDoubleValuesImag); + } + else + { + sciErr = getMatrixOfDouble(pvApiCtx, piAddressVarOne, &m1, &n1, &pDoubleValuesReal); + } + + if (sciErr.iErr) + { + freeVar(&separator, &decimal, &filename, &precisionFormat, &pHeadersLines, nbHeadersLines); + printError(&sciErr, 0); + return 0; + } + } + else + { + freeVar(&separator, &decimal, &filename, &precisionFormat, &pHeadersLines, nbHeadersLines); + Scierror(999, _("%s: Wrong type for input argument #%d: A matrix of string or a matrix of real expected.\n"), fname, 1); + return 0; + } + + if (pStringValues) + { + csvError = csvWrite_string(filename, + (const char**)pStringValues, m1, n1, + separator, + decimal, + (const char**)pHeadersLines, nbHeadersLines); + } + else + { + if (bIsComplex) + { + csvError = csvWrite_complex(filename, + pDoubleValuesReal, + pDoubleValuesImag, + m1, n1, + separator, + decimal, + precisionFormat, + (const char**)pHeadersLines, nbHeadersLines); + } + else + { + csvError = csvWrite_double(filename, + pDoubleValuesReal, m1, n1, + separator, + decimal, + precisionFormat, + (const char**)pHeadersLines, nbHeadersLines); + } + } + + switch (csvError) + { + case CSV_WRITE_SEPARATOR_DECIMAL_EQUAL: + { + Scierror(999, _("%s: separator and decimal must have different values.\n"), fname); + } + break; + case CSV_WRITE_NO_ERROR: + { + LhsVar(1) = 0; + PutLhsVar(); + } + break; + + case CSV_WRITE_FOPEN_ERROR: + { + Scierror(999, _("%s: can not open file %s.\n"), fname, filename); + } + break; + default: + case CSV_WRITE_ERROR: + { + Scierror(999, _("%s: error.\n"), fname); + } + break; + } + + freeVar(&separator, &decimal, &filename, &precisionFormat, &pHeadersLines, nbHeadersLines); + return 0; +} +// ============================================================================= +static void freeVar(char** separator, char** decimal, char** filename, char** precisionFormat, char*** pHeadersLines, int sizeHeader) +{ + if (separator && *separator) + { + FREE(*separator); + *separator = NULL; + } + + if (decimal && *decimal) + { + FREE(*decimal); + *decimal = NULL; + } + + if (filename && *filename) + { + FREE(*filename); + *filename = NULL; + } + + if (precisionFormat && *precisionFormat) + { + FREE(*precisionFormat); + *precisionFormat = NULL; + } + + if (pHeadersLines && *pHeadersLines) + { + freeArrayOfString(*pHeadersLines, sizeHeader); + *pHeadersLines = NULL; + } + +} + diff --git a/modules/spreadsheet/sci_gateway/c/sci_xls_open.c b/modules/spreadsheet/sci_gateway/c/sci_xls_open.c new file mode 100755 index 000000000..8a9fe899a --- /dev/null +++ b/modules/spreadsheet/sci_gateway/c/sci_xls_open.c @@ -0,0 +1,250 @@ + +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2005-2008 - INRIA - Serge STEER <serge.steer@inria.fr> + * Copyright (C) 2005-2008 - INRIA - Pierrick MODE + * Copyright (C) 2007-2008 - INRIA - Allan CORNET <allan.cornet@inria.fr> + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +#include <stdlib.h> +#include <stdio.h> +#include <string.h> +#include "stack-c.h" +#include "gw_spreadsheet.h" +#include "xls.h" +#include "ole.h" +#include "ripole.h" +#include "expandPathVariable.h" +#include "MALLOC.h" +#include "mopen.h" +#include "Scierror.h" +#include "localization.h" +#include "tmpdir.h" +#include "Scierror.h" +#include "localization.h" +#include "freeArrayOfString.h" +#include "FileExist.h" +/*--------------------------------------------------------------------------*/ +static char *xls_basename(char *name); + +/*--------------------------------------------------------------------------*/ +int sci_xls_open(char *fname, unsigned long fname_len) +{ +#undef IN +#define max_char_xls_open 256 + int i = 0, m1 = 0, n1 = 0, l1 = 0, l2 = 0, one = 1, fd = 0, f_swap = 0; + int ierr = 0, ns = 0, result = 0; + double res; + char **sst = NULL; + char **Sheetnames = NULL; + int *Abspos = NULL; + int nsheets = 0; + char *filename_IN = NULL; + char TMP[max_char_xls_open]; + char* base_name = NULL; + + char sep[2]; + char *TMPDIR = NULL; + +#ifdef _MSC_VER + sep[0] = '\\'; +#else + sep[0] = '/'; +#endif + sep[1] = '\0'; + + CheckLhs(4, 4); + CheckRhs(1, 1); + + if (VarType(1) != sci_strings) + { + Scierror(999, "%s: Invalid type of input argument: String expected.", fname); + return 0; + } + + /* checking variable file */ + GetRhsVar(1, STRING_DATATYPE, &m1, &n1, &l1); + + filename_IN = expandPathVariable(cstk(l1)); + + { + /* bug 5615 */ + /* remove blank characters @ the end */ + int len = (int)strlen(filename_IN); + int i = 0; + + if (len >= 1) + { + for (i = len - 1; i >= 0; i--) + { + if (filename_IN[i] == ' ') + { + filename_IN[i] = '\0'; + } + else + { + break; + } + } + } + + if (!FileExist(filename_IN)) + { + Scierror(999, _("The file %s does not exist.\n"), filename_IN); + FREE(filename_IN); + return 0; + } + } + + TMPDIR = getTMPDIR(); + strncpy(TMP, TMPDIR, sizeof(TMP)); + FREE(TMPDIR); + + strncat(TMP, sep, sizeof(TMP) - strlen(TMP) - 1); + TMP[sizeof(TMP) - 1] = '\0'; + + base_name = xls_basename(filename_IN); + strncat(TMP, base_name, sizeof(TMP) - strlen(TMP) - 1); + TMP[sizeof(TMP) - 1] = '\0'; + + result = ripole(filename_IN, TMP, 0, 0); + if (result != OLE_OK) + { + if (result == OLEER_NO_INPUT_FILE) + { + Scierror(999, _("The file %s does not exist.\n"), filename_IN); + } + else if (result == OLEER_NOT_OLE_FILE || + result == OLEER_INSANE_OLE_FILE || + result == OLEER_LOADFAT_BAD_BOUNDARY || result == OLEER_MINIFAT_READ_FAIL || result == OLEER_PROPERTIES_READ_FAIL) + { + Scierror(999, _("%s: File %s is not an ole2 file.\n"), fname, filename_IN); + FREE(filename_IN); + } + else if (result == -1) + { + Scierror(999, _("%s: Cannot open file %s.\n"), fname, filename_IN); + FREE(filename_IN); + } + return 0; + } + strcat(TMP, sep); + strcat(TMP, "Workbook"); + C2F(mopen) (&fd, TMP, "rb", &f_swap, &res, &ierr); + if (ierr != 0) + { + Scierror(999, _("%s: There is no xls stream in the ole2 file %s.\n"), fname, filename_IN); + FREE(filename_IN); + return 0; + } + + FREE(filename_IN); + + CreateVar(Rhs + 1, MATRIX_OF_INTEGER_DATATYPE, &one, &one, &l2); + *istk(l2) = fd; /* logical unit */ + + xls_open(&ierr, &fd, &sst, &ns, &Sheetnames, &Abspos, &nsheets); + /*return *err: + * 0 = OK + * 1 = not an OLE file + * 2 = no Workbook included + * 3 = memory allocation problem + * 4 = incorrect file + * 5 = not a BIFF8 xls file + */ + switch (ierr) + { + case 0: + /* OK */ + break; + + case 1: + Scierror(999, _("%s: Not an ole2 file.\n"), fname); + return 0; + + case 2: + Scierror(999, _("%s: The file has no Workbook directory.\n"), fname); + return 0; + + case 3: + Scierror(999, _("%s: No more memory.\n"), fname); + return 0; + + case 4: + Scierror(990, _("%s: Incorrect or corrupted file.\n"), fname); + return 0; + + case 5: + Scierror(999, _("%s: Only BIFF8 file format is handled.\n"), fname); + return 0; + + default: + break; + + } + + if (ns != 0) + { + /* Create a typed list to return the properties */ + CreateVarFromPtr(Rhs + 2, MATRIX_OF_STRING_DATATYPE, &one, &ns, sst); + freeArrayOfString(sst, ns); + } + else + { + CreateVar(Rhs + 2, MATRIX_OF_DOUBLE_DATATYPE, &ns, &ns, &l2); + } + + if (nsheets != 0) + { + /* Create a typed list to return the properties */ + CreateVarFromPtr(Rhs + 3, MATRIX_OF_STRING_DATATYPE, &one, &nsheets, Sheetnames); + freeArrayOfString(Sheetnames, nsheets); + + CreateVar(Rhs + 4, MATRIX_OF_DOUBLE_DATATYPE, &one, &nsheets, &l2); + for (i = 0; i < nsheets; i++) + { + *stk(l2 + i) = Abspos[i]; + } + if (Abspos) + { + FREE(Abspos); + Abspos = NULL; + } + } + else + { + CreateVar(Rhs + 3, MATRIX_OF_DOUBLE_DATATYPE, &nsheets, &nsheets, &l2); + CreateVar(Rhs + 4, MATRIX_OF_DOUBLE_DATATYPE, &nsheets, &nsheets, &l2); + } + + LhsVar(1) = Rhs + 1; + LhsVar(2) = Rhs + 2; + LhsVar(3) = Rhs + 3; + LhsVar(4) = Rhs + 4; + + PutLhsVar(); + + return 0; +} + +/*--------------------------------------------------------------------------*/ +static char *xls_basename(char *name) +{ + char *base = NULL; + +#ifdef _MSC_VER + base = strrchr(name, '\\'); +#else + base = strrchr(name, '/'); +#endif + return base ? base + 1 : name; +} + +/*--------------------------------------------------------------------------*/ diff --git a/modules/spreadsheet/sci_gateway/c/sci_xls_read.c b/modules/spreadsheet/sci_gateway/c/sci_xls_read.c new file mode 100755 index 000000000..34f17f058 --- /dev/null +++ b/modules/spreadsheet/sci_gateway/c/sci_xls_read.c @@ -0,0 +1,99 @@ + +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2005-2008 - INRIA - Serge STEER <serge.steer@inria.fr> + * Copyright (C) 2005-2008 - INRIA - Pierrick MODE + * Copyright (C) 2007-2008 - INRIA - Allan CORNET <allan.cornet@inria.fr> + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +#include <stdlib.h> +#include <stdio.h> +#include <string.h> +#include "stack-c.h" +#include "gw_spreadsheet.h" +#include "xls.h" +#include "Scierror.h" +#include "localization.h" +#include "MALLOC.h" +/*--------------------------------------------------------------------------*/ +int sci_xls_read(char *fname, unsigned long fname_len) +{ + int m1 = 0, n1 = 0, l1 = 0, zero = 0, ierr = 0; + double *data = NULL; + int *ind = NULL; + int M = 0, N = 0, MN = 0; + int pos = 0, fd = 0; + + CheckLhs(2, 2); + CheckRhs(2, 2); + + if (VarType(1) != sci_matrix) + { + Scierror(999, _("%s: Wrong type for input argument #%d: Scalar expected.\n"), fname, 1); + return 0; + } + + if (VarType(2) != sci_matrix) + { + Scierror(999, _("%s: Wrong type for input argument #%d: Scalar expected.\n"), fname, 2); + return 0; + } + + + /* checking variable fd */ + GetRhsVar(1, MATRIX_OF_DOUBLE_DATATYPE, &m1, &n1, &l1); + fd = (int) * stk(l1); + /* checking variable Pos */ + GetRhsVar(2, MATRIX_OF_DOUBLE_DATATYPE, &m1, &n1, &l1); + pos = (int) * stk(l1); + + xls_read(&fd, &pos, &data, &ind, &N, &M, &ierr); + + switch (ierr) + { + case 1 : + Scierror(999, _("%s: No more memory.\n"), fname); + return 0; + break; + case 2 : + Scierror(999, _("%s: Failed to read expected data, may be invalid xls file.\n"), fname); + return 0; + break; + case 3 : + Scierror(999, _("%s: End of file.\n"), fname); + return 0; + break; + default : + /* no error */ + break; + } + + MN = M * N; + + if (MN == 0) + { + CreateVar(Rhs + 1, MATRIX_OF_DOUBLE_DATATYPE, &zero, &zero, &l1); + CreateVar(Rhs + 2, MATRIX_OF_DOUBLE_DATATYPE, &zero, &zero, &l1); + } + else + { + CreateVarFromPtr(Rhs + 1, MATRIX_OF_DOUBLE_DATATYPE, &N, &M, &data); + CreateVarFromPtr(Rhs + 2, MATRIX_OF_INTEGER_DATATYPE, &N, &M, &ind); + FREE(data); + data = NULL; + FREE(ind); + ind = NULL; + } + LhsVar(1) = Rhs + 1; + LhsVar(2) = Rhs + 2; + PutLhsVar(); + return 0; +} +/*--------------------------------------------------------------------------*/ diff --git a/modules/spreadsheet/sci_gateway/spreadsheet_gateway.xml b/modules/spreadsheet/sci_gateway/spreadsheet_gateway.xml new file mode 100755 index 000000000..7a70f7784 --- /dev/null +++ b/modules/spreadsheet/sci_gateway/spreadsheet_gateway.xml @@ -0,0 +1,41 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> + +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2007-2008 - INRIA - Allan CORNET <allan.cornet@inria.fr> + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> + +<!-- + Scilab Interface description. In this file, we define the list of the function which + will be available into Scilab and the link to the "native" function. + + gatewayId is the position in the hashtable 'Interfaces' defined in the + file SCI/modules/core/src/c/callinterf.h + + primitiveId is the position in the hashtable '<module>Table Tab[]' defined + in the file modules/<module>/sci_gateway/c/gw_<module>.c + + primitiveName is the name of the Scilab function + + Don't touch if you do not know what you are doing +--> + +<!DOCTYPE GATEWAY SYSTEM "../../functions/xml/gateway.dtd"> +<GATEWAY name="spreadsheet"> + <PRIMITIVE gatewayId="56" primitiveId="1" primitiveName="xls_open" /> + <PRIMITIVE gatewayId="56" primitiveId="2" primitiveName="xls_read" /> + <PRIMITIVE gatewayId="56" primitiveId="3" primitiveName="csvDefault" /> + <PRIMITIVE gatewayId="56" primitiveId="4" primitiveName="csvRead" /> + <PRIMITIVE gatewayId="56" primitiveId="5" primitiveName="csvStringToDouble" /> + <PRIMITIVE gatewayId="56" primitiveId="6" primitiveName="csvTextScan" /> + <PRIMITIVE gatewayId="56" primitiveId="7" primitiveName="csvWrite" /> + <PRIMITIVE gatewayId="56" primitiveId="8" primitiveName="write_csv" /> + <PRIMITIVE gatewayId="56" primitiveId="9" primitiveName="read_csv" /> +</GATEWAY> diff --git a/modules/spreadsheet/spreadsheet.iss b/modules/spreadsheet/spreadsheet.iss new file mode 100755 index 000000000..1c7a5e7b6 --- /dev/null +++ b/modules/spreadsheet/spreadsheet.iss @@ -0,0 +1,44 @@ +; +; Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +; Copyright (C) INRIA - Allan CORNET +; Copyright (C) DIGITEO - 2010 - Allan CORNET +; +; This file must be used under the terms of the CeCILL. +; This source file is licensed as described in the file COPYING, which +; you should have received as part of this distribution. The terms +; are also available at +; http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt +; +;-------------------------------------------------------------------------------------------------------------- +; Inno Setup Script (5.3 and more) for Scilab (UNICODE version required) +; +;-------------------------------------------------------------------------------------------------------------- +; spreadsheet module +;-------------------------------------------------------------------------------------------------------------- +; +#define SPREADSHEET "spreadsheet" +; +Source: bin\{#SPREADSHEET}.dll; DestDir: {app}\bin; Components: {#COMPN_SCILAB} +; +Source: modules\{#SPREADSHEET}\license.txt; DestDir: {app}\modules\{#SPREADSHEET}; Components: {#COMPN_SCILAB} +; +Source: modules\{#SPREADSHEET}\sci_gateway\{#SPREADSHEET}_gateway.xml; DestDir: {app}\modules\{#SPREADSHEET}\sci_gateway; Components: {#COMPN_SCILAB} +; +;Source: modules\{#SPREADSHEET}\includes\*.h; DestDir: {app}\modules\{#SPREADSHEET}\includes; Components: {#COMPN_SCILAB} +; +Source: modules\{#SPREADSHEET}\etc\{#SPREADSHEET}.quit; DestDir: {app}\modules\{#SPREADSHEET}\etc; Components: {#COMPN_SCILAB} +Source: modules\{#SPREADSHEET}\etc\{#SPREADSHEET}.start; DestDir: {app}\modules\{#SPREADSHEET}\etc; Components: {#COMPN_SCILAB} +; +Source: modules\{#SPREADSHEET}\macros\buildmacros.sce; DestDir: {app}\modules\{#SPREADSHEET}\macros; Components: {#COMPN_SCILAB} +Source: modules\{#SPREADSHEET}\macros\buildmacros.bat; DestDir: {app}\modules\{#SPREADSHEET}\macros; Components: {#COMPN_SCILAB} +Source: modules\{#SPREADSHEET}\macros\cleanmacros.bat; DestDir: {app}\modules\{#SPREADSHEET}\macros; Components: {#COMPN_SCILAB} +Source: modules\{#SPREADSHEET}\macros\*.bin; DestDir: {app}\modules\{#SPREADSHEET}\macros; Components: {#COMPN_SCILAB} +Source: modules\{#SPREADSHEET}\macros\*.sci; DestDir: {app}\modules\{#SPREADSHEET}\macros; Components: {#COMPN_SCILAB} +Source: modules\{#SPREADSHEET}\macros\lib; DestDir: {app}\modules\{#SPREADSHEET}\macros; Components: {#COMPN_SCILAB} +Source: modules\{#SPREADSHEET}\macros\names; DestDir: {app}\modules\{#SPREADSHEET}\macros; Components: {#COMPN_SCILAB} +; +Source: modules\{#SPREADSHEET}\demos\*.*; DestDir: {app}\modules\{#SPREADSHEET}\demos; Flags: recursesubdirs; Components: {#COMPN_SCILAB} +; +Source: modules\{#SPREADSHEET}\tests\*.*; DestDir: {app}\modules\{#SPREADSHEET}\tests; Flags: recursesubdirs; Components: {#COMPN_SCILAB} and {#COMPN_TESTS} +; +;-------------------------------------------------------------------------------------------------------------- diff --git a/modules/spreadsheet/spreadsheet.vcxproj b/modules/spreadsheet/spreadsheet.vcxproj new file mode 100755 index 000000000..13b68dc90 --- /dev/null +++ b/modules/spreadsheet/spreadsheet.vcxproj @@ -0,0 +1,281 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup Label="ProjectConfigurations"> + <ProjectConfiguration Include="Debug|Win32"> + <Configuration>Debug</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Debug|x64"> + <Configuration>Debug</Configuration> + <Platform>x64</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|Win32"> + <Configuration>Release</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|x64"> + <Configuration>Release</Configuration> + <Platform>x64</Platform> + </ProjectConfiguration> + </ItemGroup> + <PropertyGroup Label="Globals"> + <ProjectGuid>{CE521770-0466-4743-B9F6-38F8AEB93888}</ProjectGuid> + <RootNamespace>spreadsheet</RootNamespace> + <Keyword>Win32Proj</Keyword> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> + <ConfigurationType>DynamicLibrary</ConfigurationType> + <CharacterSet>MultiByte</CharacterSet> + <WholeProgramOptimization>false</WholeProgramOptimization> + <PlatformToolset>v110</PlatformToolset> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> + <ConfigurationType>DynamicLibrary</ConfigurationType> + <CharacterSet>MultiByte</CharacterSet> + <PlatformToolset>v110</PlatformToolset> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration"> + <ConfigurationType>DynamicLibrary</ConfigurationType> + <CharacterSet>MultiByte</CharacterSet> + <WholeProgramOptimization>false</WholeProgramOptimization> + <PlatformToolset>v110</PlatformToolset> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration"> + <ConfigurationType>DynamicLibrary</ConfigurationType> + <CharacterSet>MultiByte</CharacterSet> + <PlatformToolset>v110</PlatformToolset> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> + <ImportGroup Label="ExtensionSettings"> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <PropertyGroup Label="UserMacros" /> + <PropertyGroup> + <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)bin\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(ProjectDir)$(Configuration)\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</LinkIncremental> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(SolutionDir)bin\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(ProjectDir)$(Configuration)\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</LinkIncremental> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)bin\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(ProjectDir)$(Configuration)\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)bin\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(ProjectDir)$(Configuration)\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental> + </PropertyGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> + <ClCompile> + <Optimization>Disabled</Optimization> + <AdditionalIncludeDirectories>includes;src/c/ripole;src/c;sci_gateway/cpp;src/cpp;../core/includes;../fileio/includes;../io/includes;../windows_tools/includes;../output_stream/includes;../localization/includes;../../libs/intl;../api_scilab/includes;../string/includes;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>FORDLL;_DEBUG;_WINDOWS;_USRDLL;SPREADSHEET_EXPORTS;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> + <WarningLevel>Level3</WarningLevel> + </ClCompile> + <PreLinkEvent> + <Message>Make dependencies</Message> + <Command>lib /DEF:"$(ProjectDir)core_import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)core.lib" 1>NUL 2>NUL +</Command> + </PreLinkEvent> + <Link> + <AdditionalDependencies>core.lib;%(AdditionalDependencies)</AdditionalDependencies> + <OutputFile>$(SolutionDir)bin\$(ProjectName).dll</OutputFile> + <GenerateDebugInformation>true</GenerateDebugInformation> + <SubSystem>Windows</SubSystem> + <ImportLibrary>$(SolutionDir)bin\$(ProjectName).lib</ImportLibrary> + <TargetMachine>MachineX86</TargetMachine> + <CLRUnmanagedCodeCheck>true</CLRUnmanagedCodeCheck> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + </Link> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> + <Midl> + <TargetEnvironment>X64</TargetEnvironment> + </Midl> + <ClCompile> + <Optimization>Disabled</Optimization> + <AdditionalIncludeDirectories>includes;src/c/ripole;src/c;sci_gateway/cpp;src/cpp;../core/includes;../fileio/includes;../io/includes;../windows_tools/includes;../output_stream/includes;../localization/includes;../../libs/intl;../api_scilab/includes;../string/includes;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>FORDLL;_DEBUG;_WINDOWS;_USRDLL;SPREADSHEET_EXPORTS;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> + <WarningLevel>Level3</WarningLevel> + </ClCompile> + <PreLinkEvent> + <Message>Make dependencies</Message> + <Command>lib /DEF:"$(ProjectDir)core_import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)core.lib" 1>NUL 2>NUL +</Command> + </PreLinkEvent> + <Link> + <AdditionalDependencies>core.lib;%(AdditionalDependencies)</AdditionalDependencies> + <OutputFile>$(SolutionDir)bin\$(ProjectName).dll</OutputFile> + <GenerateDebugInformation>true</GenerateDebugInformation> + <SubSystem>Windows</SubSystem> + <ImportLibrary>$(SolutionDir)bin\$(ProjectName).lib</ImportLibrary> + <TargetMachine>MachineX64</TargetMachine> + <CLRUnmanagedCodeCheck>true</CLRUnmanagedCodeCheck> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + </Link> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> + <ClCompile> + <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed> + <WholeProgramOptimization>false</WholeProgramOptimization> + <AdditionalIncludeDirectories>includes;src/c/ripole;src/c;sci_gateway/cpp;src/cpp;../core/includes;../fileio/includes;../io/includes;../windows_tools/includes;../output_stream/includes;../localization/includes;../../libs/intl;../api_scilab/includes;../string/includes;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>FORDLL;NDEBUG;_WINDOWS;_USRDLL;SPREADSHEET_EXPORTS;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <StringPooling>true</StringPooling> + <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> + <FunctionLevelLinking>true</FunctionLevelLinking> + <WarningLevel>Level3</WarningLevel> + <MultiProcessorCompilation>true</MultiProcessorCompilation> + </ClCompile> + <PreLinkEvent> + <Message>Make dependencies</Message> + <Command>lib /DEF:"$(ProjectDir)core_import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)core.lib" 1>NUL 2>NUL +</Command> + </PreLinkEvent> + <Link> + <AdditionalDependencies>core.lib;%(AdditionalDependencies)</AdditionalDependencies> + <OutputFile>$(SolutionDir)bin\$(ProjectName).dll</OutputFile> + <GenerateDebugInformation>false</GenerateDebugInformation> + <SubSystem>Windows</SubSystem> + <OptimizeReferences>true</OptimizeReferences> + <EnableCOMDATFolding>true</EnableCOMDATFolding> + <ImportLibrary>$(SolutionDir)bin\$(ProjectName).lib</ImportLibrary> + <TargetMachine>MachineX86</TargetMachine> + <CLRUnmanagedCodeCheck>true</CLRUnmanagedCodeCheck> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + </Link> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> + <Midl> + <TargetEnvironment>X64</TargetEnvironment> + </Midl> + <ClCompile> + <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed> + <WholeProgramOptimization>false</WholeProgramOptimization> + <AdditionalIncludeDirectories>includes;src/c/ripole;src/c;sci_gateway/cpp;src/cpp;../core/includes;../fileio/includes;../io/includes;../windows_tools/includes;../output_stream/includes;../localization/includes;../../libs/intl;../api_scilab/includes;../string/includes;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>FORDLL;NDEBUG;_WINDOWS;_USRDLL;SPREADSHEET_EXPORTS;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <StringPooling>true</StringPooling> + <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> + <FunctionLevelLinking>true</FunctionLevelLinking> + <WarningLevel>Level3</WarningLevel> + <MultiProcessorCompilation>true</MultiProcessorCompilation> + </ClCompile> + <PreLinkEvent> + <Message>Make dependencies</Message> + <Command>lib /DEF:"$(ProjectDir)core_import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)core.lib" 1>NUL 2>NUL +</Command> + </PreLinkEvent> + <Link> + <AdditionalDependencies>core.lib;%(AdditionalDependencies)</AdditionalDependencies> + <OutputFile>$(SolutionDir)bin\$(ProjectName).dll</OutputFile> + <GenerateDebugInformation>false</GenerateDebugInformation> + <SubSystem>Windows</SubSystem> + <OptimizeReferences>true</OptimizeReferences> + <EnableCOMDATFolding>true</EnableCOMDATFolding> + <ImportLibrary>$(SolutionDir)bin\$(ProjectName).lib</ImportLibrary> + <TargetMachine>MachineX64</TargetMachine> + <CLRUnmanagedCodeCheck>true</CLRUnmanagedCodeCheck> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + </Link> + </ItemDefinitionGroup> + <ItemGroup> + <ResourceCompile Include="src\c\spreadsheet.rc" /> + </ItemGroup> + <ItemGroup> + <None Include="core_import.def" /> + <None Include="locales\spreadsheet.pot" /> + <None Include="Makefile.am" /> + <None Include="spreadsheet.iss" /> + <None Include="sci_gateway\spreadsheet_gateway.xml" /> + </ItemGroup> + <ItemGroup> + <ProjectReference Include="..\api_scilab\api_scilab.vcxproj"> + <Project>{43c5bab1-1dca-4743-a183-77e0d42fe7d0}</Project> + </ProjectReference> + <ProjectReference Include="..\core\src\c\core.vcxproj"> + <Project>{c6e2bc17-34d8-46e4-85f3-6293cb21adcd}</Project> + </ProjectReference> + <ProjectReference Include="..\fileio\fileio.vcxproj"> + <Project>{4fc72d4a-80ee-4b1a-8724-0201c1a35621}</Project> + <ReferenceOutputAssembly>false</ReferenceOutputAssembly> + </ProjectReference> + <ProjectReference Include="..\localization\src\localization.vcxproj"> + <Project>{ecffeb0c-1eda-45ee-9a10-b18143852e17}</Project> + <ReferenceOutputAssembly>false</ReferenceOutputAssembly> + </ProjectReference> + <ProjectReference Include="..\output_stream\src\c\output_stream.vcxproj"> + <Project>{a5911cd7-f8e8-440c-a23e-4843a0636f3a}</Project> + <ReferenceOutputAssembly>false</ReferenceOutputAssembly> + </ProjectReference> + <ProjectReference Include="..\string\src\c\string.vcxproj"> + <Project>{8d45767a-9b03-4905-97f6-d2f3f79141ea}</Project> + </ProjectReference> + <ProjectReference Include="..\windows_tools\src\c\scilab_windows\scilab_windows.vcxproj"> + <Project>{8028f371-6a94-4a26-8804-6e7f05f1d1aa}</Project> + <ReferenceOutputAssembly>false</ReferenceOutputAssembly> + </ProjectReference> + </ItemGroup> + <ItemGroup> + <ClInclude Include="includes\dynlib_spreadsheet.h" /> + <ClInclude Include="includes\gw_spreadsheet.h" /> + <ClInclude Include="sci_gateway\c\gw_csv_helpers.h" /> + <ClInclude Include="src\c\checkCsvWriteFormat.h" /> + <ClInclude Include="src\c\csvDefault.h" /> + <ClInclude Include="src\c\csvRead.h" /> + <ClInclude Include="src\c\csvWrite.h" /> + <ClInclude Include="src\c\getRange.h" /> + <ClInclude Include="src\c\ripole\bt-int.h" /> + <ClInclude Include="src\c\ripole\bytedecoders.h" /> + <ClInclude Include="src\c\ripole\logger.h" /> + <ClInclude Include="src\c\ripole\ole.h" /> + <ClInclude Include="src\c\ripole\olestream-unwrap.h" /> + <ClInclude Include="src\c\ripole\pldstr.h" /> + <ClInclude Include="src\c\ripole\ripole.h" /> + <ClInclude Include="src\c\splitLine.h" /> + <ClInclude Include="src\c\utftolatin.h" /> + <ClInclude Include="src\c\xls.h" /> + </ItemGroup> + <ItemGroup> + <ClCompile Include="sci_gateway\c\gw_csv_helpers.c" /> + <ClCompile Include="sci_gateway\c\gw_spreadsheet.c" /> + <ClCompile Include="sci_gateway\c\sci_csvDefault.c" /> + <ClCompile Include="sci_gateway\c\sci_csvRead.c" /> + <ClCompile Include="sci_gateway\c\sci_csvStringToDouble.c" /> + <ClCompile Include="sci_gateway\c\sci_csvTextScan.c" /> + <ClCompile Include="sci_gateway\c\sci_csvWrite.c" /> + <ClCompile Include="sci_gateway\c\sci_xls_open.c" /> + <ClCompile Include="sci_gateway\c\sci_xls_read.c" /> + <ClCompile Include="src\c\checkCsvWriteFormat.c" /> + <ClCompile Include="src\c\csvDefault.c" /> + <ClCompile Include="src\c\csvRead.c" /> + <ClCompile Include="src\c\csvWrite.c" /> + <ClCompile Include="src\c\DllmainSpreadsheet.c" /> + <ClCompile Include="src\c\getRange.c" /> + <ClCompile Include="src\c\ripole\bt-int.c" /> + <ClCompile Include="src\c\ripole\bytedecoders.c" /> + <ClCompile Include="src\c\ripole\logger.c" /> + <ClCompile Include="src\c\ripole\ole.c" /> + <ClCompile Include="src\c\ripole\olestream-unwrap.c" /> + <ClCompile Include="src\c\ripole\pldstr.c" /> + <ClCompile Include="src\c\ripole\ripole.c" /> + <ClCompile Include="src\c\splitLine.c" /> + <ClCompile Include="src\c\utftolatin.c" /> + <ClCompile Include="src\c\xls.c" /> + </ItemGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> + <ImportGroup Label="ExtensionTargets"> + </ImportGroup> +</Project>
\ No newline at end of file diff --git a/modules/spreadsheet/spreadsheet.vcxproj.filters b/modules/spreadsheet/spreadsheet.vcxproj.filters new file mode 100755 index 000000000..d7ce7460d --- /dev/null +++ b/modules/spreadsheet/spreadsheet.vcxproj.filters @@ -0,0 +1,181 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup> + <Filter Include="Source Files"> + <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier> + <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions> + </Filter> + <Filter Include="Header Files"> + <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier> + <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions> + </Filter> + <Filter Include="Resource Files"> + <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier> + <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions> + </Filter> + <Filter Include="localization"> + <UniqueIdentifier>{161996ad-c6a7-4b3a-9399-661831bc6390}</UniqueIdentifier> + </Filter> + <Filter Include="Libraries Dependencies"> + <UniqueIdentifier>{7f5c10fb-d9f5-4d01-8be1-a6a730fb9003}</UniqueIdentifier> + </Filter> + <Filter Include="Libraries Dependencies\Imports"> + <UniqueIdentifier>{797cad15-667e-45f1-93a8-a1d93f52adbc}</UniqueIdentifier> + </Filter> + <Filter Include="Header Files\ripole"> + <UniqueIdentifier>{a9229e67-395b-400e-b702-4a6b69e2440b}</UniqueIdentifier> + </Filter> + <Filter Include="Source Files\ripole"> + <UniqueIdentifier>{2af5f1e8-4cbe-4e42-a17d-4810d04ee086}</UniqueIdentifier> + </Filter> + </ItemGroup> + <ItemGroup> + <ResourceCompile Include="src\c\spreadsheet.rc"> + <Filter>Resource Files</Filter> + </ResourceCompile> + </ItemGroup> + <ItemGroup> + <None Include="core_import.def"> + <Filter>Libraries Dependencies\Imports</Filter> + </None> + <None Include="Makefile.am" /> + <None Include="spreadsheet.iss" /> + <None Include="sci_gateway\spreadsheet_gateway.xml" /> + <None Include="locales\spreadsheet.pot"> + <Filter>localization</Filter> + </None> + </ItemGroup> + <ItemGroup> + <ClInclude Include="includes\dynlib_spreadsheet.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="includes\gw_spreadsheet.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="sci_gateway\c\gw_csv_helpers.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="src\c\checkCsvWriteFormat.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="src\c\csvDefault.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="src\c\csvRead.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="src\c\csvWrite.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="src\c\getRange.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="src\c\splitLine.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="src\c\utftolatin.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="src\c\xls.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="src\c\ripole\bt-int.h"> + <Filter>Header Files\ripole</Filter> + </ClInclude> + <ClInclude Include="src\c\ripole\bytedecoders.h"> + <Filter>Header Files\ripole</Filter> + </ClInclude> + <ClInclude Include="src\c\ripole\logger.h"> + <Filter>Header Files\ripole</Filter> + </ClInclude> + <ClInclude Include="src\c\ripole\ole.h"> + <Filter>Header Files\ripole</Filter> + </ClInclude> + <ClInclude Include="src\c\ripole\olestream-unwrap.h"> + <Filter>Header Files\ripole</Filter> + </ClInclude> + <ClInclude Include="src\c\ripole\pldstr.h"> + <Filter>Header Files\ripole</Filter> + </ClInclude> + <ClInclude Include="src\c\ripole\ripole.h"> + <Filter>Header Files\ripole</Filter> + </ClInclude> + </ItemGroup> + <ItemGroup> + <ClCompile Include="sci_gateway\c\gw_csv_helpers.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="sci_gateway\c\gw_spreadsheet.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="sci_gateway\c\sci_csvDefault.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="sci_gateway\c\sci_csvRead.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="sci_gateway\c\sci_csvStringToDouble.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="sci_gateway\c\sci_csvTextScan.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="sci_gateway\c\sci_csvWrite.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="sci_gateway\c\sci_xls_open.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="sci_gateway\c\sci_xls_read.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="src\c\checkCsvWriteFormat.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="src\c\csvDefault.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="src\c\csvRead.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="src\c\csvWrite.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="src\c\DllmainSpreadsheet.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="src\c\getRange.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="src\c\splitLine.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="src\c\utftolatin.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="src\c\xls.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="src\c\ripole\bt-int.c"> + <Filter>Source Files\ripole</Filter> + </ClCompile> + <ClCompile Include="src\c\ripole\bytedecoders.c"> + <Filter>Source Files\ripole</Filter> + </ClCompile> + <ClCompile Include="src\c\ripole\logger.c"> + <Filter>Source Files\ripole</Filter> + </ClCompile> + <ClCompile Include="src\c\ripole\ole.c"> + <Filter>Source Files\ripole</Filter> + </ClCompile> + <ClCompile Include="src\c\ripole\olestream-unwrap.c"> + <Filter>Source Files\ripole</Filter> + </ClCompile> + <ClCompile Include="src\c\ripole\pldstr.c"> + <Filter>Source Files\ripole</Filter> + </ClCompile> + <ClCompile Include="src\c\ripole\ripole.c"> + <Filter>Source Files\ripole</Filter> + </ClCompile> + </ItemGroup> +</Project>
\ No newline at end of file diff --git a/modules/spreadsheet/src/c/.deps/.dirstamp b/modules/spreadsheet/src/c/.deps/.dirstamp new file mode 100755 index 000000000..e69de29bb --- /dev/null +++ b/modules/spreadsheet/src/c/.deps/.dirstamp diff --git a/modules/spreadsheet/src/c/.deps/libscispreadsheet_algo_la-checkCsvWriteFormat.Plo b/modules/spreadsheet/src/c/.deps/libscispreadsheet_algo_la-checkCsvWriteFormat.Plo new file mode 100755 index 000000000..e50974652 --- /dev/null +++ b/modules/spreadsheet/src/c/.deps/libscispreadsheet_algo_la-checkCsvWriteFormat.Plo @@ -0,0 +1,109 @@ +src/c/libscispreadsheet_algo_la-checkCsvWriteFormat.lo: \ + src/c/checkCsvWriteFormat.c /usr/include/stdc-predef.h \ + /usr/include/string.h /usr/include/features.h \ + /usr/include/x86_64-linux-gnu/sys/cdefs.h \ + /usr/include/x86_64-linux-gnu/bits/wordsize.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h /usr/include/xlocale.h \ + /usr/include/x86_64-linux-gnu/bits/string.h \ + /usr/include/x86_64-linux-gnu/bits/string2.h /usr/include/endian.h \ + /usr/include/x86_64-linux-gnu/bits/endian.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap.h \ + /usr/include/x86_64-linux-gnu/bits/types.h \ + /usr/include/x86_64-linux-gnu/bits/typesizes.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap-16.h /usr/include/stdlib.h \ + /usr/include/x86_64-linux-gnu/bits/string3.h /usr/include/ctype.h \ + src/c/csvDefault.h ../../modules/core/includes/MALLOC.h \ + ../../modules/core/includes/sci_mem_alloc.h \ + /usr/include/x86_64-linux-gnu/bits/waitflags.h \ + /usr/include/x86_64-linux-gnu/bits/waitstatus.h \ + /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \ + /usr/include/x86_64-linux-gnu/sys/select.h \ + /usr/include/x86_64-linux-gnu/bits/select.h \ + /usr/include/x86_64-linux-gnu/bits/sigset.h \ + /usr/include/x86_64-linux-gnu/bits/time.h \ + /usr/include/x86_64-linux-gnu/bits/select2.h \ + /usr/include/x86_64-linux-gnu/sys/sysmacros.h \ + /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib.h src/c/checkCsvWriteFormat.h + +/usr/include/stdc-predef.h: + +/usr/include/string.h: + +/usr/include/features.h: + +/usr/include/x86_64-linux-gnu/sys/cdefs.h: + +/usr/include/x86_64-linux-gnu/bits/wordsize.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs-64.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h: + +/usr/include/xlocale.h: + +/usr/include/x86_64-linux-gnu/bits/string.h: + +/usr/include/x86_64-linux-gnu/bits/string2.h: + +/usr/include/endian.h: + +/usr/include/x86_64-linux-gnu/bits/endian.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap.h: + +/usr/include/x86_64-linux-gnu/bits/types.h: + +/usr/include/x86_64-linux-gnu/bits/typesizes.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap-16.h: + +/usr/include/stdlib.h: + +/usr/include/x86_64-linux-gnu/bits/string3.h: + +/usr/include/ctype.h: + +src/c/csvDefault.h: + +../../modules/core/includes/MALLOC.h: + +../../modules/core/includes/sci_mem_alloc.h: + +/usr/include/x86_64-linux-gnu/bits/waitflags.h: + +/usr/include/x86_64-linux-gnu/bits/waitstatus.h: + +/usr/include/x86_64-linux-gnu/sys/types.h: + +/usr/include/time.h: + +/usr/include/x86_64-linux-gnu/sys/select.h: + +/usr/include/x86_64-linux-gnu/bits/select.h: + +/usr/include/x86_64-linux-gnu/bits/sigset.h: + +/usr/include/x86_64-linux-gnu/bits/time.h: + +/usr/include/x86_64-linux-gnu/bits/select2.h: + +/usr/include/x86_64-linux-gnu/sys/sysmacros.h: + +/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h: + +/usr/include/alloca.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib-float.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib.h: + +src/c/checkCsvWriteFormat.h: diff --git a/modules/spreadsheet/src/c/.deps/libscispreadsheet_algo_la-csvDefault.Plo b/modules/spreadsheet/src/c/.deps/libscispreadsheet_algo_la-csvDefault.Plo new file mode 100755 index 000000000..434b01673 --- /dev/null +++ b/modules/spreadsheet/src/c/.deps/libscispreadsheet_algo_la-csvDefault.Plo @@ -0,0 +1,106 @@ +src/c/libscispreadsheet_algo_la-csvDefault.lo: src/c/csvDefault.c \ + /usr/include/stdc-predef.h /usr/include/string.h /usr/include/features.h \ + /usr/include/x86_64-linux-gnu/sys/cdefs.h \ + /usr/include/x86_64-linux-gnu/bits/wordsize.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h /usr/include/xlocale.h \ + /usr/include/x86_64-linux-gnu/bits/string.h \ + /usr/include/x86_64-linux-gnu/bits/string2.h /usr/include/endian.h \ + /usr/include/x86_64-linux-gnu/bits/endian.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap.h \ + /usr/include/x86_64-linux-gnu/bits/types.h \ + /usr/include/x86_64-linux-gnu/bits/typesizes.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap-16.h /usr/include/stdlib.h \ + /usr/include/x86_64-linux-gnu/bits/string3.h src/c/csvDefault.h \ + ../../modules/core/includes/MALLOC.h \ + ../../modules/core/includes/sci_mem_alloc.h \ + /usr/include/x86_64-linux-gnu/bits/waitflags.h \ + /usr/include/x86_64-linux-gnu/bits/waitstatus.h \ + /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \ + /usr/include/x86_64-linux-gnu/sys/select.h \ + /usr/include/x86_64-linux-gnu/bits/select.h \ + /usr/include/x86_64-linux-gnu/bits/sigset.h \ + /usr/include/x86_64-linux-gnu/bits/time.h \ + /usr/include/x86_64-linux-gnu/bits/select2.h \ + /usr/include/x86_64-linux-gnu/sys/sysmacros.h \ + /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib.h src/c/checkCsvWriteFormat.h + +/usr/include/stdc-predef.h: + +/usr/include/string.h: + +/usr/include/features.h: + +/usr/include/x86_64-linux-gnu/sys/cdefs.h: + +/usr/include/x86_64-linux-gnu/bits/wordsize.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs-64.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h: + +/usr/include/xlocale.h: + +/usr/include/x86_64-linux-gnu/bits/string.h: + +/usr/include/x86_64-linux-gnu/bits/string2.h: + +/usr/include/endian.h: + +/usr/include/x86_64-linux-gnu/bits/endian.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap.h: + +/usr/include/x86_64-linux-gnu/bits/types.h: + +/usr/include/x86_64-linux-gnu/bits/typesizes.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap-16.h: + +/usr/include/stdlib.h: + +/usr/include/x86_64-linux-gnu/bits/string3.h: + +src/c/csvDefault.h: + +../../modules/core/includes/MALLOC.h: + +../../modules/core/includes/sci_mem_alloc.h: + +/usr/include/x86_64-linux-gnu/bits/waitflags.h: + +/usr/include/x86_64-linux-gnu/bits/waitstatus.h: + +/usr/include/x86_64-linux-gnu/sys/types.h: + +/usr/include/time.h: + +/usr/include/x86_64-linux-gnu/sys/select.h: + +/usr/include/x86_64-linux-gnu/bits/select.h: + +/usr/include/x86_64-linux-gnu/bits/sigset.h: + +/usr/include/x86_64-linux-gnu/bits/time.h: + +/usr/include/x86_64-linux-gnu/bits/select2.h: + +/usr/include/x86_64-linux-gnu/sys/sysmacros.h: + +/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h: + +/usr/include/alloca.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib-float.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib.h: + +src/c/checkCsvWriteFormat.h: diff --git a/modules/spreadsheet/src/c/.deps/libscispreadsheet_algo_la-csvRead.Plo b/modules/spreadsheet/src/c/.deps/libscispreadsheet_algo_la-csvRead.Plo new file mode 100755 index 000000000..5d3fe2f5b --- /dev/null +++ b/modules/spreadsheet/src/c/.deps/libscispreadsheet_algo_la-csvRead.Plo @@ -0,0 +1,205 @@ +src/c/libscispreadsheet_algo_la-csvRead.lo: src/c/csvRead.c \ + /usr/include/stdc-predef.h /usr/include/string.h /usr/include/features.h \ + /usr/include/x86_64-linux-gnu/sys/cdefs.h \ + /usr/include/x86_64-linux-gnu/bits/wordsize.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h /usr/include/xlocale.h \ + /usr/include/x86_64-linux-gnu/bits/string.h \ + /usr/include/x86_64-linux-gnu/bits/string2.h /usr/include/endian.h \ + /usr/include/x86_64-linux-gnu/bits/endian.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap.h \ + /usr/include/x86_64-linux-gnu/bits/types.h \ + /usr/include/x86_64-linux-gnu/bits/typesizes.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap-16.h /usr/include/stdlib.h \ + /usr/include/x86_64-linux-gnu/bits/string3.h /usr/include/stdio.h \ + /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \ + /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \ + /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \ + /usr/include/x86_64-linux-gnu/bits/stdio.h \ + /usr/include/x86_64-linux-gnu/bits/stdio2.h src/c/csvRead.h \ + ../../modules/core/includes/MALLOC.h \ + ../../modules/core/includes/sci_mem_alloc.h \ + /usr/include/x86_64-linux-gnu/bits/waitflags.h \ + /usr/include/x86_64-linux-gnu/bits/waitstatus.h \ + /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \ + /usr/include/x86_64-linux-gnu/sys/select.h \ + /usr/include/x86_64-linux-gnu/bits/select.h \ + /usr/include/x86_64-linux-gnu/bits/sigset.h \ + /usr/include/x86_64-linux-gnu/bits/time.h \ + /usr/include/x86_64-linux-gnu/bits/select2.h \ + /usr/include/x86_64-linux-gnu/sys/sysmacros.h \ + /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib.h \ + ../../modules/core/includes/freeArrayOfString.h \ + /usr/include/x86_64-linux-gnu/bits/wchar.h \ + /usr/include/x86_64-linux-gnu/bits/wchar2.h \ + ../../modules/core/includes/BOOL.h ../../modules/fileio/includes/mopen.h \ + ../../modules/fileio/includes/dynlib_fileio.h \ + ../../modules/core/includes/machine.h \ + ../../modules/fileio/includes/mgetl.h \ + ../../modules/localization/includes/charEncoding.h \ + /usr/include/x86_64-linux-gnu/sys/stat.h \ + /usr/include/x86_64-linux-gnu/bits/stat.h \ + ../../modules/core/includes/BOOL.h \ + ../../modules/localization/includes/localization.h \ + /usr/include/libintl.h /usr/include/locale.h \ + /usr/include/x86_64-linux-gnu/bits/locale.h \ + ../../modules/fileio/includes/expandPathVariable.h \ + ../../modules/fileio/includes/FileExist.h \ + ../../modules/fileio/includes/mclose.h \ + ../../modules/core/includes/warningmode.h \ + ../../modules/core/includes/machine.h \ + ../../modules/string/includes/pcre_private.h \ + ../../modules/string/includes/dynlib_string.h \ + ../../modules/output_stream/includes/sciprint.h src/c/splitLine.h \ + ../../modules/string/includes/strsubst.h src/c/csvDefault.h + +/usr/include/stdc-predef.h: + +/usr/include/string.h: + +/usr/include/features.h: + +/usr/include/x86_64-linux-gnu/sys/cdefs.h: + +/usr/include/x86_64-linux-gnu/bits/wordsize.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs-64.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h: + +/usr/include/xlocale.h: + +/usr/include/x86_64-linux-gnu/bits/string.h: + +/usr/include/x86_64-linux-gnu/bits/string2.h: + +/usr/include/endian.h: + +/usr/include/x86_64-linux-gnu/bits/endian.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap.h: + +/usr/include/x86_64-linux-gnu/bits/types.h: + +/usr/include/x86_64-linux-gnu/bits/typesizes.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap-16.h: + +/usr/include/stdlib.h: + +/usr/include/x86_64-linux-gnu/bits/string3.h: + +/usr/include/stdio.h: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/wchar.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h: + +/usr/include/x86_64-linux-gnu/bits/stdio_lim.h: + +/usr/include/x86_64-linux-gnu/bits/sys_errlist.h: + +/usr/include/x86_64-linux-gnu/bits/stdio.h: + +/usr/include/x86_64-linux-gnu/bits/stdio2.h: + +src/c/csvRead.h: + +../../modules/core/includes/MALLOC.h: + +../../modules/core/includes/sci_mem_alloc.h: + +/usr/include/x86_64-linux-gnu/bits/waitflags.h: + +/usr/include/x86_64-linux-gnu/bits/waitstatus.h: + +/usr/include/x86_64-linux-gnu/sys/types.h: + +/usr/include/time.h: + +/usr/include/x86_64-linux-gnu/sys/select.h: + +/usr/include/x86_64-linux-gnu/bits/select.h: + +/usr/include/x86_64-linux-gnu/bits/sigset.h: + +/usr/include/x86_64-linux-gnu/bits/time.h: + +/usr/include/x86_64-linux-gnu/bits/select2.h: + +/usr/include/x86_64-linux-gnu/sys/sysmacros.h: + +/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h: + +/usr/include/alloca.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib-float.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib.h: + +../../modules/core/includes/freeArrayOfString.h: + +/usr/include/x86_64-linux-gnu/bits/wchar.h: + +/usr/include/x86_64-linux-gnu/bits/wchar2.h: + +../../modules/core/includes/BOOL.h: + +../../modules/fileio/includes/mopen.h: + +../../modules/fileio/includes/dynlib_fileio.h: + +../../modules/core/includes/machine.h: + +../../modules/fileio/includes/mgetl.h: + +../../modules/localization/includes/charEncoding.h: + +/usr/include/x86_64-linux-gnu/sys/stat.h: + +/usr/include/x86_64-linux-gnu/bits/stat.h: + +../../modules/core/includes/BOOL.h: + +../../modules/localization/includes/localization.h: + +/usr/include/libintl.h: + +/usr/include/locale.h: + +/usr/include/x86_64-linux-gnu/bits/locale.h: + +../../modules/fileio/includes/expandPathVariable.h: + +../../modules/fileio/includes/FileExist.h: + +../../modules/fileio/includes/mclose.h: + +../../modules/core/includes/warningmode.h: + +../../modules/core/includes/machine.h: + +../../modules/string/includes/pcre_private.h: + +../../modules/string/includes/dynlib_string.h: + +../../modules/output_stream/includes/sciprint.h: + +src/c/splitLine.h: + +../../modules/string/includes/strsubst.h: + +src/c/csvDefault.h: diff --git a/modules/spreadsheet/src/c/.deps/libscispreadsheet_algo_la-csvWrite.Plo b/modules/spreadsheet/src/c/.deps/libscispreadsheet_algo_la-csvWrite.Plo new file mode 100755 index 000000000..b28a9098a --- /dev/null +++ b/modules/spreadsheet/src/c/.deps/libscispreadsheet_algo_la-csvWrite.Plo @@ -0,0 +1,244 @@ +src/c/libscispreadsheet_algo_la-csvWrite.lo: src/c/csvWrite.c \ + /usr/include/stdc-predef.h /usr/include/stdio.h /usr/include/features.h \ + /usr/include/x86_64-linux-gnu/sys/cdefs.h \ + /usr/include/x86_64-linux-gnu/bits/wordsize.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h \ + /usr/include/x86_64-linux-gnu/bits/types.h \ + /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/libio.h \ + /usr/include/_G_config.h /usr/include/wchar.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \ + /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \ + /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \ + /usr/include/x86_64-linux-gnu/bits/stdio.h \ + /usr/include/x86_64-linux-gnu/bits/stdio2.h /usr/include/string.h \ + /usr/include/xlocale.h /usr/include/x86_64-linux-gnu/bits/string.h \ + /usr/include/x86_64-linux-gnu/bits/string2.h /usr/include/endian.h \ + /usr/include/x86_64-linux-gnu/bits/endian.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap-16.h /usr/include/stdlib.h \ + /usr/include/x86_64-linux-gnu/bits/string3.h \ + ../../modules/string/includes/stringToDouble.h \ + ../../modules/string/includes/dynlib_string.h \ + ../../modules/core/includes/BOOL.h src/c/csvWrite.h \ + ../../modules/fileio/includes/mopen.h \ + ../../modules/fileio/includes/dynlib_fileio.h \ + ../../modules/core/includes/machine.h \ + ../../modules/fileio/includes/mgetl.h \ + ../../modules/localization/includes/charEncoding.h \ + /usr/include/x86_64-linux-gnu/bits/wchar.h \ + /usr/include/x86_64-linux-gnu/bits/wchar2.h \ + /usr/include/x86_64-linux-gnu/sys/stat.h /usr/include/time.h \ + /usr/include/x86_64-linux-gnu/bits/stat.h \ + /usr/include/x86_64-linux-gnu/sys/types.h \ + /usr/include/x86_64-linux-gnu/sys/select.h \ + /usr/include/x86_64-linux-gnu/bits/select.h \ + /usr/include/x86_64-linux-gnu/bits/sigset.h \ + /usr/include/x86_64-linux-gnu/bits/time.h \ + /usr/include/x86_64-linux-gnu/bits/select2.h \ + /usr/include/x86_64-linux-gnu/sys/sysmacros.h \ + /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h \ + ../../modules/core/includes/MALLOC.h \ + ../../modules/core/includes/sci_mem_alloc.h \ + /usr/include/x86_64-linux-gnu/bits/waitflags.h \ + /usr/include/x86_64-linux-gnu/bits/waitstatus.h /usr/include/alloca.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib.h \ + ../../modules/fileio/includes/expandPathVariable.h \ + ../../modules/fileio/includes/FileExist.h \ + ../../modules/fileio/includes/mclose.h \ + ../../modules/core/includes/core_math.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h \ + /usr/include/limits.h /usr/include/x86_64-linux-gnu/bits/posix1_lim.h \ + /usr/include/x86_64-linux-gnu/bits/local_lim.h \ + /usr/include/linux/limits.h \ + /usr/include/x86_64-linux-gnu/bits/posix2_lim.h \ + /usr/include/x86_64-linux-gnu/bits/xopen_lim.h /usr/include/math.h \ + /usr/include/x86_64-linux-gnu/bits/math-vector.h \ + /usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h \ + /usr/include/x86_64-linux-gnu/bits/huge_val.h \ + /usr/include/x86_64-linux-gnu/bits/huge_valf.h \ + /usr/include/x86_64-linux-gnu/bits/huge_vall.h \ + /usr/include/x86_64-linux-gnu/bits/inf.h \ + /usr/include/x86_64-linux-gnu/bits/nan.h \ + /usr/include/x86_64-linux-gnu/bits/mathdef.h \ + /usr/include/x86_64-linux-gnu/bits/mathcalls.h \ + /usr/include/x86_64-linux-gnu/bits/mathinline.h /usr/include/values.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include/float.h \ + ../../modules/string/includes/strsubst.h src/c/csvDefault.h \ + src/c/utftolatin.h + +/usr/include/stdc-predef.h: + +/usr/include/stdio.h: + +/usr/include/features.h: + +/usr/include/x86_64-linux-gnu/sys/cdefs.h: + +/usr/include/x86_64-linux-gnu/bits/wordsize.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs-64.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h: + +/usr/include/x86_64-linux-gnu/bits/types.h: + +/usr/include/x86_64-linux-gnu/bits/typesizes.h: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/wchar.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h: + +/usr/include/x86_64-linux-gnu/bits/stdio_lim.h: + +/usr/include/x86_64-linux-gnu/bits/sys_errlist.h: + +/usr/include/x86_64-linux-gnu/bits/stdio.h: + +/usr/include/x86_64-linux-gnu/bits/stdio2.h: + +/usr/include/string.h: + +/usr/include/xlocale.h: + +/usr/include/x86_64-linux-gnu/bits/string.h: + +/usr/include/x86_64-linux-gnu/bits/string2.h: + +/usr/include/endian.h: + +/usr/include/x86_64-linux-gnu/bits/endian.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap-16.h: + +/usr/include/stdlib.h: + +/usr/include/x86_64-linux-gnu/bits/string3.h: + +../../modules/string/includes/stringToDouble.h: + +../../modules/string/includes/dynlib_string.h: + +../../modules/core/includes/BOOL.h: + +src/c/csvWrite.h: + +../../modules/fileio/includes/mopen.h: + +../../modules/fileio/includes/dynlib_fileio.h: + +../../modules/core/includes/machine.h: + +../../modules/fileio/includes/mgetl.h: + +../../modules/localization/includes/charEncoding.h: + +/usr/include/x86_64-linux-gnu/bits/wchar.h: + +/usr/include/x86_64-linux-gnu/bits/wchar2.h: + +/usr/include/x86_64-linux-gnu/sys/stat.h: + +/usr/include/time.h: + +/usr/include/x86_64-linux-gnu/bits/stat.h: + +/usr/include/x86_64-linux-gnu/sys/types.h: + +/usr/include/x86_64-linux-gnu/sys/select.h: + +/usr/include/x86_64-linux-gnu/bits/select.h: + +/usr/include/x86_64-linux-gnu/bits/sigset.h: + +/usr/include/x86_64-linux-gnu/bits/time.h: + +/usr/include/x86_64-linux-gnu/bits/select2.h: + +/usr/include/x86_64-linux-gnu/sys/sysmacros.h: + +/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h: + +../../modules/core/includes/MALLOC.h: + +../../modules/core/includes/sci_mem_alloc.h: + +/usr/include/x86_64-linux-gnu/bits/waitflags.h: + +/usr/include/x86_64-linux-gnu/bits/waitstatus.h: + +/usr/include/alloca.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib-float.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib.h: + +../../modules/fileio/includes/expandPathVariable.h: + +../../modules/fileio/includes/FileExist.h: + +../../modules/fileio/includes/mclose.h: + +../../modules/core/includes/core_math.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h: + +/usr/include/limits.h: + +/usr/include/x86_64-linux-gnu/bits/posix1_lim.h: + +/usr/include/x86_64-linux-gnu/bits/local_lim.h: + +/usr/include/linux/limits.h: + +/usr/include/x86_64-linux-gnu/bits/posix2_lim.h: + +/usr/include/x86_64-linux-gnu/bits/xopen_lim.h: + +/usr/include/math.h: + +/usr/include/x86_64-linux-gnu/bits/math-vector.h: + +/usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h: + +/usr/include/x86_64-linux-gnu/bits/huge_val.h: + +/usr/include/x86_64-linux-gnu/bits/huge_valf.h: + +/usr/include/x86_64-linux-gnu/bits/huge_vall.h: + +/usr/include/x86_64-linux-gnu/bits/inf.h: + +/usr/include/x86_64-linux-gnu/bits/nan.h: + +/usr/include/x86_64-linux-gnu/bits/mathdef.h: + +/usr/include/x86_64-linux-gnu/bits/mathcalls.h: + +/usr/include/x86_64-linux-gnu/bits/mathinline.h: + +/usr/include/values.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/float.h: + +../../modules/string/includes/strsubst.h: + +src/c/csvDefault.h: + +src/c/utftolatin.h: diff --git a/modules/spreadsheet/src/c/.deps/libscispreadsheet_algo_la-getRange.Plo b/modules/spreadsheet/src/c/.deps/libscispreadsheet_algo_la-getRange.Plo new file mode 100755 index 000000000..621e3a34f --- /dev/null +++ b/modules/spreadsheet/src/c/.deps/libscispreadsheet_algo_la-getRange.Plo @@ -0,0 +1,113 @@ +src/c/libscispreadsheet_algo_la-getRange.lo: src/c/getRange.c \ + /usr/include/stdc-predef.h /usr/include/string.h /usr/include/features.h \ + /usr/include/x86_64-linux-gnu/sys/cdefs.h \ + /usr/include/x86_64-linux-gnu/bits/wordsize.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h /usr/include/xlocale.h \ + /usr/include/x86_64-linux-gnu/bits/string.h \ + /usr/include/x86_64-linux-gnu/bits/string2.h /usr/include/endian.h \ + /usr/include/x86_64-linux-gnu/bits/endian.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap.h \ + /usr/include/x86_64-linux-gnu/bits/types.h \ + /usr/include/x86_64-linux-gnu/bits/typesizes.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap-16.h /usr/include/stdlib.h \ + /usr/include/x86_64-linux-gnu/bits/string3.h \ + ../../modules/core/includes/MALLOC.h \ + ../../modules/core/includes/sci_mem_alloc.h \ + /usr/include/x86_64-linux-gnu/bits/waitflags.h \ + /usr/include/x86_64-linux-gnu/bits/waitstatus.h \ + /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \ + /usr/include/x86_64-linux-gnu/sys/select.h \ + /usr/include/x86_64-linux-gnu/bits/select.h \ + /usr/include/x86_64-linux-gnu/bits/sigset.h \ + /usr/include/x86_64-linux-gnu/bits/time.h \ + /usr/include/x86_64-linux-gnu/bits/select2.h \ + /usr/include/x86_64-linux-gnu/sys/sysmacros.h \ + /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib.h src/c/getRange.h \ + ../../modules/core/includes/doublecomplex.h \ + ../../modules/string/includes/complex_array.h \ + ../../modules/string/includes/dynlib_string.h + +/usr/include/stdc-predef.h: + +/usr/include/string.h: + +/usr/include/features.h: + +/usr/include/x86_64-linux-gnu/sys/cdefs.h: + +/usr/include/x86_64-linux-gnu/bits/wordsize.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs-64.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h: + +/usr/include/xlocale.h: + +/usr/include/x86_64-linux-gnu/bits/string.h: + +/usr/include/x86_64-linux-gnu/bits/string2.h: + +/usr/include/endian.h: + +/usr/include/x86_64-linux-gnu/bits/endian.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap.h: + +/usr/include/x86_64-linux-gnu/bits/types.h: + +/usr/include/x86_64-linux-gnu/bits/typesizes.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap-16.h: + +/usr/include/stdlib.h: + +/usr/include/x86_64-linux-gnu/bits/string3.h: + +../../modules/core/includes/MALLOC.h: + +../../modules/core/includes/sci_mem_alloc.h: + +/usr/include/x86_64-linux-gnu/bits/waitflags.h: + +/usr/include/x86_64-linux-gnu/bits/waitstatus.h: + +/usr/include/x86_64-linux-gnu/sys/types.h: + +/usr/include/time.h: + +/usr/include/x86_64-linux-gnu/sys/select.h: + +/usr/include/x86_64-linux-gnu/bits/select.h: + +/usr/include/x86_64-linux-gnu/bits/sigset.h: + +/usr/include/x86_64-linux-gnu/bits/time.h: + +/usr/include/x86_64-linux-gnu/bits/select2.h: + +/usr/include/x86_64-linux-gnu/sys/sysmacros.h: + +/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h: + +/usr/include/alloca.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib-float.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib.h: + +src/c/getRange.h: + +../../modules/core/includes/doublecomplex.h: + +../../modules/string/includes/complex_array.h: + +../../modules/string/includes/dynlib_string.h: diff --git a/modules/spreadsheet/src/c/.deps/libscispreadsheet_algo_la-splitLine.Plo b/modules/spreadsheet/src/c/.deps/libscispreadsheet_algo_la-splitLine.Plo new file mode 100755 index 000000000..98ddb15ce --- /dev/null +++ b/modules/spreadsheet/src/c/.deps/libscispreadsheet_algo_la-splitLine.Plo @@ -0,0 +1,146 @@ +src/c/libscispreadsheet_algo_la-splitLine.lo: src/c/splitLine.c \ + /usr/include/stdc-predef.h /usr/include/string.h /usr/include/features.h \ + /usr/include/x86_64-linux-gnu/sys/cdefs.h \ + /usr/include/x86_64-linux-gnu/bits/wordsize.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h /usr/include/xlocale.h \ + /usr/include/x86_64-linux-gnu/bits/string.h \ + /usr/include/x86_64-linux-gnu/bits/string2.h /usr/include/endian.h \ + /usr/include/x86_64-linux-gnu/bits/endian.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap.h \ + /usr/include/x86_64-linux-gnu/bits/types.h \ + /usr/include/x86_64-linux-gnu/bits/typesizes.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap-16.h /usr/include/stdlib.h \ + /usr/include/x86_64-linux-gnu/bits/string3.h /usr/include/stdio.h \ + /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \ + /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \ + /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \ + /usr/include/x86_64-linux-gnu/bits/stdio.h \ + /usr/include/x86_64-linux-gnu/bits/stdio2.h src/c/splitLine.h \ + ../../modules/string/includes/strsubst.h \ + ../../modules/string/includes/dynlib_string.h \ + ../../modules/core/includes/MALLOC.h \ + ../../modules/core/includes/sci_mem_alloc.h \ + /usr/include/x86_64-linux-gnu/bits/waitflags.h \ + /usr/include/x86_64-linux-gnu/bits/waitstatus.h \ + /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \ + /usr/include/x86_64-linux-gnu/sys/select.h \ + /usr/include/x86_64-linux-gnu/bits/select.h \ + /usr/include/x86_64-linux-gnu/bits/sigset.h \ + /usr/include/x86_64-linux-gnu/bits/time.h \ + /usr/include/x86_64-linux-gnu/bits/select2.h \ + /usr/include/x86_64-linux-gnu/sys/sysmacros.h \ + /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib.h \ + ../../modules/core/includes/freeArrayOfString.h \ + /usr/include/x86_64-linux-gnu/bits/wchar.h \ + /usr/include/x86_64-linux-gnu/bits/wchar2.h \ + ../../modules/core/includes/BOOL.h + +/usr/include/stdc-predef.h: + +/usr/include/string.h: + +/usr/include/features.h: + +/usr/include/x86_64-linux-gnu/sys/cdefs.h: + +/usr/include/x86_64-linux-gnu/bits/wordsize.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs-64.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h: + +/usr/include/xlocale.h: + +/usr/include/x86_64-linux-gnu/bits/string.h: + +/usr/include/x86_64-linux-gnu/bits/string2.h: + +/usr/include/endian.h: + +/usr/include/x86_64-linux-gnu/bits/endian.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap.h: + +/usr/include/x86_64-linux-gnu/bits/types.h: + +/usr/include/x86_64-linux-gnu/bits/typesizes.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap-16.h: + +/usr/include/stdlib.h: + +/usr/include/x86_64-linux-gnu/bits/string3.h: + +/usr/include/stdio.h: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/wchar.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h: + +/usr/include/x86_64-linux-gnu/bits/stdio_lim.h: + +/usr/include/x86_64-linux-gnu/bits/sys_errlist.h: + +/usr/include/x86_64-linux-gnu/bits/stdio.h: + +/usr/include/x86_64-linux-gnu/bits/stdio2.h: + +src/c/splitLine.h: + +../../modules/string/includes/strsubst.h: + +../../modules/string/includes/dynlib_string.h: + +../../modules/core/includes/MALLOC.h: + +../../modules/core/includes/sci_mem_alloc.h: + +/usr/include/x86_64-linux-gnu/bits/waitflags.h: + +/usr/include/x86_64-linux-gnu/bits/waitstatus.h: + +/usr/include/x86_64-linux-gnu/sys/types.h: + +/usr/include/time.h: + +/usr/include/x86_64-linux-gnu/sys/select.h: + +/usr/include/x86_64-linux-gnu/bits/select.h: + +/usr/include/x86_64-linux-gnu/bits/sigset.h: + +/usr/include/x86_64-linux-gnu/bits/time.h: + +/usr/include/x86_64-linux-gnu/bits/select2.h: + +/usr/include/x86_64-linux-gnu/sys/sysmacros.h: + +/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h: + +/usr/include/alloca.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib-float.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib.h: + +../../modules/core/includes/freeArrayOfString.h: + +/usr/include/x86_64-linux-gnu/bits/wchar.h: + +/usr/include/x86_64-linux-gnu/bits/wchar2.h: + +../../modules/core/includes/BOOL.h: diff --git a/modules/spreadsheet/src/c/.deps/libscispreadsheet_algo_la-utftolatin.Plo b/modules/spreadsheet/src/c/.deps/libscispreadsheet_algo_la-utftolatin.Plo new file mode 100755 index 000000000..5c430d99c --- /dev/null +++ b/modules/spreadsheet/src/c/.deps/libscispreadsheet_algo_la-utftolatin.Plo @@ -0,0 +1,104 @@ +src/c/libscispreadsheet_algo_la-utftolatin.lo: src/c/utftolatin.c \ + /usr/include/stdc-predef.h /usr/include/string.h /usr/include/features.h \ + /usr/include/x86_64-linux-gnu/sys/cdefs.h \ + /usr/include/x86_64-linux-gnu/bits/wordsize.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h /usr/include/xlocale.h \ + /usr/include/x86_64-linux-gnu/bits/string.h \ + /usr/include/x86_64-linux-gnu/bits/string2.h /usr/include/endian.h \ + /usr/include/x86_64-linux-gnu/bits/endian.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap.h \ + /usr/include/x86_64-linux-gnu/bits/types.h \ + /usr/include/x86_64-linux-gnu/bits/typesizes.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap-16.h /usr/include/stdlib.h \ + /usr/include/x86_64-linux-gnu/bits/string3.h src/c/utftolatin.h \ + ../../modules/core/includes/MALLOC.h \ + ../../modules/core/includes/sci_mem_alloc.h \ + /usr/include/x86_64-linux-gnu/bits/waitflags.h \ + /usr/include/x86_64-linux-gnu/bits/waitstatus.h \ + /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \ + /usr/include/x86_64-linux-gnu/sys/select.h \ + /usr/include/x86_64-linux-gnu/bits/select.h \ + /usr/include/x86_64-linux-gnu/bits/sigset.h \ + /usr/include/x86_64-linux-gnu/bits/time.h \ + /usr/include/x86_64-linux-gnu/bits/select2.h \ + /usr/include/x86_64-linux-gnu/sys/sysmacros.h \ + /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib.h + +/usr/include/stdc-predef.h: + +/usr/include/string.h: + +/usr/include/features.h: + +/usr/include/x86_64-linux-gnu/sys/cdefs.h: + +/usr/include/x86_64-linux-gnu/bits/wordsize.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs-64.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h: + +/usr/include/xlocale.h: + +/usr/include/x86_64-linux-gnu/bits/string.h: + +/usr/include/x86_64-linux-gnu/bits/string2.h: + +/usr/include/endian.h: + +/usr/include/x86_64-linux-gnu/bits/endian.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap.h: + +/usr/include/x86_64-linux-gnu/bits/types.h: + +/usr/include/x86_64-linux-gnu/bits/typesizes.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap-16.h: + +/usr/include/stdlib.h: + +/usr/include/x86_64-linux-gnu/bits/string3.h: + +src/c/utftolatin.h: + +../../modules/core/includes/MALLOC.h: + +../../modules/core/includes/sci_mem_alloc.h: + +/usr/include/x86_64-linux-gnu/bits/waitflags.h: + +/usr/include/x86_64-linux-gnu/bits/waitstatus.h: + +/usr/include/x86_64-linux-gnu/sys/types.h: + +/usr/include/time.h: + +/usr/include/x86_64-linux-gnu/sys/select.h: + +/usr/include/x86_64-linux-gnu/bits/select.h: + +/usr/include/x86_64-linux-gnu/bits/sigset.h: + +/usr/include/x86_64-linux-gnu/bits/time.h: + +/usr/include/x86_64-linux-gnu/bits/select2.h: + +/usr/include/x86_64-linux-gnu/sys/sysmacros.h: + +/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h: + +/usr/include/alloca.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib-float.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib.h: diff --git a/modules/spreadsheet/src/c/.deps/libscispreadsheet_algo_la-xls.Plo b/modules/spreadsheet/src/c/.deps/libscispreadsheet_algo_la-xls.Plo new file mode 100755 index 000000000..df47355a6 --- /dev/null +++ b/modules/spreadsheet/src/c/.deps/libscispreadsheet_algo_la-xls.Plo @@ -0,0 +1,210 @@ +src/c/libscispreadsheet_algo_la-xls.lo: src/c/xls.c \ + /usr/include/stdc-predef.h /usr/include/stdlib.h /usr/include/features.h \ + /usr/include/x86_64-linux-gnu/sys/cdefs.h \ + /usr/include/x86_64-linux-gnu/bits/wordsize.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h \ + /usr/include/x86_64-linux-gnu/bits/waitflags.h \ + /usr/include/x86_64-linux-gnu/bits/waitstatus.h /usr/include/endian.h \ + /usr/include/x86_64-linux-gnu/bits/endian.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap.h \ + /usr/include/x86_64-linux-gnu/bits/types.h \ + /usr/include/x86_64-linux-gnu/bits/typesizes.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap-16.h \ + /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \ + /usr/include/x86_64-linux-gnu/sys/select.h \ + /usr/include/x86_64-linux-gnu/bits/select.h \ + /usr/include/x86_64-linux-gnu/bits/sigset.h \ + /usr/include/x86_64-linux-gnu/bits/time.h \ + /usr/include/x86_64-linux-gnu/bits/select2.h \ + /usr/include/x86_64-linux-gnu/sys/sysmacros.h \ + /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib.h /usr/include/stdio.h \ + /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \ + /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \ + /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \ + /usr/include/x86_64-linux-gnu/bits/stdio.h \ + /usr/include/x86_64-linux-gnu/bits/stdio2.h /usr/include/string.h \ + /usr/include/xlocale.h /usr/include/x86_64-linux-gnu/bits/string.h \ + /usr/include/x86_64-linux-gnu/bits/string2.h \ + /usr/include/x86_64-linux-gnu/bits/string3.h \ + ../../modules/core/includes/core_math.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h \ + /usr/include/limits.h /usr/include/x86_64-linux-gnu/bits/posix1_lim.h \ + /usr/include/x86_64-linux-gnu/bits/local_lim.h \ + /usr/include/linux/limits.h \ + /usr/include/x86_64-linux-gnu/bits/posix2_lim.h /usr/include/math.h \ + /usr/include/x86_64-linux-gnu/bits/math-vector.h \ + /usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h \ + /usr/include/x86_64-linux-gnu/bits/huge_val.h \ + /usr/include/x86_64-linux-gnu/bits/huge_valf.h \ + /usr/include/x86_64-linux-gnu/bits/huge_vall.h \ + /usr/include/x86_64-linux-gnu/bits/inf.h \ + /usr/include/x86_64-linux-gnu/bits/nan.h \ + /usr/include/x86_64-linux-gnu/bits/mathdef.h \ + /usr/include/x86_64-linux-gnu/bits/mathcalls.h \ + /usr/include/x86_64-linux-gnu/bits/mathinline.h \ + ../../modules/core/includes/MALLOC.h \ + ../../modules/core/includes/sci_mem_alloc.h \ + ../../modules/output_stream/includes/sciprint.h \ + ../../modules/core/includes/BOOL.h \ + ../../modules/core/includes/returnanan.h \ + ../../modules/core/includes/machine.h src/c/xls.h \ + ../../modules/fileio/includes/mseek.h \ + ../../modules/fileio/includes/dynlib_fileio.h \ + ../../modules/core/includes/machine.h \ + ../../modules/fileio/includes/mtell.h \ + ../../modules/fileio/includes/mget.h + +/usr/include/stdc-predef.h: + +/usr/include/stdlib.h: + +/usr/include/features.h: + +/usr/include/x86_64-linux-gnu/sys/cdefs.h: + +/usr/include/x86_64-linux-gnu/bits/wordsize.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs-64.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h: + +/usr/include/x86_64-linux-gnu/bits/waitflags.h: + +/usr/include/x86_64-linux-gnu/bits/waitstatus.h: + +/usr/include/endian.h: + +/usr/include/x86_64-linux-gnu/bits/endian.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap.h: + +/usr/include/x86_64-linux-gnu/bits/types.h: + +/usr/include/x86_64-linux-gnu/bits/typesizes.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap-16.h: + +/usr/include/x86_64-linux-gnu/sys/types.h: + +/usr/include/time.h: + +/usr/include/x86_64-linux-gnu/sys/select.h: + +/usr/include/x86_64-linux-gnu/bits/select.h: + +/usr/include/x86_64-linux-gnu/bits/sigset.h: + +/usr/include/x86_64-linux-gnu/bits/time.h: + +/usr/include/x86_64-linux-gnu/bits/select2.h: + +/usr/include/x86_64-linux-gnu/sys/sysmacros.h: + +/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h: + +/usr/include/alloca.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib-float.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib.h: + +/usr/include/stdio.h: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/wchar.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h: + +/usr/include/x86_64-linux-gnu/bits/stdio_lim.h: + +/usr/include/x86_64-linux-gnu/bits/sys_errlist.h: + +/usr/include/x86_64-linux-gnu/bits/stdio.h: + +/usr/include/x86_64-linux-gnu/bits/stdio2.h: + +/usr/include/string.h: + +/usr/include/xlocale.h: + +/usr/include/x86_64-linux-gnu/bits/string.h: + +/usr/include/x86_64-linux-gnu/bits/string2.h: + +/usr/include/x86_64-linux-gnu/bits/string3.h: + +../../modules/core/includes/core_math.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h: + +/usr/include/limits.h: + +/usr/include/x86_64-linux-gnu/bits/posix1_lim.h: + +/usr/include/x86_64-linux-gnu/bits/local_lim.h: + +/usr/include/linux/limits.h: + +/usr/include/x86_64-linux-gnu/bits/posix2_lim.h: + +/usr/include/math.h: + +/usr/include/x86_64-linux-gnu/bits/math-vector.h: + +/usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h: + +/usr/include/x86_64-linux-gnu/bits/huge_val.h: + +/usr/include/x86_64-linux-gnu/bits/huge_valf.h: + +/usr/include/x86_64-linux-gnu/bits/huge_vall.h: + +/usr/include/x86_64-linux-gnu/bits/inf.h: + +/usr/include/x86_64-linux-gnu/bits/nan.h: + +/usr/include/x86_64-linux-gnu/bits/mathdef.h: + +/usr/include/x86_64-linux-gnu/bits/mathcalls.h: + +/usr/include/x86_64-linux-gnu/bits/mathinline.h: + +../../modules/core/includes/MALLOC.h: + +../../modules/core/includes/sci_mem_alloc.h: + +../../modules/output_stream/includes/sciprint.h: + +../../modules/core/includes/BOOL.h: + +../../modules/core/includes/returnanan.h: + +../../modules/core/includes/machine.h: + +src/c/xls.h: + +../../modules/fileio/includes/mseek.h: + +../../modules/fileio/includes/dynlib_fileio.h: + +../../modules/core/includes/machine.h: + +../../modules/fileio/includes/mtell.h: + +../../modules/fileio/includes/mget.h: diff --git a/modules/spreadsheet/src/c/.dirstamp b/modules/spreadsheet/src/c/.dirstamp new file mode 100755 index 000000000..e69de29bb --- /dev/null +++ b/modules/spreadsheet/src/c/.dirstamp diff --git a/modules/spreadsheet/src/c/.libs/libscispreadsheet_algo_la-checkCsvWriteFormat.o b/modules/spreadsheet/src/c/.libs/libscispreadsheet_algo_la-checkCsvWriteFormat.o Binary files differnew file mode 100755 index 000000000..4a7d4c817 --- /dev/null +++ b/modules/spreadsheet/src/c/.libs/libscispreadsheet_algo_la-checkCsvWriteFormat.o diff --git a/modules/spreadsheet/src/c/.libs/libscispreadsheet_algo_la-csvDefault.o b/modules/spreadsheet/src/c/.libs/libscispreadsheet_algo_la-csvDefault.o Binary files differnew file mode 100755 index 000000000..a8a212d90 --- /dev/null +++ b/modules/spreadsheet/src/c/.libs/libscispreadsheet_algo_la-csvDefault.o diff --git a/modules/spreadsheet/src/c/.libs/libscispreadsheet_algo_la-csvRead.o b/modules/spreadsheet/src/c/.libs/libscispreadsheet_algo_la-csvRead.o Binary files differnew file mode 100755 index 000000000..852a1fd25 --- /dev/null +++ b/modules/spreadsheet/src/c/.libs/libscispreadsheet_algo_la-csvRead.o diff --git a/modules/spreadsheet/src/c/.libs/libscispreadsheet_algo_la-csvWrite.o b/modules/spreadsheet/src/c/.libs/libscispreadsheet_algo_la-csvWrite.o Binary files differnew file mode 100755 index 000000000..f9e0d338f --- /dev/null +++ b/modules/spreadsheet/src/c/.libs/libscispreadsheet_algo_la-csvWrite.o diff --git a/modules/spreadsheet/src/c/.libs/libscispreadsheet_algo_la-getRange.o b/modules/spreadsheet/src/c/.libs/libscispreadsheet_algo_la-getRange.o Binary files differnew file mode 100755 index 000000000..ac5a5ef31 --- /dev/null +++ b/modules/spreadsheet/src/c/.libs/libscispreadsheet_algo_la-getRange.o diff --git a/modules/spreadsheet/src/c/.libs/libscispreadsheet_algo_la-splitLine.o b/modules/spreadsheet/src/c/.libs/libscispreadsheet_algo_la-splitLine.o Binary files differnew file mode 100755 index 000000000..a2e96c293 --- /dev/null +++ b/modules/spreadsheet/src/c/.libs/libscispreadsheet_algo_la-splitLine.o diff --git a/modules/spreadsheet/src/c/.libs/libscispreadsheet_algo_la-utftolatin.o b/modules/spreadsheet/src/c/.libs/libscispreadsheet_algo_la-utftolatin.o Binary files differnew file mode 100755 index 000000000..776ed2520 --- /dev/null +++ b/modules/spreadsheet/src/c/.libs/libscispreadsheet_algo_la-utftolatin.o diff --git a/modules/spreadsheet/src/c/.libs/libscispreadsheet_algo_la-xls.o b/modules/spreadsheet/src/c/.libs/libscispreadsheet_algo_la-xls.o Binary files differnew file mode 100755 index 000000000..585e80904 --- /dev/null +++ b/modules/spreadsheet/src/c/.libs/libscispreadsheet_algo_la-xls.o diff --git a/modules/spreadsheet/src/c/DllmainSpreadsheet.c b/modules/spreadsheet/src/c/DllmainSpreadsheet.c new file mode 100755 index 000000000..29f2a419b --- /dev/null +++ b/modules/spreadsheet/src/c/DllmainSpreadsheet.c @@ -0,0 +1,33 @@ + +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2007-2008 - INRIA - Allan CORNET <allan.cornet@inria.fr> + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +#include <windows.h> +/*--------------------------------------------------------------------------*/ +#pragma comment(lib,"../../bin/libintl.lib") +/*--------------------------------------------------------------------------*/ +int WINAPI DllMain (HINSTANCE hInstance , DWORD reason, PVOID pvReserved) +{ + switch (reason) + { + case DLL_PROCESS_ATTACH: + break; + case DLL_PROCESS_DETACH: + break; + case DLL_THREAD_ATTACH: + break; + case DLL_THREAD_DETACH: + break; + } + return 1; +} +/*--------------------------------------------------------------------------*/ diff --git a/modules/spreadsheet/src/c/checkCsvWriteFormat.c b/modules/spreadsheet/src/c/checkCsvWriteFormat.c new file mode 100755 index 000000000..005984092 --- /dev/null +++ b/modules/spreadsheet/src/c/checkCsvWriteFormat.c @@ -0,0 +1,99 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2010-2011 - DIGITEO - Allan CORNET + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ +#include <string.h> +#include <ctype.h> +#include "csvDefault.h" +#include "MALLOC.h" +#ifdef _MSC_VER +#include "strdup_windows.h" +#endif +#include "checkCsvWriteFormat.h" +// ============================================================================= +#define NB_FORMAT_SUPPORTED 7 +static const char *supportedFormat[NB_FORMAT_SUPPORTED] = +{"lf", "lg", "d", "i", "e", "f", "g"}; +// ============================================================================= +static char *replaceInFormat(const char *format); +static char *getCleanedFormat(const char *format); +// ============================================================================= +int checkCsvWriteFormat(const char *format) +{ + if (format) + { + char *tokenPercent1 = strchr((char*)format, '%'); + char *tokenPercent2 = strrchr((char*)format, '%'); + if ((tokenPercent2 && tokenPercent1) && (tokenPercent1 == tokenPercent2)) + { + char *cleanedFormat = getCleanedFormat(format); + if (cleanedFormat) + { + FREE(cleanedFormat); + cleanedFormat = NULL; + return 0; + } + } + } + return 1; +} +// ============================================================================= +static char *replaceInFormat(const char *format) +{ + if (format) + { + char *cleanedFormat = getCleanedFormat(format); + if (cleanedFormat) + { + FREE(cleanedFormat); + cleanedFormat = NULL; + return strdup("%s"); + } + } + + return NULL; +} +// ============================================================================= +static char *getCleanedFormat(const char *format) +{ + char *cleanedFormat = NULL; + if (format) + { + char *percent = strchr((char*)format, '%'); + if (percent) + { + int i = 0; + for (i = 0; i < NB_FORMAT_SUPPORTED; i++) + { + char *token = strstr(percent, supportedFormat[i]); + if (token) + { + size_t nbcharacters = strlen(percent) - strlen(token); + cleanedFormat = strdup(percent); + cleanedFormat[nbcharacters] = 0; + if ( ((nbcharacters - 1 > 0) && (isdigit(cleanedFormat[nbcharacters - 1])) || + (cleanedFormat[nbcharacters - 1]) == '.') || + (cleanedFormat[nbcharacters - 1]) == '%') + { + strcat(cleanedFormat, supportedFormat[i]); + return cleanedFormat; + } + else + { + FREE(cleanedFormat); + cleanedFormat = NULL; + } + } + } + } + } + return cleanedFormat; +} +// ============================================================================= diff --git a/modules/spreadsheet/src/c/checkCsvWriteFormat.h b/modules/spreadsheet/src/c/checkCsvWriteFormat.h new file mode 100755 index 000000000..6f02d7e92 --- /dev/null +++ b/modules/spreadsheet/src/c/checkCsvWriteFormat.h @@ -0,0 +1,27 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2010-2011 - DIGITEO - Allan CORNET + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ +#ifndef __CHECKCSVWRITEFORMAT_H__ +#define __CHECKCSVWRITEFORMAT_H__ + +#ifdef __cplusplus +extern "C" { +#endif + + int checkCsvWriteFormat(const char *format); + +#ifdef __cplusplus +} +#endif + + +#endif /* __CHECKCSVWRITEFORMAT_H__ */ +// ============================================================================= diff --git a/modules/spreadsheet/src/c/csvDefault.c b/modules/spreadsheet/src/c/csvDefault.c new file mode 100755 index 000000000..5e86b9d71 --- /dev/null +++ b/modules/spreadsheet/src/c/csvDefault.c @@ -0,0 +1,439 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2010-2011 - DIGITEO - Allan CORNET + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ +#include <string.h> +#include "csvDefault.h" +#include "MALLOC.h" +#ifdef _MSC_VER +#include "strdup_windows.h" +#endif +#include "checkCsvWriteFormat.h" +// ============================================================================= +#define DEFAULT_CSV_SEPARATOR "," +#define DEFAULT_CSV_DECIMAL "." +#define DEFAULT_CSV_PRECISION "%.17lg" +#define DEFAULT_CSV_COMMENTS_REGEXP "" +#ifdef _MSC_VER +#define DEFAULT_CSV_EOL "\r\n" +#else +#define DEFAULT_CSV_EOL "\n" +#endif +#define CSV_DECIMAL_MODE_1 DEFAULT_CSV_DECIMAL +#define CSV_DECIMAL_MODE_2 "," +#define DEFAULT_CSV_CONVERSION "double" +#define CSV_CONVERSION_MODE_1 DEFAULT_CSV_CONVERSION +#define CSV_CONVERSION_MODE_2 "string" +#define DEFAULT_CSV_ENCODING "utf-8" +#define DEFAULT_CSV_ENCODING_MODE1 "utf-8" +#define DEFAULT_CSV_ENCODING_MODE2 "iso-latin" +#define CSV_IGNORE_BLANK_LINE_MODE_1 "off" +#define CSV_IGNORE_BLANK_LINE_MODE_2 "on" +#define DEFAULT_IGNORE_BLANK_LINE CSV_IGNORE_BLANK_LINE_MODE_2 +// ============================================================================= +static char *defaultCsvSeparator = NULL; +static char *defaultCsvDecimal = NULL; +static char *defaultCsvConversion = NULL; +static char *defaultCsvPrecision = NULL; +static char *defaultCsvCommentsRegExp = NULL; +static char *defaultCsvEOL = NULL; +static char *defaultCsvEncoding = NULL; +static char *defaultCsvIgnoreBlankLine = NULL; +// ============================================================================= +static int initializeCsvDefaultValues(void); +// ============================================================================= +const char *getCsvDefaultSeparator(void) +{ + initializeCsvDefaultValues(); + return defaultCsvSeparator; +} +// ============================================================================= +const char *getCsvDefaultDecimal(void) +{ + initializeCsvDefaultValues(); + return defaultCsvDecimal; +} +// ============================================================================= +const char *getCsvDefaultConversion(void) +{ + initializeCsvDefaultValues(); + return defaultCsvConversion; +} +// ============================================================================= +const char *getCsvDefaultPrecision(void) +{ + initializeCsvDefaultValues(); + return defaultCsvPrecision; +} +// ============================================================================= +const char *getCsvDefaultCommentsRegExp(void) +{ + initializeCsvDefaultValues(); + return defaultCsvCommentsRegExp; +} +// ============================================================================= +const char *getCsvDefaultEOL(void) +{ + initializeCsvDefaultValues(); + return defaultCsvEOL; +} +// ============================================================================= +const char *getCsvDefaultEncoding(void) +{ + initializeCsvDefaultValues(); + return defaultCsvEncoding; +} +// ============================================================================= +const char *getCsvDefaultCsvIgnoreBlankLine(void) +{ + initializeCsvDefaultValues(); + return defaultCsvIgnoreBlankLine; +} +// ============================================================================= +int setCsvDefaultSeparator(const char *separator) +{ + if (initializeCsvDefaultValues()) + { + return 1; + } + if (separator == NULL) + { + return 1; + } + + if (strcmp(separator, getCsvDefaultDecimal()) == 0) + { + return 1; + } + + if (defaultCsvSeparator) + { + FREE(defaultCsvSeparator); + } + defaultCsvSeparator = strdup(separator); + if (defaultCsvSeparator == NULL) + { + return 1; + } + + return 0; +} +// ============================================================================= +int setCsvDefaultDecimal(const char *decimal) +{ + if (initializeCsvDefaultValues()) + { + return 1; + } + if (decimal == NULL) + { + return 1; + } + + /* decimal separator supported . and , */ + if ((strcmp(decimal, CSV_DECIMAL_MODE_1) == 0) || + (strcmp(decimal, CSV_DECIMAL_MODE_2) == 0)) + { + if (defaultCsvDecimal) + { + FREE(defaultCsvDecimal); + } + defaultCsvDecimal = strdup(decimal); + if (defaultCsvDecimal) + { + return 0; + } + } + return 1; +} +// ============================================================================= +int setCsvDefaultConversion(const char *conversion) +{ + if (initializeCsvDefaultValues()) + { + return 1; + } + if (conversion == NULL) + { + return 1; + } + + if ((strcmp(conversion, CSV_CONVERSION_MODE_1) == 0) || + (strcmp(conversion, CSV_CONVERSION_MODE_2) == 0)) + { + if (defaultCsvConversion) + { + FREE(defaultCsvConversion); + } + defaultCsvConversion = strdup(conversion); + if (defaultCsvConversion) + { + return 0; + } + } + + return 1; +} +// ============================================================================= +int setCsvDefaultPrecision(const char *precision) +{ + if (initializeCsvDefaultValues()) + { + return 1; + } + if (precision == NULL) + { + return 1; + } + if (checkCsvWriteFormat(precision) == 0) + { + if (defaultCsvPrecision) + { + FREE(defaultCsvPrecision); + } + defaultCsvPrecision = strdup(precision); + if (defaultCsvPrecision) + { + return 0; + } + } + return 1; +} +// ============================================================================= +int setCsvDefaultCsvIgnoreBlankLine(const char *blankMode) +{ + if (initializeCsvDefaultValues()) + { + return 1; + } + if (blankMode == NULL) + { + return 1; + } + if ((strcmp(blankMode, CSV_IGNORE_BLANK_LINE_MODE_1) == 0) || + (strcmp(blankMode, CSV_IGNORE_BLANK_LINE_MODE_2) == 0)) + { + if (defaultCsvIgnoreBlankLine) + { + FREE(defaultCsvIgnoreBlankLine); + } + defaultCsvIgnoreBlankLine = strdup(blankMode); + if (defaultCsvIgnoreBlankLine) + { + return 0; + } + } + return 1; +} +// ============================================================================= +static int initializeCsvDefaultValues(void) +{ + if (defaultCsvSeparator == NULL) + { + defaultCsvSeparator = strdup(DEFAULT_CSV_SEPARATOR); + } + + if (defaultCsvDecimal == NULL) + { + defaultCsvDecimal = strdup(DEFAULT_CSV_DECIMAL); + } + + if (defaultCsvConversion == NULL) + { + defaultCsvConversion = strdup(DEFAULT_CSV_CONVERSION); + } + + if (defaultCsvPrecision == NULL) + { + defaultCsvPrecision = strdup(DEFAULT_CSV_PRECISION); + } + + if (defaultCsvCommentsRegExp == NULL) + { + defaultCsvCommentsRegExp = strdup(DEFAULT_CSV_COMMENTS_REGEXP); + } + + if (defaultCsvEOL == NULL) + { + defaultCsvEOL = strdup(DEFAULT_CSV_EOL); + } + + if (defaultCsvEncoding == NULL) + { + defaultCsvEncoding = strdup(DEFAULT_CSV_ENCODING); + } + + if (defaultCsvIgnoreBlankLine == NULL) + { + defaultCsvIgnoreBlankLine = strdup(DEFAULT_IGNORE_BLANK_LINE); + } + + if ((defaultCsvSeparator == NULL) || + (defaultCsvDecimal == NULL) || + (defaultCsvConversion == NULL) || + (defaultCsvPrecision == NULL) || + (defaultCsvCommentsRegExp == NULL) || + (defaultCsvEOL == NULL) || + (defaultCsvEncoding == NULL) || + (defaultCsvIgnoreBlankLine == NULL)) + { + return 1; + } + + return 0; +} +// ============================================================================= +int setCsvDefaultReset(void) +{ + if (defaultCsvSeparator) + { + FREE(defaultCsvSeparator); + defaultCsvSeparator = NULL; + } + if (defaultCsvDecimal) + { + FREE(defaultCsvDecimal); + defaultCsvDecimal = NULL; + } + if (defaultCsvConversion) + { + FREE(defaultCsvConversion); + defaultCsvConversion = NULL; + } + if (defaultCsvPrecision) + { + FREE(defaultCsvPrecision); + defaultCsvPrecision = NULL; + } + if (defaultCsvCommentsRegExp) + { + FREE(defaultCsvCommentsRegExp); + defaultCsvCommentsRegExp = NULL; + } + if (defaultCsvEOL) + { + FREE(defaultCsvEOL); + defaultCsvEOL = NULL; + } + if (defaultCsvEncoding) + { + FREE(defaultCsvEncoding); + defaultCsvEncoding = NULL; + } + if (defaultCsvIgnoreBlankLine) + { + FREE(defaultCsvIgnoreBlankLine); + defaultCsvIgnoreBlankLine = NULL; + } + return initializeCsvDefaultValues(); +} +// ============================================================================= +int setCsvDefaultCommentsRegExp(const char *commentsRegExp) +{ + if (initializeCsvDefaultValues()) + { + return 1; + } + if (commentsRegExp == NULL) + { + return 1; + } + + if (strcmp(commentsRegExp, getCsvDefaultCommentsRegExp()) == 0) + { + return 1; + } + + if (defaultCsvCommentsRegExp) + { + FREE(defaultCsvCommentsRegExp); + defaultCsvCommentsRegExp = NULL; + } + + defaultCsvCommentsRegExp = strdup(commentsRegExp); + + if (defaultCsvDecimal == NULL) + { + return 1; + } + + return 0; +} +// ============================================================================= +int setCsvDefaultEOL(const char *eol) +{ + if (initializeCsvDefaultValues()) + { + return 1; + } + if (eol == NULL) + { + return 1; + } + + if (strcmp(eol, getCsvDefaultEOL()) == 0) + { + return 0; + } + + if (defaultCsvEOL) + { + FREE(defaultCsvEOL); + defaultCsvEOL = NULL; + } + + defaultCsvEOL = strdup(eol); + + if (defaultCsvEOL == NULL) + { + return 1; + } + + return 0; +} +// ============================================================================= +int setCsvDefaultEncoding(const char *encoding) +{ + if (initializeCsvDefaultValues()) + { + return 1; + } + if (encoding == NULL) + { + return 1; + } + + if (strcmp(encoding, getCsvDefaultEncoding()) == 0) + { + return 1; + } + + if ((strcmp(encoding, DEFAULT_CSV_ENCODING_MODE1) != 0) && + (strcmp(encoding, DEFAULT_CSV_ENCODING_MODE2) != 0)) + { + return 1; + } + + if (defaultCsvEncoding) + { + FREE(defaultCsvEncoding); + defaultCsvEncoding = NULL; + } + + defaultCsvEncoding = strdup(encoding); + + if (defaultCsvEncoding == NULL) + { + return 1; + } + + return 0; +} +// ============================================================================= diff --git a/modules/spreadsheet/src/c/csvDefault.h b/modules/spreadsheet/src/c/csvDefault.h new file mode 100755 index 000000000..2fc78531e --- /dev/null +++ b/modules/spreadsheet/src/c/csvDefault.h @@ -0,0 +1,45 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2010-2011 - DIGITEO - Allan CORNET + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ +#ifndef __CSV_DEFAULT_H__ +#define __CSV_DEFAULT_H__ + +#ifdef __cplusplus +extern "C" { +#endif + + const char *getCsvDefaultSeparator(void); + const char *getCsvDefaultDecimal(void); + const char *getCsvDefaultConversion(void); + const char *getCsvDefaultPrecision(void); + const char *getCsvDefaultCommentsRegExp(void); + const char *getCsvDefaultEOL(void); + const char *getCsvDefaultEncoding(void); + const char *getCsvDefaultCsvIgnoreBlankLine(void); + + int setCsvDefaultSeparator(const char *separator); + int setCsvDefaultDecimal(const char *decimal); + int setCsvDefaultConversion(const char *conversion); + int setCsvDefaultPrecision(const char *precision); + int setCsvDefaultCommentsRegExp(const char *commentsRegExp); + int setCsvDefaultEOL(const char *eol); + int setCsvDefaultEncoding(const char *encoding); + int setCsvDefaultCsvIgnoreBlankLine(const char *blankMode); + + int setCsvDefaultReset(void); + +#ifdef __cplusplus +} +#endif + + +#endif /* __CSV_DEFAULT_H__ */ +// ============================================================================= diff --git a/modules/spreadsheet/src/c/csvRead.c b/modules/spreadsheet/src/c/csvRead.c new file mode 100755 index 000000000..fb967c10d --- /dev/null +++ b/modules/spreadsheet/src/c/csvRead.c @@ -0,0 +1,723 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2010-2011 - DIGITEO - Allan CORNET + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ +#include <string.h> +#include <stdio.h> +#include "csvRead.h" +#include "MALLOC.h" +#include "freeArrayOfString.h" +#include "mopen.h" +#include "mgetl.h" +#include "localization.h" +#include "expandPathVariable.h" +#include "FileExist.h" +#include "mclose.h" +#include "warningmode.h" +#include "pcre_private.h" +#include "sciprint.h" +#include "splitLine.h" +#include "strsubst.h" +#if _MSC_VER +#include "strdup_windows.h" +#endif +#include "csvDefault.h" +// ============================================================================= +#if _MSC_VER +#define READ_ONLY_TEXT_MODE "rt" +#else +#define READ_ONLY_TEXT_MODE "r" +#endif +// ============================================================================= +static int getNumbersOfColumnsInLines(const char **lines, int sizelines, + const char *separator); +static int getNumbersOfColumnsInLine(const char *line, const char *separator); +static char **getStringsFromLines(const char **lines, int sizelines, + const char *separator, const char *decimal, + int m, int n); +static char **removeEmptyLinesAtTheEnd(const char **lines, int *sizelines); +static char *stripCharacters(const char *line); +static char **replaceStrings(const char **lines, int nbLines, const char **toreplace, int sizetoreplace); +static char **extractComments(const char **lines, int nbLines, const char *regexpcomments, int *nbcomments, int *iErr); +static char **removeComments(const char **lines, int nbLines, const char *regexpcomments, int *nbNewLine, int *iErr); +static char **removeAllBlankLines(const char **lines, int *sizelines); +// ============================================================================= +csvResult* csvRead(const char *filename, const char *separator, const char *decimal, const char **toreplace, int sizetoreplace, const char *regexpcomments, int header) +{ + char *expandedFilename = NULL; + csvResult *result = NULL; + int fd = 0; + int f_swap = 0; + double res = 0.0; + int errMOPEN = MOPEN_INVALID_STATUS; + int errMGETL = MGETL_ERROR; + double dErrClose = 0.; + char **lines = NULL; + int nblines = 0; + char **replacedInLines = NULL; + char **pComments = NULL; + int nbComments = 0; + + if ((filename == NULL) || (separator == NULL) || (decimal == NULL)) + { + return NULL; + } + + expandedFilename = expandPathVariable((char*)filename); + if (!FileExist(expandedFilename)) + { + result = (csvResult*)(MALLOC(sizeof(csvResult))); + if (result) + { + result->err = CSV_READ_FILE_NOT_EXIST; + result->m = 0; + result->n = 0; + result->pstrValues = NULL; + result->pstrComments = NULL; + result->nbComments = 0; + } + + FREE(expandedFilename); + return result; + } + + C2F(mopen)(&fd, expandedFilename, (char*)READ_ONLY_TEXT_MODE, &f_swap, &res, &errMOPEN); + FREE(expandedFilename); + + if (errMOPEN != MOPEN_NO_ERROR) + { + result = (csvResult*)(MALLOC(sizeof(csvResult))); + if (result) + { + result->err = CSV_READ_MOPEN_ERROR; + result->m = 0; + result->n = 0; + result->pstrValues = NULL; + result->pstrComments = NULL; + result->nbComments = 0; + + } + return result; + } + + if (header != 0) + { + mgetl(fd, header, &nblines, &errMGETL); + } + lines = mgetl(fd, -1, &nblines, &errMGETL); + + C2F(mclose)(&fd, &dErrClose); + + if (errMGETL != MGETL_NO_ERROR) + { + if (lines) + { + freeArrayOfString(lines, nblines); + lines = NULL; + } + + result = (csvResult*)(MALLOC(sizeof(csvResult))); + if (result) + { + result->err = CSV_READ_READLINES_ERROR; + result->m = 0; + result->n = 0; + result->pstrValues = NULL; + result->pstrComments = NULL; + result->nbComments = 0; + } + return result; + } + + if (regexpcomments) + { + int iErr = 0; + + pComments = extractComments((const char**)lines, nblines, (const char*)regexpcomments, &nbComments, &iErr); + + if ((iErr == CAN_NOT_COMPILE_PATTERN) || (iErr == DELIMITER_NOT_ALPHANUMERIC)) + { + result = (csvResult*)(MALLOC(sizeof(csvResult))); + if (result) + { + if ((iErr == CAN_NOT_COMPILE_PATTERN) || (iErr == DELIMITER_NOT_ALPHANUMERIC)) + { + iErr = CSV_READ_REGEXP_ERROR; + } + result->err = (csvReadError)iErr; + result->m = 0; + result->n = 0; + result->pstrValues = NULL; + result->pstrComments = NULL; + result->nbComments = 0; + } + return result; + } + + if (pComments) + { + char **pCleanedLines = NULL; + int nbCleanedLines = 0; + int i = 0; + + pCleanedLines = removeComments((const char**)lines, nblines, (const char*)regexpcomments, &nbCleanedLines, &iErr); + if (pCleanedLines) + { + FREE(lines); + lines = pCleanedLines; + nblines = nbCleanedLines; + } + + } + } + + if (toreplace && (sizetoreplace > 0)) + { + replacedInLines = replaceStrings((const char**)lines, nblines, toreplace, sizetoreplace); + if (replacedInLines) + { + freeArrayOfString(lines, nblines); + lines = replacedInLines; + } + } + + result = csvTextScan((const char**)lines, nblines, (const char*)separator, (const char*)decimal); + freeArrayOfString(lines, nblines); + + if (result) + { + result->pstrComments = pComments; + result->nbComments = nbComments; + } + else + { + freeArrayOfString(pComments, nbComments); + } + + + return result; +} +// ============================================================================= +csvResult* csvTextScan(const char **lines, int numberOfLines, const char *separator, const char *decimal) +{ + csvResult *result = NULL; + int nbRows = 0; + int nbColumns = 0; + char **cellsStrings = NULL; + char **cleanedLines = NULL; + int nbLines = numberOfLines; + + if (strcmp(separator, decimal) == 0) + { + result = (csvResult*)(MALLOC(sizeof(csvResult))); + if (result) + { + result->err = CSV_READ_SEPARATOR_DECIMAL_EQUAL; + result->m = 0; + result->n = 0; + result->pstrValues = NULL; + result->pstrComments = NULL; + result->nbComments = 0; + } + return result; + } + + // ticket 472 + { + const char *blankMode = getCsvDefaultCsvIgnoreBlankLine(); + if (strcmp(blankMode, "on") == 0) + { + char **tmpLines = removeAllBlankLines(lines, &nbLines); + if (tmpLines) + { + freeArrayOfString(cleanedLines, nbLines); + cleanedLines = tmpLines; + } + } + else + { + /* remove last lines empty (bug 7003 in scilab)*/ + cleanedLines = removeEmptyLinesAtTheEnd(lines, &nbLines); + } + } + + nbColumns = getNumbersOfColumnsInLines((const char **)cleanedLines, nbLines, separator); + if (nbColumns == 0) + { + result = (csvResult*)(MALLOC(sizeof(csvResult))); + if (result) + { + result->err = CSV_READ_COLUMNS_ERROR; + result->m = 0; + result->n = 0; + result->pstrValues = NULL; + result->pstrComments = NULL; + result->nbComments = 0; + } + FREE(cleanedLines); + return result; + } + else + { + nbRows = nbLines; + } + + cellsStrings = getStringsFromLines((const char **)cleanedLines, nbLines, separator, decimal, nbColumns, nbRows); + if (cleanedLines) + { + freeArrayOfString(cleanedLines, nbLines); + cleanedLines = NULL; + } + + if (cellsStrings) + { + result = (csvResult*)(MALLOC(sizeof(csvResult))); + if (result) + { + result->err = CSV_READ_NO_ERROR; + result->m = nbRows; + result->n = nbColumns; + result->pstrValues = cellsStrings; + result->pstrComments = NULL; + result->nbComments = 0; + } + else + { + FREE(cellsStrings); + } + } + else + { + result = (csvResult*)(MALLOC(sizeof(csvResult))); + if (result) + { + result->err = CSV_READ_COLUMNS_ERROR; + result->m = 0; + result->n = 0; + result->pstrValues = NULL; + result->pstrComments = NULL; + result->nbComments = 0; + } + } + return result; +} +// ============================================================================= +void freeCsvResult(csvResult *result) +{ + if (result) + { + if (result->pstrValues) + { + freeArrayOfString(result->pstrValues, result->m * result->n); + result->pstrValues = NULL; + } + result->m = 0; + result->n = 0; + + if (result->pstrComments) + { + freeArrayOfString(result->pstrComments, result->nbComments); + result->pstrComments = NULL; + } + result->err = CSV_READ_ERROR; + FREE(result); + result = NULL; + } +} +// ============================================================================= +static int getNumbersOfColumnsInLines(const char **lines, int sizelines, + const char *separator) +{ + int previousNbColumns = 0; + int NbColumns = 0; + BOOL firstLine = TRUE; + if (lines) + { + int i = 0; + for (i = 0; i < sizelines; i++) + { + NbColumns = getNumbersOfColumnsInLine(lines[i], separator); + if (firstLine) + { + previousNbColumns = NbColumns; + firstLine = FALSE; + } + else + { + if (previousNbColumns != NbColumns) + { + if (getWarningMode()) + { + sciprint(_("%s: Inconsistency found in the columns. At line %d, found %d columns while the previous had %d.\n"), _("Warning"), i + 1, NbColumns, previousNbColumns); + } + + return 0; + } + } + } + } + return NbColumns; +} +// ============================================================================= +static int getNumbersOfColumnsInLine(const char *line, const char *separator) +{ + if (line && separator) + { + int i = 0; + int nbTokens = 0; + char **splittedStr = splitLineCSV(line, separator, &nbTokens); + if (splittedStr) + { + freeArrayOfString(splittedStr, nbTokens); + return nbTokens; + } + else + { + int len = (int)strlen(line); + if (len > 0) + { + nbTokens = 1; + return nbTokens; + } + } + } + return 0; +} +// ============================================================================= +static char **getStringsFromLines(const char **lines, int sizelines, + const char *separator, + const char *decimal, + int m, int n) +{ + char **results = NULL; + + if (lines == NULL) + { + return NULL; + } + if (separator == NULL) + { + return NULL; + } + if (m == 0 || n == 0) + { + return NULL; + } + + results = (char**) MALLOC(sizeof(char*) * (m * n)); + if (results) + { + int i = 0; + for (i = 0; i < sizelines; i++) + { + int nbTokens = 0; + char **lineStrings = splitLineCSV(lines[i], separator, &nbTokens); + int j = 0; + + if (lineStrings == NULL) + { + lineStrings = (char**)MALLOC(sizeof(char*) * 1); + lineStrings[0] = strdup(lines[i]); + nbTokens = 1; + } + + if (m != nbTokens) + { + freeArrayOfString(results, nbTokens * n); + FREE(lineStrings); + return NULL; + } + + for (j = 0; j < m; j++) + { + + if (!decimal) + { + results[i + n * j] = strdup(lineStrings[j]); + } + else + { + /* Proceed to the remplacement of the provided decimal to the default on + * usually, it converts "," => "." */ + results[i + n * j] = strsub(lineStrings[j], decimal, getCsvDefaultDecimal()); + } + + if (lineStrings[j]) + { + FREE(lineStrings[j]); + lineStrings[j] = NULL; + } + } + FREE(lineStrings); + } + } + return results; +} +// ============================================================================= +static char **removeEmptyLinesAtTheEnd(const char **lines, int *sizelines) +{ + char **returnedLines = NULL; + int nbLinesToRemove = 0; + + if (lines) + { + int i = 0; + if (*sizelines >= 1) + { + for (i = *sizelines - 1; i >= 0; i--) + { + char *cleanedLine = stripCharacters(lines[i]); + if (cleanedLine) + { + int len = (int) strlen(cleanedLine); + FREE(cleanedLine); + cleanedLine = NULL; + if (len == 0) + { + nbLinesToRemove++; + FREE((char*)lines[i]); + lines[i] = NULL; + } + else + { + break; + } + } + } + + if (nbLinesToRemove > 0) + { + *sizelines = *sizelines - nbLinesToRemove; + } + returnedLines = (char **)MALLOC(sizeof(char *) * (*sizelines)); + if (returnedLines) + { + for (i = 0; i < *sizelines; i++) + { + returnedLines[i] = strdup(lines[i]); + } + } + } + } + + return returnedLines; +} +// ============================================================================= +static char **removeAllBlankLines(const char **lines, int *sizelines) +{ + char **returnedLines = NULL; + int nbLines = 0; + if (lines) + { + int i = 0; + for (i = 0; i < *sizelines; i++) + { + char *cleanedLine = stripCharacters(lines[i]); + if (cleanedLine) + { + int len = (int) strlen(cleanedLine); + FREE(cleanedLine); + cleanedLine = NULL; + if (len != 0) + { + if (nbLines == 0) + { + nbLines++; + returnedLines = (char**)MALLOC(sizeof(char*) * nbLines); + } + else + { + nbLines++; + returnedLines = (char**)REALLOC(returnedLines, sizeof(char*) * nbLines); + } + + if (returnedLines) + { + returnedLines[nbLines - 1] = strdup(lines[i]); + } + else + { + *sizelines = 0; + return NULL; + } + } + } + } + *sizelines = nbLines; + } + return returnedLines; +} +// ============================================================================= +static char *stripCharacters(const char *line) +{ + char *returnedLine = NULL; + if (line) + { + char *tmpLineWithoutTab = strsub((char*)line, "\t", ""); + if (tmpLineWithoutTab) + { + char *tmpLineWithoutLF = strsub(tmpLineWithoutTab, "\r", ""); + if (tmpLineWithoutLF) + { + char *tmpLineWithoutCR = strsub(tmpLineWithoutTab, "\n", ""); + if (tmpLineWithoutCR) + { + returnedLine = strsub(tmpLineWithoutCR, " ", ""); + FREE(tmpLineWithoutCR); + } + else + { + returnedLine = strdup(line); + } + FREE(tmpLineWithoutLF); + tmpLineWithoutLF = NULL; + } + else + { + returnedLine = strdup(line); + } + FREE(tmpLineWithoutTab); + tmpLineWithoutTab = NULL; + } + else + { + returnedLine = strdup(line); + } + } + + return returnedLine; +} +// ============================================================================= +static char **replaceStrings(const char **lines, int nbLines, const char **toreplace, int sizetoreplace) +{ + char **replacedStrings = NULL; + int nr = 0; + + nr = sizetoreplace / 2; + + if (lines) + { + int i = 0; + + replacedStrings = (char**)MALLOC(sizeof(char*) * nbLines); + if (replacedStrings) + { + // Copy the source lines to the target replacedStrings. + int j = 0; + for (j = 0; j < nbLines; j++) + { + replacedStrings[j] = strdup(lines[j]); + } + // Make replacements within the target replacedStrings. + for (i = 0; i < nr; i++) + { + for (j = 0; j < nbLines; j++) + { + replacedStrings[j] = strsub(replacedStrings[j], toreplace[i], toreplace[nr + i]); + } + } + } + } + return replacedStrings; +} +// ============================================================================= +static char **extractComments(const char **lines, int nbLines, + const char *regexpcomments, int *nbcomments, int *iErr) +{ + char **pComments = NULL; + int i = 0; + + for (i = 0; i < nbLines; i++) + { + int Output_Start = 0; + int Output_End = 0; + pcre_error_code answer = pcre_private((char*)lines[i], (char*)regexpcomments, &Output_Start, &Output_End, NULL, NULL); + + if ( (answer == CAN_NOT_COMPILE_PATTERN) || (answer == DELIMITER_NOT_ALPHANUMERIC)) + { + if (pComments) + { + freeArrayOfString(pComments, *nbcomments); + } + + *nbcomments = 0; + + *iErr = answer; + return NULL; + } + + if ( answer == PCRE_FINISHED_OK ) + { + (*nbcomments)++; + if (pComments == NULL) + { + pComments = (char **)MALLOC(sizeof(char*) * (*nbcomments)); + } + else + { + pComments = (char **)REALLOC(pComments, sizeof(char*) * (*nbcomments)); + } + + if (pComments == NULL) + { + *nbcomments = 0; + *iErr = 1; + return NULL; + } + pComments[(*nbcomments) - 1] = strdup(lines[i]); + } + } + + return pComments; +} +// ============================================================================= +static char **removeComments(const char **lines, int nbLines, + const char *regexpcomments, int *newNbLines, int *iErr) +{ + char **pLinesCleaned = NULL; + + int i = 0; + *newNbLines = 0; + + for (i = 0; i < nbLines; i++) + { + int Output_Start = 0; + int Output_End = 0; + pcre_error_code answer = pcre_private((char*)lines[i], (char*)regexpcomments, &Output_Start, &Output_End, NULL, NULL); + if ( answer == PCRE_FINISHED_OK ) + { + FREE((char*)lines[i]); + lines[i] = NULL; + } + else + { + (*newNbLines)++; + if (pLinesCleaned == NULL) + { + pLinesCleaned = (char **)MALLOC(sizeof(char*) * (*newNbLines)); + } + else + { + pLinesCleaned = (char **)REALLOC(pLinesCleaned, sizeof(char*) * (*newNbLines)); + } + + if (pLinesCleaned == NULL) + { + *newNbLines = 0; + *iErr = 1; + return NULL; + } + + pLinesCleaned[(*newNbLines) - 1] = (char*)lines[i]; + } + } + return pLinesCleaned; +} +// ============================================================================= diff --git a/modules/spreadsheet/src/c/csvRead.h b/modules/spreadsheet/src/c/csvRead.h new file mode 100755 index 000000000..0d3b70372 --- /dev/null +++ b/modules/spreadsheet/src/c/csvRead.h @@ -0,0 +1,55 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2010-2011 - DIGITEO - Allan CORNET + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ +#ifndef __CSV_READ_H__ +#define __CSV_READ_H__ + +typedef enum +{ + CSV_READ_NO_ERROR = 0, + CSV_READ_MOPEN_ERROR = 1, + CSV_READ_FILE_NOT_EXIST = 2, + CSV_READ_MEMORY_ALLOCATION = 3, + CSV_READ_READLINES_ERROR = 4, + CSV_READ_COLUMNS_ERROR = 5, + CSV_READ_ERROR = 6, + CSV_READ_SEPARATOR_DECIMAL_EQUAL = 7, + CSV_READ_REGEXP_ERROR = 8 +} csvReadError; + +typedef struct +{ + char **pstrValues; + int m; + int n; + char **pstrComments; + int nbComments; + csvReadError err; +} csvResult; + +#ifdef __cplusplus +extern "C" { +#endif + + csvResult* csvRead(const char *filename, const char *separator, const char *decimal, + const char **toreplace, int sizetoreplace, const char *regexpcomments, int header); + + csvResult* csvTextScan(const char **lines, int numberOfLines, const char *separator, const char *decimal); + + void freeCsvResult(csvResult *result); + +#ifdef __cplusplus +} +#endif + + +#endif /* __CSV_READ_H__ */ + diff --git a/modules/spreadsheet/src/c/csvWrite.c b/modules/spreadsheet/src/c/csvWrite.c new file mode 100755 index 000000000..9a48f80ef --- /dev/null +++ b/modules/spreadsheet/src/c/csvWrite.c @@ -0,0 +1,557 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2010-2011 - DIGITEO - Allan CORNET + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ +#if defined(__linux__) +#define _GNU_SOURCE /* Bug 5673 fix: avoid dependency on GLIBC_2.7 */ +#endif +// ============================================================================= +#include <stdio.h> +#include <string.h> +#include "stringToDouble.h" +#include "csvWrite.h" +#include "mopen.h" +#include "mgetl.h" +#include "expandPathVariable.h" +#include "FileExist.h" +#include "mclose.h" +#include "MALLOC.h" +#include "core_math.h" +#ifdef _MSC_VER +#include "strdup_windows.h" +#endif +#include "strsubst.h" +#include "csvDefault.h" +#include "utftolatin.h" +// ============================================================================= +#define DEFAULT_CSV_WRITE_STRING_FORMAT "%s" +#define DEFAULT_CSV_WRITE_DOUBLE_FORMAT "%.lg" +#define PlusStr "+" +#define LessStr "-" +#define ComplexStr "i" +#define EMPTY_STRING "" +#if _MSC_VER +#define MODEWFD "wb" +#else +#define MODEWFD "w" +#endif +#if _MSC_VER +#define snprintf _snprintf +#endif +// ============================================================================= +#ifndef signbit +static int signbit(double x) +{ + union + { + double d; + short s[4]; + int i[2]; + } u; + + u.d = x; +#if SIZEOF_INT == 4 + return u.i[1] < 0; +#else + return u.s[3] < 0; +#endif +} +#endif /* signbit */ +// ============================================================================= +static int doConvertToLatin(void) +{ + const char *encoding = getCsvDefaultEncoding(); + if (encoding) + { + return (strcmp(encoding, "iso-latin") == 0) ? 1 : 0; + } + return 0; +} +// ============================================================================= +csvWriteError csvWrite_double(const char *filename, + const double *pdValues, int m, int n, + const char *separator, + const char *decimal, + const char *precisionFormat, + const char **headersLines, + int nbHeadersLines) +{ + FILE *fd = NULL; + int i = 0, j = 0; + char *expandedFilename = NULL; + int isIsoLatin = 0; + + if (filename == NULL) + { + return CSV_WRITE_ERROR; + } + if (pdValues == NULL) + { + return CSV_WRITE_ERROR; + } + if (m < 0 || n < 0) + { + return CSV_WRITE_ERROR; + } + if (separator == NULL) + { + return CSV_WRITE_ERROR; + } + if (decimal == NULL) + { + return CSV_WRITE_ERROR; + } + if (precisionFormat == NULL) + { + return CSV_WRITE_ERROR; + } + + if (strcmp(separator, decimal) == 0) + { + return CSV_WRITE_SEPARATOR_DECIMAL_EQUAL; + } + + expandedFilename = expandPathVariable((char*)filename); + wcfopen(fd , filename, MODEWFD); + if (expandedFilename) + { + FREE(expandedFilename); + expandedFilename = NULL; + } + if ( fd == (FILE *)NULL ) + { + return CSV_WRITE_FOPEN_ERROR; + } + + isIsoLatin = doConvertToLatin(); + + if ((headersLines) && (nbHeadersLines > 0)) + { + for (i = 0; i < nbHeadersLines; i++) + { + if (isIsoLatin) + { + char *converted = utftolatin((char*)headersLines[i]); + if (converted) + { + fprintf(fd, DEFAULT_CSV_WRITE_STRING_FORMAT, converted); + FREE(converted); + } + else + { + fprintf(fd, DEFAULT_CSV_WRITE_STRING_FORMAT, headersLines[i]); + } + } + else + { + fprintf(fd, DEFAULT_CSV_WRITE_STRING_FORMAT, headersLines[i]); + } + fprintf(fd, "%s", getCsvDefaultEOL()); + } + } + + for (i = 0; i < m; i++) + { + for (j = 0; j < n; j++) + { + if (ISNAN(pdValues[i + m * j])) + { + fprintf(fd, DEFAULT_CSV_WRITE_STRING_FORMAT, NanString); + } + else if (finite(pdValues[i + m * j])) + { + char buffer[65535]; + char *result = NULL; + sprintf(buffer, precisionFormat, pdValues[i + m * j]); + result = strsub(buffer, getCsvDefaultDecimal(), decimal); + if (result) + { + fprintf(fd, DEFAULT_CSV_WRITE_STRING_FORMAT, result); + FREE(result); + result = NULL; + } + else + { + fprintf(fd, DEFAULT_CSV_WRITE_DOUBLE_FORMAT, pdValues[i + m * j]); + } + } + else + { + if ( signbit(pdValues[i + m * j]) ) + { + fprintf(fd, DEFAULT_CSV_WRITE_STRING_FORMAT, NegInfString); + } + else + { + fprintf(fd, DEFAULT_CSV_WRITE_STRING_FORMAT, InfString); + } + } + if (j + 1 < n) + { + fprintf(fd, "%s", separator); + } + } + fprintf(fd, "%s", getCsvDefaultEOL()); + } + + fclose(fd); + return CSV_WRITE_NO_ERROR; +} +// ============================================================================= +csvWriteError csvWrite_complex(const char *filename, + const double *pdValuesReal, + const double *pdValuesImag, + int m, int n, + const char *separator, + const char *decimal, + const char *precisionFormat, + const char **headersLines, + int nbHeadersLines) +{ + FILE *fd = NULL; + int i = 0, j = 0; + char *expandedFilename = NULL; + int isIsoLatin = 0; + + if (filename == NULL) + { + return CSV_WRITE_ERROR; + } + if (pdValuesReal == NULL) + { + return CSV_WRITE_ERROR; + } + if (pdValuesImag == NULL) + { + return CSV_WRITE_ERROR; + } + if (m < 0 || n < 0) + { + return CSV_WRITE_ERROR; + } + if (separator == NULL) + { + return CSV_WRITE_ERROR; + } + if (decimal == NULL) + { + return CSV_WRITE_ERROR; + } + if (precisionFormat == NULL) + { + return CSV_WRITE_ERROR; + } + + if (strcmp(separator, decimal) == 0) + { + return CSV_WRITE_SEPARATOR_DECIMAL_EQUAL; + } + + expandedFilename = expandPathVariable((char*)filename); + wcfopen(fd , filename, MODEWFD); + if (expandedFilename) + { + FREE(expandedFilename); + expandedFilename = NULL; + } + if ( fd == (FILE *)NULL ) + { + return CSV_WRITE_FOPEN_ERROR; + } + + isIsoLatin = doConvertToLatin(); + + if ((headersLines) && (nbHeadersLines > 0)) + { + for (i = 0; i < nbHeadersLines; i++) + { + if (isIsoLatin) + { + const char *converted = utftolatin((char*)headersLines[i]); + if (converted) + { + fprintf(fd, DEFAULT_CSV_WRITE_STRING_FORMAT, converted); + FREE((char*)converted); + converted = NULL; + } + else + { + fprintf(fd, DEFAULT_CSV_WRITE_STRING_FORMAT, headersLines[i]); + } + } + else + { + fprintf(fd, DEFAULT_CSV_WRITE_STRING_FORMAT, headersLines[i]); + } + fprintf(fd, "%s", getCsvDefaultEOL()); + } + } + + for (i = 0; i < m; i++) + { + for (j = 0; j < n; j++) + { + char StringValue[65535]; + + double realValue = pdValuesReal[i + m * j]; + double imagValue = pdValuesImag[i + m * j]; + int hasReal = 0; + + if (ISNAN(realValue)) + { + strcpy(StringValue, NanString); + hasReal = 1; + } + else if (finite(realValue)) + { + if ((realValue != 0) || (finite(imagValue) && (imagValue == 0))) + { + char buffer[65535]; + char *result = NULL; + + sprintf(buffer, precisionFormat, pdValuesReal[i + m * j]); + result = strsub(buffer, getCsvDefaultDecimal(), decimal); + if (result) + { + strncpy(StringValue, result, sizeof(StringValue) - 1); + FREE(result); + } + else + { + sprintf(StringValue, DEFAULT_CSV_WRITE_DOUBLE_FORMAT, pdValuesReal[i + m * j]); + } + hasReal = 1; + } + } + else + { + if (signbit(realValue)) + { + strcpy(StringValue, NegInfString); + } + else + { + strcpy(StringValue, InfString); + } + hasReal = 1; + } + + if (ISNAN(imagValue)) + { + if (hasReal) + { + strcat(StringValue, PlusStr); + strcat(StringValue, NanString); + } + else + { + strcpy(StringValue, NanString); + } + strcat(StringValue, ComplexStr); + } + else if (finite(imagValue)) + { + if (imagValue != 0) + { + char buffer[65535]; + char *result = NULL; + + if (hasReal && (imagValue > 0)) + { + strcat(StringValue, PlusStr); + } + else if (imagValue < 0) + { + if (hasReal) + { + strcat(StringValue, LessStr); + } + else + { + strcpy(StringValue, LessStr); + } + } + + sprintf(buffer, precisionFormat, fabs(imagValue)); + result = strsub(buffer, getCsvDefaultDecimal(), decimal); + if (result) + { + if ((hasReal) || (imagValue < 0)) + { + strncat(StringValue, result, sizeof(StringValue) - strlen(StringValue) - 1); + StringValue[sizeof(StringValue) - 1] = '\0'; + } + else + { + strncpy(StringValue, result, sizeof(StringValue) - 1); + } + FREE(result); + } + else + { + sprintf(StringValue, DEFAULT_CSV_WRITE_DOUBLE_FORMAT, imagValue); + } + strcat(StringValue, ComplexStr); + } + } + else + { + if (hasReal && (signbit(imagValue) == 0)) + { + strcat(StringValue, PlusStr); + } + else if (signbit(realValue) > 0) + { + if (hasReal) + { + strcat(StringValue, LessStr); + } + else + { + strcpy(StringValue, LessStr); + } + } + strcat(StringValue, InfString); + strcat(StringValue, ComplexStr); + } + fprintf(fd, DEFAULT_CSV_WRITE_STRING_FORMAT, StringValue); + if (j + 1 < n) + { + fprintf(fd, "%s", separator); + } + } + fprintf(fd, "%s", getCsvDefaultEOL()); + } + + fclose(fd); + return CSV_WRITE_NO_ERROR; +} +// ============================================================================= +csvWriteError csvWrite_string(const char *filename, + const char **pStrValues, int m, int n, + const char *separator, + const char *decimal, + const char **headersLines, + int nbHeadersLines) +{ + FILE *fd = NULL; + int i = 0, j = 0; + char *expandedFilename = NULL; + int isIsoLatin = 0; + + if (filename == NULL) + { + return CSV_WRITE_ERROR; + } + if (pStrValues == NULL) + { + return CSV_WRITE_ERROR; + } + if (m < 0 || n < 0) + { + return CSV_WRITE_ERROR; + } + if (separator == NULL) + { + return CSV_WRITE_ERROR; + } + + if (strcmp(separator, decimal) == 0) + { + return CSV_WRITE_SEPARATOR_DECIMAL_EQUAL; + } + + expandedFilename = expandPathVariable((char*)filename); + wcfopen(fd , filename, MODEWFD); + if (expandedFilename) + { + FREE(expandedFilename); + expandedFilename = NULL; + } + if ( fd == (FILE *)NULL ) + { + return CSV_WRITE_FOPEN_ERROR; + } + + isIsoLatin = doConvertToLatin(); + + if ((headersLines) && (nbHeadersLines > 0)) + { + for (i = 0; i < nbHeadersLines; i++) + { + if (isIsoLatin) + { + const char *converted = utftolatin((char*)headersLines[i]); + if (converted) + { + fprintf(fd, DEFAULT_CSV_WRITE_STRING_FORMAT, converted); + FREE((char*)converted); + converted = NULL; + } + else + { + fprintf(fd, DEFAULT_CSV_WRITE_STRING_FORMAT, headersLines[i]); + } + } + else + { + fprintf(fd, DEFAULT_CSV_WRITE_STRING_FORMAT, headersLines[i]); + } + fprintf(fd, "%s", getCsvDefaultEOL()); + } + } + + for (i = 0 ; i < m ; i++ ) + { + for ( j = 0 ; j < n ; j++) + { + char *result = NULL; + result = strsub((char*)(pStrValues[i + m * j]), getCsvDefaultDecimal(), decimal); + if (result) + { + if (isIsoLatin) + { + char *converted = utftolatin(result); + if (converted) + { + fprintf(fd, DEFAULT_CSV_WRITE_STRING_FORMAT, converted); + FREE(converted); + converted = NULL; + } + else + { + fprintf(fd, DEFAULT_CSV_WRITE_STRING_FORMAT, result); + } + } + else + { + fprintf(fd, DEFAULT_CSV_WRITE_STRING_FORMAT, result); + } + FREE(result); + result = NULL; + } + else + { + fprintf(fd, DEFAULT_CSV_WRITE_STRING_FORMAT, pStrValues[i + m * j]); + } + + if (j + 1 < n) + { + fprintf(fd, "%s", separator); + } + } + fprintf(fd, "%s", getCsvDefaultEOL()); + } + + fclose(fd); + return CSV_WRITE_NO_ERROR; +} +// ============================================================================= + diff --git a/modules/spreadsheet/src/c/csvWrite.h b/modules/spreadsheet/src/c/csvWrite.h new file mode 100755 index 000000000..0735f246b --- /dev/null +++ b/modules/spreadsheet/src/c/csvWrite.h @@ -0,0 +1,60 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2010-2011 - DIGITEO - Allan CORNET + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +#ifndef __CSV_WRITE_H__ +#define __CSV_WRITE_H__ + +#ifdef __cplusplus +extern "C" { +#endif + + typedef enum { + CSV_WRITE_NO_ERROR = 0, + CSV_WRITE_FOPEN_ERROR = 1, + CSV_WRITE_ERROR = 2, + CSV_WRITE_SEPARATOR_DECIMAL_EQUAL = 3 + } + csvWriteError; + + + csvWriteError csvWrite_double(const char *filename, + const double *pdValues, int m, int n, + const char *separator, + const char *decimal, + const char *precisionFormat, + const char **headersLines, + int nbHeadersLines); + + csvWriteError csvWrite_complex(const char *filename, + const double *pdValuesReal, + const double *pdValuesImag, + int m, int n, + const char *separator, + const char *decimal, + const char *precisionFormat, + const char **headersLines, + int nbHeadersLines); + + csvWriteError csvWrite_string(const char *filename, + const char **pStrValues, int m, int n, + const char *separator, + const char *decimal, + const char **headersLines, + int nbHeadersLines); + +#ifdef __cplusplus +} +#endif + +#endif /* __CSV_WRITE_H__ */ +// ============================================================================= + diff --git a/modules/spreadsheet/src/c/getRange.c b/modules/spreadsheet/src/c/getRange.c new file mode 100755 index 000000000..d96b61b9d --- /dev/null +++ b/modules/spreadsheet/src/c/getRange.c @@ -0,0 +1,181 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2010-2011 - DIGITEO - Allan CORNET + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ +#include <string.h> +#include "MALLOC.h" +#include "getRange.h" +#ifdef _MSC_VER +#include "strdup_windows.h" +#endif +// ============================================================================= +#define SIZE_ARRAY_RANGE 4 +// ============================================================================= +static int getRangeSize(int *lowCoord, int *highCoord, int maxCoord); +// ============================================================================= +void getSubIndices(const int *iRange, int * R1, int * R2, int * C1, int * C2 ) +{ + *R1 = iRange[0]; + *C1 = iRange[1]; + *R2 = iRange[2]; + *C2 = iRange[3]; + + return; +} +// ============================================================================= +int isValidRange(const int *iRange, int sizeArray) +{ + int i = 0; + int R1 = 0, C1 = 0, R2 = 0, C2 = 0; + + if (iRange == NULL) + { + return 0; + } + + getSubIndices(iRange, &R1, &R2, &C1, &C2 ); + + if (sizeArray != SIZE_ARRAY_RANGE) + { + return 0; + } + + if (R1 <= 0) + { + return 0; + } + if (R2 <= 0) + { + return 0; + } + if (C1 <= 0) + { + return 0; + } + if (C2 <= 0) + { + return 0; + } + if (R1 > R2) + { + return 0; + } + if (C1 > C2) + { + return 0; + } + + return 1; +} +// ============================================================================= +char **getRangeAsString(const char **pStrsValues, + int nbRows, int nbCols, + const int *iRange, + int *returnedNbRows, int *returnedNbCols) +{ + if (isValidRange(iRange, SIZE_ARRAY_RANGE)) + { + int R1, C1, R2, C2; + int rangeSize; + + getSubIndices(iRange, &R1, &R2, &C1, &C2); + + *returnedNbRows = getRangeSize(&R1, &R2, nbRows); + *returnedNbCols = getRangeSize(&C1, &C2, nbCols); + + rangeSize = (*returnedNbRows) * (*returnedNbCols); + if (rangeSize > 0) + { + char **newStrArray = (char**)MALLOC(sizeof(char*) * rangeSize); + if (newStrArray != NULL) + { + int i = 0; + int j = 0; + int k = 0; + + for (j = C1 - 1 ; j < C2 ; j++) + { + for (i = R1 - 1 ; i < R2 ; i++ ) + { + newStrArray[k] = strdup(pStrsValues[i + nbRows * j]); + k++; + } + } + } + return newStrArray; + } + // range is empty, calling function should raise an out of bound error + } + return NULL; +} +// ============================================================================= +complexArray *getRangeAsComplexArray(const complexArray *pComplex, + int nbRows, int nbCols, + const int *iRange, + int *returnedNbRows, int *returnedNbCols) +{ + if (isValidRange(iRange, SIZE_ARRAY_RANGE)) + { + int R1, C1, R2, C2; + int rangeSize; + + getSubIndices(iRange, &R1, &R2, &C1, &C2 ); + + *returnedNbRows = getRangeSize(&R1, &R2, nbRows); + *returnedNbCols = getRangeSize(&C1, &C2, nbCols); + + rangeSize = (*returnedNbRows) * (*returnedNbCols); + if (rangeSize > 0) + { + complexArray *newComplexArray = + createComplexArrayEmpty(rangeSize); + if (newComplexArray != NULL) + { + int i = 0; + int j = 0; + int k = 0; + + newComplexArray->isComplex = pComplex->isComplex; + + for (j = C1 - 1 ; j < C2 ; j++) + { + for (i = R1 - 1 ; i < R2 ; i++) + { + newComplexArray->realPart[k] = pComplex->realPart[i + (nbRows * j)]; + if (pComplex->isComplex) + { + newComplexArray->imagPart[k] = pComplex->imagPart[i + (nbRows * j)]; + } + k++; + } + } + } + return newComplexArray; + } + // range is empty, calling function should raise an out of bound error + } + return NULL; +} +// ============================================================================= +static int getRangeSize(int *lowCoord, int *highCoord, int maxCoord) +{ + // IsValidRange has done all checks of range, except on right bound + if (*lowCoord <= maxCoord) + { + if (*highCoord > maxCoord) + { + *highCoord = maxCoord; + } + return *highCoord - *lowCoord + 1; + } + // lower coord is out of bound + return 0; +} +// ============================================================================= diff --git a/modules/spreadsheet/src/c/getRange.h b/modules/spreadsheet/src/c/getRange.h new file mode 100755 index 000000000..25a4efe57 --- /dev/null +++ b/modules/spreadsheet/src/c/getRange.h @@ -0,0 +1,47 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2010-2011 - DIGITEO - Allan CORNET + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ +#ifndef __GETRANGE_H__ +#define __GETRANGE_H__ + +#include "doublecomplex.h" +#include "complex_array.h" + +#define SIZE_RANGE_SUPPORTED 4 + +#ifdef __cplusplus +extern "C" { +#endif + + // Extract the strings in pStrsValues which are in the range. + char **getRangeAsString(const char **pStrsValues, + int nbRows, int nbCols, + const int *iRange, + int *returnedNbRows, int *returnedNbCols); + + + // Extract the double complexes in pComplex which are in the range. + complexArray *getRangeAsComplexArray(const complexArray *pComplex, + int nbRows, int nbCols, + const int *iRange, + int *returnedNbRows, int *returnedNbCols); + + + // Returns 1 if the range is valid, returns 0 if not. + int isValidRange(const int *range, int sizeArray); + +#ifdef __cplusplus +} +#endif + + +#endif /* __GETRANGE_H__ */ +// ============================================================================= diff --git a/modules/spreadsheet/src/c/libscispreadsheet_algo_la-checkCsvWriteFormat.lo b/modules/spreadsheet/src/c/libscispreadsheet_algo_la-checkCsvWriteFormat.lo new file mode 100755 index 000000000..7d1bf7fd6 --- /dev/null +++ b/modules/spreadsheet/src/c/libscispreadsheet_algo_la-checkCsvWriteFormat.lo @@ -0,0 +1,12 @@ +# src/c/libscispreadsheet_algo_la-checkCsvWriteFormat.lo - a libtool object file +# Generated by libtool (GNU libtool) 2.4.2 +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# Name of the PIC object. +pic_object='.libs/libscispreadsheet_algo_la-checkCsvWriteFormat.o' + +# Name of the non-PIC object +non_pic_object=none + diff --git a/modules/spreadsheet/src/c/libscispreadsheet_algo_la-csvDefault.lo b/modules/spreadsheet/src/c/libscispreadsheet_algo_la-csvDefault.lo new file mode 100755 index 000000000..4732ce50d --- /dev/null +++ b/modules/spreadsheet/src/c/libscispreadsheet_algo_la-csvDefault.lo @@ -0,0 +1,12 @@ +# src/c/libscispreadsheet_algo_la-csvDefault.lo - a libtool object file +# Generated by libtool (GNU libtool) 2.4.2 +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# Name of the PIC object. +pic_object='.libs/libscispreadsheet_algo_la-csvDefault.o' + +# Name of the non-PIC object +non_pic_object=none + diff --git a/modules/spreadsheet/src/c/libscispreadsheet_algo_la-csvRead.lo b/modules/spreadsheet/src/c/libscispreadsheet_algo_la-csvRead.lo new file mode 100755 index 000000000..227177c0c --- /dev/null +++ b/modules/spreadsheet/src/c/libscispreadsheet_algo_la-csvRead.lo @@ -0,0 +1,12 @@ +# src/c/libscispreadsheet_algo_la-csvRead.lo - a libtool object file +# Generated by libtool (GNU libtool) 2.4.2 +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# Name of the PIC object. +pic_object='.libs/libscispreadsheet_algo_la-csvRead.o' + +# Name of the non-PIC object +non_pic_object=none + diff --git a/modules/spreadsheet/src/c/libscispreadsheet_algo_la-csvWrite.lo b/modules/spreadsheet/src/c/libscispreadsheet_algo_la-csvWrite.lo new file mode 100755 index 000000000..9f4a083be --- /dev/null +++ b/modules/spreadsheet/src/c/libscispreadsheet_algo_la-csvWrite.lo @@ -0,0 +1,12 @@ +# src/c/libscispreadsheet_algo_la-csvWrite.lo - a libtool object file +# Generated by libtool (GNU libtool) 2.4.2 +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# Name of the PIC object. +pic_object='.libs/libscispreadsheet_algo_la-csvWrite.o' + +# Name of the non-PIC object +non_pic_object=none + diff --git a/modules/spreadsheet/src/c/libscispreadsheet_algo_la-getRange.lo b/modules/spreadsheet/src/c/libscispreadsheet_algo_la-getRange.lo new file mode 100755 index 000000000..9fa24ec17 --- /dev/null +++ b/modules/spreadsheet/src/c/libscispreadsheet_algo_la-getRange.lo @@ -0,0 +1,12 @@ +# src/c/libscispreadsheet_algo_la-getRange.lo - a libtool object file +# Generated by libtool (GNU libtool) 2.4.2 +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# Name of the PIC object. +pic_object='.libs/libscispreadsheet_algo_la-getRange.o' + +# Name of the non-PIC object +non_pic_object=none + diff --git a/modules/spreadsheet/src/c/libscispreadsheet_algo_la-splitLine.lo b/modules/spreadsheet/src/c/libscispreadsheet_algo_la-splitLine.lo new file mode 100755 index 000000000..8a190d6da --- /dev/null +++ b/modules/spreadsheet/src/c/libscispreadsheet_algo_la-splitLine.lo @@ -0,0 +1,12 @@ +# src/c/libscispreadsheet_algo_la-splitLine.lo - a libtool object file +# Generated by libtool (GNU libtool) 2.4.2 +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# Name of the PIC object. +pic_object='.libs/libscispreadsheet_algo_la-splitLine.o' + +# Name of the non-PIC object +non_pic_object=none + diff --git a/modules/spreadsheet/src/c/libscispreadsheet_algo_la-utftolatin.lo b/modules/spreadsheet/src/c/libscispreadsheet_algo_la-utftolatin.lo new file mode 100755 index 000000000..eae1eed66 --- /dev/null +++ b/modules/spreadsheet/src/c/libscispreadsheet_algo_la-utftolatin.lo @@ -0,0 +1,12 @@ +# src/c/libscispreadsheet_algo_la-utftolatin.lo - a libtool object file +# Generated by libtool (GNU libtool) 2.4.2 +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# Name of the PIC object. +pic_object='.libs/libscispreadsheet_algo_la-utftolatin.o' + +# Name of the non-PIC object +non_pic_object=none + diff --git a/modules/spreadsheet/src/c/libscispreadsheet_algo_la-xls.lo b/modules/spreadsheet/src/c/libscispreadsheet_algo_la-xls.lo new file mode 100755 index 000000000..d3c479af4 --- /dev/null +++ b/modules/spreadsheet/src/c/libscispreadsheet_algo_la-xls.lo @@ -0,0 +1,12 @@ +# src/c/libscispreadsheet_algo_la-xls.lo - a libtool object file +# Generated by libtool (GNU libtool) 2.4.2 +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# Name of the PIC object. +pic_object='.libs/libscispreadsheet_algo_la-xls.o' + +# Name of the non-PIC object +non_pic_object=none + diff --git a/modules/spreadsheet/src/c/ripole/.deps/.dirstamp b/modules/spreadsheet/src/c/ripole/.deps/.dirstamp new file mode 100755 index 000000000..e69de29bb --- /dev/null +++ b/modules/spreadsheet/src/c/ripole/.deps/.dirstamp diff --git a/modules/spreadsheet/src/c/ripole/.deps/libscispreadsheet_algo_la-bt-int.Plo b/modules/spreadsheet/src/c/ripole/.deps/libscispreadsheet_algo_la-bt-int.Plo new file mode 100755 index 000000000..d75e17ea0 --- /dev/null +++ b/modules/spreadsheet/src/c/ripole/.deps/libscispreadsheet_algo_la-bt-int.Plo @@ -0,0 +1,115 @@ +src/c/ripole/libscispreadsheet_algo_la-bt-int.lo: src/c/ripole/bt-int.c \ + /usr/include/stdc-predef.h /usr/include/stdio.h /usr/include/features.h \ + /usr/include/x86_64-linux-gnu/sys/cdefs.h \ + /usr/include/x86_64-linux-gnu/bits/wordsize.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h \ + /usr/include/x86_64-linux-gnu/bits/types.h \ + /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/libio.h \ + /usr/include/_G_config.h /usr/include/wchar.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \ + /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \ + /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \ + /usr/include/x86_64-linux-gnu/bits/stdio.h \ + /usr/include/x86_64-linux-gnu/bits/stdio2.h /usr/include/stdlib.h \ + /usr/include/x86_64-linux-gnu/bits/waitflags.h \ + /usr/include/x86_64-linux-gnu/bits/waitstatus.h /usr/include/endian.h \ + /usr/include/x86_64-linux-gnu/bits/endian.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap-16.h \ + /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \ + /usr/include/x86_64-linux-gnu/sys/select.h \ + /usr/include/x86_64-linux-gnu/bits/select.h \ + /usr/include/x86_64-linux-gnu/bits/sigset.h \ + /usr/include/x86_64-linux-gnu/bits/time.h \ + /usr/include/x86_64-linux-gnu/bits/select2.h \ + /usr/include/x86_64-linux-gnu/sys/sysmacros.h \ + /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib.h \ + ../../modules/core/includes/MALLOC.h \ + ../../modules/core/includes/sci_mem_alloc.h src/c/ripole/bt-int.h + +/usr/include/stdc-predef.h: + +/usr/include/stdio.h: + +/usr/include/features.h: + +/usr/include/x86_64-linux-gnu/sys/cdefs.h: + +/usr/include/x86_64-linux-gnu/bits/wordsize.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs-64.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h: + +/usr/include/x86_64-linux-gnu/bits/types.h: + +/usr/include/x86_64-linux-gnu/bits/typesizes.h: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/wchar.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h: + +/usr/include/x86_64-linux-gnu/bits/stdio_lim.h: + +/usr/include/x86_64-linux-gnu/bits/sys_errlist.h: + +/usr/include/x86_64-linux-gnu/bits/stdio.h: + +/usr/include/x86_64-linux-gnu/bits/stdio2.h: + +/usr/include/stdlib.h: + +/usr/include/x86_64-linux-gnu/bits/waitflags.h: + +/usr/include/x86_64-linux-gnu/bits/waitstatus.h: + +/usr/include/endian.h: + +/usr/include/x86_64-linux-gnu/bits/endian.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap-16.h: + +/usr/include/x86_64-linux-gnu/sys/types.h: + +/usr/include/time.h: + +/usr/include/x86_64-linux-gnu/sys/select.h: + +/usr/include/x86_64-linux-gnu/bits/select.h: + +/usr/include/x86_64-linux-gnu/bits/sigset.h: + +/usr/include/x86_64-linux-gnu/bits/time.h: + +/usr/include/x86_64-linux-gnu/bits/select2.h: + +/usr/include/x86_64-linux-gnu/sys/sysmacros.h: + +/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h: + +/usr/include/alloca.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib-float.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib.h: + +../../modules/core/includes/MALLOC.h: + +../../modules/core/includes/sci_mem_alloc.h: + +src/c/ripole/bt-int.h: diff --git a/modules/spreadsheet/src/c/ripole/.deps/libscispreadsheet_algo_la-bytedecoders.Plo b/modules/spreadsheet/src/c/ripole/.deps/libscispreadsheet_algo_la-bytedecoders.Plo new file mode 100755 index 000000000..3bf68bb7c --- /dev/null +++ b/modules/spreadsheet/src/c/ripole/.deps/libscispreadsheet_algo_la-bytedecoders.Plo @@ -0,0 +1,54 @@ +src/c/ripole/libscispreadsheet_algo_la-bytedecoders.lo: \ + src/c/ripole/bytedecoders.c /usr/include/stdc-predef.h \ + /usr/include/stdio.h /usr/include/features.h \ + /usr/include/x86_64-linux-gnu/sys/cdefs.h \ + /usr/include/x86_64-linux-gnu/bits/wordsize.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h \ + /usr/include/x86_64-linux-gnu/bits/types.h \ + /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/libio.h \ + /usr/include/_G_config.h /usr/include/wchar.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \ + /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \ + /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \ + /usr/include/x86_64-linux-gnu/bits/stdio.h \ + /usr/include/x86_64-linux-gnu/bits/stdio2.h src/c/ripole/bytedecoders.h + +/usr/include/stdc-predef.h: + +/usr/include/stdio.h: + +/usr/include/features.h: + +/usr/include/x86_64-linux-gnu/sys/cdefs.h: + +/usr/include/x86_64-linux-gnu/bits/wordsize.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs-64.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h: + +/usr/include/x86_64-linux-gnu/bits/types.h: + +/usr/include/x86_64-linux-gnu/bits/typesizes.h: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/wchar.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h: + +/usr/include/x86_64-linux-gnu/bits/stdio_lim.h: + +/usr/include/x86_64-linux-gnu/bits/sys_errlist.h: + +/usr/include/x86_64-linux-gnu/bits/stdio.h: + +/usr/include/x86_64-linux-gnu/bits/stdio2.h: + +src/c/ripole/bytedecoders.h: diff --git a/modules/spreadsheet/src/c/ripole/.deps/libscispreadsheet_algo_la-logger.Plo b/modules/spreadsheet/src/c/ripole/.deps/libscispreadsheet_algo_la-logger.Plo new file mode 100755 index 000000000..ddb319ba8 --- /dev/null +++ b/modules/spreadsheet/src/c/ripole/.deps/libscispreadsheet_algo_la-logger.Plo @@ -0,0 +1,187 @@ +src/c/ripole/libscispreadsheet_algo_la-logger.lo: src/c/ripole/logger.c \ + /usr/include/stdc-predef.h /usr/include/stdio.h /usr/include/features.h \ + /usr/include/x86_64-linux-gnu/sys/cdefs.h \ + /usr/include/x86_64-linux-gnu/bits/wordsize.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h \ + /usr/include/x86_64-linux-gnu/bits/types.h \ + /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/libio.h \ + /usr/include/_G_config.h /usr/include/wchar.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \ + /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \ + /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \ + /usr/include/x86_64-linux-gnu/bits/stdio.h \ + /usr/include/x86_64-linux-gnu/bits/stdio2.h /usr/include/stdlib.h \ + /usr/include/x86_64-linux-gnu/bits/waitflags.h \ + /usr/include/x86_64-linux-gnu/bits/waitstatus.h /usr/include/endian.h \ + /usr/include/x86_64-linux-gnu/bits/endian.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap-16.h \ + /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \ + /usr/include/x86_64-linux-gnu/sys/select.h \ + /usr/include/x86_64-linux-gnu/bits/select.h \ + /usr/include/x86_64-linux-gnu/bits/sigset.h \ + /usr/include/x86_64-linux-gnu/bits/time.h \ + /usr/include/x86_64-linux-gnu/bits/select2.h \ + /usr/include/x86_64-linux-gnu/sys/sysmacros.h \ + /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib.h /usr/include/string.h \ + /usr/include/xlocale.h /usr/include/x86_64-linux-gnu/bits/string.h \ + /usr/include/x86_64-linux-gnu/bits/string2.h \ + /usr/include/x86_64-linux-gnu/bits/string3.h /usr/include/syslog.h \ + /usr/include/x86_64-linux-gnu/sys/syslog.h \ + /usr/include/x86_64-linux-gnu/bits/syslog-path.h \ + /usr/include/x86_64-linux-gnu/bits/syslog.h /usr/include/errno.h \ + /usr/include/x86_64-linux-gnu/bits/errno.h /usr/include/linux/errno.h \ + /usr/include/x86_64-linux-gnu/asm/errno.h \ + /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ + /usr/include/ctype.h ../../modules/localization/includes/localization.h \ + ../../modules/core/includes/machine.h /usr/include/libintl.h \ + /usr/include/locale.h /usr/include/x86_64-linux-gnu/bits/locale.h \ + src/c/ripole/logger.h ../../modules/core/includes/MALLOC.h \ + ../../modules/core/includes/sci_mem_alloc.h \ + ../../modules/localization/includes/charEncoding.h \ + /usr/include/x86_64-linux-gnu/bits/wchar.h \ + /usr/include/x86_64-linux-gnu/bits/wchar2.h \ + /usr/include/x86_64-linux-gnu/sys/stat.h \ + /usr/include/x86_64-linux-gnu/bits/stat.h \ + ../../modules/core/includes/BOOL.h + +/usr/include/stdc-predef.h: + +/usr/include/stdio.h: + +/usr/include/features.h: + +/usr/include/x86_64-linux-gnu/sys/cdefs.h: + +/usr/include/x86_64-linux-gnu/bits/wordsize.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs-64.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h: + +/usr/include/x86_64-linux-gnu/bits/types.h: + +/usr/include/x86_64-linux-gnu/bits/typesizes.h: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/wchar.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h: + +/usr/include/x86_64-linux-gnu/bits/stdio_lim.h: + +/usr/include/x86_64-linux-gnu/bits/sys_errlist.h: + +/usr/include/x86_64-linux-gnu/bits/stdio.h: + +/usr/include/x86_64-linux-gnu/bits/stdio2.h: + +/usr/include/stdlib.h: + +/usr/include/x86_64-linux-gnu/bits/waitflags.h: + +/usr/include/x86_64-linux-gnu/bits/waitstatus.h: + +/usr/include/endian.h: + +/usr/include/x86_64-linux-gnu/bits/endian.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap-16.h: + +/usr/include/x86_64-linux-gnu/sys/types.h: + +/usr/include/time.h: + +/usr/include/x86_64-linux-gnu/sys/select.h: + +/usr/include/x86_64-linux-gnu/bits/select.h: + +/usr/include/x86_64-linux-gnu/bits/sigset.h: + +/usr/include/x86_64-linux-gnu/bits/time.h: + +/usr/include/x86_64-linux-gnu/bits/select2.h: + +/usr/include/x86_64-linux-gnu/sys/sysmacros.h: + +/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h: + +/usr/include/alloca.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib-float.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib.h: + +/usr/include/string.h: + +/usr/include/xlocale.h: + +/usr/include/x86_64-linux-gnu/bits/string.h: + +/usr/include/x86_64-linux-gnu/bits/string2.h: + +/usr/include/x86_64-linux-gnu/bits/string3.h: + +/usr/include/syslog.h: + +/usr/include/x86_64-linux-gnu/sys/syslog.h: + +/usr/include/x86_64-linux-gnu/bits/syslog-path.h: + +/usr/include/x86_64-linux-gnu/bits/syslog.h: + +/usr/include/errno.h: + +/usr/include/x86_64-linux-gnu/bits/errno.h: + +/usr/include/linux/errno.h: + +/usr/include/x86_64-linux-gnu/asm/errno.h: + +/usr/include/asm-generic/errno.h: + +/usr/include/asm-generic/errno-base.h: + +/usr/include/ctype.h: + +../../modules/localization/includes/localization.h: + +../../modules/core/includes/machine.h: + +/usr/include/libintl.h: + +/usr/include/locale.h: + +/usr/include/x86_64-linux-gnu/bits/locale.h: + +src/c/ripole/logger.h: + +../../modules/core/includes/MALLOC.h: + +../../modules/core/includes/sci_mem_alloc.h: + +../../modules/localization/includes/charEncoding.h: + +/usr/include/x86_64-linux-gnu/bits/wchar.h: + +/usr/include/x86_64-linux-gnu/bits/wchar2.h: + +/usr/include/x86_64-linux-gnu/sys/stat.h: + +/usr/include/x86_64-linux-gnu/bits/stat.h: + +../../modules/core/includes/BOOL.h: diff --git a/modules/spreadsheet/src/c/ripole/.deps/libscispreadsheet_algo_la-ole.Plo b/modules/spreadsheet/src/c/ripole/.deps/libscispreadsheet_algo_la-ole.Plo new file mode 100755 index 000000000..6058126cd --- /dev/null +++ b/modules/spreadsheet/src/c/ripole/.deps/libscispreadsheet_algo_la-ole.Plo @@ -0,0 +1,195 @@ +src/c/ripole/libscispreadsheet_algo_la-ole.lo: src/c/ripole/ole.c \ + /usr/include/stdc-predef.h /usr/include/stdio.h /usr/include/features.h \ + /usr/include/x86_64-linux-gnu/sys/cdefs.h \ + /usr/include/x86_64-linux-gnu/bits/wordsize.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h \ + /usr/include/x86_64-linux-gnu/bits/types.h \ + /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/libio.h \ + /usr/include/_G_config.h /usr/include/wchar.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \ + /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \ + /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \ + /usr/include/x86_64-linux-gnu/bits/stdio.h \ + /usr/include/x86_64-linux-gnu/bits/stdio2.h /usr/include/stdlib.h \ + /usr/include/x86_64-linux-gnu/bits/waitflags.h \ + /usr/include/x86_64-linux-gnu/bits/waitstatus.h /usr/include/endian.h \ + /usr/include/x86_64-linux-gnu/bits/endian.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap-16.h \ + /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \ + /usr/include/x86_64-linux-gnu/sys/select.h \ + /usr/include/x86_64-linux-gnu/bits/select.h \ + /usr/include/x86_64-linux-gnu/bits/sigset.h \ + /usr/include/x86_64-linux-gnu/bits/time.h \ + /usr/include/x86_64-linux-gnu/bits/select2.h \ + /usr/include/x86_64-linux-gnu/sys/sysmacros.h \ + /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib.h /usr/include/ctype.h \ + /usr/include/xlocale.h /usr/include/string.h \ + /usr/include/x86_64-linux-gnu/bits/string.h \ + /usr/include/x86_64-linux-gnu/bits/string2.h \ + /usr/include/x86_64-linux-gnu/bits/string3.h /usr/include/errno.h \ + /usr/include/x86_64-linux-gnu/bits/errno.h /usr/include/linux/errno.h \ + /usr/include/x86_64-linux-gnu/asm/errno.h \ + /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ + src/c/ripole/logger.h src/c/ripole/pldstr.h src/c/ripole/bt-int.h \ + src/c/ripole/bytedecoders.h src/c/ripole/olestream-unwrap.h \ + src/c/ripole/ole.h ../../modules/localization/includes/localization.h \ + ../../modules/core/includes/machine.h /usr/include/libintl.h \ + /usr/include/locale.h /usr/include/x86_64-linux-gnu/bits/locale.h \ + ../../modules/localization/includes/charEncoding.h \ + /usr/include/x86_64-linux-gnu/bits/wchar.h \ + /usr/include/x86_64-linux-gnu/bits/wchar2.h \ + /usr/include/x86_64-linux-gnu/sys/stat.h \ + /usr/include/x86_64-linux-gnu/bits/stat.h \ + ../../modules/core/includes/MALLOC.h \ + ../../modules/core/includes/sci_mem_alloc.h \ + ../../modules/core/includes/BOOL.h \ + ../../modules/fileio/includes/createdirectory.h \ + ../../modules/fileio/includes/dynlib_fileio.h + +/usr/include/stdc-predef.h: + +/usr/include/stdio.h: + +/usr/include/features.h: + +/usr/include/x86_64-linux-gnu/sys/cdefs.h: + +/usr/include/x86_64-linux-gnu/bits/wordsize.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs-64.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h: + +/usr/include/x86_64-linux-gnu/bits/types.h: + +/usr/include/x86_64-linux-gnu/bits/typesizes.h: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/wchar.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h: + +/usr/include/x86_64-linux-gnu/bits/stdio_lim.h: + +/usr/include/x86_64-linux-gnu/bits/sys_errlist.h: + +/usr/include/x86_64-linux-gnu/bits/stdio.h: + +/usr/include/x86_64-linux-gnu/bits/stdio2.h: + +/usr/include/stdlib.h: + +/usr/include/x86_64-linux-gnu/bits/waitflags.h: + +/usr/include/x86_64-linux-gnu/bits/waitstatus.h: + +/usr/include/endian.h: + +/usr/include/x86_64-linux-gnu/bits/endian.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap-16.h: + +/usr/include/x86_64-linux-gnu/sys/types.h: + +/usr/include/time.h: + +/usr/include/x86_64-linux-gnu/sys/select.h: + +/usr/include/x86_64-linux-gnu/bits/select.h: + +/usr/include/x86_64-linux-gnu/bits/sigset.h: + +/usr/include/x86_64-linux-gnu/bits/time.h: + +/usr/include/x86_64-linux-gnu/bits/select2.h: + +/usr/include/x86_64-linux-gnu/sys/sysmacros.h: + +/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h: + +/usr/include/alloca.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib-float.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib.h: + +/usr/include/ctype.h: + +/usr/include/xlocale.h: + +/usr/include/string.h: + +/usr/include/x86_64-linux-gnu/bits/string.h: + +/usr/include/x86_64-linux-gnu/bits/string2.h: + +/usr/include/x86_64-linux-gnu/bits/string3.h: + +/usr/include/errno.h: + +/usr/include/x86_64-linux-gnu/bits/errno.h: + +/usr/include/linux/errno.h: + +/usr/include/x86_64-linux-gnu/asm/errno.h: + +/usr/include/asm-generic/errno.h: + +/usr/include/asm-generic/errno-base.h: + +src/c/ripole/logger.h: + +src/c/ripole/pldstr.h: + +src/c/ripole/bt-int.h: + +src/c/ripole/bytedecoders.h: + +src/c/ripole/olestream-unwrap.h: + +src/c/ripole/ole.h: + +../../modules/localization/includes/localization.h: + +../../modules/core/includes/machine.h: + +/usr/include/libintl.h: + +/usr/include/locale.h: + +/usr/include/x86_64-linux-gnu/bits/locale.h: + +../../modules/localization/includes/charEncoding.h: + +/usr/include/x86_64-linux-gnu/bits/wchar.h: + +/usr/include/x86_64-linux-gnu/bits/wchar2.h: + +/usr/include/x86_64-linux-gnu/sys/stat.h: + +/usr/include/x86_64-linux-gnu/bits/stat.h: + +../../modules/core/includes/MALLOC.h: + +../../modules/core/includes/sci_mem_alloc.h: + +../../modules/core/includes/BOOL.h: + +../../modules/fileio/includes/createdirectory.h: + +../../modules/fileio/includes/dynlib_fileio.h: diff --git a/modules/spreadsheet/src/c/ripole/.deps/libscispreadsheet_algo_la-olestream-unwrap.Plo b/modules/spreadsheet/src/c/ripole/.deps/libscispreadsheet_algo_la-olestream-unwrap.Plo new file mode 100755 index 000000000..6958cfb9e --- /dev/null +++ b/modules/spreadsheet/src/c/ripole/.deps/libscispreadsheet_algo_la-olestream-unwrap.Plo @@ -0,0 +1,185 @@ +src/c/ripole/libscispreadsheet_algo_la-olestream-unwrap.lo: \ + src/c/ripole/olestream-unwrap.c /usr/include/stdc-predef.h \ + /usr/include/stdio.h /usr/include/features.h \ + /usr/include/x86_64-linux-gnu/sys/cdefs.h \ + /usr/include/x86_64-linux-gnu/bits/wordsize.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h \ + /usr/include/x86_64-linux-gnu/bits/types.h \ + /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/libio.h \ + /usr/include/_G_config.h /usr/include/wchar.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \ + /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \ + /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \ + /usr/include/x86_64-linux-gnu/bits/stdio.h \ + /usr/include/x86_64-linux-gnu/bits/stdio2.h /usr/include/stdlib.h \ + /usr/include/x86_64-linux-gnu/bits/waitflags.h \ + /usr/include/x86_64-linux-gnu/bits/waitstatus.h /usr/include/endian.h \ + /usr/include/x86_64-linux-gnu/bits/endian.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap-16.h \ + /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \ + /usr/include/x86_64-linux-gnu/sys/select.h \ + /usr/include/x86_64-linux-gnu/bits/select.h \ + /usr/include/x86_64-linux-gnu/bits/sigset.h \ + /usr/include/x86_64-linux-gnu/bits/time.h \ + /usr/include/x86_64-linux-gnu/bits/select2.h \ + /usr/include/x86_64-linux-gnu/sys/sysmacros.h \ + /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib.h /usr/include/string.h \ + /usr/include/xlocale.h /usr/include/x86_64-linux-gnu/bits/string.h \ + /usr/include/x86_64-linux-gnu/bits/string2.h \ + /usr/include/x86_64-linux-gnu/bits/string3.h /usr/include/ctype.h \ + /usr/include/errno.h /usr/include/x86_64-linux-gnu/bits/errno.h \ + /usr/include/linux/errno.h /usr/include/x86_64-linux-gnu/asm/errno.h \ + /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ + src/c/ripole/logger.h src/c/ripole/pldstr.h src/c/ripole/bytedecoders.h \ + src/c/ripole/olestream-unwrap.h \ + ../../modules/localization/includes/localization.h \ + ../../modules/core/includes/machine.h /usr/include/libintl.h \ + /usr/include/locale.h /usr/include/x86_64-linux-gnu/bits/locale.h \ + ../../modules/core/includes/MALLOC.h \ + ../../modules/core/includes/sci_mem_alloc.h \ + ../../modules/localization/includes/charEncoding.h \ + /usr/include/x86_64-linux-gnu/bits/wchar.h \ + /usr/include/x86_64-linux-gnu/bits/wchar2.h \ + /usr/include/x86_64-linux-gnu/sys/stat.h \ + /usr/include/x86_64-linux-gnu/bits/stat.h \ + ../../modules/core/includes/BOOL.h + +/usr/include/stdc-predef.h: + +/usr/include/stdio.h: + +/usr/include/features.h: + +/usr/include/x86_64-linux-gnu/sys/cdefs.h: + +/usr/include/x86_64-linux-gnu/bits/wordsize.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs-64.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h: + +/usr/include/x86_64-linux-gnu/bits/types.h: + +/usr/include/x86_64-linux-gnu/bits/typesizes.h: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/wchar.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h: + +/usr/include/x86_64-linux-gnu/bits/stdio_lim.h: + +/usr/include/x86_64-linux-gnu/bits/sys_errlist.h: + +/usr/include/x86_64-linux-gnu/bits/stdio.h: + +/usr/include/x86_64-linux-gnu/bits/stdio2.h: + +/usr/include/stdlib.h: + +/usr/include/x86_64-linux-gnu/bits/waitflags.h: + +/usr/include/x86_64-linux-gnu/bits/waitstatus.h: + +/usr/include/endian.h: + +/usr/include/x86_64-linux-gnu/bits/endian.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap-16.h: + +/usr/include/x86_64-linux-gnu/sys/types.h: + +/usr/include/time.h: + +/usr/include/x86_64-linux-gnu/sys/select.h: + +/usr/include/x86_64-linux-gnu/bits/select.h: + +/usr/include/x86_64-linux-gnu/bits/sigset.h: + +/usr/include/x86_64-linux-gnu/bits/time.h: + +/usr/include/x86_64-linux-gnu/bits/select2.h: + +/usr/include/x86_64-linux-gnu/sys/sysmacros.h: + +/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h: + +/usr/include/alloca.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib-float.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib.h: + +/usr/include/string.h: + +/usr/include/xlocale.h: + +/usr/include/x86_64-linux-gnu/bits/string.h: + +/usr/include/x86_64-linux-gnu/bits/string2.h: + +/usr/include/x86_64-linux-gnu/bits/string3.h: + +/usr/include/ctype.h: + +/usr/include/errno.h: + +/usr/include/x86_64-linux-gnu/bits/errno.h: + +/usr/include/linux/errno.h: + +/usr/include/x86_64-linux-gnu/asm/errno.h: + +/usr/include/asm-generic/errno.h: + +/usr/include/asm-generic/errno-base.h: + +src/c/ripole/logger.h: + +src/c/ripole/pldstr.h: + +src/c/ripole/bytedecoders.h: + +src/c/ripole/olestream-unwrap.h: + +../../modules/localization/includes/localization.h: + +../../modules/core/includes/machine.h: + +/usr/include/libintl.h: + +/usr/include/locale.h: + +/usr/include/x86_64-linux-gnu/bits/locale.h: + +../../modules/core/includes/MALLOC.h: + +../../modules/core/includes/sci_mem_alloc.h: + +../../modules/localization/includes/charEncoding.h: + +/usr/include/x86_64-linux-gnu/bits/wchar.h: + +/usr/include/x86_64-linux-gnu/bits/wchar2.h: + +/usr/include/x86_64-linux-gnu/sys/stat.h: + +/usr/include/x86_64-linux-gnu/bits/stat.h: + +../../modules/core/includes/BOOL.h: diff --git a/modules/spreadsheet/src/c/ripole/.deps/libscispreadsheet_algo_la-pldstr.Plo b/modules/spreadsheet/src/c/ripole/.deps/libscispreadsheet_algo_la-pldstr.Plo new file mode 100755 index 000000000..0f8349e91 --- /dev/null +++ b/modules/spreadsheet/src/c/ripole/.deps/libscispreadsheet_algo_la-pldstr.Plo @@ -0,0 +1,146 @@ +src/c/ripole/libscispreadsheet_algo_la-pldstr.lo: src/c/ripole/pldstr.c \ + /usr/include/stdc-predef.h /usr/include/stdio.h /usr/include/features.h \ + /usr/include/x86_64-linux-gnu/sys/cdefs.h \ + /usr/include/x86_64-linux-gnu/bits/wordsize.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h \ + /usr/include/x86_64-linux-gnu/bits/types.h \ + /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/libio.h \ + /usr/include/_G_config.h /usr/include/wchar.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \ + /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \ + /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \ + /usr/include/x86_64-linux-gnu/bits/stdio.h \ + /usr/include/x86_64-linux-gnu/bits/stdio2.h /usr/include/string.h \ + /usr/include/xlocale.h /usr/include/x86_64-linux-gnu/bits/string.h \ + /usr/include/x86_64-linux-gnu/bits/string2.h /usr/include/endian.h \ + /usr/include/x86_64-linux-gnu/bits/endian.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap-16.h /usr/include/stdlib.h \ + /usr/include/x86_64-linux-gnu/bits/string3.h \ + /usr/include/x86_64-linux-gnu/bits/waitflags.h \ + /usr/include/x86_64-linux-gnu/bits/waitstatus.h \ + /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \ + /usr/include/x86_64-linux-gnu/sys/select.h \ + /usr/include/x86_64-linux-gnu/bits/select.h \ + /usr/include/x86_64-linux-gnu/bits/sigset.h \ + /usr/include/x86_64-linux-gnu/bits/time.h \ + /usr/include/x86_64-linux-gnu/bits/select2.h \ + /usr/include/x86_64-linux-gnu/sys/sysmacros.h \ + /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib.h /usr/include/ctype.h \ + src/c/ripole/logger.h src/c/ripole/pldstr.h \ + ../../modules/core/includes/MALLOC.h \ + ../../modules/core/includes/sci_mem_alloc.h \ + ../../modules/localization/includes/localization.h \ + ../../modules/core/includes/machine.h /usr/include/libintl.h \ + /usr/include/locale.h /usr/include/x86_64-linux-gnu/bits/locale.h + +/usr/include/stdc-predef.h: + +/usr/include/stdio.h: + +/usr/include/features.h: + +/usr/include/x86_64-linux-gnu/sys/cdefs.h: + +/usr/include/x86_64-linux-gnu/bits/wordsize.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs-64.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h: + +/usr/include/x86_64-linux-gnu/bits/types.h: + +/usr/include/x86_64-linux-gnu/bits/typesizes.h: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/wchar.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h: + +/usr/include/x86_64-linux-gnu/bits/stdio_lim.h: + +/usr/include/x86_64-linux-gnu/bits/sys_errlist.h: + +/usr/include/x86_64-linux-gnu/bits/stdio.h: + +/usr/include/x86_64-linux-gnu/bits/stdio2.h: + +/usr/include/string.h: + +/usr/include/xlocale.h: + +/usr/include/x86_64-linux-gnu/bits/string.h: + +/usr/include/x86_64-linux-gnu/bits/string2.h: + +/usr/include/endian.h: + +/usr/include/x86_64-linux-gnu/bits/endian.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap-16.h: + +/usr/include/stdlib.h: + +/usr/include/x86_64-linux-gnu/bits/string3.h: + +/usr/include/x86_64-linux-gnu/bits/waitflags.h: + +/usr/include/x86_64-linux-gnu/bits/waitstatus.h: + +/usr/include/x86_64-linux-gnu/sys/types.h: + +/usr/include/time.h: + +/usr/include/x86_64-linux-gnu/sys/select.h: + +/usr/include/x86_64-linux-gnu/bits/select.h: + +/usr/include/x86_64-linux-gnu/bits/sigset.h: + +/usr/include/x86_64-linux-gnu/bits/time.h: + +/usr/include/x86_64-linux-gnu/bits/select2.h: + +/usr/include/x86_64-linux-gnu/sys/sysmacros.h: + +/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h: + +/usr/include/alloca.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib-float.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib.h: + +/usr/include/ctype.h: + +src/c/ripole/logger.h: + +src/c/ripole/pldstr.h: + +../../modules/core/includes/MALLOC.h: + +../../modules/core/includes/sci_mem_alloc.h: + +../../modules/localization/includes/localization.h: + +../../modules/core/includes/machine.h: + +/usr/include/libintl.h: + +/usr/include/locale.h: + +/usr/include/x86_64-linux-gnu/bits/locale.h: diff --git a/modules/spreadsheet/src/c/ripole/.deps/libscispreadsheet_algo_la-ripole.Plo b/modules/spreadsheet/src/c/ripole/.deps/libscispreadsheet_algo_la-ripole.Plo new file mode 100755 index 000000000..90f6fc7d7 --- /dev/null +++ b/modules/spreadsheet/src/c/ripole/.deps/libscispreadsheet_algo_la-ripole.Plo @@ -0,0 +1,150 @@ +src/c/ripole/libscispreadsheet_algo_la-ripole.lo: src/c/ripole/ripole.c \ + /usr/include/stdc-predef.h /usr/include/stdio.h /usr/include/features.h \ + /usr/include/x86_64-linux-gnu/sys/cdefs.h \ + /usr/include/x86_64-linux-gnu/bits/wordsize.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h \ + /usr/include/x86_64-linux-gnu/bits/types.h \ + /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/libio.h \ + /usr/include/_G_config.h /usr/include/wchar.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \ + /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \ + /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \ + /usr/include/x86_64-linux-gnu/bits/stdio.h \ + /usr/include/x86_64-linux-gnu/bits/stdio2.h /usr/include/stdlib.h \ + /usr/include/x86_64-linux-gnu/bits/waitflags.h \ + /usr/include/x86_64-linux-gnu/bits/waitstatus.h /usr/include/endian.h \ + /usr/include/x86_64-linux-gnu/bits/endian.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap-16.h \ + /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \ + /usr/include/x86_64-linux-gnu/sys/select.h \ + /usr/include/x86_64-linux-gnu/bits/select.h \ + /usr/include/x86_64-linux-gnu/bits/sigset.h \ + /usr/include/x86_64-linux-gnu/bits/time.h \ + /usr/include/x86_64-linux-gnu/bits/select2.h \ + /usr/include/x86_64-linux-gnu/sys/sysmacros.h \ + /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib.h /usr/include/string.h \ + /usr/include/xlocale.h /usr/include/x86_64-linux-gnu/bits/string.h \ + /usr/include/x86_64-linux-gnu/bits/string2.h \ + /usr/include/x86_64-linux-gnu/bits/string3.h /usr/include/ctype.h \ + src/c/ripole/logger.h src/c/ripole/pldstr.h src/c/ripole/ole.h \ + src/c/ripole/ripole.h ../../modules/localization/includes/localization.h \ + ../../modules/core/includes/machine.h /usr/include/libintl.h \ + /usr/include/locale.h /usr/include/x86_64-linux-gnu/bits/locale.h \ + ../../modules/core/includes/MALLOC.h \ + ../../modules/core/includes/sci_mem_alloc.h + +/usr/include/stdc-predef.h: + +/usr/include/stdio.h: + +/usr/include/features.h: + +/usr/include/x86_64-linux-gnu/sys/cdefs.h: + +/usr/include/x86_64-linux-gnu/bits/wordsize.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs-64.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h: + +/usr/include/x86_64-linux-gnu/bits/types.h: + +/usr/include/x86_64-linux-gnu/bits/typesizes.h: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/wchar.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h: + +/usr/include/x86_64-linux-gnu/bits/stdio_lim.h: + +/usr/include/x86_64-linux-gnu/bits/sys_errlist.h: + +/usr/include/x86_64-linux-gnu/bits/stdio.h: + +/usr/include/x86_64-linux-gnu/bits/stdio2.h: + +/usr/include/stdlib.h: + +/usr/include/x86_64-linux-gnu/bits/waitflags.h: + +/usr/include/x86_64-linux-gnu/bits/waitstatus.h: + +/usr/include/endian.h: + +/usr/include/x86_64-linux-gnu/bits/endian.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap-16.h: + +/usr/include/x86_64-linux-gnu/sys/types.h: + +/usr/include/time.h: + +/usr/include/x86_64-linux-gnu/sys/select.h: + +/usr/include/x86_64-linux-gnu/bits/select.h: + +/usr/include/x86_64-linux-gnu/bits/sigset.h: + +/usr/include/x86_64-linux-gnu/bits/time.h: + +/usr/include/x86_64-linux-gnu/bits/select2.h: + +/usr/include/x86_64-linux-gnu/sys/sysmacros.h: + +/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h: + +/usr/include/alloca.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib-float.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib.h: + +/usr/include/string.h: + +/usr/include/xlocale.h: + +/usr/include/x86_64-linux-gnu/bits/string.h: + +/usr/include/x86_64-linux-gnu/bits/string2.h: + +/usr/include/x86_64-linux-gnu/bits/string3.h: + +/usr/include/ctype.h: + +src/c/ripole/logger.h: + +src/c/ripole/pldstr.h: + +src/c/ripole/ole.h: + +src/c/ripole/ripole.h: + +../../modules/localization/includes/localization.h: + +../../modules/core/includes/machine.h: + +/usr/include/libintl.h: + +/usr/include/locale.h: + +/usr/include/x86_64-linux-gnu/bits/locale.h: + +../../modules/core/includes/MALLOC.h: + +../../modules/core/includes/sci_mem_alloc.h: diff --git a/modules/spreadsheet/src/c/ripole/.dirstamp b/modules/spreadsheet/src/c/ripole/.dirstamp new file mode 100755 index 000000000..e69de29bb --- /dev/null +++ b/modules/spreadsheet/src/c/ripole/.dirstamp diff --git a/modules/spreadsheet/src/c/ripole/.libs/libscispreadsheet_algo_la-bt-int.o b/modules/spreadsheet/src/c/ripole/.libs/libscispreadsheet_algo_la-bt-int.o Binary files differnew file mode 100755 index 000000000..9ba2120cc --- /dev/null +++ b/modules/spreadsheet/src/c/ripole/.libs/libscispreadsheet_algo_la-bt-int.o diff --git a/modules/spreadsheet/src/c/ripole/.libs/libscispreadsheet_algo_la-bytedecoders.o b/modules/spreadsheet/src/c/ripole/.libs/libscispreadsheet_algo_la-bytedecoders.o Binary files differnew file mode 100755 index 000000000..88acbd579 --- /dev/null +++ b/modules/spreadsheet/src/c/ripole/.libs/libscispreadsheet_algo_la-bytedecoders.o diff --git a/modules/spreadsheet/src/c/ripole/.libs/libscispreadsheet_algo_la-logger.o b/modules/spreadsheet/src/c/ripole/.libs/libscispreadsheet_algo_la-logger.o Binary files differnew file mode 100755 index 000000000..a80052c19 --- /dev/null +++ b/modules/spreadsheet/src/c/ripole/.libs/libscispreadsheet_algo_la-logger.o diff --git a/modules/spreadsheet/src/c/ripole/.libs/libscispreadsheet_algo_la-ole.o b/modules/spreadsheet/src/c/ripole/.libs/libscispreadsheet_algo_la-ole.o Binary files differnew file mode 100755 index 000000000..9c45581d3 --- /dev/null +++ b/modules/spreadsheet/src/c/ripole/.libs/libscispreadsheet_algo_la-ole.o diff --git a/modules/spreadsheet/src/c/ripole/.libs/libscispreadsheet_algo_la-olestream-unwrap.o b/modules/spreadsheet/src/c/ripole/.libs/libscispreadsheet_algo_la-olestream-unwrap.o Binary files differnew file mode 100755 index 000000000..0f3bbc33c --- /dev/null +++ b/modules/spreadsheet/src/c/ripole/.libs/libscispreadsheet_algo_la-olestream-unwrap.o diff --git a/modules/spreadsheet/src/c/ripole/.libs/libscispreadsheet_algo_la-pldstr.o b/modules/spreadsheet/src/c/ripole/.libs/libscispreadsheet_algo_la-pldstr.o Binary files differnew file mode 100755 index 000000000..d0cec33d9 --- /dev/null +++ b/modules/spreadsheet/src/c/ripole/.libs/libscispreadsheet_algo_la-pldstr.o diff --git a/modules/spreadsheet/src/c/ripole/.libs/libscispreadsheet_algo_la-ripole.o b/modules/spreadsheet/src/c/ripole/.libs/libscispreadsheet_algo_la-ripole.o Binary files differnew file mode 100755 index 000000000..07358d81c --- /dev/null +++ b/modules/spreadsheet/src/c/ripole/.libs/libscispreadsheet_algo_la-ripole.o diff --git a/modules/spreadsheet/src/c/ripole/LICENSE.ripole b/modules/spreadsheet/src/c/ripole/LICENSE.ripole new file mode 100755 index 000000000..1f85bfb46 --- /dev/null +++ b/modules/spreadsheet/src/c/ripole/LICENSE.ripole @@ -0,0 +1,33 @@ +Copyright (c) 2003, PLD +All rights reserved. + +Redistribution and use in source and binary forms, with or +without modification, are permitted provided that the +following conditions are met: + +* Redistributions of source code must retain the above +copyright notice, this list of conditions and the following +disclaimer. + +* Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following +disclaimer in the documentation and/or other materials provided +with the distribution. + +* Neither the name of the PLD nor the names of its contributors +may be used to endorse or promote products derived from this software +without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. + diff --git a/modules/spreadsheet/src/c/ripole/bt-int.c b/modules/spreadsheet/src/c/ripole/bt-int.c new file mode 100755 index 000000000..fc01f3132 --- /dev/null +++ b/modules/spreadsheet/src/c/ripole/bt-int.c @@ -0,0 +1,130 @@ +/*--------------------------------------------------------------------------*/ +#include <stdio.h> +#include <stdlib.h> +/*--------------------------------------------------------------------------*/ +#include "MALLOC.h" +#include "bt-int.h" +/*--------------------------------------------------------------------------*/ +int BTI_init( struct bti_node **n ) +{ + *n = NULL; + return 0; +} +/*--------------------------------------------------------------------------*/ +int BTI_add( struct bti_node **n, int value ) +{ + int collision = 0; + int dir = 0; + struct bti_node *p = NULL, *node = *n; + + /* fprintf(stdout,"Adding %d to %p\n", value, *n);*/ + while (node != NULL) + { + if (value > node->data) + { + p = node; + dir = 1; + node = node->r; + } + else if (value < node->data) + { + p = node; + dir = -1; + node = node->l; + } + else if (value == node->data) + { + collision = 1; + break; + } + } + + if (collision == 0) + { + struct bti_node *leaf = NULL; + + leaf = MALLOC(sizeof(struct bti_node)); + if (leaf == NULL) + { + return -1; + } + + leaf->data = value; + leaf->l = leaf->r = NULL; + + if (p != NULL) + { + switch (dir) + { + case 1: + p->r = leaf; + break; + case -1: + p->l = leaf; + break; + } + } + else + { + *n = leaf; + } + } + + return collision; +} +/*--------------------------------------------------------------------------*/ +int BTI_dump( struct bti_node **n ) +{ + struct bti_node *node = NULL; + + node = *n; + + if (node->l) + { + BTI_dump(&(node->l)); + } + if (*n) + { + fprintf(stdout, "%d, ", node->data); + } + if (node->r) + { + BTI_dump(&(node->r)); + } + + return 0; + +} +/*--------------------------------------------------------------------------*/ +int BTI_done( struct bti_node **n ) +{ + struct bti_node *node = NULL ; + + if (n == NULL) + { + return 0; + } + if (*n == NULL) + { + return 0; + } + + node = *n; + + if (node->l) + { + BTI_done(&(node->l)); + } + if (node->r) + { + BTI_done(&(node->r)); + } + if (*n) + { + FREE(*n); + *n = NULL; + } + + return 0; +} +/*--------------------------------------------------------------------------*/ diff --git a/modules/spreadsheet/src/c/ripole/bt-int.h b/modules/spreadsheet/src/c/ripole/bt-int.h new file mode 100755 index 000000000..202d93820 --- /dev/null +++ b/modules/spreadsheet/src/c/ripole/bt-int.h @@ -0,0 +1,15 @@ +#ifndef __BT_INT__ +#define __BT_INT__ + +struct bti_node +{ + int data; + struct bti_node *l, *r; +}; + +int BTI_init( struct bti_node **n ); +int BTI_add( struct bti_node **n, int value ); +int BTI_dump( struct bti_node **n ); +int BTI_done( struct bti_node **n ); + +#endif diff --git a/modules/spreadsheet/src/c/ripole/bytedecoders.c b/modules/spreadsheet/src/c/ripole/bytedecoders.c new file mode 100755 index 000000000..24865c064 --- /dev/null +++ b/modules/spreadsheet/src/c/ripole/bytedecoders.c @@ -0,0 +1,77 @@ +#include <stdio.h> +#include "bytedecoders.h" + +/*-----------------------------------------------------------------\ + Function Name : int + Returns Type : unsigned + ----Parameter List + 1. get_byte_value( unsigned char *start , + ------------------ + Exit Codes : + Side Effects : +-------------------------------------------------------------------- + Comments: + +-------------------------------------------------------------------- + Changes: + +\------------------------------------------------------------------*/ +int get_1byte_value( unsigned char *start ) +{ + return (int) * start; +} + +/*-----------------------------------------------------------------\ + Function Name : int + Returns Type : unsigned + ----Parameter List + 1. get_ushort_value( unsigned char *start , + ------------------ + Exit Codes : + Side Effects : +-------------------------------------------------------------------- + Comments: + +-------------------------------------------------------------------- + Changes: + +\------------------------------------------------------------------*/ +int get_2byte_value( unsigned char *start ) +{ + int value = 0; + + value = *start | ((*(start + 1)) << 8); + + return value; +} + +/*-----------------------------------------------------------------\ + Function Name : int + Returns Type : unsigned + ----Parameter List + 1. get_ulong_value( unsigned char *start , + ------------------ + Exit Codes : + Side Effects : +-------------------------------------------------------------------- + Comments: + +-------------------------------------------------------------------- + Changes: + +\------------------------------------------------------------------*/ +int get_4byte_value(unsigned char *start ) +{ + int value = 0; + + value = (*start) + | ((*(start + 1)) << 8) + | ((*(start + 2)) << 16) + | ((*(start + 3)) << 24); + + /* printf("String=0x%x %x %x %x:%u = %d\n", *start, *(start +1), *(start +2), *(start +3), *(start +3), value);*/ + + return value; +} + + diff --git a/modules/spreadsheet/src/c/ripole/bytedecoders.h b/modules/spreadsheet/src/c/ripole/bytedecoders.h new file mode 100755 index 000000000..3a53e951f --- /dev/null +++ b/modules/spreadsheet/src/c/ripole/bytedecoders.h @@ -0,0 +1,26 @@ +/* +** -*- C -*- +** +** bytedecoders.h +** Made by Bruno JOFRET <bruno.jofret@inria.fr> +** +** Started on Wed Oct 17 13:54:15 2007 bruno +** Last update Wed Oct 17 16:51:47 2007 bruno +** +** Copyright INRIA 2007 +*/ + +#ifndef __BYTEDECODERS_H__ +#define __BYTEDECODERS_H__ + +/** @TODO : Comments ?? */ +int get_1byte_value(unsigned char *start ); + +/** @TODO : Comments ?? */ +int get_2byte_value(unsigned char *start ); + +/** @TODO : Comments ?? */ +int get_4byte_value(unsigned char *start ); + + +#endif /* __BYTEDECODERS_H__ */ diff --git a/modules/spreadsheet/src/c/ripole/libscispreadsheet_algo_la-bt-int.lo b/modules/spreadsheet/src/c/ripole/libscispreadsheet_algo_la-bt-int.lo new file mode 100755 index 000000000..16c272b25 --- /dev/null +++ b/modules/spreadsheet/src/c/ripole/libscispreadsheet_algo_la-bt-int.lo @@ -0,0 +1,12 @@ +# src/c/ripole/libscispreadsheet_algo_la-bt-int.lo - a libtool object file +# Generated by libtool (GNU libtool) 2.4.2 +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# Name of the PIC object. +pic_object='.libs/libscispreadsheet_algo_la-bt-int.o' + +# Name of the non-PIC object +non_pic_object=none + diff --git a/modules/spreadsheet/src/c/ripole/libscispreadsheet_algo_la-bytedecoders.lo b/modules/spreadsheet/src/c/ripole/libscispreadsheet_algo_la-bytedecoders.lo new file mode 100755 index 000000000..8d788052e --- /dev/null +++ b/modules/spreadsheet/src/c/ripole/libscispreadsheet_algo_la-bytedecoders.lo @@ -0,0 +1,12 @@ +# src/c/ripole/libscispreadsheet_algo_la-bytedecoders.lo - a libtool object file +# Generated by libtool (GNU libtool) 2.4.2 +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# Name of the PIC object. +pic_object='.libs/libscispreadsheet_algo_la-bytedecoders.o' + +# Name of the non-PIC object +non_pic_object=none + diff --git a/modules/spreadsheet/src/c/ripole/libscispreadsheet_algo_la-logger.lo b/modules/spreadsheet/src/c/ripole/libscispreadsheet_algo_la-logger.lo new file mode 100755 index 000000000..fced0d284 --- /dev/null +++ b/modules/spreadsheet/src/c/ripole/libscispreadsheet_algo_la-logger.lo @@ -0,0 +1,12 @@ +# src/c/ripole/libscispreadsheet_algo_la-logger.lo - a libtool object file +# Generated by libtool (GNU libtool) 2.4.2 +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# Name of the PIC object. +pic_object='.libs/libscispreadsheet_algo_la-logger.o' + +# Name of the non-PIC object +non_pic_object=none + diff --git a/modules/spreadsheet/src/c/ripole/libscispreadsheet_algo_la-ole.lo b/modules/spreadsheet/src/c/ripole/libscispreadsheet_algo_la-ole.lo new file mode 100755 index 000000000..7e1db6854 --- /dev/null +++ b/modules/spreadsheet/src/c/ripole/libscispreadsheet_algo_la-ole.lo @@ -0,0 +1,12 @@ +# src/c/ripole/libscispreadsheet_algo_la-ole.lo - a libtool object file +# Generated by libtool (GNU libtool) 2.4.2 +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# Name of the PIC object. +pic_object='.libs/libscispreadsheet_algo_la-ole.o' + +# Name of the non-PIC object +non_pic_object=none + diff --git a/modules/spreadsheet/src/c/ripole/libscispreadsheet_algo_la-olestream-unwrap.lo b/modules/spreadsheet/src/c/ripole/libscispreadsheet_algo_la-olestream-unwrap.lo new file mode 100755 index 000000000..50c1fa4e0 --- /dev/null +++ b/modules/spreadsheet/src/c/ripole/libscispreadsheet_algo_la-olestream-unwrap.lo @@ -0,0 +1,12 @@ +# src/c/ripole/libscispreadsheet_algo_la-olestream-unwrap.lo - a libtool object file +# Generated by libtool (GNU libtool) 2.4.2 +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# Name of the PIC object. +pic_object='.libs/libscispreadsheet_algo_la-olestream-unwrap.o' + +# Name of the non-PIC object +non_pic_object=none + diff --git a/modules/spreadsheet/src/c/ripole/libscispreadsheet_algo_la-pldstr.lo b/modules/spreadsheet/src/c/ripole/libscispreadsheet_algo_la-pldstr.lo new file mode 100755 index 000000000..d74c2e337 --- /dev/null +++ b/modules/spreadsheet/src/c/ripole/libscispreadsheet_algo_la-pldstr.lo @@ -0,0 +1,12 @@ +# src/c/ripole/libscispreadsheet_algo_la-pldstr.lo - a libtool object file +# Generated by libtool (GNU libtool) 2.4.2 +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# Name of the PIC object. +pic_object='.libs/libscispreadsheet_algo_la-pldstr.o' + +# Name of the non-PIC object +non_pic_object=none + diff --git a/modules/spreadsheet/src/c/ripole/libscispreadsheet_algo_la-ripole.lo b/modules/spreadsheet/src/c/ripole/libscispreadsheet_algo_la-ripole.lo new file mode 100755 index 000000000..8b731029f --- /dev/null +++ b/modules/spreadsheet/src/c/ripole/libscispreadsheet_algo_la-ripole.lo @@ -0,0 +1,12 @@ +# src/c/ripole/libscispreadsheet_algo_la-ripole.lo - a libtool object file +# Generated by libtool (GNU libtool) 2.4.2 +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# Name of the PIC object. +pic_object='.libs/libscispreadsheet_algo_la-ripole.o' + +# Name of the non-PIC object +non_pic_object=none + diff --git a/modules/spreadsheet/src/c/ripole/logger.c b/modules/spreadsheet/src/c/ripole/logger.c new file mode 100755 index 000000000..31ad2896b --- /dev/null +++ b/modules/spreadsheet/src/c/ripole/logger.c @@ -0,0 +1,379 @@ + +/* Abstract logging system used to facilitate multiple modes*/ +/* of logging*/ + +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#ifndef _MSC_VER +#include <syslog.h> +#endif +#include <errno.h> +#include <stdarg.h> +#include <ctype.h> + +#include "localization.h" +#include "logger.h" +#include "MALLOC.h" +#include "charEncoding.h" + +//#define SYSLOG_ENABLE 1 + +#ifndef _MSC_VER +static int _LOGGER_mode = _LOGGER_SYSLOG; +static int _LOGGER_syslog_mode = LOG_MAIL | LOG_INFO; +#else +static int _LOGGER_mode = _LOGGER_STDERR; +static int _LOGGER_syslog_mode = 0; +#endif + +static FILE *_LOGGER_outf; + +struct LOGGER_globals +{ + int wrap; + int wraplength; +}; + +/* Create and Initialise the global structure for LOGGER,*/ +/* we init it to have NO wrapping.*/ + +static struct LOGGER_globals LOGGER_glb = { 0, 0 }; + +#ifdef _MSC_VER +#define vsnprintf _vsnprintf +#endif + +/*------------------------------------------------------------------------ +Procedure: LOGGER_get_file ID:1 +Purpose: Returns the pointer to the file being used to output logs to +Input: +Output: +Errors: +------------------------------------------------------------------------*/ +FILE *LOGGER_get_file( void ) +{ + return _LOGGER_outf; +} + + +/*------------------------------------------------------------------------ +Procedure: LOGGER_set_output_mode ID:1 +Purpose: Sets the message/log output method, ie, stderr, stdout +or syslog +Input: +Output: +Errors: +------------------------------------------------------------------------*/ +int LOGGER_set_output_mode( int modechoice ) +{ + _LOGGER_mode = modechoice; + return 0; +} + +/*------------------------------------------------------------------------ +Procedure: LOGGER_set_output_file ID:1 +Purpose: Sets the output file for when _LOGGER_mode is set to +_LOGGER_file +Input: +Output: +Errors: +------------------------------------------------------------------------*/ +int LOGGER_set_output_file( FILE *f ) +{ + _LOGGER_outf = f; + return 0; +} + +/*------------------------------------------------------------------------ +Procedure: LOGGER_set_syslog_mode ID:1 +Purpose: Sets the mode that messaging to the syslog daemon will +be sent as (ie, LOG_MAIL|LOG_INFO) +Input: +Output: +Errors: +------------------------------------------------------------------------*/ +int LOGGER_set_syslog_mode( int syslogmode ) +{ + _LOGGER_syslog_mode = syslogmode; + return 0; +} + + + + +/*------------------------------------------------------------------------ +Procedure: LOGGER_set_logfile ID:1 +Purpose: Opens and setups the internal Log file file pointer with the +log file as given by lfname +Input: +Output: +Errors: +------------------------------------------------------------------------*/ +int LOGGER_set_logfile( char *lfname ) +{ + int result = 0; + + wcfopen(_LOGGER_outf, lfname, "a"); + if (!_LOGGER_outf) + { +#if !defined(_MSC_VER) && defined(SYSLOG_ENABLE) + syslog(1, _("LOGGER_set_logfile: ERROR - Cannot open logfile '%s' (%s)"), lfname, strerror(errno)); +#else + fprintf(stderr, _("LOGGER_set_logfile: ERROR - Cannot open logfile '%s' (%s)\n"), lfname, strerror(errno)); +#endif + result = -1; + } + + return result; +} + + + +/*------------------------------------------------------------------------ +Procedure: LOGGER_set_wraplength ID:1 +Purpose: Sets the character count at which LOGGER will break a line +Input: int length: Positive int indicating number of chracters at which to wrap at +Output: +Errors: +------------------------------------------------------------------------*/ +int LOGGER_set_wraplength( int length ) +{ + if ( length >= 0 ) + { + LOGGER_glb.wraplength = length; + } + + return LOGGER_glb.wraplength; +} + +/*------------------------------------------------------------------------ +Procedure: LOGGER_set_wrap ID:1 +Purpose: Set log output wrapping to on or off +Input: int level: 0 = no wrap, > 0 = wrap. +Output: +Errors: +------------------------------------------------------------------------*/ +int LOGGER_set_wrap( int level ) +{ + if ( level >= 0 ) + { + LOGGER_glb.wrap = level; + } + + return LOGGER_glb.wrap; +} + + + +/*------------------------------------------------------------------------ +Procedure: LOGGER_close_logfile ID:1 +Purpose: Closes the modules log file pointer. +Input: +Output: +Errors: +------------------------------------------------------------------------*/ +int LOGGER_close_logfile( void ) +{ + int result = 0; + + if (_LOGGER_outf) + { + fclose(_LOGGER_outf); + } + + return result; +} + + + +/*------------------------------------------------------------------------ +Procedure: LOGGER_clean_output ID:1 +Purpose: Checks through the output string for any characters which could cause +potential 'isssues' with the data writing calls, items such as stray non-escaped +% characters can cause havoc. +Input: char *string: Raw string +int maxsize: Maximum available buffer size for this string to expand to +Output: +Errors: +------------------------------------------------------------------------*/ +int LOGGER_clean_output( char *string, char **buffer ) +{ + char *newstr; + char *p, *q; + char *next_space; + + int pc; + int slen = (int)strlen( string ); + int line_size; + int maxsize = slen * 2; + + /* First up, allocate maxsize bytes for a temporary new string.*/ + newstr = MALLOC(slen * 2 + 1); + if ( newstr == NULL ) + { + /* FIXME - Report an error here ... to -somewhere-*/ + return -1; + } + + p = newstr; + q = string; + pc = 0; + line_size = 0; + + while (slen--) + { + + /* Do we need to apply any wrapping to the output? If so then we*/ + /* shall embark on a journey of strange space and distance*/ + /* evaluations to determine if we should wrap now or later*/ + + if ( LOGGER_glb.wrap > 0 ) + { + if (isspace((int)*q)) + { + next_space = strpbrk( (q + 1), "\t\n\v " ); + if (next_space != NULL) + { + if ((line_size + (next_space - q)) >= LOGGER_glb.wraplength) + { + *p = '\n'; + p++; + pc++; + line_size = 0; + } + } + } + + if ( line_size >= LOGGER_glb.wraplength ) + { + *p = '\n'; + p++; + pc++; + line_size = 0; + } + } + + /* If the string has a % in it, then we need to encode it as*/ + /* a DOUBLE % symbol.*/ + + if (*q == '%') + { + /* if (strchr("fdlsxXn",*(q+1)))*/ + /* {*/ + *p = '%'; + p++; + pc++; + /* }*/ + } + + /* Copy the character of the string in*/ + *p = *q; + + /* Move everything along.*/ + q++; + p++; + pc++; + line_size++; + + if ( pc > (maxsize - 1) ) + { + break; + } + } + + *p = '\0'; + + /* This will have to be deallocated later!*/ + if (newstr) + { + *buffer = newstr; + } + + return 0; +} + +/*------------------------------------------------------------------------ +Procedure: LOGGER_log ID:1 +Purpose: Logs the params as supplied to the required +output as defined by LOGGER_set_output +Input: +Output: +Errors: +------------------------------------------------------------------------*/ +int LOGGER_log( char *format, ...) +{ + va_list ptr; + char tmpoutput[10240]; + char linebreak[] = "\n"; + char nolinebreak[] = ""; + char *lineend; + char *output; + + + /* get our variable arguments*/ + va_start(ptr, format); + + /* produce output, and spit to the log file*/ +#ifdef NO_SNPRINTF + vsprintf(tmpoutput, format, ptr); +#else + vsnprintf(tmpoutput, 10240, format, ptr); +#endif + + LOGGER_clean_output( tmpoutput, &output ); + + if ( output[strlen(output) - 1] == '\n' ) + { + lineend = nolinebreak; + } + else + { + lineend = linebreak; + } + + if ( output[strlen(output) - 1] == '\n' ) + { + lineend = nolinebreak; + } + else + { + lineend = linebreak; + } + + /* Send the output to the appropriate output destination*/ + switch (_LOGGER_mode) + { + case _LOGGER_SYSLOG: +#if !defined(_MSC_VER) && defined(SYSLOG_ENABLE) + syslog(_LOGGER_syslog_mode, "%s", output); + break; +#endif + case _LOGGER_STDERR: + fprintf(stderr, "%s%s", output, lineend ); + break; + + case _LOGGER_STDOUT: + fprintf(stdout, "%s%s", output, lineend); + fflush(stdout); + break; + case _LOGGER_FILE: + fprintf(_LOGGER_outf, "%s%s", output, lineend); + fflush(_LOGGER_outf); + break; + default: + fprintf(stdout, _("LOGGER-Default: %s%s"), output, lineend); + } + + + if (output) + { + FREE(output); + } + + return 0; +} + + + + diff --git a/modules/spreadsheet/src/c/ripole/logger.h b/modules/spreadsheet/src/c/ripole/logger.h new file mode 100755 index 000000000..96e98c608 --- /dev/null +++ b/modules/spreadsheet/src/c/ripole/logger.h @@ -0,0 +1,29 @@ + +#ifndef __LOGGER__ +#define __LOGGER__ +/* LOGGER.h */ + +#define _LOGGER_STDERR 1 +#define _LOGGER_STDOUT 2 +#define _LOGGER_FILE 3 +/* #ifndef _MSC_VER */ +#define _LOGGER_SYSLOG 4 +/* #endif */ + +#ifndef FL +#define FL __FILE__,__LINE__ +#endif + +int LOGGER_log( char *format, ...); +int LOGGER_set_output_mode( int modechoice ); +int LOGGER_set_output_file( FILE *f ); +int LOGGER_set_syslog_mode( int syslogmode ); +int LOGGER_set_logfile( char *lfname ); +int LOGGER_set_wraplength( int length ); +int LOGGER_set_wrap( int level ); + +int LOGGER_close_logfile( void ); +FILE *LOGGER_get_file( void ); + +int LOGGER_clean_output( char *string, char **buffer ); +#endif diff --git a/modules/spreadsheet/src/c/ripole/ole.c b/modules/spreadsheet/src/c/ripole/ole.c new file mode 100755 index 000000000..03e85349d --- /dev/null +++ b/modules/spreadsheet/src/c/ripole/ole.c @@ -0,0 +1,2136 @@ +#ifdef _MSC_VER +#include <Windows.h> +#endif +#include <stdio.h> +#include <stdlib.h> +#include <ctype.h> +#include <string.h> +#include <errno.h> + +#include "logger.h" +#include "pldstr.h" +#include "bt-int.h" +#include "bytedecoders.h" +#include "olestream-unwrap.h" +#include "ole.h" +#include "localization.h" +#include "charEncoding.h" +#include "createdirectory.h" +/** Sector ID values (predefined) **/ +#define OLE_SECTORID_FREE -1 /** Unallocated sector **/ +#define OLE_SECTORID_ENDOFCHAIN -2 /** Sector marks the end of the a sector-ID chain **/ +#define OLE_SECTORID_SAT -3 /** Sector used by sector allocation Table **/ +#define OLE_SECTORID_MSAT -4 /** Sector used by master sector allocation Table **/ + +#include "MALLOC.h" /* MALLOC */ + +/* Main header accessors*/ +#define header_id(x) ((x) +0) +#define header_clid(x) ((x) +0x08) +#define header_minor_version(x) ((x) +0x18) +#define header_dll_version(x) ((x) +0x1a) +#define header_byte_order(x) ((x) +0x1c) +#define header_sector_shift(x) ((x) +0x1e) +#define header_mini_sector_shift(x) ((x) +0x20) +#define header_fat_sector_count(x) ((x) +0x2c) +#define header_directory_stream_start_sector(x) ((x) +0x30) +#define header_mini_cutoff_size(x) ((x) +0x38) +#define header_mini_fat_start(x) ((x) +0x3c) +#define header_mini_fat_sector_count(x) ((x) +0x40) +#define header_dif_start_sector(x) ((x) +0x44) +#define header_dif_sector_count(x) ((x) +0x48) +#define header_fat_sectors(x) ((x) +0x4c) + +/*Property Storage accessor macros*/ +#define pps_rawname(x) ((x) +0) +#define pps_sizeofname(x) ((x) +0x40) +#define pps_type(x) ((x) +0x42) +#define pps_previouspps(x) ((x) +0x44) +#define pps_nextpps(x) ((x) +0x48) +#define pps_directorypps(x) ((x) +0x4c) +#define pps_time1seconds(x) ((x) +0x64) +#define pps_time1days(x) ((x) +0x68) +#define pps_time2seconds(x) ((x) +0x6c) +#define pps_time2days(x) ((x) +0x70) +#define pps_propertystart(x) ((x) +0x74) +#define pps_sizeofproperty(x) ((x) +0x78) + +/* Type lengths*/ +#define LEN_BYTE 1 +#define LEN_USHORT 2 +#define LEN_ULONG 4 + +/* Directory types*/ +#define STGTY_INVALID 0 +#define STGTY_STORAGE 1 +#define STGTY_STREAM 2 +#define STGTY_LOCKBYTES 3 +#define STGTY_PROPERTY 4 +#define STGTY_ROOT 5 + +/* Directory tag colours*/ +#define DE_RED 0 +#define DE_BLACK 1 + +#define DOLE if (OLE_DNORMAL(ole->debug)) +#define VOLE if (ole->verbose) + +unsigned char OLE_id_v2[] = { 0xd0, 0xcf, 0x11, 0xe0, 0xa1, 0xb1, 0x1a, 0xe1 }; +unsigned char OLE_id_v1[] = { 0x0e, 0x11, 0xfc, 0x0d, 0xd0, 0xcf, 0x11, 0xe0 }; + +/*-----------------------------------------------------------------\ +Function Name : OLE_version +Returns Type : int +----Parameter List +1. void , +------------------ +Exit Codes : +Side Effects : +-------------------------------------------------------------------- +Comments: + +-------------------------------------------------------------------- +Changes: + +\------------------------------------------------------------------*/ +int OLE_version(void) +{ + fprintf(stderr, _("ripOLE: %s\n"), LIBOLE_VERSION); + + return 0; +} + +/*-----------------------------------------------------------------\ +Function Name : OLE_init +Returns Type : int +----Parameter List +1. struct OLE_object *ole , +------------------ +Exit Codes : +Side Effects : +-------------------------------------------------------------------- +Comments: + +-------------------------------------------------------------------- +Changes: +20041127-2029:PLD: Added file_size initialization +\------------------------------------------------------------------*/ +int OLE_init(struct OLE_object *ole) +{ + ole->debug = 0; + ole->verbose = 0; + ole->quiet = 0; + ole->filename_report_fn = NULL; + ole->f = NULL; + ole->file_size = 0; + + ole->FAT = NULL; + ole->FAT_limit = NULL; + ole->miniFAT = NULL; + ole->miniFAT_limit = NULL; + + ole->header_block[0] = '\0'; + ole->ministream = NULL; + ole->properties = NULL; + + ole->header.sector_shift = 0; + ole->header.mini_sector_shift = 0; + + return OLE_OK; +} + +/*-----------------------------------------------------------------\ +Function Name : OLE_dir_init +Returns Type : int +----Parameter List +1. struct OLE_directory_entry *dir , +------------------ +Exit Codes : +Side Effects : +-------------------------------------------------------------------- +Comments: + +-------------------------------------------------------------------- +Changes: + +\------------------------------------------------------------------*/ +int OLE_dir_init(struct OLE_directory_entry *dir) +{ + memset(dir->element_name, '\0', OLE_DIRECTORY_ELEMENT_NAME_SIZE); + dir->element_name_byte_count = 0; + + dir->element_type = 0; + dir->element_colour = 0; + + dir->left_child = 0; + dir->right_child = 0; + dir->root = 0; + + dir->class[0] = '\0'; + dir->userflags = 0; + dir->timestamps[0] = '\0'; + dir->start_sector = 0; + dir->stream_size = 0; + + return 0; +}; + +/*-----------------------------------------------------------------\ +Function Name : OLE_set_verbose +Returns Type : int +----Parameter List +1. struct OLE_object *ole, +2. int level , +------------------ +Exit Codes : +Side Effects : +-------------------------------------------------------------------- +Comments: + +-------------------------------------------------------------------- +Changes: + +\------------------------------------------------------------------*/ +int OLE_set_verbose(struct OLE_object *ole, int level) +{ + ole->verbose = level; + return OLE_OK; +} + +/*-----------------------------------------------------------------\ +Function Name : OLE_set_quiet +Returns Type : int +----Parameter List +1. struct OLE_object *ole, +2. int level , +------------------ +Exit Codes : +Side Effects : +-------------------------------------------------------------------- +Comments: + +-------------------------------------------------------------------- +Changes: + +\------------------------------------------------------------------*/ +int OLE_set_quiet(struct OLE_object *ole, int level) +{ + ole->quiet = level; + ole->verbose = 0; + ole->debug = 0; + + return OLE_OK; +} + +/*-----------------------------------------------------------------\ +Function Name : OLE_set_debug +Returns Type : int +----Parameter List +1. struct OLE_object *ole, +2. int level , +------------------ +Exit Codes : +Side Effects : +-------------------------------------------------------------------- +Comments: + +-------------------------------------------------------------------- +Changes: + +\------------------------------------------------------------------*/ +int OLE_set_debug(struct OLE_object *ole, int level) +{ + ole->debug = level; + if (ole->debug > 0) + { + LOGGER_log(_("%s:%d:OLE_set_debug: Debug level set to %d"), FL, ole->debug); + } + + return OLE_OK; +} + +/*-----------------------------------------------------------------\ +Function Name : OLE_set_save_unknown_streams +Returns Type : int +----Parameter List +1. struct OLE_object *ole, +2. int level , +------------------ +Exit Codes : +Side Effects : +-------------------------------------------------------------------- +Comments: + +-------------------------------------------------------------------- +Changes: + +\------------------------------------------------------------------*/ +int OLE_set_save_unknown_streams(struct OLE_object *ole, int level) +{ + ole->save_unknown_streams = level; + + return OLE_OK; +} + +/*-----------------------------------------------------------------\ +Function Name : OLE_sectorpos +Returns Type : int +----Parameter List +1. struct OLE_object *ole, +2. int SID , +------------------ +Exit Codes : +Side Effects : +-------------------------------------------------------------------- +Comments: +Given a sector ID, this function will return the file position +offset. + +Assumes that the offset for the file starts at 512 bytes (which +is the size of the OLE header) + +-------------------------------------------------------------------- +Changes: + +\------------------------------------------------------------------*/ +int OLE_sectorpos(struct OLE_object *ole, int SID) +{ + int pos = 0; + + pos = 512 + (SID * ole->header.sector_size); + + return pos; +} + +/*-----------------------------------------------------------------\ +Function Name : OLE_get_block +Returns Type : int +----Parameter List +1. struct OLE_object *ole, +2. int block_index, Block indexes / Sector ID's are signed ints. +3. unsigned char *block_buffer , +------------------ +Exit Codes : +Side Effects : +-------------------------------------------------------------------- +Comments: + +-------------------------------------------------------------------- +Changes: + +\------------------------------------------------------------------*/ +int OLE_get_block(struct OLE_object *ole, int block_index, unsigned char *block_buffer) +{ + if (block_buffer == NULL) + { + LOGGER_log(_("%s:%d:OLE_get_block:ERROR: Block buffer is NULL"), FL); + return -1; + } + + if (ole->f != NULL) + { + int read_count = 0; + int fseek_result = 0; + size_t offset = 0; + unsigned char *bb = NULL; + + bb = MALLOC(sizeof(unsigned char) * ole->header.sector_size); + if (bb == NULL) + { + LOGGER_log(_("%s:%d:OLE_get_block:ERROR: Cannot allocate %d bytes for OLE block"), FL, ole->header.sector_size); + return -1; + } + + DOLE LOGGER_log("%s:%d:OLE_get_block:DEBUG: BlockIndex=%d, Buffer=0x%x", FL, block_index, block_buffer); + + /*20051211-2343:PLD: offset = (block_index +1) << ole->header.sector_shift; */ + offset = OLE_sectorpos(ole, block_index); + + DOLE LOGGER_log("%s:%d:OLE_get_block:DEBUG: Read offset in file = 0x%x size to read= 0x%x", FL, offset, ole->header.sector_size); + + fseek_result = fseek(ole->f, (long)offset, SEEK_SET); + if (fseek_result != 0) + { + if (bb != NULL) + { + FREE(bb); + bb = NULL; + } + LOGGER_log(_("%s:%d:OLE_get_block:ERROR: Seek failure (block=%d:%d)"), FL, block_index, offset, strerror(errno)); + return OLEER_GET_BLOCK_SEEK; + } + + /*read_count = fread(block_buffer, sizeof(unsigned char), ole->header.sector_size, ole->f); */ + read_count = (int)fread(bb, sizeof(unsigned char), ole->header.sector_size, ole->f); + DOLE LOGGER_log("%s:%d:OLE_get_block:DEBUG: Read %d byte of data", FL, read_count); + + if (read_count != (int)ole->header.sector_size) + { + if (bb != NULL) + { + FREE(bb); + bb = NULL; + } + VOLE LOGGER_log(_("%s:%d:Mismatch in bytes read. Requested %d, got %d\n"), FL, ole->header.sector_size, read_count); + + return OLEER_GET_BLOCK_READ; + } + + DOLE LOGGER_log("%s:%d:OLE_get_block:DEBUG: Copying over memory read from file", FL); + + memcpy(block_buffer, bb, ole->header.sector_size); + + DOLE LOGGER_log("%s:%d:OLE_get_block:DEBUG: memory block copied to block_buffer", FL); + + /* We're now done with BB, dispose of it */ + if (bb) + { + FREE(bb); + bb = NULL; + } + + DOLE LOGGER_log("%s:%d:OLE_get_block:DEBUG: Disposed of temporary bb block", FL); + + } + else + { + LOGGER_log(_("%s:%d:OLE_get_block:ERROR: OLE file is closed\n"), FL); + return -1; + } + + DOLE LOGGER_log("%s:%d:OLE_get_block:DEBUG: Done", FL); + + return OLE_OK; +} + +/*-----------------------------------------------------------------\ +Function Name : OLE_get_miniblock +Returns Type : int +----Parameter List +1. struct OLE_object *ole, +2. unsigned int block_index, +3. unsigned char *block_buffer , +------------------ +Exit Codes : +Side Effects : +-------------------------------------------------------------------- +Comments: + +-------------------------------------------------------------------- +Changes: + +\------------------------------------------------------------------*/ +int OLE_get_miniblock(struct OLE_object *ole, int block_index, unsigned char *block_buffer) +{ + /* This code may refer memory outside of the allocated one for ole->ministream * + * in case of VBA Streams Serge Steer 26/01/2007 */ + if (ole->ministream) + { + int offset = block_index << ole->header.mini_sector_shift; + + memcpy(block_buffer, ole->ministream + offset, ole->header.mini_sector_size); + } + + return OLE_OK; +} + +/*-----------------------------------------------------------------\ +Function Name : OLE_dbstosbs +Returns Type : int +----Parameter List +1. char *raw_string, +2. size_t char_count, +3. char *clean_string , +------------------ +Exit Codes : +Side Effects : +-------------------------------------------------------------------- +Comments: + +-------------------------------------------------------------------- +Changes: + +\------------------------------------------------------------------*/ +int OLE_dbstosbs(char *raw_string, size_t byte_count, char *clean_string, int clean_string_len) +{ + char *limit = raw_string + byte_count - 1; + + clean_string_len--; + + while ((raw_string < limit) && (byte_count > 0) && (byte_count--) && (clean_string_len--)) + { + int v = (char) * raw_string; + + if (isprint(v)) + { + *clean_string = (char)v; + clean_string++; + } + + raw_string += 2; + } + *clean_string = '\0'; + + return OLE_OK; +} + +/*-----------------------------------------------------------------\ +Function Name : OLE_print_string +Returns Type : int +----Parameter List +1. char *string, +2. size_t length , +------------------ +Exit Codes : +Side Effects : +-------------------------------------------------------------------- +Comments: + +-------------------------------------------------------------------- +Changes: + +\------------------------------------------------------------------*/ +int OLE_print_string(char *string, size_t char_count) +{ + while (char_count--) + { + printf("%c", *string); + string += 2; + } + return OLE_OK; +} + +/*-----------------------------------------------------------------\ +Function Name : OLE_print_sector +Returns Type : int +----Parameter List +1. struct OLE_object *ole, +2. unsigned char *sector , +------------------ +Exit Codes : +Side Effects : +-------------------------------------------------------------------- +Comments: + +-------------------------------------------------------------------- +Changes: + +\------------------------------------------------------------------*/ +static int OLE_print_sector(struct OLE_object *ole, unsigned char *sector, unsigned int bytes) +{ + int current_byte; + int ubytes = bytes; + + printf("\n"); + for (current_byte = 0; current_byte < ubytes; current_byte++) + { + printf("%02X ", *(sector + current_byte)); + if (((current_byte + 1) % 32) == 0) + { + int j; + + for (j = current_byte - 31; j <= current_byte; j++) + { + if (isalnum(*(sector + j))) + { + printf("%c", *(sector + j)); + } + else + { + printf("."); + } + } + printf("\n"); + } + } + printf("\n"); + + return OLE_OK; +} + +/*-----------------------------------------------------------------\ +Function Name : OLE_is_OLE_file +Returns Type : int +----Parameter List +1. struct OLE_object *ole , +------------------ +Exit Codes : +Side Effects : +-------------------------------------------------------------------- +Comments: + +-------------------------------------------------------------------- +Changes: + +\------------------------------------------------------------------*/ +int OLE_is_file_OLE(struct OLE_object *ole) +{ + + if (memcmp(OLE_id_v1, ole->header_block, sizeof(OLE_id_v1)) == 0) + { + return 1; + } + if (memcmp(OLE_id_v2, ole->header_block, sizeof(OLE_id_v2)) == 0) + { + return 1; + } + + return 0; + +} + +/*-----------------------------------------------------------------\ +Function Name : OLE_get_header +Returns Type : int +----Parameter List +1. struct OLE_object *ole , +------------------ +Exit Codes : +Side Effects : +-------------------------------------------------------------------- +Comments: + +-------------------------------------------------------------------- +Changes: + +\------------------------------------------------------------------*/ +int OLE_get_header(struct OLE_object *ole) +{ + int result = 0; + + ole->header.sector_size = OLE_HEADER_BLOCK_SIZE; + result = OLE_get_block(ole, -1, ole->header_block); + + if (OLE_is_file_OLE(ole) == 0) + { + return OLEER_NOT_OLE_FILE; + } + + return OLE_OK; +} + +/*-----------------------------------------------------------------\ +Function Name : OLE_convert_header +Returns Type : int +----Parameter List +1. struct OLE_object *ole , +------------------ +Exit Codes : +Side Effects : +-------------------------------------------------------------------- +Comments: + +-------------------------------------------------------------------- +Changes: + +\------------------------------------------------------------------*/ +int OLE_convert_header(struct OLE_object *ole) +{ + struct OLE_header *h; + unsigned char *hb; /** pointer to the header block **/ + unsigned char *fat_start; + unsigned int i; + + h = &(ole->header); + hb = ole->header_block; + + /** Note that the header_*(hb) calls are actually macros which are + ** defined in the ole.h file. These macros basically take the + ** hb value and add the required offset, they don't affect the + ** value of hb (or they certainly SHOULD NOT! ) + **/ + + h->minor_version = get_2byte_value(header_minor_version(hb)); + h->dll_version = get_2byte_value(header_dll_version(hb)); + h->byte_order = get_2byte_value(header_byte_order(hb)); /** 0xFEFF = Little endian, 0xFFFE = big endian **/ + h->sector_shift = get_2byte_value(header_sector_shift(hb)); + h->sector_size = 1 << h->sector_shift; + + h->mini_sector_shift = get_2byte_value(header_mini_sector_shift(hb)); + h->mini_sector_size = 1 << h->mini_sector_shift; + + h->fat_sector_count = get_4byte_value(header_fat_sector_count(hb)); /** Total number of sectors use for the SAT **/ + h->directory_stream_start_sector = get_4byte_value(header_directory_stream_start_sector(hb)); /** Start sector-ID for the DIRECTORY STREAM **/ + h->mini_cutoff_size = get_4byte_value(header_mini_cutoff_size(hb)); + h->mini_fat_start = get_4byte_value(header_mini_fat_start(hb)); + h->mini_fat_sector_count = get_4byte_value(header_mini_fat_sector_count(hb)); + h->dif_start_sector = get_4byte_value(header_dif_start_sector(hb)); + h->dif_sector_count = get_4byte_value(header_dif_sector_count(hb)); + + /** Compute the maximum possible sector number by taking our OLE filesize + ** and dividing it by the size of our sector size. While this isn't + ** absolutely accurate it is at least useful in providing us with an + ** upper-bound of what is an acceptable sector ID **/ + ole->last_sector = (int)(ole->file_size >> h->sector_shift); + + /** Decode our first 109 sector-ID's into the master sector allocation table (MSAT/FAT) **/ + fat_start = header_fat_sectors(hb); + for (i = 0; i < h->fat_sector_count; i++) + { + if (i >= OLE_HEADER_FAT_SECTOR_COUNT_LIMIT) + { + break; + } + h->FAT[i] = get_4byte_value(fat_start + (LEN_ULONG * i)); + } + + return OLE_OK; +} + +/*-----------------------------------------------------------------\ +Function Name : OLE_header_sanity_check +Returns Type : int +----Parameter List +1. struct OLE_object *ole , +------------------ +Exit Codes : +Side Effects : +-------------------------------------------------------------------- +Comments: +Determines the degree of insanity in the header, returning it +as an integer, 1 per degree of insanity. + +-------------------------------------------------------------------- +Changes: +20041127-2027:PLD: Initial version + +\------------------------------------------------------------------*/ +static int OLE_header_sanity_check(struct OLE_object *ole) +{ + int insanity = 0; + int max_sectors; + struct OLE_header *h; + + h = &(ole->header); + + max_sectors = (int)(ole->file_size / h->sector_size); + + if (h->sector_shift > 20) + { + insanity++; + } + if (h->mini_sector_shift > 10) + { + insanity++; + } + if ((int)h->fat_sector_count < 0) + { + insanity++; + } + if (h->fat_sector_count > (unsigned int)max_sectors) + { + insanity++; + } + if (h->directory_stream_start_sector > (unsigned int)max_sectors) + { + insanity++; + } + + return insanity; +} + +/*-----------------------------------------------------------------\ +Function Name : OLE_print_header +Returns Type : int +----Parameter List +1. struct OLE_object *ole , +------------------ +Exit Codes : +Side Effects : +-------------------------------------------------------------------- +Comments: + +-------------------------------------------------------------------- +Changes: + +\------------------------------------------------------------------*/ +int OLE_print_header(struct OLE_object *ole) +{ + unsigned int i; + struct OLE_header *h; + + h = &(ole->header); + + printf("Minor version = %d\n" + "DLL version = %d\n" + "Byte order = %d\n\n" + "Sector shift = %d\n" + "Sector size = %d\n" + "Mini Sector shift = %d\n" + "Mini sector size = %d\n\n" + "FAT sector count = %d\n" + "First FAT sector = %d\n\n" + "Maximum ministream size = %d\n\n" + "First MiniFAT sector = %d\n" + "MiniFAT sector count = %d\n\n" + "First DIF sector = %d\n" + "DIF sector count = %d\n" + "--------------------------------\n", h->minor_version, h->dll_version, h->byte_order, h->sector_shift, h->sector_size, + h->mini_sector_shift, h->mini_sector_size, h->fat_sector_count, h->directory_stream_start_sector, h->mini_cutoff_size, h->mini_fat_start, + h->mini_fat_sector_count, h->dif_start_sector, h->dif_sector_count); + + /* Print out the FAT chain */ + for (i = 0; i < h->fat_sector_count; i++) + { + if (i >= OLE_HEADER_FAT_SECTOR_COUNT_LIMIT) + { + break; /* We can't read beyond the 109th sector location */ + } + printf("FAT[%d] = %d\n", i, h->FAT[i]); + } + + return OLE_OK; +} + +/*-----------------------------------------------------------------\ +Function Name : OLE_convert_directory +Returns Type : int +----Parameter List +1. unsigned char *buf, +2. struct OLE_directory_entry *dir , +------------------ +Exit Codes : +Side Effects : +-------------------------------------------------------------------- +Comments: + +-------------------------------------------------------------------- +Changes: + +\------------------------------------------------------------------*/ +int OLE_convert_directory(struct OLE_object *ole, unsigned char *buf, struct OLE_directory_entry *dir) +{ + /** Converts a raw block of 128 bytes from the file to a + ** struct OLE_directory_entry data structure + **/ + + /** Flush the element name **/ + memset(dir->element_name, '\0', OLE_DIRECTORY_ELEMENT_NAME_SIZE); + + /** The first 64 bytes of the structure are the element's name + ** in 16-bite UNICODE, meaning a maximum of 31 characters when + ** we account for the trailing zero byte + **/ + + /** Copy the first 64 bytes of our *buf parameter into the element name **/ + memcpy(dir->element_name, buf, OLE_DIRECTORY_ELEMENT_NAME_SIZE); + + /** how many bytes of the above 64 bytes are used for the name (NOT CHARACTERS!), ** + ** example, for a 8 character string with a trailing zero we use ** + ** (8+1)*2 = 18 bytes + **/ + dir->element_name_byte_count = get_2byte_value(buf + 0x40); + + /** Element type is of the following: + ** 0x00 - empty + ** 0x01 - user storage + ** 0x02 - user stream + ** 0x03 - lock bytes (we don't know what this is for) + ** 0x04 - property (again, we don't know) + ** 0x05 - root storage + **/ + dir->element_type = (char)get_1byte_value(buf + 0x42); + + /** Element colour for the red-black tree: + ** 0x00 - Red + ** 0x01 - Black + **/ + dir->element_colour = (char)get_1byte_value(buf + 0x43); + + /** Directory ID (DID) of the left child, -1 if no sibling **/ + dir->left_child = get_4byte_value(buf + 0x44); + + /** Directory ID (DID) of the right child, -1 if no sibling **/ + dir->right_child = get_4byte_value(buf + 0x48); + + /** Directory ID (DID) of the root node entry of the RB tree of all + ** storage members (if this entry is a storage), else -1. + **/ + dir->root = get_4byte_value(buf + 0x4c); + + memcpy(dir->class, buf + 0x50, 16); + dir->userflags = get_4byte_value(buf + 0x60); + memcpy(dir->timestamps, buf + 0x64, 16); /** Actually consists of 2 8 byte stamps **/ + + /** Sector ID of the first sector or short-sector **/ + dir->start_sector = get_4byte_value(buf + 0x74); + + /** Size of this stream **/ + DOLE LOGGER_log("%s:%d:OLE_directory_entry:DEBUG: stream size = 0x%x %x %x %x", FL, *(buf + 0x78), *(buf + 0x79), *(buf + 0x7A), *(buf + 0x7B)); + + dir->stream_size = get_4byte_value(buf + 0x78); + + return OLE_OK; +} + +/*-----------------------------------------------------------------\ +Function Name : OLE_print_directory +Returns Type : int +----Parameter List +1. struct OLE *ole, +2. struct OLE_directory_entry *dir , +------------------ +Exit Codes : +Side Effects : +-------------------------------------------------------------------- +Comments: + +-------------------------------------------------------------------- +Changes: + +\------------------------------------------------------------------*/ +int OLE_print_directory(struct OLE_object *ole, struct OLE_directory_entry *dir) +{ + char element[64]; + + OLE_dbstosbs(dir->element_name, dir->element_name_byte_count, element, sizeof(element)); + + printf("Element Name = %s\n" + "Element type = %d\n" + "Element colour = %d\n" + "Left Child = %d\n" + "Right Child = %d\n" + "Root = %d\n" + "User flags = %d\n" + "Start sector = %d\n" + "Stream Size = %d\n", element, dir->element_type, dir->element_colour, dir->left_child, dir->right_child, dir->root, dir->userflags, + dir->start_sector, dir->stream_size); + + return OLE_OK; +} + +/*-----------------------------------------------------------------\ +Function Name : OLE_load_FAT +Returns Type : int +----Parameter List +1. struct OLE_object *ole , +------------------ +Exit Codes : +Side Effects : +-------------------------------------------------------------------- +Comments: + +-------------------------------------------------------------------- +Changes: + +\------------------------------------------------------------------*/ +int OLE_load_FAT(struct OLE_object *ole) +{ + unsigned int FAT_size; + + FAT_size = ole->header.fat_sector_count << ole->header.sector_shift; + DOLE LOGGER_log("%s:%d:OLE_load_FAT:DEBUG:Allocating for %d sectors (%d bytes)\n", FL, ole->header.fat_sector_count, FAT_size); + + ole->FAT = MALLOC(FAT_size * sizeof(unsigned char)); + ole->FAT_limit = ole->FAT + FAT_size; + if (ole->FAT != NULL) + { + unsigned int i; + unsigned char *fat_position = ole->FAT; + unsigned int sector_count = ole->header.fat_sector_count; + + if (sector_count > OLE_HEADER_FAT_SECTOR_COUNT_LIMIT) + { + sector_count = OLE_HEADER_FAT_SECTOR_COUNT_LIMIT; + DOLE LOGGER_log("%s:%d:OLE_load_FAT:DEBUG: sector count greater than limit; set to %d", FL, sector_count); + } + + /* Load in all our primary-FAT sectors from the OLE file */ + for (i = 0; i < sector_count; i++) + { + int getblock_result = 0; + + DOLE LOGGER_log("%s:%d:OLE_load_FAT:DEBUG: Loading sector %d", FL, i); + + getblock_result = OLE_get_block(ole, ole->header.FAT[i], fat_position); + if (getblock_result != 0) + { + /* if the get block fails, return the error - but keep the FAT */ + /* pointer alive - so that we can facilitate debugging */ + /* otherwise the caller is always going to get a NULL pointer */ + /* and have no idea to what extent the data was read. */ + /**/ + /* This behavior may be changed later - but for now (beta development) */ + /* it'll be okay to leave it here - just make sure we know to */ + /* free the FAT block later. */ + return getblock_result; + } + + fat_position += ole->header.sector_size; + if (fat_position > ole->FAT_limit) + { + LOGGER_log("%s:%d:OLE_load_FAT:DEBUG: FAT boundary limit exceeded %p > %p", FL, fat_position, ole->FAT_limit); + return -1; + } + } + + /* If our DIF count is > 0, this means we have a pretty big */ + /* file on hand (> 7Mb) and thus we now have to do some */ + /* fancy double-dereferenced sector request - enough to */ + /* twist your brain if you're not alert, you have been */ + /* warned. */ + + if (ole->header.dif_sector_count > 0) + { + unsigned char *fat_block; + unsigned char *fat_block_end; + unsigned int current_sector = ole->header.dif_start_sector; + + DOLE LOGGER_log("%s:%d:OLE_load_FAT:DEBUG: Allocating %d bytes to fat_block\n", FL, ole->header.sector_size); + + fat_block = MALLOC(ole->header.sector_size); + + if (fat_block == NULL) + { + LOGGER_log(_("%s:%d:OLE_load_FAT:ERROR: Unable to allocate %d bytes\n"), FL, ole->header.sector_size); + return -1; + /* exit(1); */ + } + + /* We need to know where the end of this block is - because it's */ + /* used to show us where the NEXT FAT block is going to come from */ + /* NOTE - this only occurs if we do have another block, else */ + /* we'll simply have to just realise that we don't need any more */ + /* blocks and stop with this one. */ + + fat_block_end = fat_block + ole->header.sector_size - LEN_ULONG; + + /* We know we've got 'dif_sector_count' blocks to read, each of */ + /* these blocks hold no more than 127 sector addresses which */ + /* contain the actual FAT data we're after (this is the double */ + /* dereference bit that twists your brain ) */ + + DOLE LOGGER_log("%s:%d:OLE_load_FAT:DEBUG: Loading DIF sectors (count = %d)", FL, ole->header.dif_sector_count); + + for (i = 0; i < ole->header.dif_sector_count; i++) + { + int import_sector; + unsigned char *DIF = fat_block; + int tick = 0; + int getblock_result; + + DOLE LOGGER_log("%s:%d:OLE_load_FAT:DEBUG: Reading DIF/XBAT index-data[%d] from sector 0x%x", FL, i, current_sector); + + getblock_result = OLE_get_block(ole, current_sector, fat_block); + if (getblock_result != OLE_OK) + { + if (fat_block) + { + FREE(fat_block); + } + return getblock_result; + } + + if (OLE_DPEDANTIC(ole->debug)) + { + OLE_print_sector(ole, fat_block, ole->header.sector_size); + } + + /* Now, traverse this block until we hit a < 0 */ + /* If we get what is a non-valid sector value */ + /* we know we've reached the end of the valid */ + /* sectors from which to read more extended FAT */ + /* data. */ + + do + { + import_sector = get_4byte_value(DIF); + DOLE LOGGER_log("%s:%d:OLE_load_FAT:DEBUG: import sector = 0x%x", FL, import_sector); + + if (import_sector >= 0) + { + if (fat_position + ole->header.sector_size <= ole->FAT_limit) + { + DOLE LOGGER_log("%s:%d:OLE_load_FAT:DEBUG: Reading DIF/XBAT-data[%d] from sector 0x%x", FL, tick, import_sector); + + getblock_result = OLE_get_block(ole, import_sector, fat_position); + if (getblock_result != OLE_OK) + { + LOGGER_log(_("%s:%d:OLE_load_FAT:ERROR: Not able to load block, import sector = 0x%x, fat position = 0x%x"), FL, + import_sector, fat_position); + if (fat_block) + { + FREE(fat_block); + } + return getblock_result; + } + + fat_position += ole->header.sector_size; + DOLE LOGGER_log("%s:%d:OLE_load_FAT:DEBUG: FAT position = 0x%x (start = 0x%x, end = 0x%x)", FL, fat_position, fat_block, + ole->FAT_limit); + + /*if (fat_position +ole->header.sector_size > ole->FAT_limit) */ + if (fat_position > ole->FAT_limit) + { + DOLE LOGGER_log(_("%s:%d:OLE_load_FAT:ERROR: FAT memory boundary limit exceeded %p >= %p"), FL, fat_position, + ole->FAT_limit); + if (fat_block) + { + FREE(fat_block); + } + return OLEER_MEMORY_OVERFLOW; + } + tick++; + DIF += LEN_ULONG; + } + else + { + LOGGER_log(_("%s:%d:OLE_load_FAT:ERROR: FAT memory boundary limit exceeded %p >= %p"), FL, fat_position, ole->FAT_limit); + if (fat_block) + { + FREE(fat_block); + } + return OLEER_MEMORY_OVERFLOW; + } + } + else + { + VOLE LOGGER_log(_("%s:%d:OLE_load_FAT:ERROR: sector request was negative (%d)"), FL, import_sector); + } + + DOLE LOGGER_log("%s:%d:OLE_load_FAT:DEBUG: DIF = 0x%x", FL, DIF); + } + while ((import_sector >= 0) && (DIF < fat_block_end)); + + /* Get the next sector of DIF/XBAT data ... */ + /**/ + /* If we still have more sectors full of extended FAT */ + /* sectors that we have to read, then we neet to */ + /* obtain the address of the next FAT-sector filled */ + /* sector */ + if (i < ole->header.dif_sector_count - 1) + { + current_sector = get_4byte_value(fat_block_end); + DOLE LOGGER_log("%s:%d:OLE_load_FAT:DEBUG: Next DIF/XBAT index sector located at 0x%x", FL, current_sector); + + if ((int)current_sector < 0) + { + break; + } + } + } /* For every DIF/XBAT sector we're supposed to read */ + + if (fat_block) + { + FREE(fat_block); + } + } /* If we have DIF/XBAT sectors to read into the FAT */ + + } /* If we managed to allocate memory for our FAT table */ + + return OLE_OK; +} + +/*-----------------------------------------------------------------\ +Function Name : OLE_follow_chain +Returns Type : int +----Parameter List +1. struct OLE_object *ole, +2. int FAT_sector_start , +------------------ +Exit Codes : +Side Effects : +-------------------------------------------------------------------- +Comments: + +-------------------------------------------------------------------- +Changes: + +\------------------------------------------------------------------*/ +int OLE_follow_chain(struct OLE_object *ole, int FAT_sector_start) +{ + int current_sector = FAT_sector_start; + int chain_length = 0; + int last_sector_of_file = ole->last_sector; + int break_out = 0; + struct bti_node *n; + + BTI_init(&n); + + if (FAT_sector_start < 0) + { + return 0; + } + + DOLE LOGGER_log("%s:%d:OLE_follow_chain:DEBUG: Starting chain follow at sector %d", FL, FAT_sector_start); + + do + { + int next_sector; + unsigned char *next_sector_location; + + next_sector_location = ole->FAT + (LEN_ULONG * current_sector); + if (next_sector_location > (ole->FAT_limit - 4)) + { + DOLE LOGGER_log("%s:%d:OLE_follow_chain:DEBUG: ERROR: Next sector was outside of the limits of this file (%ld > %ld)", FL, + next_sector_location, ole->FAT_limit); + break; + } + + /*next_sector = get_4byte_value( ole->FAT +(LEN_ULONG *current_sector)); */ + next_sector = get_4byte_value(next_sector_location); + + if (BTI_add(&n, next_sector) != 0) + { + DOLE LOGGER_log("%s:%d:OLE_follow_chain:DEBUG: Sector collision, terminating chain traversal", FL); + + chain_length = -1; + + break; + } + + DOLE LOGGER_log("%s:%d:OLE_follow_chain:DEBUG: 0x%0X:%d)->(0x%0X:%d)\n", FL, current_sector, current_sector, next_sector, next_sector); + + /* 20040729-10H37 Added this to prevent endless loop which sometimes occurs at sector 0 */ + + if (next_sector == current_sector) + { + break; + } + + /* fflush(stdout); */ + current_sector = next_sector; + chain_length++; + + /** Test to see if we should terminate this chain traversal **/ + switch (current_sector) + { + case OLE_SECTORID_MSAT: + case OLE_SECTORID_SAT: + case OLE_SECTORID_ENDOFCHAIN: + case OLE_SECTORID_FREE: + break_out = 1; + break; + default: + break_out = 0; + }; + + if (current_sector < 0) + { + break_out = 1; + } + + } + while ((break_out == 0) && (current_sector < last_sector_of_file)); + + BTI_done(&n); + + return chain_length; +} + +/*-----------------------------------------------------------------\ +Function Name : OLE_follow_minichain +Returns Type : int +----Parameter List +1. struct OLE_object *ole, +2. int FAT_sector_start , +------------------ +Exit Codes : +Side Effects : +-------------------------------------------------------------------- +Comments: + +-------------------------------------------------------------------- +Changes: + +\------------------------------------------------------------------*/ +int OLE_follow_minichain(struct OLE_object *ole, int miniFAT_sector_start) +{ + /*unsigned int current_sector = miniFAT_sector_start; */ + int current_sector = miniFAT_sector_start; + int chain_length = 0; + int break_out = 0; + + DOLE LOGGER_log("%s:%d:OLE_follow_minichain:DEBUG: Starting at sector %d", FL, miniFAT_sector_start); + + if (miniFAT_sector_start < 0) + { + return 0; + } + + do + { + /*unsigned int next_sector; */ + int next_sector; + + DOLE LOGGER_log("%s:%d:OLE_follow_minichain:DEBUG: Requesting 4-byte value at '%d'", FL, ole->miniFAT + (LEN_ULONG * current_sector)); + + /* next text commented out because ole->miniFAT_limit is set to null ans vever change + * if (ole->miniFAT +(LEN_ULONG *current_sector) > ole->miniFAT_limit) { + * DOLE LOGGER_log("%s:%d:OLE_follow_minichain:DEBUG: Requested location is out of bounds\n",FL); + * return 0; + * } + */ + + next_sector = get_4byte_value(ole->miniFAT + (LEN_ULONG * current_sector)); + + DOLE LOGGER_log("%s:%d:OLE_follow_minichain:DEBUG: Current Msector(0x%0X:%d)->next(0x%0X:%d)\n", FL, current_sector, current_sector, + next_sector, next_sector); + + /** Check for conditions that indicate we should stop traversing this chain **/ + + /** 1. We cannot point to ourselves **/ + if (current_sector == next_sector) + { + break; + } + + chain_length++; + current_sector = next_sector; + + /** Test for non-positive type sector ID's **/ + switch (current_sector) + { + case OLE_SECTORID_MSAT: + case OLE_SECTORID_SAT: + case OLE_SECTORID_ENDOFCHAIN: + case OLE_SECTORID_FREE: + break_out = 1; + break; + default: + break_out = 0; + }; + + DOLE LOGGER_log("%s:%d:OLE_follow_minichain:DEBUG: current sector = %d", FL, current_sector); + + /* Test changed Serge Steer Scilab */ + /* } while ((break_out==0) &&(current_sector <= ole->last_sector)); */ + } + while (break_out == 0); + DOLE LOGGER_log("%s:%d:OLE_follow_minichain:DEBUG: Done. Chainlength=%d", FL, chain_length); + + return chain_length; +} + +/*-----------------------------------------------------------------\ +Function Name : char +Returns Type : unsigned +----Parameter List +1. *OLE_load_minichain( struct OLE_object *ole, +2. int FAT_sector_start , +------------------ +Exit Codes : +Side Effects : +-------------------------------------------------------------------- +Comments: + +-------------------------------------------------------------------- +Changes: +PLD:2003-Aug-28: Added sanity checking on the miniFAT_sector_start +value so that we didn't try to load up a miniFAT starting on a +negative value + +\------------------------------------------------------------------*/ +unsigned char *OLE_load_minichain(struct OLE_object *ole, int miniFAT_sector_start) +{ + + int chain_length = 0; + int current_sector = miniFAT_sector_start; + unsigned char *buffer; + unsigned char *bp; + int break_out = 0; + + DOLE LOGGER_log("%s:%d:OLE_load_minichain:DEBUG: Loading minichain starting at %d", FL, miniFAT_sector_start); + + /* Added this sanity checking 2003 Aug 28 */ + if (miniFAT_sector_start < 0) + { + return NULL; + } + + chain_length = OLE_follow_minichain(ole, miniFAT_sector_start); + DOLE LOGGER_log("%s:%d:OLE_load_minichain:DEBUG: Found %d mini-sectors to load (%d bytes)\n", FL, chain_length, + chain_length * ole->header.mini_sector_size); + + /* 20040911-21H59 */ + /* If our chain is 0 length, then there's nothing to return */ + if (chain_length == 0) + { + return NULL; + } + + bp = buffer = MALLOC(chain_length * ole->header.mini_sector_size * sizeof(unsigned char)); + if (buffer != NULL) + { + do + { + int next_sector; + + DOLE LOGGER_log("%s:%d:OLE_load_minichain:DEBUG: Loading sector %d", FL, current_sector); + + OLE_get_miniblock(ole, current_sector, bp); + bp += ole->header.mini_sector_size; + + next_sector = get_4byte_value(ole->miniFAT + (LEN_ULONG * current_sector)); + current_sector = next_sector; + /* NEXT LINES ADDED TO BE COHERENT WITH OLE_follow_minichain ABOVE Serge Steer Scilab */ + switch (current_sector) + { + case OLE_SECTORID_MSAT: + case OLE_SECTORID_SAT: + case OLE_SECTORID_ENDOFCHAIN: + case OLE_SECTORID_FREE: + break_out = 1; + break; + default: + break_out = 0; + }; + /* Test changed Serge Steer Scilab */ + /* } while ((current_sector != OLE_SECTORID_ENDOFCHAIN)&&(current_sector >= 0)&&(current_sector <= ole->last_sector)); */ + + } + while (break_out == 0); + + } + else + { + LOGGER_log(_("%s:%d:OLE_get_miniblock:ERROR: Failed to allocate enough memory for miniChain"), FL); + } + + DOLE LOGGER_log("%s:%d:OLE_load_minichain:DEBUG: Done. buffer=%p", FL, buffer); + + return buffer; +} + +/*-----------------------------------------------------------------\ +Function Name : char +Returns Type : unsigned +----Parameter List +1. *OLE_load_chain( struct OLE_object *ole, +2. int FAT_sector_start , +------------------ +Exit Codes : +Side Effects : +-------------------------------------------------------------------- +Comments: + +-------------------------------------------------------------------- +Changes: +Make the loading aware of negative-value sectors so that it can +make more intelligent exit strategies. + +\------------------------------------------------------------------*/ +unsigned char *OLE_load_chain(struct OLE_object *ole, int FAT_sector_start) +{ + + int chain_length = 0; + int current_sector = FAT_sector_start; + unsigned char *buffer = NULL; + unsigned char *bp = NULL; + + ole->last_chain_size = 0; + + if (FAT_sector_start < 0) + { + return NULL; + } + + DOLE LOGGER_log("%s:%d:OLE_load_chain:DEBUG: Loading chain, starting at sector %d", FL, FAT_sector_start); + + chain_length = OLE_follow_chain(ole, FAT_sector_start); + DOLE LOGGER_log("%s:%d:OLE_load_chain:DEBUG: %d sectors need to be loaded", FL, chain_length); + + if (chain_length > 0) + { + size_t offset; + + offset = ole->last_chain_size = chain_length << ole->header.sector_shift; + bp = buffer = MALLOC((offset) * sizeof(unsigned char)); + if (buffer == NULL) + { + LOGGER_log("%s:%d:OLE_load_chain:ERROR: Cannot allocate %d bytes for OLE chain", FL, offset); + return NULL; + } + + if (buffer != NULL) + { + int tick = 0; + unsigned char *bp_limit; + + bp_limit = bp + offset; + + do + { + int next_sector; + + DOLE LOGGER_log("%s:%d:OLE_load_chain:DEBUG: Loading sector[%d] %d", FL, tick, current_sector); + + ole->error = OLE_get_block(ole, current_sector, bp); + if (ole->error != OLE_OK) + { + /*FREE5 if (bp != NULL) FREE(bp); */ + return NULL; + } + + bp += ole->header.sector_size; + if (bp > bp_limit) + { + if (buffer != NULL) + { + FREE(buffer); + bp = buffer = NULL; + } + VOLE LOGGER_log(_("%s:%d:OLE_load_chain:ERROR: Load-chain went over memory boundary"), FL); + + return NULL; + }; + + next_sector = get_4byte_value(ole->FAT + (LEN_ULONG * current_sector)); + current_sector = next_sector; + tick++; + } + while ((current_sector >= 0) && (current_sector <= ole->last_sector)); + } + } + DOLE LOGGER_log("%s:%d:OLE_load_chain:DEBUG: Done loading chain", FL); + + return buffer; +} + +/*-----------------------------------------------------------------\ +Function Name : OLE_open_file +Returns Type : int +----Parameter List +1. struct OLE_object *ole, +2. char *fullpath , +------------------ +Exit Codes : +Side Effects : +-------------------------------------------------------------------- +Comments: + +-------------------------------------------------------------------- +Changes: +20041127-2033:PLD: Added ole->file_size setting so that we +can use this in the sanity checking to see if the +requested sectors are outside of the possible valid +filesize range. + +\------------------------------------------------------------------*/ +int OLE_open_file(struct OLE_object *ole, char *fullpath) +{ +#ifdef _MSC_VER + struct _stat st; +#else + struct stat st; +#endif + int stat_result; + FILE *f; + +#ifdef _MSC_VER + stat_result = wcstat(fullpath, &st); +#else + stat_result = stat(fullpath, &st); +#endif + if (stat_result != 0) + { + DOLE LOGGER_log(_("%s:%d:OLE_open_file:ERROR: Cannot locate file '%s' for opening (%s)"), FL, fullpath, strerror(errno)); + + return OLEER_BAD_INPUT_FILE; + } + + DOLE LOGGER_log("%s:%d:OLE_open_file:DEBUG: File size of %s = %ld", FL, fullpath, st.st_size); + + if ((stat_result == 0) && (st.st_size < 512)) + { + return OLEER_NOT_OLE_FILE; + } + + ole->file_size = st.st_size; + + wcfopen(f, fullpath, "rb"); + + if (f == NULL) + { + ole->f = NULL; + if (ole->quiet == 0) + { + LOGGER_log(_("%s:%d:OLE_open_file:ERROR:Cannot open %s for reading (%s)\n"), FL, fullpath, strerror(errno)); + } + return -1; + } + else + { + ole->f = f; + ole->file_size = st.st_size; + ole->last_sector = -1; + } + return OLE_OK; +} + +/*-----------------------------------------------------------------\ +Function Name : OLE_open_directory +Returns Type : int +----Parameter List +1. struct OLE_object *ole, +2. char *directory , +------------------ +Exit Codes : +Side Effects : +-------------------------------------------------------------------- +Comments: + +-------------------------------------------------------------------- +Changes: + +\------------------------------------------------------------------*/ +int OLE_open_directory(struct OLE_object *ole, char *directory) +{ + int result = 0; + +#ifndef _MSC_VER + result = mkdir(directory, S_IRWXU); +#else + { + wchar_t *wdirectory = to_wide_string(directory); + + result = createdirectoryW(wdirectory); + FREE(wdirectory); + } + /* If the function succeeds, the return value is nonzero. + * If the function fails, the return value is zero. */ + if (result) + { + result = 0; + } +#endif + if ((result != 0) && (errno != EEXIST)) + { + LOGGER_log(_("%s:%d:OLE_open_directory:ERROR: %s"), FL, strerror(errno)); + } + else + { + result = OLE_OK; + } + + return result; +} + +/*-----------------------------------------------------------------\ +Function Name : OLE_set_filename_report_fn +Returns Type : int +----Parameter List +1. int (*ptr_to_fn)(char *) , +------------------ +Exit Codes : +Side Effects : +-------------------------------------------------------------------- +Comments: +This is merely a passthrough function to the OLEUW one, we do +this in order to avoid having to force the calling parent from +having to #include the OLEUW headers as well + +-------------------------------------------------------------------- +Changes: + +\------------------------------------------------------------------*/ +int OLE_set_filename_report_fn(struct OLE_object *ole, int (*ptr_to_fn) (char *)) +{ + ole->filename_report_fn = ptr_to_fn; + return OLE_OK; +} + +/*-----------------------------------------------------------------\ +Function Name : OLE_store_stream +Returns Type : int +----Parameter List +1. struct OLE_object *ole, +2. char *stream_name, +3. char *directory, +4. unsigned char *stream , +------------------ +Exit Codes : +Side Effects : +-------------------------------------------------------------------- +Comments: + +-------------------------------------------------------------------- +Changes: + +\------------------------------------------------------------------*/ +int OLE_store_stream(struct OLE_object *ole, char *stream_name, char *directory, char *stream, size_t stream_size) +{ + char *full_path = NULL; + + full_path = PLD_dprintf("%s/%s", directory, stream_name); + if (full_path == NULL) + { + LOGGER_log(_("%s:%d:OLE_store_stream:ERROR: Cannot compose full filename string from '%s' and '%s'"), FL, directory, stream_name); + return -1; + } + else + { + FILE *f; + + wcfopen(f, full_path, "wb"); + + if (f == NULL) + { + LOGGER_log(_("%s:%d:OLE_store_stream:ERROR: Cannot open %s for writing (%s)"), FL, full_path, strerror(errno)); + if (full_path) + { + FREE(full_path); + } + return -1; + } + else + { + size_t written_bytes; + + written_bytes = fwrite(stream, 1, stream_size, f); + if (written_bytes != stream_size) + { + LOGGER_log(_("%s:%d:OLE_store_stream:WARNING: Only wrote %d of %d bytes to file %s"), FL, written_bytes, stream_size, full_path); + } + fclose(f); + + if ((OLE_VNORMAL(ole->verbose)) && (ole->filename_report_fn != NULL)) + { + ole->filename_report_fn(stream_name); + } + } /* if file is valid */ + } /* if full_path is valid */ + + if (full_path) + { + FREE(full_path); + } + + return OLE_OK; +} + +/*-----------------------------------------------------------------\ + Function Name : OLE_decode_file_done + Returns Type : int + ----Parameter List + 1. struct OLE_object *ole , + ------------------ + Exit Codes : + Side Effects : + -------------------------------------------------------------------- + Comments: + + -------------------------------------------------------------------- + Changes: + + \------------------------------------------------------------------*/ +int OLE_decode_file_done(struct OLE_object *ole) +{ + if (ole->f) + { + fclose(ole->f); + } + /** Why weren't these active? (they were commented out ) **/ + if (ole->FAT) + { + FREE(ole->FAT); + } + if (ole->miniFAT) + { + FREE(ole->miniFAT); + } + if (ole->ministream) + { + FREE(ole->ministream); + } + if (ole->properties) + { + FREE(ole->properties); + } + + return 0; +} + +/*-----------------------------------------------------------------\ +Function Name : OLE_terminate_and_return +Returns Type : int +----Parameter List +1. struct OLE_object *ole, +2. int result , +------------------ +Exit Codes : +Side Effects : +-------------------------------------------------------------------- +Comments: + +-------------------------------------------------------------------- +Changes: + +\------------------------------------------------------------------*/ +int OLE_terminate_and_return(struct OLE_object *ole, int result) +{ + OLE_decode_file_done(ole); + return result; +} + +#ifdef RIPOLE_WALK_TREE +int OLE_walk_tree(struct OLE_object *ole, char *fname, char *decode_path, int depth) +{ + + /** Sanity check **/ + + if (depth > 100) + { + return 0; + } + if (ole->total_file_count > 10000) + { + return 0; + } + if (element_type < 0) + { + return 0; + } + + switch (element_type) + { + + case STGTY_ROOT: + /** ROOT DIRECTORY ENTRY **/ + /** ROOT DIRECTORY ENTRY **/ + /** ROOT DIRECTORY ENTRY **/ + DOLE LOGGER_log("%s:%d:OLE_walk_tree:DEBUG: Loading ministream/SmallBlockArray", FL); + ole->ministream = OLE_load_chain(ole, adir->start_sector); + if (ole->ministream == NULL) + { + return OLEER_MINISTREAM_READ_FAIL; + } + DOLE LOGGER_log("%s:%d:OLE_decode_file:DEBUG: ministream done", FL); + } + +} + +else if (adir->element_type == STGTY_STORAGE) +{ + /** STORAGE ELEMENT **/ + /** STORAGE ELEMENT **/ + /** STORAGE ELEMENT **/ + DOLE LOGGER_log("%s:%d:OLE_decode_file:DEBUG: Item is directory, start child is at index %d\n", FL, i); + + ole->ministream = OLE_load_chain(ole, adir->start_sector); + if (ole->ministream == NULL) + { + return OLEER_MINISTREAM_READ_FAIL; + } + DOLE LOGGER_log("%s:%d:OLE_decode_file:DEBUG: DIRECTORY ministream done", FL); + +} +#endif + +int OLE_decode_stream(struct OLE_object *ole, struct OLE_directory_entry *adir, char *decode_path) +{ + char *stream_data; + struct OLEUNWRAP_object oleuw; + int decode_result = OLEUW_STREAM_NOT_DECODED; + char element_name[64]; + int result = 0; + + memset(element_name, '\0', 64); + OLE_dbstosbs(adir->element_name, adir->element_name_byte_count, element_name, 64); + + DOLE LOGGER_log("%s:%d:OLE_decode_stream:DEBUG: Decoding stream '%s'", FL, element_name); + + DOLE LOGGER_log("%s:%d:OLE_decode_stream:DEBUG: Initializing stream unwrapper", FL); + + OLEUNWRAP_init(&oleuw); + OLEUNWRAP_set_debug(&oleuw, ole->debug); + OLEUNWRAP_set_verbose(&oleuw, ole->verbose); + OLEUNWRAP_set_filename_report_fn(&oleuw, ole->filename_report_fn); + OLEUNWRAP_set_save_unknown_streams(&oleuw, ole->save_unknown_streams); + DOLE LOGGER_log("%s:%d:OLE_decode_stream:DEBUG: Unwrap engine set.", FL); + + if (adir->stream_size >= ole->header.mini_cutoff_size) + { + /** Standard size sector stored stream **/ + /** Standard size sector stored stream **/ + /** Standard size sector stored stream **/ + DOLE LOGGER_log("%s:%d:OLE_decode_stream:DEBUG: Loading normal sized chain starting at sector %d", FL, adir->start_sector); + + stream_data = (char *)OLE_load_chain(ole, adir->start_sector); + if (stream_data == NULL) + { + DOLE LOGGER_log("%s:%d:OLE_decode_stream:DEBUG: Terminating from stream data being NULL ", FL); + + /*OLE_decode_file_done(ole); */ + return OLEER_MINISTREAM_STREAM_READ_FAIL; + } + DOLE LOGGER_log("%s:%d:OLE_decode_stream:DEBUG: Normal decode START. element name ='%s' stream size = '%ld'", FL, element_name, + adir->stream_size); + decode_result = OLEUNWRAP_decodestream(&oleuw, element_name, stream_data, adir->stream_size, decode_path); + DOLE LOGGER_log("%s:%d:OLE_decode_stream:DEBUG: Normal decode done.", FL); + } + else + { + + /** Minichain/Minisector stored stream **/ + /** Minichain/Minisector stored stream **/ + /** Minichain/Minisector stored stream **/ + DOLE LOGGER_log("%s:%d:OLE_decode_stream:DEBUG: Minichain loader, starting at sector %d", FL, adir->start_sector); + + stream_data = (char *)OLE_load_minichain(ole, adir->start_sector); + if (stream_data == NULL) + { + DOLE LOGGER_log("%s:%d:OLE_decode_stream:DEBUG: Ministream was non-existant, terminating", FL); + + /*OLE_decode_file_done(ole); */ + return OLEER_NORMALSTREAM_STREAM_READ_FAIL; + } + DOLE LOGGER_log("%s:%d:OLE_decode_file:DEBUG: Mini decode START.", FL); + + decode_result = OLEUNWRAP_decodestream(&oleuw, element_name, stream_data, adir->stream_size, decode_path); + DOLE LOGGER_log("%s:%d:OLE_decode_file:DEBUG: Mini decode done.", FL); + } + + /* Added for Scilab */ + if ((stream_data != NULL) && (decode_result == OLEUW_STREAM_NOT_DECODED) && + (ole->save_unknown_streams == 2) && ((strcmp(element_name, "Workbook") == 0) || (strcmp(element_name, "Book") == 0))) + { + strcpy(element_name, "Workbook"); + OLE_store_stream(ole, element_name, decode_path, stream_data, adir->stream_size); + + } /* If we needed to save an unknown stream */ + + else /* end Scilab addition */ if ((stream_data != NULL) && (decode_result == OLEUW_STREAM_NOT_DECODED) && (ole->save_unknown_streams)) + { + char *lfname; + + lfname = PLD_dprintf("ole-stream.%d", adir->start_sector); + if (lfname != NULL) + { + DOLE LOGGER_log("%s:%d:OLE_decode_stream:DEBUG: Saving stream to %s", FL, lfname); + + OLE_store_stream(ole, lfname, decode_path, stream_data, adir->stream_size); + FREE(lfname); + } + } /* If we needed to save an unknown stream */ + + /* Clean up an stream_data which we may have */ + /* read in from the chain-loader. */ + if (stream_data) + { + FREE(stream_data); + } + + return result; +} + +/*-----------------------------------------------------------------\ +Function Name : OLE_decode_file +Returns Type : int +----Parameter List +1. char *fname, +2. char *decode_path , +------------------ +Exit Codes : +Side Effects : +-------------------------------------------------------------------- +Comments: + +-------------------------------------------------------------------- +Changes: + +\------------------------------------------------------------------*/ +int OLE_decode_file(struct OLE_object *ole, char *fname, char *decode_path) +{ + unsigned char *current_property, *property_limit; + int result = 0; + int i; + + /* Reject any bad paramters. */ + if (ole == NULL) + { + return OLEER_DECODE_NULL_OBJECT; + } + if (fname == NULL) + { + return OLEER_DECODE_NULL_FILENAME; + } + if (decode_path == NULL) + { + return OLEER_DECODE_NULL_PATH; + } + + /* We need to gain access to the OLE2 data file, without */ + /* this pretty much everything is pointless. */ + DOLE LOGGER_log("%s:%d:OLE_decode_file:DEBUG: opening %s", FL, fname); + + result = OLE_open_file(ole, fname); + if (result != 0) + { + return result; + } + + /* Try create the output directory which we're using */ + /* to write the decoded files out to. */ + DOLE LOGGER_log("%s:%d:OLE_decode_file:DEBUG: opening output directory %s", FL, decode_path); + + result = OLE_open_directory(ole, decode_path); + if (result != 0) + { + return result; + } + + /* In order to successfully decode an OLE2 stream, we have to read */ + /* and understand the first 512 bytes of the file, this is the */ + /* OLE2 header. */ + DOLE LOGGER_log("%s:%d:OLE_decode_file:DEBUG: Getting main header", FL); + + result = OLE_get_header(ole); + if (result != 0) + { + return result; + } + + DOLE LOGGER_log("%s:%d:OLE_decode_file:DEBUG: Converting main header", FL); + + result = OLE_convert_header(ole); + if (result != 0) + { + return result; + } + + result = OLE_header_sanity_check(ole); + if (result > 0) + { + return OLEER_INSANE_OLE_FILE; + } + + DOLE OLE_print_header(ole); + + DOLE LOGGER_log("%s:%d:OLE_decode_file:DEBUG: Loading FAT", FL); + + result = OLE_load_FAT(ole); + if (result != 0) + { + return result; + } + + DOLE LOGGER_log("%s:%d:OLE_decode_file:DEBUG: Loading miniFAT chain", FL); + + ole->miniFAT = OLE_load_chain(ole, ole->header.mini_fat_start); + /* commented out by Serge Steer for Scilab */ + /* if (ole->miniFAT == NULL) return OLEER_MINIFAT_READ_FAIL; */ + + DOLE LOGGER_log("%s:%d:OLE_decode_file:DEBUG: Loading Directory stream chain", FL); + + ole->properties = OLE_load_chain(ole, ole->header.directory_stream_start_sector); + if (ole->properties == NULL) + { + return OLEER_PROPERTIES_READ_FAIL; + } + + i = 0; + current_property = ole->properties; + property_limit = current_property + ole->last_chain_size; + /* while(1) */ + while (current_property < property_limit) + { + struct OLE_directory_entry a_dir_object, *adir; + int property_value = 0; + + adir = &a_dir_object; + + OLE_dir_init(adir); + + property_value = get_1byte_value(current_property); + if (property_value < 1) + { + break; + } + + DOLE LOGGER_log("%s:%d:OLE_decode_file:DEBUG:--------- DIRECTORY INDEX: %d", FL, i); + + OLE_convert_directory(ole, current_property, adir); + + DOLE + { + LOGGER_log("%s:%d:OLE_decode_file:DEBUG: Printing directory details...", FL); + OLE_print_directory(ole, adir); + LOGGER_log("%s:%d:OLE_decode_file:DEBUG: End of directory details", FL); + } + + if (adir->element_colour > 1) + { + break; + } + + if ((adir->element_type == STGTY_INVALID) || (adir->element_type > STGTY_ROOT)) + { + DOLE LOGGER_log("%s:%d:OLE_decode_file:DEBUG: breaking out due to element type %d", FL, adir->element_type); + + break; + + } + else if (adir->element_type == STGTY_ROOT) + { + /** ROOT DIRECTORY ENTRY **/ + /** ROOT DIRECTORY ENTRY **/ + /** ROOT DIRECTORY ENTRY **/ + DOLE LOGGER_log("%s:%d:OLE_decode_file:DEBUG: Loading ministream/SmallBlockArray", FL); + + ole->ministream = OLE_load_chain(ole, adir->start_sector); + /* commented out by Serge Steer for Scilab */ + /*if (ole->ministream == NULL) return OLEER_MINISTREAM_READ_FAIL; */ + DOLE LOGGER_log("%s:%d:OLE_decode_file:DEBUG: ministream done", FL); + + } + else if (adir->element_type == STGTY_STORAGE) + { + /** STORAGE ELEMENT **/ + /** STORAGE ELEMENT **/ + /** STORAGE ELEMENT **/ + DOLE LOGGER_log("%s:%d:OLE_decode_file:DEBUG: Item is directory, start child is at index %d\n", FL, i); + + ole->ministream = OLE_load_chain(ole, adir->start_sector); + /* commented out by Serge Steer for Scilab */ + /*if (ole->ministream == NULL) return OLEER_MINISTREAM_READ_FAIL; */ + DOLE LOGGER_log("%s:%d:OLE_decode_file:DEBUG: DIRECTORY ministream done", FL); + + } + else if (adir->element_type == STGTY_STREAM) + { + /** STREAM ELEMENT **/ + /** STREAM ELEMENT **/ + /** STREAM ELEMENT **/ + /* due to ole.c bugs we restrict here steams to decode to Workbooks (Excel) */ + char element_name[64]; + + memset(element_name, '\0', 64); + OLE_dbstosbs(adir->element_name, adir->element_name_byte_count, element_name, 64); + + if ((strcmp(element_name, "Workbook") == 0) || (strcmp(element_name, "Book") == 0)) + { + OLE_decode_stream(ole, adir, decode_path); + } + /*end of replacment code */ + /* Original code */ + /* OLE_decode_stream( ole, adir, decode_path ); */ + } + else + { + /** If the element isn't of the above types then it's possibly + ** an empty element or just one used for the MSAT/SAT + ** either way we just step over it and carry on **/ + DOLE LOGGER_log("%s:%d:OLE_decode_file:DEBUG: Element type %d does not need to be handled", FL, adir->element_type); + } + + /* Jump to the next property record, which */ + /* is always 128 bytes ahead. */ + current_property += 128; + i++; + + } /* While there are still more directory entries to read in. */ + + DOLE LOGGER_log("%s:%d:OLE_decode_file:DEBUG: Finished", FL); + + /* + * if (ole->f) fclose(ole->f); + * fclose(ole->f); + * if (ole->FAT) FREE(ole->FAT); + * if (ole->miniFAT) FREE(ole->miniFAT); + * if (ole->ministream) FREE(ole->ministream); + * if (ole->properties) FREE(ole->properties); + */ + + return OLE_OK; +} diff --git a/modules/spreadsheet/src/c/ripole/ole.h b/modules/spreadsheet/src/c/ripole/ole.h new file mode 100755 index 000000000..c52e85a9b --- /dev/null +++ b/modules/spreadsheet/src/c/ripole/ole.h @@ -0,0 +1,173 @@ + +#ifndef LIBOLE +#define LIBOLE + +#define LIBOLE_VERSION "200512112226" + +#define OLE_OK 0 +#define OLEER_NO_INPUT_FILE 100 +#define OLEER_BAD_INPUT_FILE 101 +#define OLEER_NOT_OLE_FILE 102 +#define OLEER_INSANE_OLE_FILE 103 + +#define OLEER_DECODE_NULL_OBJECT 10 +#define OLEER_DECODE_NULL_FILENAME 11 +#define OLEER_DECODE_NULL_PATH 12 + +#define OLEER_LOADFAT_BAD_BOUNDARY 20 + +#define OLEER_MINIFAT_READ_FAIL 30 +#define OLEER_PROPERTIES_READ_FAIL 31 +#define OLEER_MINISTREAM_READ_FAIL 32 +#define OLEER_MINISTREAM_STREAM_READ_FAIL 33 +#define OLEER_NORMALSTREAM_STREAM_READ_FAIL 34 + +#define OLEER_GET_BLOCK_SEEK 41 +#define OLEER_GET_BLOCK_READ 42 + +#define OLEER_MEMORY_OVERFLOW 50 + +#define OLE_VERBOSE_NORMAL 1 +#define OLE_VERBOSE_FATREAD 2 +#define OLE_VERBOSE_DIRREAD 4 +#define OLE_VERBOSE_STREAMREAD 8 +#define OLE_VERBOSE_STREAMDECODE 16 + +#define OLE_VNORMAL(x) ((x) && OLE_VERBOSE_NORMAL == OLE_VERBOSE_NORMAL ) + +#define OLE_DEBUG_NORMAL 1 +#define OLE_DEBUG_PEDANTIC 2 + +#define OLE_DNORMAL(x) ((x) && OLE_DEBUG_NORMAL == OLE_DEBUG_NORMAL) +#define OLE_DPEDANTIC(x) ((x) && OLE_DEBUG_PEDANTIC == OLE_DEBUG_PEDANTIC) + + +#define OLE_HEADER_FAT_SECTOR_COUNT_LIMIT 109 +struct OLE_header +{ + unsigned int minor_version; + unsigned int dll_version; + unsigned int byte_order; + unsigned int sector_shift; + unsigned int sector_size; + unsigned int mini_sector_shift; + unsigned int mini_sector_size; + unsigned int fat_sector_count; + unsigned int directory_stream_start_sector; + unsigned int mini_cutoff_size; + unsigned int mini_fat_start; + unsigned int mini_fat_sector_count; + unsigned int dif_start_sector; + unsigned int dif_sector_count; + unsigned int FAT[OLE_HEADER_FAT_SECTOR_COUNT_LIMIT]; +}; + +#define OLE_DIRECTORY_ELEMENT_NAME_SIZE 64 +#define OLE_DIRECTORY_CLASS_SIZE 16 +#define OLE_DIRECTORY_TIMESTAMPS_SIZE 16 +struct OLE_directory_entry +{ + char element_name[OLE_DIRECTORY_ELEMENT_NAME_SIZE]; + int element_name_byte_count; + + char element_type; + char element_colour; + + unsigned int left_child; + unsigned int right_child; + unsigned int root; + + unsigned char class[OLE_DIRECTORY_CLASS_SIZE]; + unsigned int userflags; + unsigned char timestamps[OLE_DIRECTORY_TIMESTAMPS_SIZE]; + unsigned int start_sector; + unsigned int stream_size; +}; + + + +#define OLE_HEADER_BLOCK_SIZE 512 +struct OLE_object +{ + + int error; + size_t file_size; + int last_sector; + size_t last_chain_size; + + FILE *f; + unsigned char *FAT; + unsigned char *FAT_limit; /** Added to prevent segment violations **/ + unsigned char *miniFAT; + unsigned char *miniFAT_limit; /** Added to prevent segment violations **/ + unsigned char header_block[OLE_HEADER_BLOCK_SIZE]; + unsigned char *ministream; + unsigned char *properties; + + struct OLE_header header; + + /* End user configurable parameters:*/ + int debug; + int verbose; + int quiet; + int save_unknown_streams; + + int save_streams; + int save_mini_streams; + int save_normal_streams; + + int decode_streams; + int decode_mini_streams; + int decode_normal_streams; + + int (*filename_report_fn)(char *); + +}; + + + +/* Prototypes*/ + +int OLE_version( void ); + +int OLE_init( struct OLE_object *ole ); +int OLE_set_verbose( struct OLE_object *ole, int level ); +int OLE_set_debug( struct OLE_object *ole, int level ); +int OLE_set_quiet( struct OLE_object *ole, int level ); +int OLE_set_save_unknown_streams( struct OLE_object *ole, int level ); + +int OLE_get_block( struct OLE_object *ole, int block_index, unsigned char *block_buffer ); +int OLE_get_miniblock( struct OLE_object *ole, int block_index, unsigned char *block_buffer ); +int OLE_dbstosbs( char *raw_string, size_t char_count, char *clean_string, int clean_string_len ); +int OLE_print_string( char *string, size_t char_count); +/** + ** Bruno : Removed, is now static in ole.c !! + ** int OLE_print_sector( struct OLE_object *ole, char *sector, unsigned int bytes); + **/ +int OLE_get_header( struct OLE_object *ole ); +int OLE_convert_header( struct OLE_object *ole ); +int OLE_print_header( struct OLE_object *ole ); +int OLE_convert_directory(struct OLE_object *ole, unsigned char *buf, struct OLE_directory_entry *dir ); +int OLE_print_directory( struct OLE_object *ole, struct OLE_directory_entry *dir ); +int OLE_load_FAT( struct OLE_object *ole ); +int OLE_follow_chain( struct OLE_object *ole, int FAT_sector_start ); +int OLE_follow_minichain( struct OLE_object *ole, int miniFAT_sector_start ); +unsigned char *OLE_load_minichain( struct OLE_object *ole, int miniFAT_sector_start ); +unsigned char *OLE_load_chain( struct OLE_object *ole, int FAT_sector_start ); +int OLE_open_file( struct OLE_object *ole, char *fullpath ); +int OLE_decode_file( struct OLE_object *ole, char *fname, char *decode_path ); +int OLE_decode_file_done( struct OLE_object *ole ); + +int OLE_dir_init(struct OLE_directory_entry *dir ); +int OLE_sectorpos( struct OLE_object *ole, int SID ); +int OLE_is_file_OLE( struct OLE_object *ole ); +int OLE_open_directory( struct OLE_object *ole, char *directory ); +int OLE_store_stream( struct OLE_object *ole, char *stream_name, char *directory, char *stream, size_t stream_size ); +int OLE_terminate_and_return( struct OLE_object *ole, int result ); +int OLE_decode_stream( struct OLE_object *ole, struct OLE_directory_entry *adir, char *decode_path ); + + +/* Our callbacks.*/ +int OLE_set_filename_report_fn( struct OLE_object *ole, int (*ptr_to_fn)(char *) ); + +#endif diff --git a/modules/spreadsheet/src/c/ripole/olestream-unwrap.c b/modules/spreadsheet/src/c/ripole/olestream-unwrap.c new file mode 100755 index 000000000..a34f3d728 --- /dev/null +++ b/modules/spreadsheet/src/c/ripole/olestream-unwrap.c @@ -0,0 +1,400 @@ +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include <ctype.h> +#include <errno.h> + +#include "logger.h" +#include "pldstr.h" +#include "bytedecoders.h" +#include "olestream-unwrap.h" +#include "localization.h" +#include "MALLOC.h" +#include "charEncoding.h" +#ifdef _MSC_VER +#include "strdup_windows.h" +#endif + + +#define DUW if (oleuw->debug) + +struct OLE10_header +{ + unsigned char data[6]; + char *attach_name; + unsigned char data2[8]; + char *fname_1; + char *fname_2; + size_t attach_size; + size_t attach_size_1; + size_t attach_start_offset; +}; + + +/*-----------------------------------------------------------------\ + Function Name : OLEUNWRAP_init + Returns Type : int + ----Parameter List + 1. struct OLEUNWRAP_object *oleuw , + ------------------ + Exit Codes : + Side Effects : +-------------------------------------------------------------------- + Comments: + +-------------------------------------------------------------------- + Changes: + +\------------------------------------------------------------------*/ +int OLEUNWRAP_init( struct OLEUNWRAP_object *oleuw ) +{ + oleuw->debug = 0; + oleuw->verbose = 0; + oleuw->filename_report_fn = NULL; + + return OLEUW_OK; +} + +/*-----------------------------------------------------------------\ + Function Name : OLEUNWRAP_set_debug + Returns Type : int + ----Parameter List + 1. struct OLEUNWRAP_object *oleuw, + 2. int level , + ------------------ + Exit Codes : + Side Effects : +-------------------------------------------------------------------- + Comments: + +-------------------------------------------------------------------- + Changes: + +\------------------------------------------------------------------*/ +int OLEUNWRAP_set_debug( struct OLEUNWRAP_object *oleuw, int level ) +{ + oleuw->debug = level; + return OLEUW_OK; +} + +/*-----------------------------------------------------------------\ + Function Name : OLEUNWRAP_set_verbose + Returns Type : int + ----Parameter List + 1. struct OLEUNWRAP_object *oleuw, + 2. int level , + ------------------ + Exit Codes : + Side Effects : +-------------------------------------------------------------------- + Comments: + +-------------------------------------------------------------------- + Changes: + +\------------------------------------------------------------------*/ +int OLEUNWRAP_set_verbose( struct OLEUNWRAP_object *oleuw, int level ) +{ + oleuw->verbose = level; + return OLEUW_OK; +} + +/*-----------------------------------------------------------------\ + Function Name : OLEUNWRAP_set_save_unknown_streams + Returns Type : int + ----Parameter List + 1. struct OLEUNWRAP_object *oleuw, + 2. int level , + ------------------ + Exit Codes : + Side Effects : +-------------------------------------------------------------------- + Comments: + +-------------------------------------------------------------------- + Changes: + +\------------------------------------------------------------------*/ +int OLEUNWRAP_set_save_unknown_streams( struct OLEUNWRAP_object *oleuw, int level ) +{ + oleuw->save_unknown_streams = level; + return OLEUW_OK; +} + + +/*-----------------------------------------------------------------\ + Function Name : OLEUNWRAP_save_stream + Returns Type : int + ----Parameter List + 1. char *fname, + 2. char *stream, + 3. size_t bytes , + ------------------ + Exit Codes : + Side Effects : +-------------------------------------------------------------------- + Comments: + +-------------------------------------------------------------------- + Changes: + +\------------------------------------------------------------------*/ +int OLEUNWRAP_save_stream( struct OLEUNWRAP_object *oleuw, char *fname, char *decode_path, char *stream, size_t bytes ) +{ + char *full_name; + FILE *f; + int result = 0; + + DUW LOGGER_log("%s:%d:OLEUNWRAP_save_stream:DEBUG: fname=%s, decodepath=%s, size=%ld" + , FL + , fname + , decode_path + , bytes + ); + + full_name = PLD_dprintf("%s/%s", decode_path, fname ); + if (full_name == NULL) + { + LOGGER_log(_("%s:%d:OLEUNWRAP_save_stream:ERROR: Unable to create filename string from '%s' and '%s'"), FL, fname, decode_path); + return -1; + } + + wcfopen(f, full_name, "wb"); + if (f != NULL) + { + size_t write_count; + + write_count = fwrite( stream, 1, bytes, f ); + if (write_count != bytes) + { + LOGGER_log(_("%s:%d:OLEUNWRAP_save_stream:WARNING: Only wrote %d of %d bytes to file %s\n"), FL, write_count, bytes, full_name ); + } + + fclose(f); + + + } + else + { + LOGGER_log(_("%s:%d:OLEUNWRAP_save_stream:ERROR: Unable to open %s for writing (%s)\n"), FL, full_name, strerror(errno)); + result = -1; + } + + if (full_name) + { + FREE(full_name); + } + + DUW LOGGER_log("%s:%d:OLEUNWRAP_save_stream:DEBUG: Done saving '%s'", FL, fname); + + return result; +} + +/*-----------------------------------------------------------------\ + Function Name : OLEUNWRAP_sanitize_filename + Returns Type : int + ----Parameter List + 1. char *fname , + ------------------ + Exit Codes : + Side Effects : +-------------------------------------------------------------------- + Comments: + +-------------------------------------------------------------------- + Changes: + +\------------------------------------------------------------------*/ +int OLEUNWRAP_sanitize_filename( char *fname ) +{ + while (*fname) + { + if ( !isalnum((int)*fname) && (*fname != '.') ) + { + *fname = '_'; + } + if ( (*fname < ' ') || (*fname > '~') ) + { + *fname = '_'; + } + fname++; + } + return 0; +} + +/*-----------------------------------------------------------------\ + Function Name : OLEUNWRAP_decode_attachment + Returns Type : int + ----Parameter List + 1. char *stream , + ------------------ + Exit Codes : + Side Effects : +-------------------------------------------------------------------- + Comments: + +-------------------------------------------------------------------- + Changes: + +\------------------------------------------------------------------*/ +int OLEUNWRAP_decode_attachment( struct OLEUNWRAP_object *oleuw, char *stream, size_t stream_size, char *decode_path ) +{ + struct OLE10_header oh; + char *sp = stream; + char *data_start_point = stream; + int result = OLEUW_OK; + + /* Get the data size*/ + oh.attach_size_1 = (size_t)get_4byte_value( (unsigned char *) sp ); + sp += 4; + + DUW LOGGER_log("%s:%d:OLEUNWRAP_decode_attachment:DEBUG: attachsize = %d, stream length = %d\n", FL, oh.attach_size_1, stream_size ); + + oh.attach_start_offset = (stream_size - oh.attach_size_1); + data_start_point = stream + oh.attach_start_offset; + + /*if (oh.attach_start_offset == 4)*/ + if (oh.attach_start_offset < 4) + { + /* If we only had the stream byte-length in our header*/ + /* then we know we don't have a complex header.*/ + oh.attach_name = PLD_dprintf("unknown-%ld", oh.attach_size_1); + oh.attach_size = oh.attach_size_1; + } + else + { + + DUW LOGGER_log("%s:%d:OLEUNWRAP_decode_attachment:DEBUG: Decoding file information header", FL); + /* Unknown memory segment*/ + memcpy( oh.data, sp, 2 ); + sp += 2; + + /* Full attachment string*/ + oh.attach_name = strdup( sp ); + sp = sp + strlen(oh.attach_name) + 1; + + /* Attachment full path*/ + oh.fname_1 = strdup( sp ); + sp += strlen(oh.fname_1) + 1; + + /* Unknown memory segment*/ + memcpy( oh.data2, sp, 8 ); + sp = sp + 8; + + /* Attachment full path*/ + oh.fname_2 = strdup( sp ); + sp += strlen(oh.fname_2) + 1; + + oh.attach_size = (size_t)get_4byte_value( (unsigned char*) sp ); + sp += 4; + + if (oh.attach_size > stream_size) + { + oh.attach_size = stream_size; + } + + data_start_point = sp; + } + + DUW LOGGER_log(_("%s:%d:OLEUNWRAP_decode_attachment:DEBUG: Attachment %s:%s:%s size = %d\n"), FL, oh.attach_name, oh.fname_1, oh.fname_2, oh.attach_size ); + + + /** 20050119:2053:PLD - Added to sanitize 8-bit filenames **/ + /** Sanitize the output filename **/ + OLEUNWRAP_sanitize_filename(oh.attach_name); + OLEUNWRAP_sanitize_filename(oh.fname_1); + OLEUNWRAP_sanitize_filename(oh.fname_2); + + result = OLEUNWRAP_save_stream( oleuw, oh.attach_name, decode_path, data_start_point, oh.attach_size ); + if (result == OLEUW_OK) + { + if (oleuw->debug > 0) + { + LOGGER_log(_("%s:%d:OLEUNWRAP_decode_attachment:DEBUG: Calling reporter for the filename"), FL); + } + if ((oleuw->verbose > 0) && (oleuw->filename_report_fn != NULL)) + { + oleuw->filename_report_fn(oh.attach_name); + } + /* Do call back to reporting function*/ + } + + /* Clean up our previously allocated data*/ + if (oh.fname_1 != NULL) + { + FREE(oh.fname_1); + } + if (oh.attach_name != NULL) + { + FREE(oh.attach_name); + } + if (oh.fname_2 != NULL) + { + FREE(oh.fname_2); + } + + return OLEUW_OK; +} + +/*-----------------------------------------------------------------\ + Function Name : OLEUNWRAP_decodestream + Returns Type : int + ----Parameter List + 1. char *element_string, + 2. char *stream , + ------------------ + Exit Codes : + Side Effects : +-------------------------------------------------------------------- + Comments: + +-------------------------------------------------------------------- + Changes: + +\------------------------------------------------------------------*/ +int OLEUNWRAP_decodestream( struct OLEUNWRAP_object *oleuw, char *element_string, char *stream, size_t stream_size, char *decode_path ) +{ + int result = OLEUW_OK; + + if (strstr(element_string, OLEUW_ELEMENT_10NATIVE_STRING) != NULL) + { + OLEUNWRAP_decode_attachment( oleuw, stream, stream_size, decode_path ); + + } + else + { + if (oleuw->debug) + { + LOGGER_log(_("Unable to decode stream with element string '%s'\n"), element_string); + } + result = OLEUW_STREAM_NOT_DECODED; + } + + return result; +} + + +/*-----------------------------------------------------------------\ + Function Name : OLEUNWRAP_set_filename_report_fn + Returns Type : int + ----Parameter List + 1. struct OLEUNWRAP_object *oleuw, + 2. int (*ptr_to_fn)(char *) , + ------------------ + Exit Codes : + Side Effects : +-------------------------------------------------------------------- + Comments: + +-------------------------------------------------------------------- + Changes: + +\------------------------------------------------------------------*/ +int OLEUNWRAP_set_filename_report_fn( struct OLEUNWRAP_object *oleuw, int (*ptr_to_fn)(char *) ) +{ + + oleuw->filename_report_fn = ptr_to_fn; + + return 0; +} + diff --git a/modules/spreadsheet/src/c/ripole/olestream-unwrap.h b/modules/spreadsheet/src/c/ripole/olestream-unwrap.h new file mode 100755 index 000000000..fc8492cfb --- /dev/null +++ b/modules/spreadsheet/src/c/ripole/olestream-unwrap.h @@ -0,0 +1,28 @@ + +#define OLEUW_ELEMENT_10NATIVE 10 +#define OLEUW_ELEMENT_10NATIVE_STRING "Ole10Native" + +#define OLEUW_OK 0 +#define OLEUW_STREAM_NOT_DECODED 100 + +struct OLEUNWRAP_object +{ + int (*filename_report_fn)(char *); + int debug; + int verbose; + int save_unknown_streams; +}; + + +int OLEUNWRAP_init( struct OLEUNWRAP_object *oleuw ); +int OLEUNWRAP_set_debug( struct OLEUNWRAP_object *oleuw, int level ); +int OLEUNWRAP_set_verbose( struct OLEUNWRAP_object *oleuw, int level ); +int OLEUNWRAP_set_save_unknown_streams( struct OLEUNWRAP_object *oleuw, int level ); + +int OLEUNWRAP_save_stream( struct OLEUNWRAP_object *oleuw, char *fname, char *decode_path, char *stream, size_t bytes ); +int OLEUNWRAP_decode_attachment( struct OLEUNWRAP_object *oleuw, char *stream, size_t stream_size, char *decode_path ); +int OLEUNWRAP_decodestream( struct OLEUNWRAP_object *oleuw, char *element_string, char *stream, size_t stream_size, char *decode_path ); + +int OLEUNWRAP_set_filename_report_fn( struct OLEUNWRAP_object *oleuw, int (*ptr_to_fn)(char *) ); + +int OLEUNWRAP_sanitize_filename(char *fname); diff --git a/modules/spreadsheet/src/c/ripole/pldstr.c b/modules/spreadsheet/src/c/ripole/pldstr.c new file mode 100755 index 000000000..659ef56bf --- /dev/null +++ b/modules/spreadsheet/src/c/ripole/pldstr.c @@ -0,0 +1,908 @@ + +#include <stdio.h> +#include <string.h> +#include <stdlib.h> +#include <ctype.h> +#include <stddef.h> +#include <stdio.h> +#include <stdarg.h> + +#include "logger.h" +#include "pldstr.h" +#include "MALLOC.h" +#include "localization.h" + +#ifdef _MSC_VER +#include "strdup_windows.h" +#define vsnprintf _vsnprintf +#endif + +/*-----------------------------------------------------------------\ + Function Name : *PLD_strstr + Returns Type : char + ----Parameter List + 1. char *haystack, + 2. char *needle, + 3. int insensitive, + ------------------ + Exit Codes : + Side Effects : +-------------------------------------------------------------------- + Comments: + +-------------------------------------------------------------------- + Changes: + +\------------------------------------------------------------------*/ +char *PLD_strstr(char *haystack, char *needle, int insensitive) +{ + char *hs; + char *ne; + char *result; + + /* LOGGER_log("%s:%d:\nHS=%s\nNE=%s\nIS=%d\n",FL, haystack, needle, insensitive );*/ + + if (insensitive > 0) + { + hs = strdup(haystack); + PLD_strlower((unsigned char*) hs); + ne = strdup(needle); + PLD_strlower((unsigned char*) ne); + } + else + { + hs = haystack; + ne = needle; + } + + result = strstr(hs, ne); + /* if (result) LOGGER_log("%s:%d:HIT: %s",FL, result);*/ + /* else LOGGER_log("%s:%d:MISS (looking for %s|%s)",FL, needle,ne);*/ + + if ((result != NULL) && (insensitive > 0)) + { + result = result - hs + haystack; + FREE(hs); + FREE(ne); + + /* LOGGER_log("%s:%d:HIT - %s",FL, result );*/ + } + + return result; +} + +/*------------------------------------------------------------------------ +Procedure: PLD_strncpy ID:1 +Purpose: Copy characters from 'src' to 'dst', writing not more than 'len' +characters to the destination, including the terminating \0. +Thus, for any effective copying, len must be > 1. +Input: char *dst: Destination string +char *src: Source string +size_t len: length of string +Output: Returns a pointer to the destination string. +Errors: +------------------------------------------------------------------------*/ +char *PLD_strncpy (char *dst, const char *src, size_t len) +{ + + /* Thanks go to 'defrost' of #c for providing the replacement*/ + /* code which you now see here. It covers the errors better*/ + /* than my own previous code.*/ + + /* If we have no buffer space, then it's futile attempting*/ + /* to copy anything, just return NULL*/ + if (len == 0) + { + return NULL; + } + + /* Providing our destination pointer isn't NULL, we can*/ + /* commence copying data across*/ + + if (dst) + { + char *dp = dst; + + /* If our source string exists, start moving it to the*/ + /* destination string character at a time.*/ + if (src) + { + char *sp = (char *)src; + while ((--len) && (*sp)) + { + *dp = *sp; + dp++; + sp++; + } + } + + *dp = '\0'; + } + + return dst; +} + + + +/*------------------------------------------------------------------------ +Procedure: PLD_strncat ID:1 +Purpose: Buffer size limited string concat function for two strings. +Input: char *dst: Destination string +char *src: Source string +size_t len: Destination string buffer size - total string size cannot exceed this +Output: +Errors: If the length of both strings in total is greater than the available buffer space +in *dst, we copy the maximum possible amount of chars from *src such that +buffer does not overflow. A suffixed '\0' will always be appended. +------------------------------------------------------------------------*/ +char *PLD_strncat( char *dst, const char *src, size_t len ) +{ + char *dp = dst; + const char *sp = src; + size_t cc; + + if (len == 0) + { + return dst; + } + + len--; + + /* Locate the end of the current string.*/ + cc = 0; + while ((*dp) && (cc < len)) + { + dp++; + cc++; + } + + /* If we have no more buffer space, then return the destination*/ + + if (cc >= len) + { + return dst; + } + + /* While we have more source, and there's more char space left in the buffer*/ + + while ((*sp) && (cc < len)) + { + cc++; + *dp = *sp; + dp++; + sp++; + } + + /* Terminate dst, as a gaurantee of string ending.*/ + + *dp = '\0'; + + return dst; +} + + +/*------------------------------------------------------------------------ +Procedure: PLD_strncate ID:1 +Purpose: Catencates a source string to the destination string starting from a given +endpoint. This allows for faster catencation of strings by avoiding the +computation required to locate the endpoint of the destination string. +Input: char *dst: Destination string +char *src: Source string +size_t len: Destination buffer size +char *endpoint: Endpoint of destination string, location from where new +string will be appended +Output: +Errors: +------------------------------------------------------------------------*/ +char *PLD_strncate( char *dst, const char *src, size_t len, char *endpoint ) +{ + char *dp = dst; + const char *sp = src; + size_t cc = 0; + + if (len == 0) + { + return dst; + } + + len--; + + /* If endpoint does not relate correctly, then force manual detection*/ + /* of the endpoint.*/ + + if ((!endpoint) || (endpoint == dst) || ((endpoint - dst + 1) > (int)len)) + { + /* Locate the end of the current string.*/ + cc = 0; + while ((*dp != '\0') && (cc < len)) + { + dp++; + cc++; + } + } + else + { + cc = endpoint - dst + 1; + dp = endpoint; + } + + /* If we have no more buffer space, then return the destination*/ + + if (cc >= len) + { + return dst; + } + + /* While we have more source, and there's more char space left in the buffer*/ + + while ((*sp) && (cc < len)) + { + cc++; + *dp = *sp; + dp++; + sp++; + } + + /* Terminate dst, as a gaurantee of string ending.*/ + + *dp = '\0'; + + return dst; +} + + + + + +/*------------------------------------------------------------------------ +Procedure: XAM_strncasecmp ID:1 +Purpose: Portable version of strncasecmp(), this may be removed in later +versions as the strncase* type functions are more widely +implemented +Input: +Output: +Errors: +------------------------------------------------------------------------*/ +int PLD_strncasecmp( char *s1, char *s2, int n ) +{ + char *ds1 = s1, *ds2 = s2; + char c1, c2; + int result = 0; + + while (n > 0) + { + c1 = (char)tolower(*ds1); + c2 = (char)tolower(*ds2); + + if (c1 == c2) + { + n--; + ds1++; + ds2++; + } + else + { + result = c2 - c1; + n = 0; + } + + } + + return result; + +} + + + + + +/*------------------------------------------------------------------------ +Procedure: XAM_strtok ID:1 +Purpose: A thread safe version of strtok() +Input: +Output: +Errors: +------------------------------------------------------------------------*/ +char *PLD_strtok( struct PLD_strtok *st, char *line, char *delimeters ) +{ + char *stop; + char *dc; + char *result = NULL; + + if ( line ) + { + st->start = line; + } + + /*Strip off any leading delimeters*/ + + dc = delimeters; + while ((st->start) && (*dc != '\0')) + { + if (*dc == *(st->start)) + { + st->start++; + dc = delimeters; + } + else + { + dc++; + } + } + + /* Where we are left, is the start of our token.*/ + + result = st->start; + + if ((st->start) && (st->start != '\0')) + { + stop = strpbrk( st->start, delimeters ); /* locate our next delimeter */ + + /* If we found a delimeter, then that is good. We must now break the string here*/ + /* and don't forget to store the character which we stopped on. Very useful bit*/ + /* of information for programs which process expressions.*/ + + if (stop) + { + + /* Store our delimeter.*/ + + st->delimeter = *stop; + + /* Terminate our token.*/ + + *stop = '\0'; + + + /* Because we're emulating strtok() behaviour here, we have to*/ + /* absorb all the concurrent delimeters, that is, unless we*/ + /* reach the end of the string, we cannot return a string with*/ + /* no chars.*/ + + stop++; + dc = delimeters; + while (*dc != '\0') + { + if (*dc == *stop) + { + stop++; + dc = delimeters; + } + else + { + dc++; + } + } /* While*/ + + if (*stop == '\0') + { + st->start = NULL; + } + else + { + st->start = stop; + } + + } + else + { + st->start = NULL; + st->delimeter = '\0'; + } + } + else + { + st->start = NULL; + result = NULL; + } + + + return result; +} + + + +/*------------------------------------------------------------------------ +Procedure: PLD_strlower ID:1 +Purpose: Converts a string to lowercase +Input: char *convertme : string to convert +Output: +Errors: +------------------------------------------------------------------------*/ +int PLD_strlower( unsigned char *convertme ) +{ + + /* Updates:*/ + /* 09-11-2002 - changed from 'char *' to 'unsigned char *' to deal with*/ + /* non-ASCII characters ( ie, french ). Pointed out by Emmanuel Collignon*/ + + unsigned char *c = convertme; + + while ( *c != '\0') + { + *c = (unsigned char)tolower((int) * c); + c++; + } + + return 0; +} + + +/*-----------------------------------------------------------------\ + Function Name : *PLD_strreplace + Returns Type : char + ----Parameter List + 1. char *source, Original buffer, \0 terminated + 2. char *searchfor, String sequence to search for + 3. char *replacewith, String sequence to replace 'searchfor' with + 4. int replacenumber , How many times to replace 'searchfor', 0 == unlimited + ------------------ + Exit Codes : Returns a pointer to the new buffer space. The original + buffer will still remain intact - ensure that the calling + program FREE()'s the original buffer if it's no longer + needed + Side Effects : + -------------------------------------------------------------------- +Comments: +Start out with static text matching - upgrade to regex later. + +-------------------------------------------------------------------- +Changes: + +\------------------------------------------------------------------*/ +char *PLD_strreplace_general( struct PLD_strreplace *replace_details ) +{ + char *new_buffer = NULL; + char *source_end; + char *segment_start, *segment_end, *segment_p; + char *new_p; + char *preexist_location = NULL; + char *postexist_location = NULL; + int replace_count = 0; + int size_required; + int size_difference; + int source_length; + int searchfor_length; + int replacewith_length; + int segment_ok; + + if (replace_details->source == NULL) + { + return NULL; + } + + source_length = (int)strlen( replace_details->source ); + source_end = replace_details->source + source_length; + searchfor_length = (int)strlen(replace_details->searchfor); + replacewith_length = (int)strlen(replace_details->replacewith); + size_difference = replacewith_length - searchfor_length; + size_required = source_length; + replace_count = replace_details->replacenumber; + + if ((replace_details->preexist != NULL) && (strlen(replace_details->preexist) < 1)) + { + replace_details->preexist = NULL; + } + if ((replace_details->postexist != NULL) && (strlen(replace_details->postexist) < 1)) + { + replace_details->postexist = NULL; + } + + /* If we have a 'pre-exist' request, then we need to check this out first*/ + /* because if the pre-exist string cannot be found, then there's very*/ + /* little point us continuing on in our search ( because without the*/ + /* preexist string existing, we are thus not qualified to replace anything )*/ + if (replace_details->preexist != NULL) + { + preexist_location = PLD_strstr(replace_details->source, replace_details->preexist, replace_details->insensitive); + if (preexist_location == NULL) + { + return replace_details->source; + } + } + + /* Determine if initial POSTexist tests will pass, if we don't pick up*/ + /* anything here, then there's no point in continuing either*/ + if (replace_details->postexist != NULL) + { + char *p = replace_details->source; + postexist_location = NULL; + do + { + p = PLD_strstr(p, replace_details->postexist, replace_details->insensitive); + if (p != NULL) + { + postexist_location = p; + p = p + strlen(replace_details->postexist); + } + } + while (p != NULL); + + if (postexist_location == NULL) + { + return replace_details->source; + } + } + + + /* Step 1 - determine the MAXIMUM number of times we might have to replace this string ( or the limit*/ + /* set by replacenumber*/ + /**/ + /* Note - we only need this number if the string we're going to be inserting into the */ + /* source is larger than the one we're replacing - this is so that we can ensure that*/ + /* we have sufficient memory available in the buffer.*/ + if (size_difference > 0) + { + if (replace_count == 0) + { + char *p, *q; + + p = replace_details->source; + q = PLD_strstr(p, replace_details->searchfor, replace_details->insensitive); + while (q != NULL) + { + replace_count++; + /*size_required += size_difference;*/ + p = q + searchfor_length; + q = PLD_strstr(p, replace_details->searchfor, replace_details->insensitive); + } + + } + size_required = source_length + (size_difference * replace_count) + 1; + } + else + { + size_required = source_length + 1; + } + + + /* Allocate the memory required to hold the new string [at least], check to see that*/ + /* all went well, if not, then return an error*/ + new_buffer = MALLOC( sizeof(char) * size_required); + if (new_buffer == NULL) + { + LOGGER_log(_("%s:%d:PLD_strreplace:ERROR: Cannot allocate %d bytes of memory to perform replacement operation"), FL, size_required); + return replace_details->source; + } + + /* Our segment must always start at the beginning of the source, */ + /* on the other hand, the segment_end can be anything from the*/ + /* next byte to NULL ( which is specially treated to mean to */ + /* the end of the source )*/ + segment_start = replace_details->source; + + + /* Locate the first segment */ + segment_ok = 0; + segment_end = PLD_strstr(replace_details->source, replace_details->searchfor, replace_details->insensitive); + + /* Determine if the first segment is valid in the presence of the */ + /* pre-exist and post-exist requirements*/ + while ((segment_end != NULL) && (segment_ok == 0)\ + && ((replace_details->preexist != NULL) || (replace_details->postexist != NULL))) + { + int pre_ok = 0; + int post_ok = 0; + + /* The PREexist test assumes a couple of factors - please ensure these are*/ + /* relevant if you change any code prior to this point.*/ + /* */ + /* 1. preexist_location has already been computed and is not NULL*/ + /**/ + /* 2. By relative position, the first preexist_location will be a valid location*/ + /* on which to validate for ALL replacements beyond that point, thus, we*/ + /* never actually have to recompute preexist_location again.*/ + /**/ + /* 3. Conversely, the last computed postexist_location is valid for all */ + /* matches before it*/ + /**/ + if (preexist_location == NULL) + { + pre_ok = 1; + } + else if (preexist_location < segment_end) + { + pre_ok = 1; + } + + if (postexist_location == NULL) + { + post_ok = 1; + } + else if (postexist_location > segment_end) + { + post_ok = 1; + } + + if ((pre_ok == 0) || (post_ok == 0)) + { + segment_end = PLD_strstr(segment_end + searchfor_length, replace_details->searchfor, replace_details->insensitive); + } + else + { + segment_ok = 1; + } + } + + segment_p = segment_start; + new_p = new_buffer; + while (segment_start != NULL) + { + int replacewith_count; + char *replacewith_p; + + if (segment_end == NULL) + { + segment_end = source_end; + } + + replace_count--; + + /* Perform the segment copy*/ + segment_p = segment_start; + while ((segment_p < segment_end) && (size_required > 0)) + { + *new_p = *segment_p; + new_p++; + segment_p++; + size_required--; + } + + /* Perform the string replacement*/ + if (segment_end < source_end) + { + replacewith_count = replacewith_length; + replacewith_p = replace_details->replacewith; + while ((replacewith_count--) && (size_required > 0)) + { + *new_p = *replacewith_p; + new_p++; + replacewith_p++; + size_required--; + } + } + + if (size_required < 1 ) + { + LOGGER_log(_("%s:%d:PLD_strreplace_general: Allocated memory ran out while replacing '%s' with '%s'"), FL, replace_details->searchfor, replace_details->replacewith); + *new_p = '\0'; + break; + } + + /* Find the next segment*/ + segment_start = segment_end + searchfor_length; + + /* If we've reached the end of the number of replacements we're supposed*/ + /* to do, then we prepare the termination of the while loop by setting*/ + /* our segment end to the end of the source.*/ + /**/ + /* NOTE: Remember that the replace_count is pre-decremented at the start*/ + /* of the while loop, so, if the caller requested '0' replacements*/ + /* this will now be -1, thus, it won't get terminated from this == 0*/ + /* match. Just thought you'd like to be reminded of that incase you*/ + /* were wondering "Huh? this would terminate an unlimited replacement"*/ + if (replace_count == 0) + { + segment_end = NULL; + } + else + { + /* If our new segment to copy starts after the*/ + /* end of the source, then we actually have */ + /* nothing else to copy, thus, we prepare the*/ + /* segment_start varible to cause the while loop */ + /* to terminate.*/ + /**/ + /* Otherwise, we try and locate the next segment*/ + /* ending point, and set the starting point to*/ + /* be on the 'other side' of the 'searchfor' string*/ + /* which we found in the last search.*/ + /**/ + if (segment_start > source_end) + { + segment_start = NULL; + } + else + { + + /* Try find the next segment*/ + segment_ok = 0; + segment_end = PLD_strstr(segment_end + searchfor_length, replace_details->searchfor, replace_details->insensitive); + + /* If we have a pre/post-exist requirement, then enter into this*/ + /* series of tests. NOTE - at least one of the pre or post tests*/ + /* must fire to give an meaningful result - else we'll end up with */ + /* a loop which simply goes to the end of the searchspace buffer*/ + while ((segment_end != NULL) && (segment_ok == 0)\ + && ((replace_details->preexist != NULL) || (replace_details->postexist != NULL))) + { + int pre_ok = 0; + int post_ok = 0; + + /* The PREexist test assumes a couple of factors - please ensure these are*/ + /* relevant if you change any code prior to this point.*/ + /* */ + /* 1. preexist_location has already been computed and is not NULL*/ + /**/ + /* 2. By relative position, the first preexist_location will be a valid location*/ + /* on which to validate for ALL replacements beyond that point, thus, we*/ + /* never actually have to recompute preexist_location again.*/ + /**/ + /* 3. Conversely, the last computed postexist_location is valid for all */ + /* matches before it*/ + /**/ + if (preexist_location == NULL) + { + pre_ok = 1; + } + else if (preexist_location < segment_end) + { + pre_ok = 1; + } + + if (postexist_location == NULL) + { + post_ok = 1; + } + else if (postexist_location > segment_end) + { + post_ok = 1; + } + + if ((pre_ok == 0) || (post_ok == 0)) + { + segment_end = PLD_strstr(segment_end + searchfor_length, replace_details->searchfor, replace_details->insensitive); + } + else + { + segment_ok = 1; + } + } + + } /* If-else segment_start > source_end*/ + + } + + } + + *new_p = '\0'; + + if (replace_details->source != NULL) + { + FREE (replace_details->source); + } + replace_details->source = new_buffer; + return new_buffer; +} + +/*-----------------------------------------------------------------\ + Function Name : *PLD_strreplace + Returns Type : char + ----Parameter List + 1. char **source, + 2. char *searchfor, + 3. char *replacewith, + 4. int replacenumber , + ------------------ + Exit Codes : + Side Effects : + -------------------------------------------------------------------- +Comments: + +-------------------------------------------------------------------- +Changes: + +\------------------------------------------------------------------*/ +char *PLD_strreplace( char **source, char *searchfor, char *replacewith, int replacenumber ) +{ + struct PLD_strreplace replace_details; + char *tmp_source; + + replace_details.source = *source; + replace_details.searchfor = searchfor; + replace_details.replacewith = replacewith; + replace_details.replacenumber = replacenumber; + replace_details.preexist = NULL; + replace_details.postexist = NULL; + replace_details.insensitive = 0; + + tmp_source = PLD_strreplace_general( &replace_details ); + + if (tmp_source != *source) + { + *source = tmp_source; + } + + return *source; +} + + +/*-----------------------------------------------------------------\ + Function Name : *PLD_dprintf + Returns Type : char + ----Parameter List + 1. const char *format, + 2. ..., + ------------------ + Exit Codes : + Side Effects : +-------------------------------------------------------------------- + Comments: + This is a dynamic string allocation function, not as fast as some + other methods, but it works across the board with both glibc 2.0 + and 2.1 series. + +-------------------------------------------------------------------- + Changes: + +\------------------------------------------------------------------*/ +char *PLD_dprintf(const char *format, ...) +{ + int n, size = 1024; /* Assume we don't need more than 1K to start with*/ + char *p; + va_list ap; + + /* Attempt to allocate and then check */ + p = MALLOC(size * sizeof(char)); + if (p == NULL) + { + return NULL; + } + + while (1) + { + /* Attempt to print out string out into the allocated space*/ + va_start(ap, format); + + n = vsnprintf (p, size, format, ap); + va_end(ap); + + /* If things went well, then return the new string*/ + if ((n > -1) && (n < size)) + { + return p; + } + + /* If things didn't go well, then we have to allocate more space*/ + /* based on which glibc we're using ( fortunately, the return codes*/ + /* tell us which glibc is being used! *phew**/ + /**/ + /* If n > -1, then we're being told precisely how much space we need*/ + /* else (older glibc) we have to just guess again ...*/ + + if (n > -1) + { + size = n + 1; /* Allocate precisely what is needed*/ + } + else + { + size *= 2; /* Double the amount allocated, note, we could just increase by 1K, but if we have a long string, we'd end up using a lot of realloc's*/ + } + + /* We could just realloc 'blind', but that'd be wrong and potentially cause a DoS, so*/ + /* instead, we'll be good and first attempt to realloc to a temp variable then, if all*/ + /* is well, we go ahead and update*/ + if (1) + { + char *tmp_p; + + tmp_p = REALLOC(p, size); + if (tmp_p == NULL) + { + if (p != NULL) + { + FREE(p); + } + return NULL; + } + else + { + p = tmp_p; + } + } + } + +} + + +/*-----------------END.*/ diff --git a/modules/spreadsheet/src/c/ripole/pldstr.h b/modules/spreadsheet/src/c/ripole/pldstr.h new file mode 100755 index 000000000..6763e2483 --- /dev/null +++ b/modules/spreadsheet/src/c/ripole/pldstr.h @@ -0,0 +1,40 @@ +#ifndef __PLDSTR__ +#define __PLDSTR__ + +#ifndef FL +#define FL __FILE__,__LINE__ +#endif + +struct PLD_strtok +{ + char *start; + char delimeter; +}; + +struct PLD_strreplace +{ + char *source; + char *searchfor; + char *replacewith; + + char *preexist; + char *postexist; + + int replacenumber; + + int insensitive; +}; + +char *PLD_strstr(char *haystack, char *needle, int insensitive); +char *PLD_strncpy( char *dst, const char *src, size_t len ); +char *PLD_strncat( char *dst, const char *src, size_t len ); +char *PLD_strncate( char *dst, const char *src, size_t len, char *endpoint ); +char *PLD_strtok( struct PLD_strtok *st, char *line, char *delimeters ); +int PLD_strncasecmp( char *s1, char *s2, int n ); +int PLD_strlower( unsigned char *convertme ); + +char *PLD_strreplace_general( struct PLD_strreplace *replace_details ); +char *PLD_strreplace( char **source, char *searchfor, char *replacewith, int replacenumber ); +char *PLD_dprintf(const char *fmt, ...); + +#endif diff --git a/modules/spreadsheet/src/c/ripole/ripole.c b/modules/spreadsheet/src/c/ripole/ripole.c new file mode 100755 index 000000000..867b69d67 --- /dev/null +++ b/modules/spreadsheet/src/c/ripole/ripole.c @@ -0,0 +1,201 @@ + +/* Microsoft OLE2 stream parser.*/ + +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include <ctype.h> + +#include "logger.h" +#include "pldstr.h" +#include "ole.h" +#include "ripole.h" +#include "localization.h" + +#undef WITHMAIN + +#include "MALLOC.h" + +#ifdef _MSC_VER +#include "strdup_windows.h" +#endif + +#define ROLE_VERSION "0.2.0" + +static char defaultdir[] = "."; +/*static char version[] = "0.2.0 - 12-December-2005 (C) PLDaniels http:/*www.pldaniels.com/ripole"; +static char help[] = "ripOLE -i <OLE2 file> [ -d <directory> ] [--save-unknown-streams] [--version|-V] [--verbose|-v] [--debug] [--help|-h]"; +*/ +/*-----------------------------------------------------------------\ + Function Name : set_defaults + Returns Type : int + ----Parameter List + 1. struct ripOLE_object *role , + ------------------ + Exit Codes : + Side Effects : + -------------------------------------------------------------------- +Comments: + +-------------------------------------------------------------------- +Changes: + +\------------------------------------------------------------------*/ +int ROLE_set_defaults(struct ripOLE_object *role) +{ + role->outputdir = defaultdir; + role->debug = 0; + role->verbose = 0; + role->save_unknown_streams = 0; + role->inputfile = NULL; + + return 0; +} + +/*-----------------------------------------------------------------\ + Function Name : ripOLE_report_filename_decoded + Returns Type : int + ----Parameter List + 1. char *filename, + ------------------ + Exit Codes : + Side Effects : + -------------------------------------------------------------------- +Comments: + +-------------------------------------------------------------------- +Changes: + +\------------------------------------------------------------------*/ +int ROLE_report_filename_decoded(char *filename) +{ + LOGGER_log(_("Decoding filename=%s"), filename); + + return 0; +} + +/*-----------------------------------------------------------------\ + Function Name : ROLE_init + Returns Type : int + ----Parameter List + 1. struct ripOLE_object *role, + ------------------ + Exit Codes : + Side Effects : + -------------------------------------------------------------------- +Comments: + +-------------------------------------------------------------------- +Changes: + +\------------------------------------------------------------------*/ +int ROLE_init(struct ripOLE_object *role) +{ + role->debug = 0; + role->verbose = 0; + role->save_unknown_streams = 0; + + role->inputfile = NULL; + role->outputdir = NULL; + + return 0; +} + +/*-----------------------------------------------------------------\ + Function Name : ROLE_done + Returns Type : int + ----Parameter List + 1. struct ripOLE_object *role, + ------------------ + Exit Codes : + Side Effects : + -------------------------------------------------------------------- +Comments: + +-------------------------------------------------------------------- +Changes: + +\------------------------------------------------------------------*/ +int ROLE_done(struct ripOLE_object *role) +{ + if (role->inputfile != NULL) + { + FREE(role->inputfile); + } + if (role->outputdir != NULL) + { + FREE(role->outputdir); + } + + return 0; +} + +/*-----------------------------------------------------------------\ + Function Name : ROLE_validate + Returns Type : int + ----Parameter List + 1. struct ripOLE_object *role , + ------------------ + Exit Codes : + Side Effects : + -------------------------------------------------------------------- +Comments: + +-------------------------------------------------------------------- +Changes: + +\------------------------------------------------------------------*/ +int ROLE_validate(struct ripOLE_object *role) +{ + int result = 0; + + if (role->inputfile == NULL) + { + fprintf(stderr, _("ripOLE requires an input file to decode.\n")); + return -1; + } + + return result; +} + +int ripole(char *inputfile, char *outputdir, int debug, int verbose) +{ + /*struct OLE_object *ole = NULL; */ + struct OLE_object ole; + int result = 0; + + /*ole = MALLOC(sizeof(struct OLE_object)); + * if (ole == NULL) + * { + * LOGGER_log(_("ripOLE: Cannot allocate memory for OLE object")); + * return 1; + * } */ + + LOGGER_set_output_mode(_LOGGER_STDOUT); + + OLE_init(&ole); + if (debug == 1) + { + OLE_set_debug(&ole, OLE_DEBUG_NORMAL); + } + if (verbose == 1) + { + OLE_set_verbose(&ole, OLE_VERBOSE_NORMAL); + } + /*ole->save_unknown_streams==2 added for Scilab to extract onlyspreadsheet streams + * see OLE_decode_stream in ole.c file */ + OLE_set_save_unknown_streams(&ole, 2); /* get only spreadsheet streams */ + + OLE_set_filename_report_fn(&ole, ROLE_report_filename_decoded); + + result = OLE_decode_file(&ole, inputfile, outputdir); + OLE_decode_file_done(&ole); + + if ((result != 0) && (verbose == 1)) + { + LOGGER_log(_("ripOLE: decoding of %s resulted in error %d.\n"), inputfile, result); + } + + /*if (ole != NULL) FREE(ole); */ + return result; +} diff --git a/modules/spreadsheet/src/c/ripole/ripole.h b/modules/spreadsheet/src/c/ripole/ripole.h new file mode 100755 index 000000000..402a6fda5 --- /dev/null +++ b/modules/spreadsheet/src/c/ripole/ripole.h @@ -0,0 +1,37 @@ + +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2007-2008 - INRIA - Sylvestre LEDRU <sylvestre.ledru@inria.fr> + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +#ifndef __RIPOLE_H__ +#define __RIPOLE_H__ + +struct ripOLE_object +{ + int debug; + int verbose; + int save_unknown_streams; + + char *inputfile; + char *outputdir; + +}; + +int ROLE_set_defaults( struct ripOLE_object *role ); +int ROLE_parse_parameters( struct ripOLE_object *role, int argc, char **argv ); +int ROLE_set_parameters( struct ripOLE_object *role, struct OLE_object *ole ); +int ROLE_report_filename_decoded(char *filename); +int ROLE_init(struct ripOLE_object *role); +int ROLE_done(struct ripOLE_object *role); +int ROLE_validate(struct ripOLE_object *role ); +int ripole(char *inputfile, char *outputdir, int debug, int verbose); + +#endif /* #define __RIPOLE_H__ */ diff --git a/modules/spreadsheet/src/c/splitLine.c b/modules/spreadsheet/src/c/splitLine.c new file mode 100755 index 000000000..dc7313ec6 --- /dev/null +++ b/modules/spreadsheet/src/c/splitLine.c @@ -0,0 +1,241 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2010-2011 - DIGITEO - Allan CORNET + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ +#include <string.h> +#include <stdio.h> +#include "splitLine.h" +#include "strsubst.h" +#include "MALLOC.h" +#include "freeArrayOfString.h" + +#define EMPTYFIELD "__EMPTY_FIELD_CSV__" +#define DOUBLE_QUOTE '"' + +// Add the token (string) to the array of tokens, +// and applies post processing (escape double quotes,...) +static int addToken(char **tokens, int *tokenIdx, const char* tokenValue, int tokenLen) +{ + char *token = (char *) MALLOC((sizeof(char) * tokenLen) + 1); + + if (token) + { + char *token2; + const char *c, *c_end; + char *c2; + + memcpy(token, tokenValue, tokenLen); + token[tokenLen] = 0; + + if (strcmp(token, EMPTYFIELD) == 0) + { + strcpy(token, ""); + } + + // Escape double quotes, and remove simple quotes + token2 = (char *) MALLOC((sizeof(char) * tokenLen) + 1); + c = token; + c_end = c + tokenLen; + c2 = token2; + while (c < c_end) + { + if (*c == DOUBLE_QUOTE) + { + c++; + if (*c == DOUBLE_QUOTE) + { + *c2 = DOUBLE_QUOTE; + c++; + c2++; + } + } + else + { + *c2 = *c; + c++; + c2++; + } + } + *c2 = 0; + + // Add token + tokens[*tokenIdx] = token2; + (*tokenIdx)++; + + FREE(token); + + return TRUE; + } + return FALSE; +} + +/* ==================================================================== */ +char **splitLineCSV(const char *str, const char *sep, int *toks) +{ + char **retstr = NULL; + const char *idx = NULL; + const char *end = NULL; + const char *sep_end = NULL; + const char *sep_idx = NULL; + int len = 0; + int curr_str = 0; + int inDoubleQuote = 0; + + /* Usually, it should be ,, or ;; */ + char tokenstring_to_search[64] = ""; + /* Previous item will be replaced by ;__EMPTY_FIELD_CSV__; */ + char tokenreplacement_string[64] = ""; + char *substitutedstring = NULL; + + sprintf(tokenstring_to_search, "%s%s", sep, sep); + sprintf(tokenreplacement_string, "%s%s%s", sep, EMPTYFIELD, sep); + substitutedstring = strsub(str, tokenstring_to_search, tokenreplacement_string); + /* in a string like foo;bar;;;, replace all the ;;, not only the first and last one */ + while (strstr(substitutedstring, tokenstring_to_search) != NULL) + { + substitutedstring = strsub(substitutedstring, tokenstring_to_search, tokenreplacement_string); + } + + if (strncmp(substitutedstring, sep, strlen(sep)) == 0) + { + char *tmp = NULL; + size_t l = strlen(substitutedstring) + strlen(EMPTYFIELD) + strlen(sep) + 1; + tmp = (char*)MALLOC(sizeof(char) * l); + sprintf(tmp, "%s%s%s", EMPTYFIELD, sep, &substitutedstring[1]); + FREE(substitutedstring); + substitutedstring = tmp; + } + + if (substitutedstring[strlen(substitutedstring) - 1] == sep[0]) + { + char *tmp = NULL; + size_t l = strlen(substitutedstring) + strlen(EMPTYFIELD) + 1; + tmp = (char*)MALLOC(sizeof(char) * l); + sprintf(tmp, "%s%s", substitutedstring, EMPTYFIELD); + FREE(substitutedstring); + substitutedstring = tmp; + } + + sep_end = sep + strlen(sep); + end = substitutedstring + strlen(substitutedstring); + + idx = substitutedstring; + + if (strstr(substitutedstring, sep) == NULL) + { + *toks = 0; + FREE(substitutedstring); + return NULL; + } + + retstr = (char **) MALLOC((sizeof(char *) * (int)strlen(substitutedstring))); + if (retstr == NULL) + { + *toks = 0; + FREE(substitutedstring); + return NULL; + } + + while (idx < end) + { + // If we are in a double quoted field, we do not plit on separators + if (!inDoubleQuote) + { + sep_idx = sep; + while (sep_idx < sep_end) + { + if ((*idx == *sep_idx)) + { + if (len > 0) + { + if (curr_str < (int)strlen(substitutedstring)) + { + // New token (= field) + if (addToken(retstr, &curr_str, (char*)(idx - len), len)) + { + // Reset for next field + len = 0; + idx++; + } + else + { + *toks = 0; + freeArrayOfString(retstr, strlen(substitutedstring)); + FREE(substitutedstring); + return NULL; + } + } + + if (curr_str >= (int)strlen(substitutedstring)) + { + *toks = curr_str + 1; + FREE(substitutedstring); + return retstr; + } + } + else + { + idx++; + len = 0; + } + } + else + { + sep_idx++; + } + } + } + + if (*idx == '"') + { + // Count number of consecutive double quotes + int nbDoubleQuotes = 0; + const char *idxTmp = idx; + + while (*idxTmp == '"') + { + idxTmp++; + } + nbDoubleQuotes = idxTmp - idx; + + // if it is odd, we enter or leave a double quoted field + if (nbDoubleQuotes % 2 == 1) + { + inDoubleQuote = (inDoubleQuote == 0) ? 1 : 0; + } + len += nbDoubleQuotes; + idx += nbDoubleQuotes; + } + else + { + len++; + idx++; + } + } + + if (len > 0) + { + // New token (= field) + if (!addToken(retstr, &curr_str, (char*)(idx - len), len)) + { + *toks = 0; + freeArrayOfString(retstr, strlen(substitutedstring)); + FREE(substitutedstring); + return NULL; + } + } + + *toks = curr_str; + + FREE(substitutedstring); + + return retstr; +} +/* ==================================================================== */ diff --git a/modules/spreadsheet/src/c/splitLine.h b/modules/spreadsheet/src/c/splitLine.h new file mode 100755 index 000000000..7a7ee6b3e --- /dev/null +++ b/modules/spreadsheet/src/c/splitLine.h @@ -0,0 +1,30 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2010-2011 - DIGITEO - Allan CORNET + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ +#ifndef __SPLITLINE_H__ +#define __SPLITLINE_H__ + +#ifdef __cplusplus +extern "C" { +#endif + + /** + * split a line by separator + */ + char **splitLineCSV(const char *str, const char *sep, int *toks); + +#ifdef __cplusplus +} +#endif + + +#endif /* __SPLITLINE_H__ */ +/* ==================================================================== */ diff --git a/modules/spreadsheet/src/c/spreadsheet.rc b/modules/spreadsheet/src/c/spreadsheet.rc new file mode 100755 index 000000000..e6eda1fa6 --- /dev/null +++ b/modules/spreadsheet/src/c/spreadsheet.rc @@ -0,0 +1,97 @@ +// Microsoft Visual C++ generated resource script. +// + + +#define APSTUDIO_READONLY_SYMBOLS +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 2 resource. +// +//#include "afxres.h" +#define APSTUDIO_HIDDEN_SYMBOLS +#include "windows.h" +///////////////////////////////////////////////////////////////////////////// +#undef APSTUDIO_READONLY_SYMBOLS + +///////////////////////////////////////////////////////////////////////////// +// French (France) resources + +#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_FRA) +#ifdef _WIN32 +LANGUAGE LANG_FRENCH, SUBLANG_FRENCH +#pragma code_page(1252) +#endif //_WIN32 + +#ifdef APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// TEXTINCLUDE +// + +1 TEXTINCLUDE +BEGIN + "resource.h\0" +END + +3 TEXTINCLUDE +BEGIN + "\r\n" + "\0" +END + +#endif // APSTUDIO_INVOKED + + +///////////////////////////////////////////////////////////////////////////// +// +// Version +// + +VS_VERSION_INFO VERSIONINFO + FILEVERSION 5,5,2,0 + PRODUCTVERSION 5,5,2,0 + FILEFLAGSMASK 0x17L +#ifdef _DEBUG + FILEFLAGS 0x1L +#else + FILEFLAGS 0x0L +#endif + FILEOS 0x4L + FILETYPE 0x0L + FILESUBTYPE 0x0L +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "040c04b0" + BEGIN + VALUE "CompanyName", "Scilab" + VALUE "FileDescription", "spreadsheet module" + VALUE "FileVersion", "5, 5, 2, 0" + VALUE "InternalName", "spreadsheet" + VALUE "LegalCopyright", "Copyright (C) 2017" + VALUE "OriginalFilename", "spreadsheet.dll" + VALUE "ProductName", " spreadsheet" + VALUE "ProductVersion", "5, 5, 2, 0" + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x40c, 1200 + END +END + +#endif // French (France) resources +///////////////////////////////////////////////////////////////////////////// + + + +#ifndef APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 3 resource. +// + + +///////////////////////////////////////////////////////////////////////////// +#endif // not APSTUDIO_INVOKED + diff --git a/modules/spreadsheet/src/c/utftolatin.c b/modules/spreadsheet/src/c/utftolatin.c new file mode 100755 index 000000000..00ea10b90 --- /dev/null +++ b/modules/spreadsheet/src/c/utftolatin.c @@ -0,0 +1,223 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2010-2011 - DIGITEO - Allan CORNET + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ +#include <string.h> +#include "utftolatin.h" +#include "MALLOC.h" +#ifdef _MSC_VER +#include "strdup_windows.h" +#endif +// ============================================================================= +char *utftolatin(char *utfString) +{ + char *latinString = NULL; + if (utfString) + { + size_t lenUtfString = strlen(utfString) + 1; + latinString = (char*) CALLOC(lenUtfString, sizeof(char)); + + if (latinString) + { + unsigned long ucs4 = 0; + int c = 0, state = 0, octets = 0; + char *t = NULL; + + ucs4 = 0; + state = 0; + octets = 0; + + t = latinString; + *t = 0; + + while ((c = *(utfString++)) != 0) + { + switch (state) + { + case 0: /* start of utf8 char */ + if ((c & 0xfe) == 0xfc) + { + /* 6 octets */ + ucs4 = (c & 0x01) << 30; + octets = 6; + state = 5; + /* look for 5 more */ + } + else if ((c & 0xfc) == 0xf8) + { + /* 5 octets */ + ucs4 = (c & 0x03) << 24; + octets = 5; + state = 4; + } + else if ((c & 0xf8) == 0xf0) + { + /* 4 octets */ + ucs4 = (c & 0x07) << 18; + octets = 4; + state = 3; + } + else if ((c & 0xf0) == 0xe0) + { + /* 3 octets */ + ucs4 = (c & 0x0f) << 12; + octets = 3; + state = 2; + } + else if ((c & 0xe0) == 0xc0) + { + /* 2 octets */ + ucs4 = (c & 0x1f) << 6; + octets = 2; + state = 1; + /* look for 1 more */ + } + else if ((c & 0x80) == 0x00) + { + /* 1 octet */ + ucs4 = (c & 0x7f); + octets = 1; + state = 0; + /* we have a result */ + } + else + { + /* error */ + FREE(latinString); + return strdup(utfString); + } + break; + case 1: + if ((c & 0xc0) == 0x80) + { + ucs4 = ucs4 | (c & 0x3f); + if (ucs4 < 0x80 || ucs4 > 0x7ff) + { + ucs4 = 0xffffffff; + } + } + else + { + ucs4 = 0xffffffff; + } + state = 0; /* we're done and have a result */ + break; + case 2: + if ((c & 0xc0) == 0x80) + { + ucs4 = ucs4 | ((c & 0x3f) << 6); + state = 1; + } + else + { + ucs4 = 0xffffffff; + state = 0; + } + break; + case 3: + if ((c & 0xc0) == 0x80) + { + ucs4 = ucs4 | ((c & 0x3f) << 12); + state = 2; + } + else + { + ucs4 = 0xffffffff; + state = 0; + } + break; + case 4: + if ((c & 0xc0) == 0x80) + { + ucs4 = ucs4 | ((c & 0x3f) << 18); + state = 3; + } + else + { + ucs4 = 0xffffffff; + state = 0; + } + break; + case 5: + if ((c & 0xc0) == 0x80) + { + ucs4 = ucs4 | ((c & 0x3f) << 24); + state = 4; + } + else + { + ucs4 = 0xffffffff; + state = 0; + } + break; + default: /* error, can't happen */ + { + ucs4 = 0xffffffff; + state = 0; + break; + } + } + if (state == 0) + { + switch (octets) + { + case 1: + if (ucs4 > 0x7f) + { + ucs4 = 0xffffffff; + } + break; + case 2: + if (ucs4 < 0x80 || ucs4 > 0x7ff) + { + ucs4 = 0xffffffff; + } + break; + case 3: + if (ucs4 < 0x800 || ucs4 > 0xffff) + { + ucs4 = 0xffffffff; + } + break; + case 4: + if (ucs4 < 0x10000 || ucs4 > 0x1fffff) + { + ucs4 = 0xffffffff; + } + break; + case 5: + if (ucs4 < 0x200000 || ucs4 > 0x3ffffff) + { + ucs4 = 0xffffffff; + } + break; + case 6: + if (ucs4 < 0x4000000 || ucs4 > 0x7fffffff) + { + ucs4 = 0xffffffff; + } + break; + default: + ucs4 = 0xffffffff; + break; + } + + if (ucs4 != 0xffffffff) + { + *(t++) = (char)ucs4; + } + } + } + *t = 0; + } + } + return latinString; +} +// ============================================================================= diff --git a/modules/spreadsheet/src/c/utftolatin.h b/modules/spreadsheet/src/c/utftolatin.h new file mode 100755 index 000000000..cf1059909 --- /dev/null +++ b/modules/spreadsheet/src/c/utftolatin.h @@ -0,0 +1,27 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2010-2011 - DIGITEO - Allan CORNET + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ +#ifndef __UTFTOLATIN_H__ +#define __UTFTOLATIN_H__ + +#ifdef __cplusplus +extern "C" { +#endif + + char *utftolatin(char *utfString); + +#ifdef __cplusplus +} +#endif + + +#endif /* __UTFTOLATIN_H__ */ +// ============================================================================= diff --git a/modules/spreadsheet/src/c/xls.c b/modules/spreadsheet/src/c/xls.c new file mode 100755 index 000000000..4a8b7384b --- /dev/null +++ b/modules/spreadsheet/src/c/xls.c @@ -0,0 +1,1131 @@ + +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2005-2008 - INRIA - Serge STEER <serge.steer@inria.fr> + * Copyright (C) 2005-2008 - INRIA - Pierrick MODE + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +#include <stdlib.h> +#include <stdio.h> +#include <string.h> +#include "core_math.h" +#include "MALLOC.h" /* MALLOC */ +#include "sciprint.h" +#include "returnanan.h" +#include "xls.h" +#include "mseek.h" +#include "mtell.h" +#include "mget.h" +/*------------------------------------------------------------------*/ +#define typ_short "s" +#define typ_ushort "us" +#define typ_char "c" +#define typ_uchar "uc" +#define typ_double "d" +#define typ_int "i" +/*------------------------------------------------------------------*/ +extern int ripole(char *inputfile, char *outputfile, int debug, int verbose); +/*------------------------------------------------------------------*/ +/*Prototype*/ +static double NumFromRk2(long rk); +static void getBoundsheets(int * fd, char ***Sheetnames, int** Abspos, int *nsheets, double *cur_pos, int *err); +static void getSST(int *fd, short Len, int BIFF, int *ns, char ***sst, int *err); +static void getBOF(int *fd , int* Data, int *err); +static void getString(int *fd, short *count, short *Len, int flag, char **str, int *err); + +/** + ** Bruno : Defined but not used ... so what !!!!!!!! + static int get_oleheader(int *fd); +**/ +/*------------------------------------------------------------------*/ +void xls_read(int *fd, int *cur_pos, double **data, int **chainesind, int *N, int *M, int *err) +{ + /*---------------Declaration Des Variables*--------------------*/ + unsigned short Opcode = 0, Len = 0; /*Code Operationnel et Longueur du tag a lire*/ + double *valeur = NULL; /*Tableau Recapitulatif (Final) des valeurs de la feuille Excel*/ + double pos = 0; + + int one = 1; + int three = 3; + + int i = 0; /*Variables de boucle*/ + int hauteur = 0, longueur = 0, capacite = 0; /*Hauteur, longueur de la feuille, */ + /*int taille = 0; Nombre de types de caract�ers a enregistrer*/ + char *sheetname = NULL; /*Nom de la feuille*/ + int rkvalue = 0; /*RK value*/ + /*for RK */ + unsigned short row = 0, col = 0, xf = 0;/*Index to row, to column, and to XF record*/ + /*for MULRK */ + unsigned short ixfe = 0; + short colFirst = 0, colLast = 0, ncol = 0; /*Index to rox, to first column (fc)*/ + /* for LABELSST */ + short labelsst1[3]; + int indsst = 0; /*Index to SST record*/ + /* for DIMENSIONS */ + int f_row = 0, l_row = 0; + unsigned short f_col = 0, l_col = 0, notused = 0; + /* for FORMULA */ + double resultat = 0.;/*Result of the formula*/ + short optionflag = 0;/*Option flags*/ + int formula_notused = 0; /*Not used*/ + double NaN = C2F(returnanan)(); + + int BOFData[7]; /*[BIFF Version DataType Identifier Year HistoryFlags LowestXlsVersion]*/ + /* initialization of pointers corresponding to malloc's */ + valeur = (double *)NULL; + sheetname = (char *)NULL; + *chainesind = (int *) NULL; + *err = 0; + + pos = (double)(*cur_pos); + C2F(mseek) (fd, &pos, "set", err); + if (*err > 0) + { + goto ErrL; + } + + /* first record should be a BOF */ + getBOF(fd , BOFData, err); + + if (*err > 0) + { + return; + } + if (BOFData[0] < 0) /* not a BOF */ + { + *err = 2; + return; + } + if (BOFData[0] != 8) /* not a BIFF8 */ + { + *err = 3; + return; + } + + C2F(mtell) (fd, &pos, err); + if (*err > 0) + { + goto ErrL; + } + + while (1) + { + C2F(mseek) (fd, &pos, "set", err); + if (*err > 0) + { + goto ErrL; + } + /*Enregistrement de l'Opcode et de la Len du tag*/ + C2F(mgetnc) (fd, &Opcode, &one, typ_ushort, err); + if (*err > 0) + { + goto ErrL; + } + C2F(mgetnc) (fd, &Len, &one, typ_ushort, err); + if (*err > 0) + { + goto ErrL; + } + switch (Opcode) + { + case 10:/*EOF */ + *N = hauteur; + *M = longueur; + *data = valeur; + *cur_pos = (int)pos; + *cur_pos = *cur_pos + 4 + Len; + return; + case 638: /*RK*/ + C2F(mgetnc) (fd, (void*)&row, &one, typ_ushort, err); + if (*err > 0) + { + goto ErrL; + } + C2F(mgetnc) (fd, (void*)&col, &one, typ_ushort, err); + if (*err > 0) + { + goto ErrL; + } + // Check col and row are in bounds + if ((col >= longueur) || (row >= hauteur)) + { + *err = 2; + goto ErrL; + } + C2F(mgetnc) (fd, (void*)&xf , &one, typ_ushort, err); + if (*err > 0) + { + goto ErrL; + } + C2F(mgetnc) (fd, (void*) &rkvalue , &one, typ_int, err); + if (*err > 0) + { + goto ErrL; + } + valeur[col * (hauteur) + row] = NumFromRk2(rkvalue); + break; + case 515: /*Number*/ + C2F(mgetnc) (fd, (void*)&row, &one, typ_ushort, err); + if (*err > 0) + { + goto ErrL; + } + C2F(mgetnc) (fd, (void*)&col, &one, typ_ushort, err); + if (*err > 0) + { + goto ErrL; + } + // Check col and row are in bounds + if ((col >= longueur) || (row >= hauteur)) + { + *err = 2; + goto ErrL; + } + C2F(mgetnc) (fd, (void*)&xf , &one, typ_ushort, err); + if (*err > 0) + { + goto ErrL; + } + C2F(mgetnc) (fd, (void*) &resultat , &one, typ_double, err); + if (*err > 0) + { + goto ErrL; + } + valeur[col * (hauteur) + row] = resultat ; + break; + + case 189: /*MULRK*/ + C2F(mgetnc) (fd, (void*)&row, &one, typ_ushort, err); + if (*err > 0) + { + goto ErrL; + } + C2F(mgetnc) (fd, (void*)&colFirst, &one, typ_short, err); + if (*err > 0) + { + goto ErrL; + } + // Check col and row are in bounds + if ((colFirst >= longueur) || (row >= hauteur)) + { + *err = 2; + goto ErrL; + } + /*List of nc=lc-fc+1 XF/RK structures*/ + ncol = (Len - 6) / 6; + for (i = 0; i < ncol; i++) + { + C2F(mgetnc) (fd, (void*) &ixfe, &one, typ_short, err); + if (*err > 0) + { + goto ErrL; + } + C2F(mgetnc) (fd, (void*) &rkvalue, &one, typ_int, err); + if (*err > 0) + { + goto ErrL; + } + valeur[row + (colFirst + i)*hauteur] = NumFromRk2(rkvalue); + } + + /*Index of last column*/ + C2F(mgetnc) (fd, (void*) &colLast, &one, typ_ushort, err); + if (*err > 0) + { + goto ErrL; + } + break; + + case 253:/*LABELSST*/ + C2F(mgetnc) (fd, (void*) labelsst1, &three, typ_short, err); + if (*err > 0) + { + goto ErrL; + } + C2F(mgetnc) (fd, (void*) &indsst , &one, typ_int, err); + if (*err > 0) + { + goto ErrL; + } + /*Allocation dans le tableau final*/ + col = labelsst1[1]; + row = labelsst1[0]; + // Check col and row are in bounds + if ((col >= longueur) || (row >= hauteur)) + { + *err = 2; + goto ErrL; + } + (*chainesind)[col * (hauteur) + row] = indsst + 1; + break; + case 512:/* DIMENSIONS*/ + C2F(mgetnc) (fd, (void*) &f_row, &one, typ_int, err); + if (*err > 0) + { + goto ErrL; + } + C2F(mgetnc) (fd, (void*) &l_row, &one, typ_int, err); + if (*err > 0) + { + goto ErrL; + } + C2F(mgetnc) (fd, (void*) &f_col, &one, typ_ushort, err); + if (*err > 0) + { + goto ErrL; + } + C2F(mgetnc) (fd, (void*) &l_col, &one, typ_ushort, err); + if (*err > 0) + { + goto ErrL; + } + C2F(mgetnc) (fd, (void*) ¬used, &one, typ_ushort, err); + if (*err > 0) + { + goto ErrL; + } + + /*Calcul de longueur, hauteur et capacite de la feuille*/ + hauteur = l_row; /*-f_row;*/ + longueur = l_col; /*-f_col;*/ + capacite = hauteur * longueur; + + /*Declaration des tableaux de synthese*/ + if ((valeur = (void*) MALLOC((capacite + 1) * sizeof(double))) == NULL) + { + goto ErrL; + } + if ((*chainesind = (int *) MALLOC((capacite + 1) * sizeof(int))) == NULL) + { + goto ErrL; + } + for (i = 0; i <= capacite; i++) + { + (*chainesind)[i] = 0; + valeur[i] = NaN; + } + break; + case 6:/* FORMULA*/ + C2F(mgetnc) (fd, (void*) &row, &one, typ_ushort, err); + if (*err > 0) + { + goto ErrL; + } + C2F(mgetnc) (fd, (void*) &col, &one, typ_ushort, err); + if (*err > 0) + { + goto ErrL; + } + // Check col and row are in bounds + if ((col >= longueur) || (row >= hauteur)) + { + *err = 2; + goto ErrL; + } + C2F(mgetnc) (fd, (void*) &xf, &one, typ_ushort, err); + if (*err > 0) + { + goto ErrL; + } + + C2F(mgetnc) (fd, (void*) &resultat, &one, typ_double, err); + if (*err > 0) + { + goto ErrL; + } + + valeur[(col * hauteur + row)] = resultat; + + C2F(mgetnc) (fd, (void*)&optionflag, &one, typ_short, err); + if (*err > 0) + { + goto ErrL; + } + + C2F(mgetnc) (fd, (void*) &formula_notused, &one, typ_int, err); + if (*err > 0) + { + goto ErrL; + } + + /*Formuled data*/ + + /*taille=Len-2-2-2-8-2-4; + char formuladata[taille]; + C2F(mgetnc) (fd, (void*) formuladata, &taille, typ_char, err); + if (*err > 0) goto ErrL;*/ + + break; + } + + pos = pos + 4 + Len; + } + + *cur_pos = (int)pos; + return; +ErrL: + { + FREE(sheetname); + FREE(valeur); + FREE(*chainesind); + if (*err == 0) + { + *err = 1; /* malloc problem */ + } + else + { + *err = 2; /* read problem */ + } + return; + } +} + + +void xls_open(int *err, int *fd, char ***sst, int *ns, char ***Sheetnames, int** Abspos, int *nsheets) +{ + /* if opt==1 it is supposed that the current file position is at the beginning of oleheader + * if opt==0 it is supposed that the current file position is at the beginning of workbook stream + */ + + /* we suppose that the ole file as a simple structure: + * Workbook stream should follows immediately the header + * and is strored in sequential sections + */ + + /*return *err: + 0 = OK + 1 = not an OLE file + 2 = no Workbook included + 3 = memory allocation problem + 4 = incorrect file + 5 = not a BIFF8 xls file + */ + /*---------------D�claration Des Variables*--------------------*/ + int k, one = 1; + double cur_pos, init_pos; + unsigned short Opcode, Len; + /*BOF data*/ + int BOFData[7]; /*[BIFF Version DataType Identifier Year HistoryFlags LowestXlsVersion]*/ + *nsheets = 0; + *err = 0; + /*---------------D�claration Des Variables*--------------------*/ + + /* if (get_oleheader(fd)) { + *err=1; + return; + }*/ + C2F(mtell) (fd, &cur_pos, err); + init_pos = cur_pos; + + /* first record should be a BOF */ + getBOF(fd , BOFData, err); + if (*err > 0) + { + return; + } + + if (BOFData[0] < 0) /* not a BOF */ + { + *err = 4; + return; + } + if (BOFData[0] != 8) /* not a BIFF8 */ + { + *err = 5; + return; + } + + C2F(mtell) (fd, &cur_pos, err); + if (*err > 0) + { + goto Err2; + } + + /* loops on records till an EOF is found */ + while (1) + { + C2F(mseek) (fd, &cur_pos, "set", err); + if (*err > 0) + { + goto Err2; + } + /*Enregistrement de l'Opcode et de la Len du tag*/ + C2F(mgetnc) (fd, &Opcode, &one, typ_ushort, err); + if (*err > 0) + { + goto Err2; + } + C2F(mgetnc) (fd, &Len, &one, typ_ushort, err); + if (*err > 0) + { + goto Err2; + } + + switch (Opcode) + { + case 10: /*EOF*/ + cur_pos = cur_pos + 4 + Len; + return ; + case 133: /* Boundsheets */ + getBoundsheets(fd, Sheetnames, Abspos, nsheets, &cur_pos, err); + for (k = 0; k < *nsheets; k++) + { + (*Abspos)[k] += init_pos; + } + if (*err > 0) + { + return; + } + break; + case 252: /* SST= Shared String table*/ + getSST(fd, Len, BOFData[0], ns, sst, err); + if (*err > 0) + { + return; + } + cur_pos = cur_pos + 4 + Len; + break; + default: + cur_pos = cur_pos + 4 + Len; + } + } + +Err2: + *err = 4; /* read problem */ + return; + +} + +static double NumFromRk2(long rk) +{ + double num; + if (rk & 0x02) + { + /* int*/ + num = (double) (rk >> 2); + } + else + { + /* hi words of IEEE num*/ + *((int *)&num + 1) = rk & 0xfffffffc; + *((int *)&num) = 0; + } + if (rk & 0x01) + /* divide by 100*/ + { + num /= 100; + } + return num; +} + +static void getBOF(int *fd , int* Data, int *err) +{ + /* return Data a vector [BIFF Version DataType Identifier Year HistoryFlags LowestXlsVersion] + * works for BIFF2 to BIFF8 records */ + int BIFF; + short Version; + short DataType; + short Identifier = 0; + short Year = 0; + int HistoryFlags = 0; + int LowestXlsVersion = 0; + + unsigned short Opcode; + unsigned short Len; + int one = 1; + + C2F(mgetnc) (fd, (void*)&Opcode, &one, typ_ushort, err); + if (*err > 0) + { + return; + } + C2F(mgetnc) (fd, (void*)&Len, &one, typ_ushort, err); + if (*err > 0) + { + return; + } + + switch (Opcode) + { + case 2057: /*Begin of file, BOF for BIFF5 BIFF7 BIFF8 BIFF8X*/ + C2F(mgetnc) (fd, (void*)&Version, &one, typ_short, err); + if (*err > 0) + { + return; + } + C2F(mgetnc) (fd, (void*)&DataType, &one, typ_short, err); + if (*err > 0) + { + return; + } + C2F(mgetnc) (fd, (void*)&Identifier, &one, typ_short, err); + if (*err > 0) + { + return; + } + C2F(mgetnc) (fd, (void*)&Year, &one, typ_short, err); + if (*err > 0) + { + return; + } + if (Len == 16) + { + C2F(mgetnc) (fd, (void*)&HistoryFlags, &one, typ_int, err); + if (*err > 0) + { + return; + } + C2F(mgetnc) (fd, (void*)&LowestXlsVersion, &one, typ_int, err); + if (*err > 0) + { + return; + } + BIFF = 8; + if (Version != 1536) + { + return; + } + } + else + { + BIFF = 7; + } + break; + case 1033 : /*Interpr�tation du BIFF4 0409 H*/ + C2F(mgetnc) (fd, (void*)&Version, &one, typ_short, err); + if (*err > 0) + { + return; + } + C2F(mgetnc) (fd, (void*)&DataType, &one, typ_short, err); + if (*err > 0) + { + return; + } + BIFF = 4; + break; + case 521 : /*Interpr�tation du BIFF3 0209 H*/ + C2F(mgetnc) (fd, (void*)&Version, &one, typ_short, err); + if (*err > 0) + { + return; + } + C2F(mgetnc) (fd, (void*)&DataType, &one, typ_short, err); + if (*err > 0) + { + return; + } + BIFF = 3; + break; + case 9 : /*Interpr�tation du BIFF2 0009 H*/ + C2F(mgetnc) (fd, (void*)&Version, &one, typ_short, err); + if (*err > 0) + { + return; + } + C2F(mgetnc) (fd, (void*)&DataType, &one, typ_short, err); + if (*err > 0) + { + return; + } + BIFF = 2; + break; + default: + BIFF = -1; /* not a BOF record */ + Version = 0; + DataType = 0; + } + Data[0] = BIFF; + Data[1] = Version; + Data[2] = DataType; + Data[3] = Identifier; + Data[4] = Year; + Data[5] = HistoryFlags; + Data[6] = LowestXlsVersion; + +} + +static void getSST(int *fd, short Len, int BIFF, int *ns, char ***sst, int *err) +{ + int i = 0, one = 1; + /* SST data */ + int ntot = 0; /*total number of strings */ + int nm = 0;/*Number of following strings*/ + short count = 0; + + *ns = 0; + *sst = NULL; + + if (BIFF == 8) + { + /*Total number of strings in the workbook*/ + C2F(mgetnc) (fd, (void*)&ntot, &one, typ_int, err); + if (*err > 0) + { + goto ErrL; + } + C2F(mgetnc) (fd, (void*)&nm, &one, typ_int, err); + if (*err > 0) + { + goto ErrL; + } + *ns = nm; + count += 8; + if (nm != 0) + { + if ( (*sst = (char **)MALLOC(nm * sizeof(char*))) == NULL) + { + goto ErrL; + } + for (i = 0; i < nm; i++) + { + (*sst)[i] = NULL; + } + for (i = 0; i < nm; i++) /* LOOP ON STRINGS */ + { + *err = i; /*for debug*/ + getString(fd, &count, &Len, 1, &((*sst)[i]), err); + if (*err > 0) + { + goto ErrL; + } + /*printf("i=%d, %s\n",i,(*sst)[i]);*/ + } + } + } + return; +ErrL: + if (*sst != NULL) + { + for (i = 0; i < nm; i++) + if ( (*sst)[i] != NULL ) + { + FREE((*sst)[i]); + } + FREE(*sst); + } + + if (*err == 0) + { + *err = 3; /* malloc problem */ + } + else + { + *err = 4; /* read problem */ + } +} + +static void getString(int *fd, short *PosInRecord, short *RecordLen, int flag, char **str, int *err) +{ + short ln = 0; + short Opcode = 0;/* to store tag information */ + int BytesToBeRead = 0, one = 1, strindex = 0; + char OptionFlag = 0; + int sz = 0; /* for extended string data */ + short rt = 0;/* for rich string data */ + int UTFEncoding = 0, extendedString = 0, richString = 0; + int j = 0, l1 = 0; + + *str = (char *)NULL; + *err = 0; + ln = 0; + + /*check for continue tag */ + if (flag && (*PosInRecord == *RecordLen)) /* data limit encountered */ + { + /*check for continue tag */ + /*lecture de l'Opcode et de la RecordLen du tag*/ + C2F(mgetnc) (fd, &Opcode, &one, typ_ushort, err); + if ((*err > 0) || (Opcode != 60)) + { + goto ErrL; + } + C2F(mgetnc) (fd, RecordLen, &one, typ_ushort, err); + if (*err > 0) + { + goto ErrL; + } + *PosInRecord = 0; + } + + /* get the number of characters included in the string (number of bytes or number of couple of bytes) */ + if (flag) /* getString called by getSST */ + { + C2F(mgetnc) (fd, (void*)&ln, &one, typ_short, err); + if (*err > 0) + { + goto ErrL; + } + *PosInRecord += 2; + } + else /* getString called by getBoundsheets */ + { + C2F(mgetnc) (fd, (void*)&ln, &one, typ_char, err); + if (*err > 0) + { + goto ErrL; + } + *PosInRecord += 1; + } + + /*get the encoding options */ + C2F(mgetnc) (fd, (void*)&OptionFlag, &one, typ_char, err); + if (*err > 0) + { + goto ErrL; + } + *PosInRecord += 1; + + UTFEncoding = (OptionFlag & 0x01) == 1; + extendedString = (OptionFlag & 0x04) != 0; + richString = (OptionFlag & 0x08) != 0; + + if (richString) /*richString*/ + { + C2F(mgetnc) (fd, (void*)&rt, &one, typ_short, err); + *PosInRecord += 2; + if (*err > 0) + { + goto ErrL; + } + } + + if (extendedString) /* extendedString */ + { + C2F(mgetnc) (fd, (void*)&sz, &one, typ_int, err); + if (*err > 0) + { + goto ErrL; + } + *PosInRecord += 4; + } + + /* number of bytes to be read */ + BytesToBeRead = (UTFEncoding) ? ln * 2 : ln; + + + if ((*str = (char*) MALLOC((BytesToBeRead + 1) * sizeof(char))) == NULL) + { + goto ErrL; + } + /* read the bytes */ + + if (!flag || (*PosInRecord + BytesToBeRead <= *RecordLen)) + { + /* all bytes are in the same record */ + C2F(mgetnc) (fd, (void*)*str, &BytesToBeRead, typ_char, err); + if (*err > 0) + { + goto ErrL; + } + *PosInRecord += (short)BytesToBeRead; + } + else /* char stream contains at least one "continue" */ + { + int bytesRead = *RecordLen - *PosInRecord; /* number of bytes before continue */ + strindex = 0; /*current position in str*/ + /* read bytes before the "continue" */ + /* according to documentation bytesRead should be strictly positive */ + C2F(mgetnc) (fd, (void*)(*str + strindex), &bytesRead, typ_char, err); + if (*err > 0) + { + goto ErrL; + } + strindex += bytesRead; + *PosInRecord += (short)bytesRead; + while (BytesToBeRead - bytesRead > 0) + { + /*"continue" tag assumed, verify */ + C2F(mgetnc) (fd, &Opcode, &one, typ_ushort, err); + if ((*err > 0) || (Opcode != 60)) + { + goto ErrL; + } + C2F(mgetnc) (fd, RecordLen, &one, typ_ushort, err); + if (*err > 0) + { + goto ErrL; + } + *PosInRecord = 0; + /* encoding option may change !!!! */ + C2F(mgetnc) (fd, (void*)&OptionFlag, &one, typ_char, err); + if (*err > 0) + { + goto ErrL; + } + *PosInRecord += 1; + + if ((!UTFEncoding && (OptionFlag == 0)) || (UTFEncoding && (OptionFlag != 0))) + { + /*string encoding does not change */ + l1 = Min(BytesToBeRead - bytesRead, *RecordLen - *PosInRecord); + C2F(mgetnc) (fd, (void*)(*str + strindex), &l1, typ_char, err); + if (*err > 0) + { + goto ErrL; + } + bytesRead += l1; + strindex += l1; + *PosInRecord += (short)l1; + } + else if (UTFEncoding && (OptionFlag == 0)) + { + /* character encoding changes from twobytes to a single byte*/ + /* may this happen ???? */ + l1 = Min(BytesToBeRead - bytesRead, *RecordLen - *PosInRecord); + for (j = 0; j < l1; j++) + { + C2F(mgetnc) (fd, (void*)(*str + strindex), &one, typ_char, err); + if (*err > 0) + { + goto ErrL; + } + (*str)[strindex + 1] = '\0'; + strindex += 2; + *PosInRecord += 2; + UTFEncoding = 0; + } + } + else + { + /* character encoding changes from a single byte to two bytes */ + /* first, convert read characters to two bytes*/ + char *str1 = *str; + strindex = 0; + str = (char**) MALLOC((2 * BytesToBeRead + 1) * sizeof(char*)); + if (str == NULL) + { + goto ErrL; + } + for (j = 0; j < bytesRead; j++) + { + (*str)[strindex] = str1[j]; + (*str)[strindex + 1] = '\0'; + strindex += 2; + } + FREE(str1); + BytesToBeRead = BytesToBeRead * 2; + bytesRead = bytesRead * 2; + /* read following two bytes characters */ + l1 = Min((BytesToBeRead - bytesRead) * 2, *RecordLen - *PosInRecord); + C2F(mgetnc) (fd, (void*)(*str + strindex), &l1, typ_char, err); + if (*err > 0) + { + goto ErrL; + } + bytesRead += l1; + strindex += l1; + *PosInRecord += (short)l1; + UTFEncoding = 1; + } + + } + + } /*all character read */ + + /* For extended strings, skip over the extended string data*/ + /* may continuation records appear here? */ + l1 = 4 * rt; + if (richString) + { + double dl1 = (double)l1; + C2F(mseek) (fd, &dl1, "cur", err); + *PosInRecord += (short)l1; + } + if (extendedString) + { + double dsz = (double)sz; + C2F(mseek) (fd, &dsz, "cur", err); + *PosInRecord += (short)sz; + } + + /* add string terminaison */ + if (UTFEncoding) + { + /* Scilab currently do not support unicode, so we remove the second byte*/ + strindex = 0; + for (j = 0; j < BytesToBeRead; j += 2) + { + (*str)[strindex] = (*str)[j]; + strindex++; + } + BytesToBeRead = BytesToBeRead / 2; + } + (*str)[BytesToBeRead] = '\0'; + + + return; +ErrL: + if (*err == 0) + { + FREE(*str); + *err = 3; /* malloc problem */ + } + else + { + *err = 4; /* read problem */ + } +} + +static void getBoundsheets(int * fd, char ***Sheetnames, int** Abspos, int *nsheets, double *cur_pos, int *err) +{ + /* the global workbook contains a sequence of boudsheets this procedure reads all + * the sequence and returns a vector o sheetnames, a vector of absolute sheet positions*/ + int abspos; /* Absolute stream position of BoF*/ + char visibility, sheettype; /*Visiblity , Sheet type*/ + double pos; + unsigned short Opcode; + unsigned short Len; + int one = 1; + int ns, i; + + *Sheetnames = (char **)NULL; + *Abspos = (int *)NULL; + *err = 0; + + /* memorize the first boundsheet beginning */ + pos = *cur_pos; + /* Count number of boundsheets */ + ns = 0; + while (1) + { + C2F(mseek) (fd, cur_pos, "set", err); + if (*err > 0) + { + goto ErrL; + } + C2F(mgetnc) (fd, &Opcode, &one, typ_ushort, err); + if (*err > 0) + { + goto ErrL; + } + C2F(mgetnc) (fd, &Len, &one, typ_ushort, err); + if (*err > 0) + { + goto ErrL; + } + if (Opcode == 133) + { + C2F(mgetnc) (fd, (void*)&abspos, &one, typ_int, err); + if (*err > 0) + { + goto ErrL; + } + C2F(mgetnc) (fd, (void*)&visibility, &one, typ_char, err); + if (*err > 0) + { + goto ErrL; + } + C2F(mgetnc) (fd, (void*)&sheettype, &one, typ_char, err); + if (sheettype == 0) /* worksheet */ + { + ns++; + } + *cur_pos = *cur_pos + 4 + Len; + } + else + { + break; + } + + } + + *nsheets = ns; + /*alloc the Sheetnames ans Abspos arrays */ + if ( (*Sheetnames = (char **)MALLOC(ns * sizeof(char*))) == NULL) + { + goto ErrL; + } + if ( (*Abspos = (int *)MALLOC(ns * sizeof(int))) == NULL) + { + goto ErrL; + } + + /* rescan boundsheet sequence to get the data */ + *cur_pos = pos; + i = -1; + while (1) + { + C2F(mseek) (fd, cur_pos, "set", err); + if (*err > 0) + { + goto ErrL; + } + C2F(mgetnc) (fd, &Opcode, &one, typ_ushort, err); + C2F(mgetnc) (fd, &Len, &one, typ_ushort, err); + if (Opcode == 133) + { + C2F(mgetnc) (fd, (void*)&abspos, &one, typ_int, err); + if (*err > 0) + { + goto ErrL; + } + C2F(mgetnc) (fd, (void*)&visibility, &one, typ_char, err); + if (*err > 0) + { + goto ErrL; + } + C2F(mgetnc) (fd, (void*)&sheettype, &one, typ_char, err); + if (sheettype == 0) /* worksheet */ + { + short count = 0; + i++; + (*Abspos)[i] = abspos; + getString(fd, &count, (short *) &Len, 0, &((*Sheetnames)[i]), err); + if (*err > 0) + { + goto ErrL; + } + } + *cur_pos = *cur_pos + 4 + Len; + } + else + { + break; + } + + } + return; +ErrL: + if (*Sheetnames != NULL) + { + for (i = 0; i < ns; i++) + if ( (*Sheetnames)[i] != NULL ) + { + FREE((*Sheetnames)[i]); + } + FREE(*Sheetnames); + } + FREE(*Abspos); + if (*err == 0) + { + *err = 3; /* malloc problem */ + } + else + { + *err = 4; /* read problem */ + } +} + +/** + ** Bruno : Defined but not used... so what !!!!!!!!! + ** + static int get_oleheader(int *fd) + { + unsigned char MAGIC[8] = { 0xd0, 0xcf, 0x11, 0xe0, 0xa1, 0xb1, 0x1a, 0xe1 }; + unsigned char header[512]; + int c,ierr; + + C2F(mgetnc) (fd, (void *)header,(c=512,&c), typ_uchar, &ierr); + if (ierr !=0) return 1; + if (memcmp (header, MAGIC, sizeof (MAGIC)) != 0) return 1; + return 0; + } +**/ diff --git a/modules/spreadsheet/src/c/xls.h b/modules/spreadsheet/src/c/xls.h new file mode 100755 index 000000000..f7e6a08e2 --- /dev/null +++ b/modules/spreadsheet/src/c/xls.h @@ -0,0 +1,30 @@ + +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2007-2008 - INRIA + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +#ifndef __XLS_H__ +#define __XLS_H__ + +/** +* xls_read +* +*/ +void xls_read(int *fd, int *cur_pos, double **data, int **chainesind, int *N, int *M, int *err); + +/** +* xls_open +* +*/ +void xls_open(int *err, int *fd, char ***sst, int *ns, char ***Sheetnames, int** Abspos, int *nsheets); + +#endif /* __XLS_H__ */ +/*--------------------------------------------------------------------------*/ diff --git a/modules/spreadsheet/src/nospreadsheet/nospreadsheet.c b/modules/spreadsheet/src/nospreadsheet/nospreadsheet.c new file mode 100755 index 000000000..8073805b1 --- /dev/null +++ b/modules/spreadsheet/src/nospreadsheet/nospreadsheet.c @@ -0,0 +1,23 @@ + +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2007-2008 - INRIA - Allan CORNET <allan.cornet@inria.fr> + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +#include "gw_spreadsheet.h" +#include "Scierror.h" +#include "localization.h" +/*--------------------------------------------------------------------------*/ +int gw_spreadsheet(void) +{ + Scierror(999, _("Scilab spreadsheet module not installed.\n")); + return 0; +} +/*--------------------------------------------------------------------------*/ diff --git a/modules/spreadsheet/src/nospreadsheet/nospreadsheet.rc b/modules/spreadsheet/src/nospreadsheet/nospreadsheet.rc new file mode 100755 index 000000000..d7ceef095 --- /dev/null +++ b/modules/spreadsheet/src/nospreadsheet/nospreadsheet.rc @@ -0,0 +1,97 @@ +// Microsoft Visual C++ generated resource script. +// + + +#define APSTUDIO_READONLY_SYMBOLS +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 2 resource. +// +//#include "afxres.h" +#define APSTUDIO_HIDDEN_SYMBOLS +#include "windows.h" +///////////////////////////////////////////////////////////////////////////// +#undef APSTUDIO_READONLY_SYMBOLS + +///////////////////////////////////////////////////////////////////////////// +// French (France) resources + +#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_FRA) +#ifdef _WIN32 +LANGUAGE LANG_FRENCH, SUBLANG_FRENCH +#pragma code_page(1252) +#endif //_WIN32 + +#ifdef APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// TEXTINCLUDE +// + +1 TEXTINCLUDE +BEGIN + "resource.h\0" +END + + +3 TEXTINCLUDE +BEGIN + "\r\n" + "\0" +END + +#endif // APSTUDIO_INVOKED + + +///////////////////////////////////////////////////////////////////////////// +// +// Version +// + +VS_VERSION_INFO VERSIONINFO + FILEVERSION 5,5,2,0 + PRODUCTVERSION 5,5,2,0 + FILEFLAGSMASK 0x17L +#ifdef _DEBUG + FILEFLAGS 0x1L +#else + FILEFLAGS 0x0L +#endif + FILEOS 0x4L + FILETYPE 0x0L + FILESUBTYPE 0x0L +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "040c04b0" + BEGIN + VALUE "FileDescription", "nospreadsheet module" + VALUE "FileVersion", "5, 5, 2, 0" + VALUE "InternalName", "nospreadsheet module" + VALUE "LegalCopyright", "Copyright (C) 2017" + VALUE "OriginalFilename", "nospreadsheet.dll" + VALUE "ProductName", " nospreadsheet" + VALUE "ProductVersion", "5, 5, 2, 0" + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x40c, 1200 + END +END + +#endif // French (France) resources +///////////////////////////////////////////////////////////////////////////// + + + +#ifndef APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 3 resource. +// + + +///////////////////////////////////////////////////////////////////////////// +#endif // not APSTUDIO_INVOKED + diff --git a/modules/spreadsheet/src/nospreadsheet/nospreadsheet.vcxproj b/modules/spreadsheet/src/nospreadsheet/nospreadsheet.vcxproj new file mode 100755 index 000000000..8345f23b7 --- /dev/null +++ b/modules/spreadsheet/src/nospreadsheet/nospreadsheet.vcxproj @@ -0,0 +1,191 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup Label="ProjectConfigurations"> + <ProjectConfiguration Include="Debug|Win32"> + <Configuration>Debug</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Debug|x64"> + <Configuration>Debug</Configuration> + <Platform>x64</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|Win32"> + <Configuration>Release</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|x64"> + <Configuration>Release</Configuration> + <Platform>x64</Platform> + </ProjectConfiguration> + </ItemGroup> + <PropertyGroup Label="Globals"> + <ProjectGuid>{AC43B2A6-601A-4E15-97DF-2B296FFAD4F9}</ProjectGuid> + <RootNamespace>nospreadsheet</RootNamespace> + <Keyword>Win32Proj</Keyword> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> + <ConfigurationType>DynamicLibrary</ConfigurationType> + <CharacterSet>MultiByte</CharacterSet> + <WholeProgramOptimization>false</WholeProgramOptimization> + <PlatformToolset>v110</PlatformToolset> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> + <ConfigurationType>DynamicLibrary</ConfigurationType> + <CharacterSet>MultiByte</CharacterSet> + <PlatformToolset>v110</PlatformToolset> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration"> + <ConfigurationType>DynamicLibrary</ConfigurationType> + <CharacterSet>MultiByte</CharacterSet> + <WholeProgramOptimization>false</WholeProgramOptimization> + <PlatformToolset>v110</PlatformToolset> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration"> + <ConfigurationType>DynamicLibrary</ConfigurationType> + <CharacterSet>MultiByte</CharacterSet> + <PlatformToolset>v110</PlatformToolset> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> + <ImportGroup Label="ExtensionSettings"> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <PropertyGroup Label="UserMacros" /> + <PropertyGroup> + <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)bin\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(ProjectDir)$(Configuration)\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</LinkIncremental> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(SolutionDir)bin\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(ProjectDir)$(Configuration)\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</LinkIncremental> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)bin\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(ProjectDir)$(Configuration)\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)bin\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(ProjectDir)$(Configuration)\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental> + </PropertyGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> + <ClCompile> + <Optimization>Disabled</Optimization> + <AdditionalIncludeDirectories>../../../core/includes;../../../output_stream/includes;../../../localization/includes;../../../../libs/intl;../../../api_scilab/includes;../../includes;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;FORDLL;_DEBUG;_WINDOWS;_USRDLL;SPREADSHEET_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> + <WarningLevel>Level3</WarningLevel> + </ClCompile> + <Link> + <AdditionalDependencies>../../../../bin/libintl.lib;%(AdditionalDependencies)</AdditionalDependencies> + <OutputFile>$(SolutionDir)bin\$(ProjectName).dll</OutputFile> + <GenerateDebugInformation>true</GenerateDebugInformation> + <SubSystem>Windows</SubSystem> + <ImportLibrary>$(SolutionDir)bin\$(ProjectName).lib</ImportLibrary> + <TargetMachine>MachineX86</TargetMachine> + <CLRUnmanagedCodeCheck>true</CLRUnmanagedCodeCheck> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + </Link> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> + <Midl> + <TargetEnvironment>X64</TargetEnvironment> + </Midl> + <ClCompile> + <Optimization>Disabled</Optimization> + <AdditionalIncludeDirectories>../../../core/includes;../../../output_stream/includes;../../../localization/includes;../../../../libs/intl;../../../api_scilab/includes;../../includes;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;FORDLL;_DEBUG;_WINDOWS;_USRDLL;SPREADSHEET_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> + <WarningLevel>Level3</WarningLevel> + </ClCompile> + <Link> + <AdditionalDependencies>../../../../bin/libintl.lib;%(AdditionalDependencies)</AdditionalDependencies> + <OutputFile>$(SolutionDir)bin\$(ProjectName).dll</OutputFile> + <GenerateDebugInformation>true</GenerateDebugInformation> + <SubSystem>Windows</SubSystem> + <ImportLibrary>$(SolutionDir)bin\$(ProjectName).lib</ImportLibrary> + <TargetMachine>MachineX64</TargetMachine> + <CLRUnmanagedCodeCheck>true</CLRUnmanagedCodeCheck> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + </Link> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> + <ClCompile> + <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed> + <WholeProgramOptimization>false</WholeProgramOptimization> + <AdditionalIncludeDirectories>../../../core/includes;../../../output_stream/includes;../../../localization/includes;../../../../libs/intl;../../../api_scilab/includes;../../includes;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;FORDLL;NDEBUG;_WINDOWS;_USRDLL;SPREADSHEET_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <StringPooling>true</StringPooling> + <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> + <WarningLevel>Level3</WarningLevel> + <MultiProcessorCompilation>true</MultiProcessorCompilation> + </ClCompile> + <Link> + <AdditionalDependencies>../../../../bin/libintl.lib;%(AdditionalDependencies)</AdditionalDependencies> + <OutputFile>$(SolutionDir)bin\$(ProjectName).dll</OutputFile> + <GenerateDebugInformation>false</GenerateDebugInformation> + <SubSystem>Windows</SubSystem> + <OptimizeReferences>true</OptimizeReferences> + <EnableCOMDATFolding>true</EnableCOMDATFolding> + <ImportLibrary>$(SolutionDir)bin\$(ProjectName).lib</ImportLibrary> + <TargetMachine>MachineX86</TargetMachine> + <CLRUnmanagedCodeCheck>true</CLRUnmanagedCodeCheck> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + </Link> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> + <Midl> + <TargetEnvironment>X64</TargetEnvironment> + </Midl> + <ClCompile> + <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed> + <WholeProgramOptimization>false</WholeProgramOptimization> + <AdditionalIncludeDirectories>../../../core/includes;../../../output_stream/includes;../../../localization/includes;../../../../libs/intl;../../../api_scilab/includes;../../includes;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;FORDLL;NDEBUG;_WINDOWS;_USRDLL;SPREADSHEET_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <StringPooling>true</StringPooling> + <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> + <WarningLevel>Level3</WarningLevel> + <MultiProcessorCompilation>true</MultiProcessorCompilation> + </ClCompile> + <Link> + <AdditionalDependencies>../../../../bin/libintl.lib;%(AdditionalDependencies)</AdditionalDependencies> + <OutputFile>$(SolutionDir)bin\$(ProjectName).dll</OutputFile> + <GenerateDebugInformation>false</GenerateDebugInformation> + <SubSystem>Windows</SubSystem> + <OptimizeReferences>true</OptimizeReferences> + <EnableCOMDATFolding>true</EnableCOMDATFolding> + <ImportLibrary>$(SolutionDir)bin\$(ProjectName).lib</ImportLibrary> + <TargetMachine>MachineX64</TargetMachine> + <CLRUnmanagedCodeCheck>true</CLRUnmanagedCodeCheck> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + </Link> + </ItemDefinitionGroup> + <ItemGroup> + <ClCompile Include="nospreadsheet.c" /> + </ItemGroup> + <ItemGroup> + <ResourceCompile Include="nospreadsheet.rc" /> + </ItemGroup> + <ItemGroup> + <ProjectReference Include="..\..\..\localization\src\localization.vcxproj"> + <Project>{ecffeb0c-1eda-45ee-9a10-b18143852e17}</Project> + <ReferenceOutputAssembly>false</ReferenceOutputAssembly> + </ProjectReference> + <ProjectReference Include="..\..\..\output_stream\src\c\output_stream.vcxproj"> + <Project>{a5911cd7-f8e8-440c-a23e-4843a0636f3a}</Project> + <ReferenceOutputAssembly>false</ReferenceOutputAssembly> + </ProjectReference> + </ItemGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> + <ImportGroup Label="ExtensionTargets"> + </ImportGroup> +</Project>
\ No newline at end of file diff --git a/modules/spreadsheet/src/nospreadsheet/nospreadsheet.vcxproj.filters b/modules/spreadsheet/src/nospreadsheet/nospreadsheet.vcxproj.filters new file mode 100755 index 000000000..5dc6c2726 --- /dev/null +++ b/modules/spreadsheet/src/nospreadsheet/nospreadsheet.vcxproj.filters @@ -0,0 +1,30 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup> + <Filter Include="Source Files"> + <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier> + <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions> + </Filter> + <Filter Include="Header Files"> + <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier> + <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions> + </Filter> + <Filter Include="Resource Files"> + <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier> + <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions> + </Filter> + <Filter Include="Libraries Dependencies"> + <UniqueIdentifier>{6f778267-99a5-4901-b33b-520286c5ae08}</UniqueIdentifier> + </Filter> + </ItemGroup> + <ItemGroup> + <ClCompile Include="nospreadsheet.c"> + <Filter>Source Files</Filter> + </ClCompile> + </ItemGroup> + <ItemGroup> + <ResourceCompile Include="nospreadsheet.rc"> + <Filter>Resource Files</Filter> + </ResourceCompile> + </ItemGroup> +</Project>
\ No newline at end of file diff --git a/modules/spreadsheet/tests/nonreg_tests/bug_1.csv b/modules/spreadsheet/tests/nonreg_tests/bug_1.csv new file mode 100755 index 000000000..d31719db2 --- /dev/null +++ b/modules/spreadsheet/tests/nonreg_tests/bug_1.csv @@ -0,0 +1,7534 @@ +Time,ecart +0,0 +4e-006,0 +8e-006,0 +1e-005,0 +1.2e-005,0 +1.6e-005,0 +2e-005,0 +2.4e-005,0 +2.8e-005,0 +3e-005,0 +3.2e-005,0 +3.6e-005,0 +4e-005,0 +4.4e-005,0 +4.8e-005,0 +5e-005,0 +5.2e-005,0 +5.6e-005,0 +6e-005,0 +6.4e-005,0 +6.8e-005,0 +7e-005,0 +7.2e-005,0 +7.6e-005,0 +8e-005,0 +8.4e-005,0 +8.8e-005,0 +9e-005,0 +9.2e-005,0 +9.6e-005,0 +0.0001,0 +0.000104,0 +0.000108,0 +0.00011,0 +0.000112,0 +0.000116,0 +0.00012,0 +0.000124,0 +0.000128,0 +0.00013,0 +0.000132,0 +0.000136,0 +0.00014,0 +0.000144,0 +0.000148,0 +0.00015,0 +0.000152,0 +0.000156,0 +0.00016,0 +0.000164,0 +0.000168,0 +0.00017,0 +0.000172,0 +0.000176,0 +0.00018,0 +0.000184,0 +0.000188,0 +0.00019,0 +0.000192,0 +0.000196,0 +0.0002,0 +0.000204,0 +0.000208,0 +0.00021,0 +0.000212,0 +0.000216,0 +0.00022,0 +0.000224,0 +0.000228,0 +0.00023,0 +0.000232,0 +0.000236,0 +0.00024,0 +0.000244,0 +0.000248,0 +0.00025,0 +0.000252,0 +0.000256,0 +0.00026,0 +0.000264,0 +0.000268,0 +0.00027,0 +0.000272,0 +0.000276,0 +0.00028,0 +0.000284,0 +0.000288,0 +0.00029,0 +0.000292,0 +0.000296,0 +0.0003,0 +0.000304,0 +0.000308,0 +0.00031,0 +0.000312,0 +0.000316,0 +0.00032,0 +0.000324,0 +0.000328,0 +0.00033,0 +0.000332,0 +0.000336,0 +0.00034,0 +0.000344,0 +0.000348,0 +0.00035,0 +0.000352,0 +0.000356,0 +0.00036,0 +0.000364,0 +0.000368,0 +0.00037,0 +0.000372,0 +0.000376,0 +0.00038,0 +0.000384,0 +0.000388,0 +0.00039,0 +0.000392,0 +0.000396,0 +0.0004,0 +0.000404,0 +0.000408,0 +0.00041,0 +0.000412,0 +0.000416,0 +0.00042,0 +0.000424,0 +0.000428,0 +0.00043,0 +0.000432,0 +0.000436,0 +0.00044,0 +0.000444,0 +0.000448,0 +0.00045,0 +0.000452,0 +0.000456,0 +0.00046,0 +0.000464,0 +0.000468,0 +0.00047,0 +0.000472,0 +0.000476,0 +0.00048,0 +0.000484,0 +0.000488,0 +0.00049,0 +0.000492,0 +0.000496,0 +0.0005,0 +0.000504,0 +0.000508,0 +0.00051,0 +0.000512,0 +0.000516,0 +0.00052,0 +0.000524,0 +0.000528,0 +0.00053,0 +0.000532,0 +0.000536,0 +0.00054,0 +0.000544,0 +0.000548,0 +0.00055,0 +0.000552,0 +0.000556,0 +0.00056,0 +0.000564,0 +0.000568,0 +0.00057,0 +0.000572,0 +0.000576,0 +0.00058,0 +0.000584,0 +0.000588,0 +0.00059,0 +0.000592,0 +0.000596,0 +0.0006,0 +0.000604,0 +0.000608,0 +0.00061,0 +0.000612,0 +0.000616,0 +0.00062,0 +0.000624,0 +0.000628,0 +0.00063,0 +0.000632,0 +0.000636,0 +0.00064,0 +0.000644,0 +0.000648,0 +0.00065,0 +0.000652,0 +0.000656,0 +0.00066,0 +0.000664,0 +0.000668,0 +0.00067,0 +0.000672,0 +0.000676,0 +0.00068,0 +0.000684,0 +0.000688,0 +0.00069,0 +0.000692,0 +0.000696,0 +0.0007,0 +0.000704,0 +0.000708,0 +0.00071,0 +0.000712,0 +0.000716,0 +0.00072,0 +0.000724,0 +0.000728,0 +0.00073,0 +0.000732,0 +0.000736,0 +0.00074,0 +0.000744,0 +0.000748,0 +0.00075,0 +0.000752,0 +0.000756,0 +0.00076,0 +0.000764,0 +0.000768,0 +0.00077,0 +0.000772,0 +0.000776,0 +0.00078,0 +0.000784,0 +0.000788,0 +0.00079,0 +0.000792,0 +0.000796,0 +0.0008,0 +0.000804,0 +0.000808,0 +0.00081,0 +0.000812,0 +0.000816,0 +0.00082,0 +0.000824,0 +0.000828,0 +0.00083,0 +0.000832,0 +0.000836,0 +0.00084,0 +0.000844,0 +0.000848,0 +0.00085,0 +0.000852,0 +0.000856,0 +0.00086,0 +0.000864,0 +0.000868,0 +0.00087,0 +0.000872,0 +0.000876,0 +0.00088,0 +0.000884,0 +0.000888,0 +0.00089,0 +0.000892,0 +0.000896,0 +0.0009,0 +0.000904,0 +0.000908,0 +0.00091,0 +0.000912,0 +0.000916,0 +0.00092,0 +0.000924,0 +0.000928,0 +0.00093,0 +0.000932,0 +0.000936,0 +0.00094,0 +0.000944,0 +0.000948,0 +0.00095,0 +0.000952,0 +0.000956,0 +0.00096,0 +0.000964,0 +0.000968,0 +0.00097,0 +0.000972,0 +0.000976,0 +0.00098,0 +0.000984,0 +0.000988,0 +0.00099,0 +0.000992,0 +0.000996,0 +0.001,0 +0.001004,0 +0.001008,0 +0.00101,0 +0.001012,0 +0.001016,0 +0.00102,0 +0.001024,0 +0.001028,0 +0.00103,0 +0.001032,0 +0.001036,0 +0.00104,0 +0.001044,0 +0.001048,0 +0.00105,0 +0.001052,0 +0.001056,0 +0.00106,0 +0.001064,0 +0.001068,0 +0.00107,0 +0.001072,0 +0.001076,0 +0.00108,0 +0.001084,0 +0.001088,0 +0.00109,0 +0.001092,0 +0.001096,0 +0.0011,0 +0.001104,0 +0.001108,0 +0.00111,0 +0.001112,0 +0.001116,0 +0.00112,0 +0.001124,0 +0.001128,0 +0.00113,0 +0.001132,0 +0.001136,0 +0.00114,0 +0.001144,0 +0.001148,0 +0.00115,0 +0.001152,0 +0.001156,0 +0.00116,0 +0.001164,0 +0.001168,0 +0.00117,0 +0.001172,0 +0.001176,0 +0.00118,0 +0.001184,0 +0.001188,0 +0.00119,0 +0.001192,0 +0.001196,0 +0.0012,0 +0.001204,0 +0.001208,0 +0.00121,0 +0.001212,0 +0.001216,0 +0.00122,0 +0.001224,0 +0.001228,0 +0.00123,0 +0.001232,0 +0.001236,0 +0.00124,-5.24046e-009 +0.001244,-3.77543e-008 +0.001248,-9.00259e-008 +0.001248,-9.00259e-008 +0.00125,-1.19968e-007 +0.001252,-1.53341e-007 +0.001256,-2.32353e-007 +0.00126,-3.18576e-007 +0.001264,-4.21249e-007 +0.001264,-4.21249e-007 +0.001268,-5.26638e-007 +0.00127,-5.75201e-007 +0.001272,-6.22298e-007 +0.001276,-7.19383e-007 +0.001276,-7.19383e-007 +0.00128,-8.16854e-007 +0.00128,-8.16854e-007 +0.001284,-9.29663e-007 +0.001288,-1.04763e-006 +0.00129,-1.10634e-006 +0.001292,-1.16692e-006 +0.001296,-1.29934e-006 +0.001296,-1.29934e-006 +0.0013,-1.44404e-006 +0.001304,-1.60974e-006 +0.001308,-1.78533e-006 +0.00131,-1.87295e-006 +0.001312,-1.96114e-006 +0.001316,-2.14207e-006 +0.00132,-2.32296e-006 +0.001324,-2.50764e-006 +0.001328,-2.68452e-006 +0.00133,-2.76471e-006 +0.001332,-2.83991e-006 +0.001332,-2.83991e-006 +0.001336,-2.97768e-006 +0.00134,-3.08624e-006 +0.001344,-3.16731e-006 +0.001348,-3.20986e-006 +0.00135,-3.21258e-006 +0.001352,-3.20334e-006 +0.001352,-3.20334e-006 +0.001356,-3.16339e-006 +0.00136,-3.12057e-006 +0.001364,-3.10366e-006 +0.001368,-3.10755e-006 +0.00137,-3.11201e-006 +0.001372,-3.11686e-006 +0.001376,-3.12434e-006 +0.00138,-3.11717e-006 +0.001384,-3.08879e-006 +0.001388,-3.04049e-006 +0.00139,-3.01039e-006 +0.001392,-2.97824e-006 +0.001396,-2.91282e-006 +0.0014,-2.84829e-006 +0.0014,-2.84829e-006 +0.001404,-2.78783e-006 +0.001404,-2.78783e-006 +0.001408,-2.72671e-006 +0.001408,-2.72671e-006 +0.00141,-2.69378e-006 +0.001412,-2.65896e-006 +0.001416,-2.58261e-006 +0.00142,-2.49011e-006 +0.001424,-2.37841e-006 +0.001428,-2.24483e-006 +0.001428,-2.24483e-006 +0.00143,-2.16996e-006 +0.001432,-2.08952e-006 +0.001432,-2.08952e-006 +0.001436,-1.91115e-006 +0.00144,-1.7087e-006 +0.001444,-1.48196e-006 +0.001448,-1.23087e-006 +0.00145,-1.09561e-006 +0.001452,-9.5444e-007 +0.001456,-6.57226e-007 +0.00146,-3.41979e-007 +0.001464,-9.0609e-009 +0.001464,-9.0609e-009 +0.001468,3.38096e-007 +0.00147,5.1568e-007 +0.001472,6.95625e-007 +0.001476,1.06152e-006 +0.00148,1.43113e-006 +0.001484,1.79947e-006 +0.001488,2.16446e-006 +0.00149,2.34527e-006 +0.001492,2.52471e-006 +0.001496,2.87806e-006 +0.0015,3.22126e-006 +0.0015,3.22126e-006 +0.001504,3.55658e-006 +0.001508,3.87763e-006 +0.00151,4.03188e-006 +0.001512,4.18271e-006 +0.001516,4.475e-006 +0.00152,4.75031e-006 +0.001524,5.01354e-006 +0.001528,5.26068e-006 +0.001528,5.26068e-006 +0.00153,5.3764e-006 +0.001532,5.48795e-006 +0.001536,5.70304e-006 +0.00154,5.90542e-006 +0.001544,6.10096e-006 +0.001548,6.28054e-006 +0.00155,6.36144e-006 +0.001552,6.43756e-006 +0.001556,6.57904e-006 +0.00156,6.69959e-006 +0.00156,6.69959e-006 +0.001564,6.80473e-006 +0.001568,6.88582e-006 +0.00157,6.91373e-006 +0.001572,6.93374e-006 +0.001572,6.93374e-006 +0.001576,6.95256e-006 +0.00158,6.93735e-006 +0.00158,6.93735e-006 +0.001584,6.914e-006 +0.001588,6.89883e-006 +0.00159,6.89516e-006 +0.001592,6.89532e-006 +0.001596,6.90778e-006 +0.0016,6.92411e-006 +0.001604,6.94619e-006 +0.001608,6.9546e-006 +0.00161,6.94762e-006 +0.001612,6.9352e-006 +0.001616,6.90756e-006 +0.00162,6.8838e-006 +0.00162,6.8838e-006 +0.001624,6.88052e-006 +0.001624,6.88052e-006 +0.001628,6.87904e-006 +0.001628,6.87904e-006 +0.00163,6.87351e-006 +0.001632,6.86583e-006 +0.001636,6.84875e-006 +0.00164,6.8276e-006 +0.001644,6.81676e-006 +0.001648,6.80076e-006 +0.00165,6.78655e-006 +0.001652,6.77049e-006 +0.001652,6.77049e-006 +0.001656,6.74289e-006 +0.001656,6.74289e-006 +0.00166,6.70783e-006 +0.00166,6.70783e-006 +0.001664,6.6303e-006 +0.001668,6.51412e-006 +0.00167,6.44408e-006 +0.001672,6.36364e-006 +0.001672,6.36364e-006 +0.001676,6.16373e-006 +0.00168,5.91331e-006 +0.001684,5.59433e-006 +0.001688,5.2117e-006 +0.00169,4.99913e-006 +0.001692,4.76997e-006 +0.001692,4.76997e-006 +0.001696,4.25184e-006 +0.0017,3.65336e-006 +0.001704,2.95553e-006 +0.001704,2.95553e-006 +0.001708,2.16438e-006 +0.001708,2.16438e-006 +0.00171,1.73739e-006 +0.001712,1.28783e-006 +0.001712,1.28783e-006 +0.001716,3.14269e-007 +0.00172,-7.5147e-007 +0.001724,-1.91414e-006 +0.001728,-3.158e-006 +0.001728,-3.158e-006 +0.00173,-3.80476e-006 +0.001732,-4.46806e-006 +0.001732,-4.46806e-006 +0.001736,-5.84475e-006 +0.00174,-7.27495e-006 +0.00174,-7.27495e-006 +0.001744,-8.75202e-006 +0.001748,-1.0252e-005 +0.001748,-1.0252e-005 +0.00175,-1.10035e-005 +0.001752,-1.17544e-005 +0.001752,-1.17544e-005 +0.001756,-1.32484e-005 +0.00176,-1.47141e-005 +0.00176,-1.47141e-005 +0.001764,-1.61394e-005 +0.001764,-1.61394e-005 +0.001768,-1.7501e-005 +0.001768,-1.7501e-005 +0.00177,-1.81501e-005 +0.001772,-1.87763e-005 +0.001776,-1.9955e-005 +0.00178,-2.10186e-005 +0.001784,-2.19601e-005 +0.001788,-2.27628e-005 +0.001788,-2.27628e-005 +0.00179,-2.3106e-005 +0.001792,-2.34094e-005 +0.001796,-2.38968e-005 +0.0018,-2.4218e-005 +0.001804,-2.43739e-005 +0.001808,-2.43637e-005 +0.001808,-2.43637e-005 +0.00181,-2.43055e-005 +0.001812,-2.42299e-005 +0.001816,-2.40762e-005 +0.00182,-2.39651e-005 +0.001824,-2.3923e-005 +0.001824,-2.3923e-005 +0.001828,-2.3947e-005 +0.00183,-2.39764e-005 +0.001832,-2.40119e-005 +0.001832,-2.40119e-005 +0.001836,-2.40814e-005 +0.00184,-2.41161e-005 +0.001844,-2.40939e-005 +0.001848,-2.40124e-005 +0.00185,-2.39532e-005 +0.001852,-2.38845e-005 +0.001852,-2.38845e-005 +0.001856,-2.37281e-005 +0.00186,-2.35583e-005 +0.001864,-2.33848e-005 +0.001864,-2.33848e-005 +0.001868,-2.32119e-005 +0.001868,-2.32119e-005 +0.00187,-2.3127e-005 +0.001872,-2.30433e-005 +0.001876,-2.288e-005 +0.00188,-2.27245e-005 +0.001884,-2.25781e-005 +0.001888,-2.24446e-005 +0.001888,-2.24446e-005 +0.00189,-2.23843e-005 +0.001892,-2.23282e-005 +0.001892,-2.23282e-005 +0.001896,-2.22294e-005 +0.0019,-2.21539e-005 +0.001904,-2.21002e-005 +0.001904,-2.21002e-005 +0.001908,-2.20728e-005 +0.00191,-2.20699e-005 +0.001912,-2.20736e-005 +0.001916,-2.20941e-005 +0.00192,-2.21169e-005 +0.001924,-2.21199e-005 +0.001928,-2.2108e-005 +0.00193,-2.20996e-005 +0.001932,-2.2089e-005 +0.001936,-2.20597e-005 +0.00194,-2.20273e-005 +0.001944,-2.19872e-005 +0.001948,-2.19505e-005 +0.00195,-2.19368e-005 +0.001952,-2.19249e-005 +0.001956,-2.19022e-005 +0.00196,-2.18852e-005 +0.00196,-2.18852e-005 +0.001964,-2.18644e-005 +0.001968,-2.18462e-005 +0.00197,-2.18397e-005 +0.001972,-2.18326e-005 +0.001976,-2.18091e-005 +0.00198,-2.17737e-005 +0.00198,-2.17737e-005 +0.001984,-2.17118e-005 +0.001984,-2.17118e-005 +0.001988,-2.16324e-005 +0.00199,-2.15883e-005 +0.001992,-2.15397e-005 +0.001996,-2.14265e-005 +0.001996,-2.14265e-005 +0.002,-2.12985e-005 +0.002004,-2.11471e-005 +0.002004,-2.11471e-005 +0.002008,-2.09862e-005 +0.00201,-2.0907e-005 +0.002012,-2.08279e-005 +0.002016,-2.06657e-005 +0.00202,-2.05071e-005 +0.002024,-2.03492e-005 +0.002028,-2.02132e-005 +0.00203,-2.0159e-005 +0.002032,-2.01139e-005 +0.002036,-2.00504e-005 +0.00204,-2.00324e-005 +0.002044,-2.00531e-005 +0.002048,-2.01097e-005 +0.00205,-2.01434e-005 +0.002052,-2.01728e-005 +0.002056,-2.02014e-005 +0.002056,-2.02014e-005 +0.00206,-2.02053e-005 +0.00206,-2.02053e-005 +0.002064,-2.02325e-005 +0.002064,-2.02325e-005 +0.002068,-2.0298e-005 +0.002068,-2.0298e-005 +0.00207,-2.03458e-005 +0.002072,-2.04063e-005 +0.002076,-2.0573e-005 +0.002076,-2.0573e-005 +0.00208,-2.08028e-005 +0.00208,-2.08028e-005 +0.002084,-2.11114e-005 +0.002088,-2.14945e-005 +0.00209,-2.17127e-005 +0.002092,-2.19515e-005 +0.002096,-2.24998e-005 +0.0021,-2.31443e-005 +0.002104,-2.3905e-005 +0.002108,-2.47761e-005 +0.00211,-2.52491e-005 +0.002112,-2.57478e-005 +0.002116,-2.68271e-005 +0.002116,-2.68271e-005 +0.00212,-2.80084e-005 +0.00212,-2.80084e-005 +0.002124,-2.92946e-005 +0.002128,-3.06618e-005 +0.002128,-3.06618e-005 +0.00213,-3.13679e-005 +0.002132,-3.20878e-005 +0.002136,-3.35666e-005 +0.00214,-3.5078e-005 +0.002144,-3.66092e-005 +0.002148,-3.81297e-005 +0.00215,-3.88765e-005 +0.002152,-3.96122e-005 +0.002156,-4.10448e-005 +0.00216,-4.24068e-005 +0.002164,-4.36865e-005 +0.002164,-4.36865e-005 +0.002168,-4.48622e-005 +0.00217,-4.54046e-005 +0.002172,-4.59154e-005 +0.002176,-4.68415e-005 +0.00218,-4.76287e-005 +0.00218,-4.76287e-005 +0.002184,-4.8279e-005 +0.002188,-4.87852e-005 +0.002188,-4.87852e-005 +0.00219,-4.89813e-005 +0.002192,-4.91402e-005 +0.002196,-4.93519e-005 +0.0022,-4.94249e-005 +0.002204,-4.9377e-005 +0.002208,-4.92701e-005 +0.00221,-4.92226e-005 +0.002212,-4.91895e-005 +0.002216,-4.91801e-005 +0.002216,-4.91801e-005 +0.00222,-4.92444e-005 +0.002224,-4.9364e-005 +0.002228,-4.95057e-005 +0.00223,-4.95742e-005 +0.002232,-4.96369e-005 +0.002232,-4.96369e-005 +0.002236,-4.97339e-005 +0.00224,-4.97724e-005 +0.002244,-4.97403e-005 +0.002248,-4.96517e-005 +0.002248,-4.96517e-005 +0.00225,-4.95967e-005 +0.002252,-4.954e-005 +0.002256,-4.94319e-005 +0.00226,-4.93389e-005 +0.002264,-4.92653e-005 +0.002264,-4.92653e-005 +0.002268,-4.92097e-005 +0.00227,-4.91872e-005 +0.002272,-4.91668e-005 +0.002276,-4.9128e-005 +0.00228,-4.90883e-005 +0.002284,-4.90378e-005 +0.002288,-4.8973e-005 +0.00229,-4.89352e-005 +0.002292,-4.88933e-005 +0.002292,-4.88933e-005 +0.002296,-4.87959e-005 +0.0023,-4.86836e-005 +0.002304,-4.85581e-005 +0.002304,-4.85581e-005 +0.002308,-4.84273e-005 +0.00231,-4.83627e-005 +0.002312,-4.82986e-005 +0.002316,-4.81715e-005 +0.002316,-4.81715e-005 +0.00232,-4.80538e-005 +0.002324,-4.7945e-005 +0.002328,-4.78532e-005 +0.00233,-4.78166e-005 +0.002332,-4.77854e-005 +0.002336,-4.77356e-005 +0.00234,-4.77051e-005 +0.002344,-4.7687e-005 +0.002348,-4.76879e-005 +0.00235,-4.76963e-005 +0.002352,-4.77059e-005 +0.002352,-4.77059e-005 +0.002356,-4.77149e-005 +0.002356,-4.77149e-005 +0.00236,-4.77038e-005 +0.00236,-4.77038e-005 +0.002364,-4.76609e-005 +0.002368,-4.75934e-005 +0.002368,-4.75934e-005 +0.00237,-4.75522e-005 +0.002372,-4.75046e-005 +0.002376,-4.73873e-005 +0.00238,-4.72465e-005 +0.002384,-4.7073e-005 +0.002388,-4.68789e-005 +0.00239,-4.67785e-005 +0.002392,-4.66755e-005 +0.002392,-4.66755e-005 +0.002396,-4.64595e-005 +0.0024,-4.62359e-005 +0.0024,-4.62359e-005 +0.002404,-4.59978e-005 +0.002408,-4.57624e-005 +0.00241,-4.56508e-005 +0.002412,-4.55424e-005 +0.002416,-4.5331e-005 +0.00242,-4.51354e-005 +0.00242,-4.51354e-005 +0.002424,-4.49457e-005 +0.002424,-4.49457e-005 +0.002428,-4.47808e-005 +0.002428,-4.47808e-005 +0.00243,-4.47146e-005 +0.002432,-4.46588e-005 +0.002432,-4.46588e-005 +0.002436,-4.45748e-005 +0.00244,-4.45355e-005 +0.00244,-4.45355e-005 +0.002444,-4.45338e-005 +0.002448,-4.45786e-005 +0.00245,-4.4611e-005 +0.002452,-4.46407e-005 +0.002452,-4.46407e-005 +0.002456,-4.46696e-005 +0.002456,-4.46696e-005 +0.00246,-4.46706e-005 +0.002464,-4.46928e-005 +0.002464,-4.46928e-005 +0.002468,-4.47482e-005 +0.00247,-4.47884e-005 +0.002472,-4.48398e-005 +0.002476,-4.49836e-005 +0.00248,-4.51782e-005 +0.002484,-4.54404e-005 +0.002488,-4.57661e-005 +0.00249,-4.59509e-005 +0.002492,-4.61535e-005 +0.002492,-4.61535e-005 +0.002496,-4.6624e-005 +0.0025,-4.71862e-005 +0.002504,-4.78631e-005 +0.002508,-4.8653e-005 +0.002508,-4.8653e-005 +0.00251,-4.90884e-005 +0.002512,-4.95527e-005 +0.002516,-5.05726e-005 +0.00252,-5.17072e-005 +0.002524,-5.29613e-005 +0.002528,-5.4314e-005 +0.00253,-5.5021e-005 +0.002532,-5.57473e-005 +0.002532,-5.57473e-005 +0.002536,-5.72536e-005 +0.00254,-5.88123e-005 +0.002544,-6.04097e-005 +0.002548,-6.20141e-005 +0.00255,-6.28089e-005 +0.002552,-6.35965e-005 +0.002556,-6.51445e-005 +0.00256,-6.66326e-005 +0.00256,-6.66326e-005 +0.002564,-6.80468e-005 +0.002564,-6.80468e-005 +0.002568,-6.93592e-005 +0.00257,-6.99689e-005 +0.002572,-7.05462e-005 +0.002576,-7.16001e-005 +0.00258,-7.25077e-005 +0.00258,-7.25077e-005 +0.002584,-7.32649e-005 +0.002584,-7.32649e-005 +0.002588,-7.38616e-005 +0.00259,-7.40972e-005 +0.002592,-7.42915e-005 +0.002596,-7.45606e-005 +0.002596,-7.45606e-005 +0.0026,-7.46697e-005 +0.002604,-7.46342e-005 +0.002608,-7.45138e-005 +0.002608,-7.45138e-005 +0.00261,-7.44526e-005 +0.002612,-7.44031e-005 +0.002616,-7.4359e-005 +0.002616,-7.4359e-005 +0.00262,-7.4396e-005 +0.002624,-7.45015e-005 +0.002628,-7.464e-005 +0.002628,-7.464e-005 +0.00263,-7.47098e-005 +0.002632,-7.47752e-005 +0.002636,-7.48816e-005 +0.00264,-7.49358e-005 +0.00264,-7.49358e-005 +0.002644,-7.49213e-005 +0.002648,-7.48436e-005 +0.00265,-7.47896e-005 +0.002652,-7.47316e-005 +0.002652,-7.47316e-005 +0.002656,-7.46183e-005 +0.002656,-7.46183e-005 +0.00266,-7.45199e-005 +0.00266,-7.45199e-005 +0.002664,-7.44445e-005 +0.002668,-7.4395e-005 +0.00267,-7.43779e-005 +0.002672,-7.4364e-005 +0.002676,-7.43412e-005 +0.00268,-7.43181e-005 +0.002684,-7.42863e-005 +0.002688,-7.42418e-005 +0.00269,-7.42144e-005 +0.002692,-7.41828e-005 +0.002696,-7.41059e-005 +0.0027,-7.40134e-005 +0.002704,-7.39062e-005 +0.002704,-7.39062e-005 +0.002708,-7.37898e-005 +0.00271,-7.3732e-005 +0.002712,-7.36745e-005 +0.002712,-7.36745e-005 +0.002716,-7.356e-005 +0.00272,-7.34518e-005 +0.002724,-7.33491e-005 +0.002728,-7.32607e-005 +0.00273,-7.3225e-005 +0.002732,-7.31947e-005 +0.002736,-7.31494e-005 +0.00274,-7.31291e-005 +0.00274,-7.31291e-005 +0.002744,-7.3125e-005 +0.002744,-7.3125e-005 +0.002748,-7.31406e-005 +0.00275,-7.31534e-005 +0.002752,-7.31644e-005 +0.002756,-7.31679e-005 +0.00276,-7.3144e-005 +0.002764,-7.30834e-005 +0.002768,-7.29945e-005 +0.00277,-7.29442e-005 +0.002772,-7.28894e-005 +0.002776,-7.27625e-005 +0.00278,-7.26203e-005 +0.002784,-7.24552e-005 +0.002788,-7.22801e-005 +0.00279,-7.21933e-005 +0.002792,-7.21066e-005 +0.002796,-7.19314e-005 +0.0028,-7.17606e-005 +0.0028,-7.17606e-005 +0.002804,-7.15826e-005 +0.002804,-7.15826e-005 +0.002808,-7.14097e-005 +0.002808,-7.14097e-005 +0.00281,-7.13305e-005 +0.002812,-7.1255e-005 +0.002812,-7.1255e-005 +0.002816,-7.11104e-005 +0.002816,-7.11104e-005 +0.00282,-7.09811e-005 +0.00282,-7.09811e-005 +0.002824,-7.08578e-005 +0.002828,-7.07563e-005 +0.00283,-7.07179e-005 +0.002832,-7.06868e-005 +0.002836,-7.06437e-005 +0.00284,-7.0633e-005 +0.00284,-7.0633e-005 +0.002844,-7.06454e-005 +0.002848,-7.06833e-005 +0.00285,-7.07066e-005 +0.002852,-7.07258e-005 +0.002852,-7.07258e-005 +0.002856,-7.07366e-005 +0.002856,-7.07366e-005 +0.00286,-7.07298e-005 +0.00286,-7.07298e-005 +0.002864,-7.07564e-005 +0.002868,-7.08229e-005 +0.00287,-7.08687e-005 +0.002872,-7.09244e-005 +0.002872,-7.09244e-005 +0.002876,-7.10711e-005 +0.002876,-7.10711e-005 +0.00288,-7.12597e-005 +0.002884,-7.15066e-005 +0.002888,-7.18067e-005 +0.00289,-7.1977e-005 +0.002892,-7.21644e-005 +0.002896,-7.26015e-005 +0.0029,-7.3128e-005 +0.002904,-7.37656e-005 +0.002908,-7.45124e-005 +0.00291,-7.49251e-005 +0.002912,-7.53655e-005 +0.002912,-7.53655e-005 +0.002916,-7.63342e-005 +0.002916,-7.63342e-005 +0.00292,-7.7416e-005 +0.00292,-7.7416e-005 +0.002924,-7.86178e-005 +0.002928,-7.99195e-005 +0.00293,-8.06019e-005 +0.002932,-8.13043e-005 +0.002936,-8.27649e-005 +0.00294,-8.4279e-005 +0.002944,-8.58369e-005 +0.002948,-8.74105e-005 +0.00295,-8.81924e-005 +0.002952,-8.89681e-005 +0.002956,-9.0495e-005 +0.00296,-9.19696e-005 +0.002964,-9.33739e-005 +0.002968,-9.46815e-005 +0.002968,-9.46815e-005 +0.00297,-9.5291e-005 +0.002972,-9.58691e-005 +0.002976,-9.69275e-005 +0.00298,-9.78409e-005 +0.00298,-9.78409e-005 +0.002984,-9.86068e-005 +0.002988,-9.92151e-005 +0.00299,-9.94574e-005 +0.002992,-9.96584e-005 +0.002996,-9.99397e-005 +0.003,-0.000100062 +0.003004,-0.000100038 +0.003008,-9.99223e-005 +0.00301,-9.98602e-005 +0.003012,-9.98086e-005 +0.003016,-9.97584e-005 +0.00302,-9.97891e-005 +0.003024,-9.98901e-005 +0.003028,-0.000100027 +0.003028,-0.000100027 +0.00303,-0.000100097 +0.003032,-0.000100163 +0.003036,-0.00010027 +0.003036,-0.00010027 +0.00304,-0.000100327 +0.003044,-0.000100321 +0.003044,-0.000100321 +0.003048,-0.000100251 +0.00305,-0.000100198 +0.003052,-0.000100141 +0.003056,-0.000100024 +0.00306,-9.99209e-005 +0.00306,-9.99209e-005 +0.003064,-9.98438e-005 +0.003068,-9.9791e-005 +0.00307,-9.97723e-005 +0.003072,-9.97572e-005 +0.003076,-9.97329e-005 +0.00308,-9.97094e-005 +0.00308,-9.97094e-005 +0.003084,-9.96777e-005 +0.003088,-9.96334e-005 +0.003088,-9.96334e-005 +0.00309,-9.96059e-005 +0.003092,-9.9574e-005 +0.003096,-9.94956e-005 +0.003096,-9.94956e-005 +0.0031,-9.93992e-005 +0.0031,-9.93992e-005 +0.003104,-9.92838e-005 +0.003108,-9.916e-005 +0.00311,-9.90981e-005 +0.003112,-9.9036e-005 +0.003116,-9.89107e-005 +0.00312,-9.87903e-005 +0.003124,-9.8677e-005 +0.003128,-9.858e-005 +0.00313,-9.85407e-005 +0.003132,-9.85069e-005 +0.003136,-9.8453e-005 +0.00314,-9.84228e-005 +0.003144,-9.84098e-005 +0.003148,-9.84175e-005 +0.00315,-9.84284e-005 +0.003152,-9.84389e-005 +0.003156,-9.84446e-005 +0.00316,-9.84283e-005 +0.003164,-9.83811e-005 +0.003168,-9.83121e-005 +0.00317,-9.82728e-005 +0.003172,-9.82289e-005 +0.003176,-9.81222e-005 +0.00318,-9.79949e-005 +0.003184,-9.78405e-005 +0.003188,-9.76728e-005 +0.00319,-9.75892e-005 +0.003192,-9.75049e-005 +0.003192,-9.75049e-005 +0.003196,-9.73287e-005 +0.0032,-9.71505e-005 +0.003204,-9.69652e-005 +0.003204,-9.69652e-005 +0.003208,-9.67863e-005 +0.003208,-9.67863e-005 +0.00321,-9.67037e-005 +0.003212,-9.66244e-005 +0.003212,-9.66244e-005 +0.003216,-9.6471e-005 +0.00322,-9.63324e-005 +0.00322,-9.63324e-005 +0.003224,-9.61989e-005 +0.003228,-9.60845e-005 +0.003228,-9.60845e-005 +0.00323,-9.60396e-005 +0.003232,-9.60019e-005 +0.003236,-9.59448e-005 +0.003236,-9.59448e-005 +0.00324,-9.59216e-005 +0.00324,-9.59216e-005 +0.003244,-9.59251e-005 +0.003244,-9.59251e-005 +0.003248,-9.59633e-005 +0.00325,-9.59899e-005 +0.003252,-9.60129e-005 +0.003256,-9.60291e-005 +0.003256,-9.60291e-005 +0.00326,-9.60244e-005 +0.00326,-9.60244e-005 +0.003264,-9.60479e-005 +0.003264,-9.60479e-005 +0.003268,-9.61103e-005 +0.003268,-9.61103e-005 +0.00327,-9.61545e-005 +0.003272,-9.62091e-005 +0.003272,-9.62091e-005 +0.003276,-9.63556e-005 +0.003276,-9.63556e-005 +0.00328,-9.65485e-005 +0.003284,-9.68011e-005 +0.003288,-9.71066e-005 +0.00329,-9.72784e-005 +0.003292,-9.74666e-005 +0.003296,-9.79047e-005 +0.0033,-9.84302e-005 +0.0033,-9.84302e-005 +0.003304,-9.90673e-005 +0.003304,-9.90673e-005 +0.003308,-9.98146e-005 +0.00331,-0.000100227 +0.003312,-0.000100668 +0.003316,-0.000101641 +0.00332,-0.00010273 +0.003324,-0.00010394 +0.003328,-0.000105255 +0.00333,-0.000105945 +0.003332,-0.000106655 +0.003332,-0.000106655 +0.003336,-0.000108133 +0.00334,-0.000109671 +0.003344,-0.000111258 +0.003348,-0.000112863 +0.00335,-0.000113663 +0.003352,-0.000114458 +0.003356,-0.000116027 +0.00336,-0.000117543 +0.003364,-0.000118989 +0.003368,-0.000120337 +0.00337,-0.000120966 +0.003372,-0.000121564 +0.003372,-0.000121564 +0.003376,-0.00012266 +0.003376,-0.00012266 +0.00338,-0.000123608 +0.003384,-0.000124405 +0.003384,-0.000124405 +0.003388,-0.000125041 +0.00339,-0.000125295 +0.003392,-0.000125507 +0.003396,-0.000125807 +0.0034,-0.000125943 +0.003404,-0.000125927 +0.003408,-0.00012581 +0.00341,-0.000125745 +0.003412,-0.000125689 +0.003412,-0.000125689 +0.003416,-0.000125628 +0.00342,-0.000125649 +0.003424,-0.000125744 +0.003428,-0.000125879 +0.003428,-0.000125879 +0.00343,-0.000125949 +0.003432,-0.000126015 +0.003436,-0.000126127 +0.00344,-0.000126189 +0.003444,-0.000126187 +0.003448,-0.000126115 +0.00345,-0.000126062 +0.003452,-0.000126003 +0.003452,-0.000126003 +0.003456,-0.000125883 +0.003456,-0.000125883 +0.00346,-0.000125781 +0.003464,-0.000125701 +0.003464,-0.000125701 +0.003468,-0.000125646 +0.00347,-0.000125627 +0.003472,-0.000125611 +0.003476,-0.000125588 +0.00348,-0.000125567 +0.003484,-0.000125539 +0.003488,-0.0001255 +0.00349,-0.000125476 +0.003492,-0.000125448 +0.003492,-0.000125448 +0.003496,-0.000125378 +0.0035,-0.00012529 +0.0035,-0.00012529 +0.003504,-0.000125188 +0.003508,-0.000125077 +0.00351,-0.000125021 +0.003512,-0.000124966 +0.003516,-0.000124853 +0.00352,-0.000124745 +0.003524,-0.000124639 +0.003528,-0.000124547 +0.00353,-0.00012451 +0.003532,-0.000124478 +0.003536,-0.000124429 +0.00354,-0.000124405 +0.00354,-0.000124405 +0.003544,-0.000124396 +0.003548,-0.000124407 +0.003548,-0.000124407 +0.00355,-0.00012442 +0.003552,-0.000124432 +0.003556,-0.000124439 +0.00356,-0.000124421 +0.003564,-0.000124368 +0.003568,-0.000124287 +0.00357,-0.00012424 +0.003572,-0.00012419 +0.003576,-0.000124075 +0.00358,-0.000123945 +0.003584,-0.000123795 +0.003588,-0.000123634 +0.00359,-0.000123553 +0.003592,-0.000123472 +0.003592,-0.000123472 +0.003596,-0.000123307 +0.0036,-0.000123143 +0.003604,-0.000122973 +0.003608,-0.000122809 +0.003608,-0.000122809 +0.00361,-0.000122733 +0.003612,-0.000122659 +0.003612,-0.000122659 +0.003616,-0.000122516 +0.00362,-0.000122383 +0.00362,-0.000122383 +0.003624,-0.00012225 +0.003628,-0.000122135 +0.003628,-0.000122135 +0.00363,-0.000122089 +0.003632,-0.00012205 +0.003636,-0.000121989 +0.00364,-0.00012196 +0.003644,-0.000121957 +0.003648,-0.000121991 +0.00365,-0.000122018 +0.003652,-0.000122043 +0.003656,-0.000122067 +0.00366,-0.000122068 +0.00366,-0.000122068 +0.003664,-0.000122093 +0.003668,-0.000122153 +0.003668,-0.000122153 +0.00367,-0.000122194 +0.003672,-0.000122246 +0.003676,-0.000122386 +0.003676,-0.000122386 +0.00368,-0.000122571 +0.00368,-0.000122571 +0.003684,-0.000122817 +0.003688,-0.000123121 +0.00369,-0.000123293 +0.003692,-0.000123481 +0.003692,-0.000123481 +0.003696,-0.00012392 +0.0037,-0.000124445 +0.003704,-0.000125082 +0.003708,-0.000125826 +0.003708,-0.000125826 +0.00371,-0.000126237 +0.003712,-0.000126678 +0.003716,-0.000127649 +0.003716,-0.000127649 +0.00372,-0.000128737 +0.00372,-0.000128737 +0.003724,-0.000129946 +0.003728,-0.000131257 +0.00373,-0.000131943 +0.003732,-0.000132649 +0.003732,-0.000132649 +0.003736,-0.000134118 +0.00374,-0.000135643 +0.003744,-0.000137216 +0.003748,-0.000138808 +0.00375,-0.0001396 +0.003752,-0.000140388 +0.003756,-0.00014194 +0.00376,-0.000143438 +0.003764,-0.000144864 +0.003768,-0.000146192 +0.003768,-0.000146192 +0.00377,-0.00014681 +0.003772,-0.000147395 +0.003776,-0.000148463 +0.003776,-0.000148463 +0.00378,-0.000149383 +0.003784,-0.000150149 +0.003784,-0.000150149 +0.003788,-0.000150752 +0.00379,-0.00015099 +0.003792,-0.000151188 +0.003796,-0.000151463 +0.0038,-0.000151578 +0.003804,-0.000151546 +0.003808,-0.000151423 +0.00381,-0.00015136 +0.003812,-0.000151309 +0.003816,-0.000151262 +0.00382,-0.000151297 +0.003824,-0.000151403 +0.003828,-0.000151543 +0.00383,-0.000151614 +0.003832,-0.000151681 +0.003832,-0.000151681 +0.003836,-0.000151786 +0.003836,-0.000151786 +0.00384,-0.000151837 +0.003844,-0.00015182 +0.003844,-0.00015182 +0.003848,-0.000151739 +0.00385,-0.000151685 +0.003852,-0.000151628 +0.003856,-0.000151516 +0.003856,-0.000151516 +0.00386,-0.000151423 +0.00386,-0.000151423 +0.003864,-0.000151356 +0.003868,-0.000151311 +0.003868,-0.000151311 +0.00387,-0.000151296 +0.003872,-0.000151284 +0.003876,-0.000151265 +0.00388,-0.000151245 +0.003884,-0.000151214 +0.003888,-0.000151168 +0.00389,-0.000151139 +0.003892,-0.000151104 +0.003896,-0.00015102 +0.003896,-0.00015102 +0.0039,-0.000150921 +0.0039,-0.000150921 +0.003904,-0.000150807 +0.003908,-0.000150688 +0.00391,-0.000150628 +0.003912,-0.000150568 +0.003916,-0.000150449 +0.003916,-0.000150449 +0.00392,-0.00015034 +0.003924,-0.000150237 +0.003928,-0.000150149 +0.00393,-0.000150113 +0.003932,-0.000150082 +0.003936,-0.000150035 +0.00394,-0.000150009 +0.003944,-0.000149998 +0.003944,-0.000149998 +0.003948,-0.000150007 +0.003948,-0.000150007 +0.00395,-0.000150019 +0.003952,-0.000150031 +0.003956,-0.000150039 +0.00396,-0.000150022 +0.003964,-0.00014997 +0.003968,-0.000149894 +0.00397,-0.000149848 +0.003972,-0.000149798 +0.003976,-0.000149677 +0.00398,-0.000149536 +0.003984,-0.000149371 +0.003988,-0.000149194 +0.00399,-0.000149107 +0.003992,-0.000149021 +0.003996,-0.000148847 +0.003996,-0.000148847 +0.004,-0.000148677 +0.004,-0.000148677 +0.004004,-0.000148503 +0.004004,-0.000148503 +0.004008,-0.000148338 +0.004008,-0.000148338 +0.00401,-0.000148263 +0.004012,-0.000148191 +0.004012,-0.000148191 +0.004016,-0.000148053 +0.00402,-0.000147927 +0.00402,-0.000147927 +0.004024,-0.000147805 +0.004028,-0.000147705 +0.004028,-0.000147705 +0.00403,-0.000147667 +0.004032,-0.000147637 +0.004036,-0.000147594 +0.00404,-0.000147584 +0.00404,-0.000147584 +0.004044,-0.000147596 +0.004048,-0.000147634 +0.00405,-0.000147657 +0.004052,-0.000147676 +0.004056,-0.000147686 +0.004056,-0.000147686 +0.00406,-0.000147679 +0.00406,-0.000147679 +0.004064,-0.000147702 +0.004064,-0.000147702 +0.004068,-0.000147766 +0.00407,-0.000147812 +0.004072,-0.000147867 +0.004072,-0.000147867 +0.004076,-0.000148011 +0.004076,-0.000148011 +0.00408,-0.000148197 +0.004084,-0.000148442 +0.004088,-0.00014874 +0.00409,-0.00014891 +0.004092,-0.000149096 +0.004096,-0.000149529 +0.0041,-0.000150049 +0.004104,-0.000150679 +0.004104,-0.000150679 +0.004108,-0.000151418 +0.00411,-0.000151827 +0.004112,-0.000152264 +0.004112,-0.000152264 +0.004116,-0.000153226 +0.00412,-0.000154302 +0.00412,-0.000154302 +0.004124,-0.000155496 +0.004128,-0.000156791 +0.00413,-0.000157469 +0.004132,-0.000158168 +0.004136,-0.000159623 +0.00414,-0.000161138 +0.004144,-0.0001627 +0.004148,-0.000164278 +0.00415,-0.000165063 +0.004152,-0.000165843 +0.004156,-0.00016738 +0.00416,-0.000168865 +0.004164,-0.000170283 +0.004164,-0.000170283 +0.004168,-0.000171607 +0.004168,-0.000171607 +0.00417,-0.000172226 +0.004172,-0.000172814 +0.004176,-0.000173894 +0.004176,-0.000173894 +0.00418,-0.000174831 +0.00418,-0.000174831 +0.004184,-0.000175621 +0.004188,-0.00017625 +0.00419,-0.000176501 +0.004192,-0.000176711 +0.004192,-0.000176711 +0.004196,-0.00017701 +0.0042,-0.000177152 +0.004204,-0.000177147 +0.004208,-0.000177034 +0.004208,-0.000177034 +0.00421,-0.000176969 +0.004212,-0.000176913 +0.004216,-0.000176853 +0.004216,-0.000176853 +0.00422,-0.000176874 +0.004224,-0.000176969 +0.004228,-0.000177105 +0.00423,-0.000177175 +0.004232,-0.000177243 +0.004236,-0.000177357 +0.00424,-0.00017742 +0.00424,-0.00017742 +0.004244,-0.000177419 +0.004248,-0.000177352 +0.00425,-0.0001773 +0.004252,-0.000177243 +0.004256,-0.000177124 +0.00426,-0.000177018 +0.00426,-0.000177018 +0.004264,-0.000176935 +0.004264,-0.000176935 +0.004268,-0.00017688 +0.00427,-0.000176861 +0.004272,-0.000176846 +0.004272,-0.000176846 +0.004276,-0.000176827 +0.00428,-0.000176809 +0.00428,-0.000176809 +0.004284,-0.000176783 +0.004288,-0.000176743 +0.004288,-0.000176743 +0.00429,-0.000176718 +0.004292,-0.000176688 +0.004296,-0.000176611 +0.004296,-0.000176611 +0.0043,-0.000176516 +0.004304,-0.0001764 +0.004308,-0.00017627 +0.004308,-0.00017627 +0.00431,-0.000176204 +0.004312,-0.000176137 +0.004312,-0.000176137 +0.004316,-0.000176003 +0.00432,-0.000175874 +0.004324,-0.00017575 +0.004328,-0.000175641 +0.00433,-0.000175595 +0.004332,-0.000175555 +0.004336,-0.00017549 +0.00434,-0.00017545 +0.004344,-0.000175428 +0.004348,-0.00017543 +0.00435,-0.000175442 +0.004352,-0.000175454 +0.004356,-0.000175467 +0.00436,-0.00017546 +0.004364,-0.00017542 +0.004368,-0.000175351 +0.00437,-0.000175311 +0.004372,-0.000175266 +0.004372,-0.000175266 +0.004376,-0.000175159 +0.00438,-0.000175033 +0.00438,-0.000175033 +0.004384,-0.00017488 +0.004388,-0.000174712 +0.00439,-0.000174629 +0.004392,-0.000174545 +0.004396,-0.000174373 +0.0044,-0.000174198 +0.0044,-0.000174198 +0.004404,-0.000174014 +0.004404,-0.000174014 +0.004408,-0.000173836 +0.004408,-0.000173836 +0.00441,-0.000173754 +0.004412,-0.000173676 +0.004412,-0.000173676 +0.004416,-0.000173525 +0.004416,-0.000173525 +0.00442,-0.000173389 +0.00442,-0.000173389 +0.004424,-0.00017326 +0.004424,-0.00017326 +0.004428,-0.000173153 +0.00443,-0.000173113 +0.004432,-0.00017308 +0.004436,-0.000173034 +0.004436,-0.000173034 +0.00444,-0.000173021 +0.00444,-0.000173021 +0.004444,-0.000173033 +0.004448,-0.000173072 +0.00445,-0.000173096 +0.004452,-0.000173116 +0.004456,-0.000173127 +0.004456,-0.000173127 +0.00446,-0.000173119 +0.00446,-0.000173119 +0.004464,-0.000173144 +0.004468,-0.000173208 +0.004468,-0.000173208 +0.00447,-0.000173252 +0.004472,-0.000173307 +0.004476,-0.000173453 +0.004476,-0.000173453 +0.00448,-0.000173643 +0.004484,-0.000173892 +0.004488,-0.000174195 +0.00449,-0.000174365 +0.004492,-0.000174551 +0.004496,-0.000174982 +0.0045,-0.000175498 +0.004504,-0.000176124 +0.004504,-0.000176124 +0.004508,-0.000176857 +0.004508,-0.000176857 +0.00451,-0.000177263 +0.004512,-0.000177698 +0.004512,-0.000177698 +0.004516,-0.000178657 +0.00452,-0.000179734 +0.00452,-0.000179734 +0.004524,-0.000180929 +0.004528,-0.000182228 +0.00453,-0.000182909 +0.004532,-0.00018361 +0.004532,-0.00018361 +0.004536,-0.000185068 +0.00454,-0.000186583 +0.00454,-0.000186583 +0.004544,-0.000188143 +0.004548,-0.00018972 +0.00455,-0.000190505 +0.004552,-0.000191285 +0.004556,-0.000192824 +0.00456,-0.000194314 +0.004564,-0.000195736 +0.004568,-0.000197063 +0.00457,-0.000197683 +0.004572,-0.000198272 +0.004572,-0.000198272 +0.004576,-0.000199353 +0.00458,-0.000200289 +0.00458,-0.000200289 +0.004584,-0.000201077 +0.004584,-0.000201077 +0.004588,-0.000201707 +0.00459,-0.00020196 +0.004592,-0.000202171 +0.004596,-0.00020247 +0.0046,-0.000202607 +0.004604,-0.000202594 +0.004608,-0.000202477 +0.004608,-0.000202477 +0.00461,-0.000202411 +0.004612,-0.000202355 +0.004616,-0.000202295 +0.004616,-0.000202295 +0.00462,-0.000202317 +0.004624,-0.000202413 +0.004628,-0.000202548 +0.00463,-0.000202618 +0.004632,-0.000202685 +0.004632,-0.000202685 +0.004636,-0.000202795 +0.00464,-0.000202853 +0.004644,-0.000202843 +0.004648,-0.000202767 +0.00465,-0.000202714 +0.004652,-0.000202657 +0.004656,-0.000202543 +0.00466,-0.000202442 +0.004664,-0.000202364 +0.004668,-0.00020231 +0.00467,-0.000202292 +0.004672,-0.000202278 +0.004676,-0.000202257 +0.00468,-0.00020224 +0.00468,-0.00020224 +0.004684,-0.000202214 +0.004688,-0.000202175 +0.00469,-0.00020215 +0.004692,-0.000202119 +0.004692,-0.000202119 +0.004696,-0.000202044 +0.0047,-0.000201949 +0.004704,-0.000201838 +0.004708,-0.000201719 +0.00471,-0.000201659 +0.004712,-0.000201599 +0.004716,-0.000201478 +0.00472,-0.00020136 +0.004724,-0.000201248 +0.004728,-0.000201151 +0.00473,-0.000201112 +0.004732,-0.000201079 +0.004736,-0.000201026 +0.00474,-0.000200996 +0.004744,-0.000200983 +0.004744,-0.000200983 +0.004748,-0.000200991 +0.004748,-0.000200991 +0.00475,-0.000201003 +0.004752,-0.000201014 +0.004752,-0.000201014 +0.004756,-0.000201023 +0.004756,-0.000201023 +0.00476,-0.000201008 +0.00476,-0.000201008 +0.004764,-0.000200958 +0.004768,-0.000200883 +0.00477,-0.00020084 +0.004772,-0.000200792 +0.004776,-0.000200677 +0.00478,-0.000200544 +0.00478,-0.000200544 +0.004784,-0.000200386 +0.004788,-0.000200219 +0.00479,-0.000200136 +0.004792,-0.000200053 +0.004796,-0.000199879 +0.0048,-0.000199704 +0.004804,-0.000199523 +0.004804,-0.000199523 +0.004808,-0.000199349 +0.00481,-0.000199269 +0.004812,-0.000199193 +0.004812,-0.000199193 +0.004816,-0.000199045 +0.00482,-0.000198908 +0.004824,-0.000198778 +0.004828,-0.000198669 +0.00483,-0.000198629 +0.004832,-0.000198597 +0.004836,-0.000198553 +0.004836,-0.000198553 +0.00484,-0.000198546 +0.00484,-0.000198546 +0.004844,-0.000198561 +0.004848,-0.000198599 +0.00485,-0.000198621 +0.004852,-0.000198639 +0.004852,-0.000198639 +0.004856,-0.000198646 +0.004856,-0.000198646 +0.00486,-0.000198637 +0.00486,-0.000198637 +0.004864,-0.00019866 +0.004864,-0.00019866 +0.004868,-0.000198726 +0.004868,-0.000198726 +0.00487,-0.000198773 +0.004872,-0.00019883 +0.004872,-0.00019883 +0.004876,-0.000198979 +0.004876,-0.000198979 +0.00488,-0.00019917 +0.00488,-0.00019917 +0.004884,-0.00019942 +0.004888,-0.000199724 +0.00489,-0.000199896 +0.004892,-0.000200085 +0.004896,-0.000200524 +0.0049,-0.000201051 +0.004904,-0.000201687 +0.004908,-0.000202431 +0.00491,-0.000202843 +0.004912,-0.000203282 +0.004916,-0.000204251 +0.00492,-0.000205333 +0.00492,-0.000205333 +0.004924,-0.000206535 +0.004928,-0.000207837 +0.00493,-0.000208518 +0.004932,-0.000209219 +0.004936,-0.000210674 +0.00494,-0.000212187 +0.004944,-0.000213746 +0.004948,-0.000215323 +0.00495,-0.000216107 +0.004952,-0.000216885 +0.004956,-0.000218419 +0.00496,-0.000219903 +0.004964,-0.000221319 +0.004964,-0.000221319 +0.004968,-0.000222639 +0.004968,-0.000222639 +0.00497,-0.000223256 +0.004972,-0.000223841 +0.004976,-0.000224915 +0.004976,-0.000224915 +0.00498,-0.000225845 +0.004984,-0.000226627 +0.004988,-0.000227251 +0.00499,-0.0002275 +0.004992,-0.000227708 +0.004996,-0.000228003 +0.005,-0.000228138 +0.005004,-0.000228125 +0.005008,-0.000228008 +0.005008,-0.000228008 +0.00501,-0.000227943 +0.005012,-0.000227888 +0.005016,-0.00022783 +0.00502,-0.000227855 +0.005024,-0.000227952 +0.005028,-0.000228088 +0.00503,-0.000228158 +0.005032,-0.000228225 +0.005032,-0.000228225 +0.005036,-0.000228333 +0.00504,-0.000228388 +0.00504,-0.000228388 +0.005044,-0.000228377 +0.005048,-0.000228304 +0.00505,-0.000228252 +0.005052,-0.000228195 +0.005052,-0.000228195 +0.005056,-0.000228084 +0.00506,-0.000227987 +0.00506,-0.000227987 +0.005064,-0.000227912 +0.005064,-0.000227912 +0.005068,-0.000227859 +0.00507,-0.00022784 +0.005072,-0.000227824 +0.005076,-0.000227803 +0.00508,-0.000227785 +0.005084,-0.000227759 +0.005088,-0.000227722 +0.00509,-0.000227698 +0.005092,-0.000227668 +0.005096,-0.00022759 +0.0051,-0.000227492 +0.005104,-0.000227377 +0.005108,-0.000227254 +0.00511,-0.000227193 +0.005112,-0.000227131 +0.005116,-0.000227007 +0.00512,-0.000226888 +0.005124,-0.000226773 +0.005128,-0.000226675 +0.00513,-0.000226634 +0.005132,-0.000226599 +0.005136,-0.000226541 +0.00514,-0.000226506 +0.005144,-0.000226486 +0.005148,-0.000226488 +0.00515,-0.000226498 +0.005152,-0.000226509 +0.005152,-0.000226509 +0.005156,-0.00022652 +0.005156,-0.00022652 +0.00516,-0.00022651 +0.00516,-0.00022651 +0.005164,-0.000226469 +0.005168,-0.000226402 +0.00517,-0.000226364 +0.005172,-0.000226321 +0.005176,-0.000226216 +0.00518,-0.000226094 +0.005184,-0.000225947 +0.005188,-0.000225787 +0.00519,-0.000225707 +0.005192,-0.000225626 +0.005196,-0.000225458 +0.0052,-0.000225286 +0.0052,-0.000225286 +0.005204,-0.000225103 +0.005208,-0.000224924 +0.005208,-0.000224924 +0.00521,-0.00022484 +0.005212,-0.000224758 +0.005212,-0.000224758 +0.005216,-0.000224599 +0.005216,-0.000224599 +0.00522,-0.000224455 +0.00522,-0.000224455 +0.005224,-0.000224316 +0.005228,-0.000224197 +0.00523,-0.00022415 +0.005232,-0.000224111 +0.005236,-0.000224055 +0.00524,-0.000224035 +0.00524,-0.000224035 +0.005244,-0.000224042 +0.005248,-0.000224083 +0.00525,-0.00022411 +0.005252,-0.000224132 +0.005252,-0.000224132 +0.005256,-0.000224149 +0.005256,-0.000224149 +0.00526,-0.00022414 +0.005264,-0.000224129 +0.005268,-0.00022414 +0.00527,-0.00022416 +0.005272,-0.00022419 +0.005272,-0.00022419 +0.005276,-0.000224278 +0.00528,-0.000224392 +0.00528,-0.000224392 +0.005284,-0.000224525 +0.005284,-0.000224525 +0.005288,-0.000224674 +0.005288,-0.000224674 +0.00529,-0.000224755 +0.005292,-0.000224841 +0.005296,-0.000225029 +0.005296,-0.000225029 +0.0053,-0.000225245 +0.005304,-0.000225495 +0.005308,-0.000225786 +0.00531,-0.000225947 +0.005312,-0.000226121 +0.005312,-0.000226121 +0.005316,-0.000226505 +0.00532,-0.000226941 +0.005324,-0.000227428 +0.005328,-0.000227965 +0.00533,-0.000228252 +0.005332,-0.00022855 +0.005336,-0.000229176 +0.00534,-0.000229836 +0.00534,-0.000229836 +0.005344,-0.000230523 +0.005344,-0.000230523 +0.005348,-0.000231226 +0.00535,-0.000231581 +0.005352,-0.000231935 +0.005356,-0.000232638 +0.005356,-0.000232638 +0.00536,-0.000233323 +0.005364,-0.000233978 +0.005364,-0.000233978 +0.005368,-0.000234594 +0.00537,-0.000234883 +0.005372,-0.000235158 +0.005376,-0.000235663 +0.005376,-0.000235663 +0.00538,-0.000236101 +0.005384,-0.000236466 +0.005388,-0.000236753 +0.00539,-0.000236867 +0.005392,-0.00023696 +0.005396,-0.000237087 +0.005396,-0.000237087 +0.0054,-0.000237135 +0.005404,-0.000237108 +0.005408,-0.000237048 +0.00541,-0.000237024 +0.005412,-0.000237012 +0.005416,-0.00023703 +0.00542,-0.0002371 +0.005424,-0.000237211 +0.005424,-0.000237211 +0.005428,-0.000237349 +0.00543,-0.000237423 +0.005432,-0.000237496 +0.005436,-0.000237635 +0.00544,-0.000237751 +0.005444,-0.00023783 +0.005448,-0.000237861 +0.00545,-0.000237856 +0.005452,-0.000237837 +0.005456,-0.000237773 +0.00546,-0.000237706 +0.005464,-0.000237662 +0.005468,-0.000237651 +0.00547,-0.000237656 +0.005472,-0.000237666 +0.005476,-0.000237693 +0.00548,-0.000237715 +0.005484,-0.000237714 +0.005488,-0.000237684 +0.00549,-0.000237658 +0.005492,-0.000237626 +0.005496,-0.000237551 +0.0055,-0.000237473 +0.005504,-0.0002374 +0.005504,-0.0002374 +0.005508,-0.00023734 +0.00551,-0.000237315 +0.005512,-0.000237295 +0.005516,-0.000237264 +0.00552,-0.000237247 +0.00552,-0.000237247 +0.005524,-0.00023724 +0.005528,-0.000237238 +0.00553,-0.000237237 +0.005532,-0.000237237 +0.005532,-0.000237237 +0.005536,-0.000237234 +0.005536,-0.000237234 +0.00554,-0.000237225 +0.00554,-0.000237225 +0.005544,-0.00023721 +0.005544,-0.00023721 +0.005548,-0.000237187 +0.00555,-0.000237174 +0.005552,-0.000237159 +0.005556,-0.000237128 +0.00556,-0.000237096 +0.00556,-0.000237096 +0.005564,-0.000237066 +0.005568,-0.000237041 +0.005568,-0.000237041 +0.00557,-0.000237031 +0.005572,-0.000237024 +0.005572,-0.000237024 +0.005576,-0.000237016 +0.00558,-0.000237018 +0.005584,-0.000237027 +0.005588,-0.000237038 +0.00559,-0.000237041 +0.005592,-0.000237043 +0.005596,-0.000237038 +0.0056,-0.000237027 +0.005604,-0.00023701 +0.005608,-0.000236992 +0.00561,-0.000236983 +0.005612,-0.000236976 +0.005616,-0.000236965 +0.005616,-0.000236965 +0.00562,-0.000236964 +0.00562,-0.000236964 +0.005624,-0.000236973 +0.005624,-0.000236973 +0.005628,-0.000236988 +0.00563,-0.000236996 +0.005632,-0.000237003 +0.005632,-0.000237003 +0.005636,-0.000237011 +0.005636,-0.000237011 +0.00564,-0.000237012 +0.005644,-0.000237008 +0.005644,-0.000237008 +0.005648,-0.000237007 +0.005648,-0.000237007 +0.00565,-0.000237008 +0.005652,-0.000237012 +0.005656,-0.000237026 +0.00566,-0.000237048 +0.005664,-0.000237073 +0.005664,-0.000237073 +0.005668,-0.000237097 +0.00567,-0.000237107 +0.005672,-0.000237117 +0.005676,-0.000237132 +0.00568,-0.000237146 +0.005684,-0.000237162 +0.005688,-0.000237182 +0.005688,-0.000237182 +0.00569,-0.000237195 +0.005692,-0.000237209 +0.005696,-0.000237242 +0.0057,-0.000237282 +0.0057,-0.000237282 +0.005704,-0.000237326 +0.005708,-0.000237372 +0.00571,-0.000237396 +0.005712,-0.000237419 +0.005712,-0.000237419 +0.005716,-0.000237465 +0.005716,-0.000237465 +0.00572,-0.000237509 +0.005724,-0.00023755 +0.005728,-0.000237588 +0.00573,-0.000237606 +0.005732,-0.000237623 +0.005736,-0.000237655 +0.00574,-0.000237683 +0.005744,-0.000237708 +0.005748,-0.000237729 +0.00575,-0.000237738 +0.005752,-0.000237746 +0.005752,-0.000237746 +0.005756,-0.000237758 +0.005756,-0.000237758 +0.00576,-0.000237764 +0.00576,-0.000237764 +0.005764,-0.000237765 +0.005764,-0.000237765 +0.005768,-0.000237759 +0.00577,-0.000237755 +0.005772,-0.000237751 +0.005776,-0.000237745 +0.00578,-0.000237744 +0.005784,-0.000237746 +0.005788,-0.000237748 +0.005788,-0.000237748 +0.00579,-0.000237749 +0.005792,-0.000237748 +0.005796,-0.000237743 +0.005796,-0.000237743 +0.0058,-0.000237734 +0.005804,-0.000237723 +0.005808,-0.000237713 +0.00581,-0.00023771 +0.005812,-0.000237708 +0.005816,-0.000237706 +0.00582,-0.000237704 +0.005824,-0.000237701 +0.005828,-0.000237693 +0.00583,-0.000237687 +0.005832,-0.000237681 +0.005836,-0.000237667 +0.00584,-0.000237654 +0.005844,-0.000237644 +0.005844,-0.000237644 +0.005848,-0.000237636 +0.00585,-0.000237632 +0.005852,-0.000237629 +0.005852,-0.000237629 +0.005856,-0.000237622 +0.00586,-0.000237613 +0.005864,-0.0002376 +0.005868,-0.000237583 +0.00587,-0.000237573 +0.005872,-0.000237563 +0.005876,-0.000237542 +0.00588,-0.00023752 +0.005884,-0.000237499 +0.005888,-0.000237478 +0.005888,-0.000237478 +0.00589,-0.000237468 +0.005892,-0.000237458 +0.005892,-0.000237458 +0.005896,-0.000237438 +0.0059,-0.000237416 +0.0059,-0.000237416 +0.005904,-0.000237391 +0.005908,-0.000237364 +0.00591,-0.00023735 +0.005912,-0.000237334 +0.005916,-0.000237302 +0.00592,-0.000237268 +0.005924,-0.000237232 +0.005928,-0.000237196 +0.005928,-0.000237196 +0.00593,-0.000237179 +0.005932,-0.000237162 +0.005932,-0.000237162 +0.005936,-0.000237129 +0.005936,-0.000237129 +0.00594,-0.000237099 +0.005944,-0.000237073 +0.005948,-0.000237051 +0.005948,-0.000237051 +0.00595,-0.000237042 +0.005952,-0.000237035 +0.005956,-0.000237024 +0.00596,-0.000237018 +0.005964,-0.000237019 +0.005968,-0.000237026 +0.00597,-0.00023703 +0.005972,-0.000237033 +0.005976,-0.000237039 +0.00598,-0.00023704 +0.005984,-0.000237038 +0.005984,-0.000237038 +0.005988,-0.000237037 +0.00599,-0.000237038 +0.005992,-0.00023704 +0.005996,-0.000237049 +0.005996,-0.000237049 +0.006,-0.000237061 +0.006004,-0.000237074 +0.006008,-0.000237085 +0.00601,-0.000237089 +0.006012,-0.000237092 +0.006016,-0.000237097 +0.00602,-0.000237102 +0.006024,-0.00023711 +0.006028,-0.000237122 +0.00603,-0.000237129 +0.006032,-0.000237137 +0.006036,-0.000237155 +0.00604,-0.000237172 +0.006044,-0.000237187 +0.006048,-0.0002372 +0.00605,-0.000237205 +0.006052,-0.00023721 +0.006056,-0.00023722 +0.00606,-0.000237231 +0.006064,-0.000237243 +0.006068,-0.000237258 +0.00607,-0.000237267 +0.006072,-0.000237276 +0.006076,-0.000237295 +0.00608,-0.000237316 +0.006084,-0.000237336 +0.006088,-0.000237355 +0.00609,-0.000237364 +0.006092,-0.000237373 +0.006096,-0.000237389 +0.006096,-0.000237389 +0.0061,-0.000237404 +0.006104,-0.000237419 +0.006108,-0.000237434 +0.00611,-0.000237441 +0.006112,-0.000237449 +0.006112,-0.000237449 +0.006116,-0.000237466 +0.00612,-0.000237484 +0.006124,-0.000237504 +0.006128,-0.000237524 +0.00613,-0.000237534 +0.006132,-0.000237544 +0.006136,-0.000237564 +0.00614,-0.000237582 +0.00614,-0.000237582 +0.006144,-0.000237597 +0.006144,-0.000237597 +0.006148,-0.00023761 +0.00615,-0.000237615 +0.006152,-0.000237619 +0.006156,-0.000237623 +0.00616,-0.000237623 +0.006164,-0.00023762 +0.006168,-0.000237614 +0.00617,-0.000237611 +0.006172,-0.000237609 +0.006176,-0.000237607 +0.00618,-0.000237607 +0.006184,-0.000237607 +0.006184,-0.000237607 +0.006188,-0.000237604 +0.00619,-0.000237601 +0.006192,-0.000237597 +0.006196,-0.000237587 +0.0062,-0.000237576 +0.006204,-0.000237565 +0.006208,-0.000237556 +0.00621,-0.000237552 +0.006212,-0.000237549 +0.006216,-0.000237542 +0.006216,-0.000237542 +0.00622,-0.000237533 +0.00622,-0.000237533 +0.006224,-0.000237521 +0.006228,-0.000237506 +0.006228,-0.000237506 +0.00623,-0.000237497 +0.006232,-0.000237488 +0.006236,-0.00023747 +0.00624,-0.000237452 +0.006244,-0.000237434 +0.006248,-0.000237419 +0.00625,-0.000237411 +0.006252,-0.000237404 +0.006256,-0.00023739 +0.00626,-0.000237375 +0.006264,-0.000237359 +0.006268,-0.000237341 +0.006268,-0.000237341 +0.00627,-0.000237332 +0.006272,-0.000237323 +0.006276,-0.000237303 +0.00628,-0.000237284 +0.00628,-0.000237284 +0.006284,-0.000237265 +0.006288,-0.000237247 +0.00629,-0.000237239 +0.006292,-0.000237231 +0.006296,-0.000237218 +0.0063,-0.000237206 +0.006304,-0.000237196 +0.006308,-0.000237188 +0.00631,-0.000237184 +0.006312,-0.00023718 +0.006316,-0.000237174 +0.00632,-0.000237167 +0.006324,-0.000237161 +0.006328,-0.000237154 +0.00633,-0.000237151 +0.006332,-0.000237148 +0.006332,-0.000237148 +0.006336,-0.000237143 +0.00634,-0.000237138 +0.006344,-0.000237135 +0.006348,-0.000237134 +0.00635,-0.000237135 +0.006352,-0.000237136 +0.006352,-0.000237136 +0.006356,-0.000237139 +0.006356,-0.000237139 +0.00636,-0.000237143 +0.006364,-0.000237146 +0.006368,-0.000237148 +0.00637,-0.000237149 +0.006372,-0.000237149 +0.006376,-0.000237151 +0.00638,-0.000237154 +0.006384,-0.000237159 +0.006388,-0.000237167 +0.00639,-0.000237171 +0.006392,-0.000237175 +0.006396,-0.000237183 +0.0064,-0.000237191 +0.006404,-0.000237198 +0.006408,-0.000237205 +0.00641,-0.000237209 +0.006412,-0.000237214 +0.006416,-0.000237224 +0.00642,-0.000237237 +0.006424,-0.000237252 +0.006424,-0.000237252 +0.006428,-0.000237267 +0.00643,-0.000237275 +0.006432,-0.000237283 +0.006432,-0.000237283 +0.006436,-0.000237299 +0.00644,-0.000237315 +0.006444,-0.00023733 +0.006448,-0.000237346 +0.00645,-0.000237354 +0.006452,-0.000237363 +0.006456,-0.00023738 +0.006456,-0.00023738 +0.00646,-0.000237399 +0.006464,-0.000237418 +0.006464,-0.000237418 +0.006468,-0.000237438 +0.006468,-0.000237438 +0.00647,-0.000237448 +0.006472,-0.000237458 +0.006476,-0.000237478 +0.00648,-0.000237496 +0.006484,-0.000237513 +0.006488,-0.000237529 +0.00649,-0.000237536 +0.006492,-0.000237542 +0.006496,-0.000237553 +0.0065,-0.000237563 +0.006504,-0.00023757 +0.006504,-0.00023757 +0.006508,-0.000237576 +0.006508,-0.000237576 +0.00651,-0.000237578 +0.006512,-0.00023758 +0.006516,-0.000237583 +0.00652,-0.000237584 +0.006524,-0.000237584 +0.006528,-0.000237583 +0.00653,-0.000237582 +0.006532,-0.000237581 +0.006536,-0.000237578 +0.00654,-0.000237576 +0.006544,-0.000237575 +0.006544,-0.000237575 +0.006548,-0.000237574 +0.006548,-0.000237574 +0.00655,-0.000237573 +0.006552,-0.000237572 +0.006556,-0.000237568 +0.00656,-0.000237564 +0.006564,-0.000237558 +0.006568,-0.000237553 +0.00657,-0.00023755 +0.006572,-0.000237548 +0.006576,-0.000237543 +0.00658,-0.000237538 +0.00658,-0.000237538 +0.006584,-0.000237533 +0.006588,-0.000237526 +0.00659,-0.000237523 +0.006592,-0.000237518 +0.006596,-0.00023751 +0.006596,-0.00023751 +0.0066,-0.0002375 +0.006604,-0.00023749 +0.006604,-0.00023749 +0.006608,-0.00023748 +0.00661,-0.000237475 +0.006612,-0.00023747 +0.006616,-0.00023746 +0.00662,-0.00023745 +0.006624,-0.000237438 +0.006628,-0.000237425 +0.00663,-0.000237418 +0.006632,-0.000237411 +0.006636,-0.000237396 +0.00664,-0.00023738 +0.006644,-0.000237364 +0.006648,-0.000237348 +0.00665,-0.00023734 +0.006652,-0.000237331 +0.006656,-0.000237315 +0.00666,-0.000237299 +0.006664,-0.000237283 +0.006668,-0.000237267 +0.006668,-0.000237267 +0.00667,-0.000237259 +0.006672,-0.000237251 +0.006672,-0.000237251 +0.006676,-0.000237235 +0.00668,-0.00023722 +0.006684,-0.000237205 +0.006688,-0.000237192 +0.00669,-0.000237185 +0.006692,-0.000237179 +0.006696,-0.000237168 +0.0067,-0.000237159 +0.006704,-0.000237153 +0.006704,-0.000237153 +0.006708,-0.000237148 +0.006708,-0.000237148 +0.00671,-0.000237147 +0.006712,-0.000237146 +0.006716,-0.000237147 +0.00672,-0.00023715 +0.006724,-0.000237153 +0.006728,-0.000237156 +0.00673,-0.000237157 +0.006732,-0.000237158 +0.006736,-0.000237159 +0.00674,-0.000237159 +0.006744,-0.000237162 +0.006744,-0.000237162 +0.006748,-0.000237167 +0.00675,-0.00023717 +0.006752,-0.000237173 +0.006752,-0.000237173 +0.006756,-0.00023718 +0.00676,-0.000237187 +0.00676,-0.000237187 +0.006764,-0.000237194 +0.006768,-0.000237199 +0.006768,-0.000237199 +0.00677,-0.000237201 +0.006772,-0.000237203 +0.006772,-0.000237203 +0.006776,-0.000237209 +0.00678,-0.000237216 +0.006784,-0.000237225 +0.006788,-0.000237236 +0.00679,-0.000237241 +0.006792,-0.000237247 +0.006796,-0.000237258 +0.0068,-0.000237268 +0.006804,-0.000237277 +0.006808,-0.000237286 +0.00681,-0.000237291 +0.006812,-0.000237295 +0.006816,-0.000237305 +0.00682,-0.000237316 +0.006824,-0.000237329 +0.006828,-0.000237342 +0.00683,-0.000237349 +0.006832,-0.000237357 +0.006836,-0.000237371 +0.00684,-0.000237385 +0.006844,-0.000237399 +0.006848,-0.000237412 +0.00685,-0.000237418 +0.006852,-0.000237424 +0.006852,-0.000237424 +0.006856,-0.000237436 +0.006856,-0.000237436 +0.00686,-0.000237447 +0.006864,-0.000237459 +0.006868,-0.000237471 +0.00687,-0.000237477 +0.006872,-0.000237483 +0.006876,-0.000237495 +0.00688,-0.000237507 +0.006884,-0.000237518 +0.006888,-0.000237528 +0.00689,-0.000237532 +0.006892,-0.000237536 +0.006896,-0.000237542 +0.006896,-0.000237542 +0.0069,-0.000237547 +0.0069,-0.000237547 +0.006904,-0.000237549 +0.006908,-0.000237549 +0.00691,-0.000237548 +0.006912,-0.000237547 +0.006916,-0.000237544 +0.00692,-0.000237541 +0.006924,-0.000237539 +0.006928,-0.000237538 +0.006928,-0.000237538 +0.00693,-0.000237538 +0.006932,-0.000237537 +0.006936,-0.000237535 +0.006936,-0.000237535 +0.00694,-0.000237531 +0.006944,-0.000237525 +0.006948,-0.000237518 +0.00695,-0.000237514 +0.006952,-0.000237511 +0.006956,-0.000237504 +0.00696,-0.000237498 +0.006964,-0.000237493 +0.006968,-0.000237486 +0.00697,-0.000237483 +0.006972,-0.000237479 +0.006976,-0.00023747 +0.00698,-0.00023746 +0.006984,-0.000237448 +0.006988,-0.000237437 +0.00699,-0.000237431 +0.006992,-0.000237425 +0.006996,-0.000237415 +0.007,-0.000237404 +0.007004,-0.000237395 +0.007008,-0.000237384 +0.00701,-0.000237379 +0.007012,-0.000237374 +0.007016,-0.000237362 +0.00702,-0.00023735 +0.007024,-0.000237336 +0.007028,-0.000237323 +0.00703,-0.000237316 +0.007032,-0.00023731 +0.007032,-0.00023731 +0.007036,-0.000237297 +0.00704,-0.000237286 +0.007044,-0.000237275 +0.007048,-0.000237265 +0.00705,-0.000237261 +0.007052,-0.000237256 +0.007056,-0.000237248 +0.00706,-0.00023724 +0.007064,-0.000237232 +0.007068,-0.000237224 +0.00707,-0.00023722 +0.007072,-0.000237216 +0.007076,-0.000237209 +0.00708,-0.000237202 +0.007084,-0.000237197 +0.007088,-0.000237193 +0.00709,-0.000237191 +0.007092,-0.00023719 +0.007096,-0.000237189 +0.0071,-0.00023719 +0.007104,-0.000237193 +0.007104,-0.000237193 +0.007108,-0.000237195 +0.00711,-0.000237197 +0.007112,-0.000237198 +0.007116,-0.000237199 +0.00712,-0.0002372 +0.007124,-0.000237201 +0.007124,-0.000237201 +0.007128,-0.000237203 +0.00713,-0.000237205 +0.007132,-0.000237208 +0.007136,-0.000237213 +0.00714,-0.00023722 +0.007144,-0.000237226 +0.007148,-0.000237232 +0.00715,-0.000237235 +0.007152,-0.000237238 +0.007156,-0.000237243 +0.007156,-0.000237243 +0.00716,-0.000237249 +0.00716,-0.000237249 +0.007164,-0.000237257 +0.007168,-0.000237265 +0.00717,-0.00023727 +0.007172,-0.000237275 +0.007176,-0.000237286 +0.007176,-0.000237286 +0.00718,-0.000237297 +0.007184,-0.000237309 +0.007188,-0.000237319 +0.007188,-0.000237319 +0.00719,-0.000237324 +0.007192,-0.000237329 +0.007196,-0.00023734 +0.0072,-0.00023735 +0.007204,-0.000237361 +0.007208,-0.000237373 +0.00721,-0.000237379 +0.007212,-0.000237385 +0.007212,-0.000237385 +0.007216,-0.000237398 +0.007216,-0.000237398 +0.00722,-0.000237411 +0.007224,-0.000237424 +0.007228,-0.000237436 +0.007228,-0.000237436 +0.00723,-0.000237442 +0.007232,-0.000237447 +0.007232,-0.000237447 +0.007236,-0.000237457 +0.007236,-0.000237457 +0.00724,-0.000237467 +0.007244,-0.000237475 +0.007248,-0.000237482 +0.00725,-0.000237485 +0.007252,-0.000237489 +0.007252,-0.000237489 +0.007256,-0.000237495 +0.00726,-0.000237501 +0.007264,-0.000237506 +0.007268,-0.000237511 +0.00727,-0.000237513 +0.007272,-0.000237515 +0.007276,-0.000237518 +0.00728,-0.000237519 +0.007284,-0.000237519 +0.007284,-0.000237519 +0.007288,-0.000237517 +0.00729,-0.000237516 +0.007292,-0.000237515 +0.007296,-0.000237513 +0.0073,-0.00023751 +0.007304,-0.000237509 +0.007308,-0.000237508 +0.00731,-0.000237507 +0.007312,-0.000237507 +0.007316,-0.000237504 +0.00732,-0.0002375 +0.007324,-0.000237495 +0.007328,-0.000237489 +0.007328,-0.000237489 +0.00733,-0.000237486 +0.007332,-0.000237483 +0.007336,-0.000237478 +0.007336,-0.000237478 +0.00734,-0.000237473 +0.007344,-0.000237468 +0.007344,-0.000237468 +0.007348,-0.000237462 +0.007348,-0.000237462 +0.00735,-0.000237459 +0.007352,-0.000237456 +0.007356,-0.000237448 +0.00736,-0.000237439 +0.007364,-0.00023743 +0.007364,-0.00023743 +0.007368,-0.00023742 +0.00737,-0.000237415 +0.007372,-0.00023741 +0.007376,-0.000237401 +0.007376,-0.000237401 +0.00738,-0.000237392 +0.00738,-0.000237392 +0.007384,-0.000237382 +0.007384,-0.000237382 +0.007388,-0.000237373 +0.007388,-0.000237373 +0.00739,-0.000237368 +0.007392,-0.000237363 +0.007396,-0.000237352 +0.007396,-0.000237352 +0.0074,-0.00023734 +0.0074,-0.00023734 +0.007404,-0.000237328 +0.007408,-0.000237316 +0.007408,-0.000237316 +0.00741,-0.00023731 +0.007412,-0.000237304 +0.007416,-0.000237292 +0.00742,-0.000237281 +0.007424,-0.000237271 +0.007428,-0.000237262 +0.00743,-0.000237258 +0.007432,-0.000237254 +0.007436,-0.000237246 +0.00744,-0.000237239 +0.00744,-0.000237239 +0.007444,-0.000237232 +0.007448,-0.000237225 +0.00745,-0.000237222 +0.007452,-0.00023722 +0.007456,-0.000237215 +0.00746,-0.000237211 +0.00746,-0.000237211 +0.007464,-0.000237208 +0.007468,-0.000237207 +0.00747,-0.000237207 +0.007472,-0.000237207 +0.007472,-0.000237207 +0.007476,-0.000237209 +0.00748,-0.000237211 +0.00748,-0.000237211 +0.007484,-0.000237214 +0.007484,-0.000237214 +0.007488,-0.000237216 +0.00749,-0.000237216 +0.007492,-0.000237217 +0.007496,-0.000237218 +0.0075,-0.00023722 +0.007504,-0.000237223 +0.007504,-0.000237223 +0.007508,-0.000237227 +0.00751,-0.00023723 +0.007512,-0.000237232 +0.007516,-0.000237238 +0.00752,-0.000237244 +0.007524,-0.000237249 +0.007528,-0.000237254 +0.00753,-0.000237257 +0.007532,-0.000237259 +0.007532,-0.000237259 +0.007536,-0.000237264 +0.007536,-0.000237264 +0.00754,-0.00023727 +0.00754,-0.00023727 +0.007544,-0.000237278 +0.007548,-0.000237286 +0.007548,-0.000237286 +0.00755,-0.00023729 +0.007552,-0.000237295 +0.007552,-0.000237295 +0.007556,-0.000237304 +0.00756,-0.000237313 +0.007564,-0.000237321 +0.007568,-0.00023733 +0.00757,-0.000237334 +0.007572,-0.000237338 +0.007576,-0.000237346 +0.00758,-0.000237355 +0.00758,-0.000237355 +0.007584,-0.000237364 +0.007588,-0.000237375 +0.007588,-0.000237375 +0.00759,-0.00023738 +0.007592,-0.000237386 +0.007592,-0.000237386 +0.007596,-0.000237397 +0.0076,-0.000237408 +0.007604,-0.000237418 +0.007608,-0.000237428 +0.00761,-0.000237432 +0.007612,-0.000237436 +0.007616,-0.000237445 +0.00762,-0.000237452 +0.007624,-0.000237459 +0.007624,-0.000237459 +0.007628,-0.000237466 +0.007628,-0.000237466 +0.00763,-0.00023747 +0.007632,-0.000237473 +0.007636,-0.00023748 +0.00764,-0.000237486 +0.007644,-0.000237491 +0.007644,-0.000237491 +0.007648,-0.000237496 +0.00765,-0.000237498 +0.007652,-0.000237499 +0.007656,-0.000237501 +0.007656,-0.000237501 +0.00766,-0.000237501 +0.007664,-0.0002375 +0.007668,-0.000237498 +0.007668,-0.000237498 +0.00767,-0.000237497 +0.007672,-0.000237496 +0.007676,-0.000237494 +0.007676,-0.000237494 +0.00768,-0.000237492 +0.007684,-0.000237491 +0.007688,-0.00023749 +0.00769,-0.000237489 +0.007692,-0.000237487 +0.007696,-0.000237484 +0.007696,-0.000237484 +0.0077,-0.000237479 +0.007704,-0.000237473 +0.007708,-0.000237467 +0.00771,-0.000237464 +0.007712,-0.000237461 +0.007716,-0.000237456 +0.00772,-0.000237451 +0.007724,-0.000237446 +0.007728,-0.000237441 +0.00773,-0.000237437 +0.007732,-0.000237434 +0.007732,-0.000237434 +0.007736,-0.000237426 +0.00774,-0.000237417 +0.007744,-0.000237408 +0.007748,-0.000237399 +0.007748,-0.000237399 +0.00775,-0.000237395 +0.007752,-0.000237391 +0.007752,-0.000237391 +0.007756,-0.000237383 +0.00776,-0.000237375 +0.007764,-0.000237367 +0.007764,-0.000237367 +0.007768,-0.000237359 +0.00777,-0.000237355 +0.007772,-0.000237351 +0.007776,-0.000237342 +0.00778,-0.000237332 +0.007784,-0.000237322 +0.007788,-0.000237312 +0.00779,-0.000237307 +0.007792,-0.000237302 +0.007796,-0.000237294 +0.0078,-0.000237286 +0.007804,-0.000237278 +0.007808,-0.000237272 +0.00781,-0.000237269 +0.007812,-0.000237266 +0.007812,-0.000237266 +0.007816,-0.00023726 +0.00782,-0.000237254 +0.007824,-0.000237249 +0.007828,-0.000237244 +0.007828,-0.000237244 +0.00783,-0.000237241 +0.007832,-0.000237239 +0.007836,-0.000237234 +0.00784,-0.000237231 +0.007844,-0.000237229 +0.007848,-0.000237228 +0.00785,-0.000237228 +0.007852,-0.000237229 +0.007856,-0.00023723 +0.00786,-0.000237232 +0.007864,-0.000237235 +0.007868,-0.000237236 +0.00787,-0.000237237 +0.007872,-0.000237237 +0.007876,-0.000237239 +0.00788,-0.00023724 +0.007884,-0.000237243 +0.007888,-0.000237247 +0.00789,-0.00023725 +0.007892,-0.000237252 +0.007896,-0.000237258 +0.0079,-0.000237263 +0.007904,-0.000237269 +0.007908,-0.000237273 +0.00791,-0.000237276 +0.007912,-0.000237278 +0.007916,-0.000237283 +0.00792,-0.00023729 +0.007924,-0.000237297 +0.007928,-0.000237305 +0.00793,-0.000237309 +0.007932,-0.000237313 +0.007936,-0.000237322 +0.00794,-0.000237331 +0.00794,-0.000237331 +0.007944,-0.000237339 +0.007944,-0.000237339 +0.007948,-0.000237347 +0.007948,-0.000237347 +0.00795,-0.00023735 +0.007952,-0.000237354 +0.007956,-0.000237362 +0.00796,-0.00023737 +0.007964,-0.000237378 +0.007968,-0.000237387 +0.00797,-0.000237392 +0.007972,-0.000237397 +0.007976,-0.000237406 +0.00798,-0.000237415 +0.007984,-0.000237424 +0.007988,-0.000237432 +0.00799,-0.000237435 +0.007992,-0.000237439 +0.007996,-0.000237445 +0.008,-0.00023745 +0.008004,-0.000237455 +0.008004,-0.000237455 +0.008008,-0.00023746 +0.00801,-0.000237462 +0.008012,-0.000237465 +0.008016,-0.000237469 +0.00802,-0.000237473 +0.008024,-0.000237476 +0.008028,-0.000237479 +0.00803,-0.00023748 +0.008032,-0.000237481 +0.008032,-0.000237481 +0.008036,-0.000237482 +0.00804,-0.000237481 +0.008044,-0.00023748 +0.008048,-0.000237478 +0.00805,-0.000237477 +0.008052,-0.000237476 +0.008056,-0.000237474 +0.00806,-0.000237473 +0.008064,-0.000237472 +0.008068,-0.00023747 +0.00807,-0.000237469 +0.008072,-0.000237467 +0.008072,-0.000237467 +0.008076,-0.000237464 +0.008076,-0.000237464 +0.00808,-0.000237459 +0.00808,-0.000237459 +0.008084,-0.000237454 +0.008088,-0.000237449 +0.00809,-0.000237447 +0.008092,-0.000237444 +0.008096,-0.000237439 +0.0081,-0.000237435 +0.008104,-0.00023743 +0.008108,-0.000237425 +0.00811,-0.000237422 +0.008112,-0.000237418 +0.008116,-0.000237411 +0.00812,-0.000237403 +0.008124,-0.000237395 +0.008128,-0.000237387 +0.00813,-0.000237383 +0.008132,-0.000237379 +0.008136,-0.000237372 +0.00814,-0.000237364 +0.008144,-0.000237357 +0.008148,-0.00023735 +0.00815,-0.000237346 +0.008152,-0.000237342 +0.008156,-0.000237333 +0.00816,-0.000237325 +0.008164,-0.000237316 +0.008168,-0.000237307 +0.00817,-0.000237303 +0.008172,-0.000237299 +0.008176,-0.000237291 +0.00818,-0.000237284 +0.008184,-0.000237278 +0.008184,-0.000237278 +0.008188,-0.000237273 +0.008188,-0.000237273 +0.00819,-0.00023727 +0.008192,-0.000237268 +0.008196,-0.000237263 +0.0082,-0.000237259 +0.008204,-0.000237255 +0.008208,-0.000237251 +0.008208,-0.000237251 +0.00821,-0.000237249 +0.008212,-0.000237248 +0.008216,-0.000237245 +0.00822,-0.000237244 +0.00822,-0.000237244 +0.008224,-0.000237243 +0.008228,-0.000237243 +0.00823,-0.000237244 +0.008232,-0.000237245 +0.008236,-0.000237247 +0.00824,-0.000237249 +0.008244,-0.000237251 +0.008244,-0.000237251 +0.008248,-0.000237252 +0.00825,-0.000237253 +0.008252,-0.000237253 +0.008256,-0.000237255 +0.00826,-0.000237257 +0.008264,-0.000237261 +0.008264,-0.000237261 +0.008268,-0.000237265 +0.008268,-0.000237265 +0.00827,-0.000237268 +0.008272,-0.00023727 +0.008276,-0.000237275 +0.00828,-0.00023728 +0.008284,-0.000237284 +0.008288,-0.000237288 +0.00829,-0.000237291 +0.008292,-0.000237293 +0.008296,-0.000237298 +0.0083,-0.000237304 +0.008304,-0.000237311 +0.008308,-0.000237318 +0.00831,-0.000237322 +0.008312,-0.000237325 +0.008316,-0.000237333 +0.00832,-0.00023734 +0.008324,-0.000237347 +0.008328,-0.000237354 +0.00833,-0.000237357 +0.008332,-0.000237361 +0.008336,-0.000237368 +0.00834,-0.000237375 +0.008344,-0.000237383 +0.008348,-0.000237391 +0.00835,-0.000237395 +0.008352,-0.000237399 +0.008356,-0.000237407 +0.00836,-0.000237415 +0.008364,-0.000237422 +0.008368,-0.000237428 +0.00837,-0.000237431 +0.008372,-0.000237434 +0.008372,-0.000237434 +0.008376,-0.000237439 +0.008376,-0.000237439 +0.00838,-0.000237444 +0.008384,-0.000237449 +0.008388,-0.000237453 +0.00839,-0.000237455 +0.008392,-0.000237457 +0.008396,-0.00023746 +0.0084,-0.000237464 +0.008404,-0.000237466 +0.008404,-0.000237466 +0.008408,-0.000237468 +0.00841,-0.000237469 +0.008412,-0.000237469 +0.008416,-0.000237469 +0.00842,-0.000237467 +0.008424,-0.000237466 +0.008428,-0.000237464 +0.00843,-0.000237463 +0.008432,-0.000237462 +0.008436,-0.000237461 +0.00844,-0.000237459 +0.008444,-0.000237458 +0.008448,-0.000237456 +0.00845,-0.000237454 +0.008452,-0.000237452 +0.008456,-0.000237448 +0.00846,-0.000237443 +0.00846,-0.000237443 +0.008464,-0.000237439 +0.008468,-0.000237434 +0.00847,-0.000237432 +0.008472,-0.000237429 +0.008476,-0.000237425 +0.00848,-0.000237421 +0.008484,-0.000237416 +0.008488,-0.000237411 +0.00849,-0.000237408 +0.008492,-0.000237404 +0.008496,-0.000237397 +0.0085,-0.00023739 +0.008504,-0.000237383 +0.008508,-0.000237376 +0.00851,-0.000237373 +0.008512,-0.000237369 +0.008516,-0.000237363 +0.00852,-0.000237357 +0.008524,-0.00023735 +0.008528,-0.000237344 +0.00853,-0.00023734 +0.008532,-0.000237337 +0.008536,-0.000237329 +0.00854,-0.000237322 +0.008544,-0.000237314 +0.008548,-0.000237307 +0.00855,-0.000237304 +0.008552,-0.0002373 +0.008556,-0.000237294 +0.008556,-0.000237294 +0.00856,-0.000237289 +0.00856,-0.000237289 +0.008564,-0.000237284 +0.008568,-0.00023728 +0.00857,-0.000237278 +0.008572,-0.000237276 +0.008576,-0.000237272 +0.00858,-0.000237268 +0.00858,-0.000237268 +0.008584,-0.000237265 +0.008588,-0.000237262 +0.00859,-0.00023726 +0.008592,-0.000237259 +0.008596,-0.000237257 +0.0086,-0.000237256 +0.0086,-0.000237256 +0.008604,-0.000237256 +0.008604,-0.000237256 +0.008608,-0.000237257 +0.00861,-0.000237258 +0.008612,-0.000237259 +0.008616,-0.000237261 +0.00862,-0.000237262 +0.008624,-0.000237264 +0.008624,-0.000237264 +0.008628,-0.000237265 +0.00863,-0.000237266 +0.008632,-0.000237266 +0.008636,-0.000237268 +0.00864,-0.000237271 +0.008644,-0.000237275 +0.008644,-0.000237275 +0.008648,-0.000237279 +0.00865,-0.000237282 +0.008652,-0.000237284 +0.008656,-0.000237289 +0.00866,-0.000237293 +0.008664,-0.000237297 +0.008668,-0.000237301 +0.00867,-0.000237304 +0.008672,-0.000237306 +0.008676,-0.000237311 +0.00868,-0.000237317 +0.008684,-0.000237323 +0.008688,-0.00023733 +0.00869,-0.000237334 +0.008692,-0.000237337 +0.008696,-0.000237344 +0.0087,-0.000237351 +0.008704,-0.000237357 +0.008708,-0.000237363 +0.00871,-0.000237366 +0.008712,-0.000237369 +0.008716,-0.000237375 +0.00872,-0.000237381 +0.008724,-0.000237388 +0.008728,-0.000237395 +0.00873,-0.000237399 +0.008732,-0.000237402 +0.008736,-0.000237409 +0.008736,-0.000237409 +0.00874,-0.000237415 +0.008744,-0.000237421 +0.008748,-0.000237426 +0.008748,-0.000237426 +0.00875,-0.000237429 +0.008752,-0.000237431 +0.008756,-0.000237435 +0.00876,-0.000237438 +0.008764,-0.000237442 +0.008768,-0.000237445 +0.00877,-0.000237447 +0.008772,-0.000237448 +0.008776,-0.000237451 +0.00878,-0.000237453 +0.00878,-0.000237453 +0.008784,-0.000237455 +0.008784,-0.000237455 +0.008788,-0.000237456 +0.00879,-0.000237456 +0.008792,-0.000237456 +0.008796,-0.000237455 +0.0088,-0.000237454 +0.008804,-0.000237452 +0.008808,-0.00023745 +0.008808,-0.00023745 +0.00881,-0.00023745 +0.008812,-0.000237449 +0.008812,-0.000237449 +0.008816,-0.000237448 +0.00882,-0.000237446 +0.008824,-0.000237445 +0.008828,-0.000237442 +0.00883,-0.000237441 +0.008832,-0.000237439 +0.008836,-0.000237435 +0.00884,-0.00023743 +0.00884,-0.00023743 +0.008844,-0.000237426 +0.008848,-0.000237422 +0.00885,-0.00023742 +0.008852,-0.000237418 +0.008856,-0.000237414 +0.00886,-0.000237409 +0.008864,-0.000237405 +0.008868,-0.000237399 +0.00887,-0.000237396 +0.008872,-0.000237393 +0.008876,-0.000237387 +0.00888,-0.00023738 +0.008884,-0.000237374 +0.008888,-0.000237367 +0.00889,-0.000237364 +0.008892,-0.000237361 +0.008896,-0.000237356 +0.0089,-0.00023735 +0.008904,-0.000237344 +0.008908,-0.000237338 +0.00891,-0.000237335 +0.008912,-0.000237332 +0.008916,-0.000237325 +0.00892,-0.000237318 +0.008924,-0.000237312 +0.008928,-0.000237306 +0.008928,-0.000237306 +0.00893,-0.000237303 +0.008932,-0.0002373 +0.008932,-0.0002373 +0.008936,-0.000237295 +0.008936,-0.000237295 +0.00894,-0.000237291 +0.008944,-0.000237287 +0.008948,-0.000237284 +0.00895,-0.000237282 +0.008952,-0.000237281 +0.008956,-0.000237278 +0.00896,-0.000237275 +0.008964,-0.000237272 +0.008968,-0.00023727 +0.008968,-0.00023727 +0.00897,-0.000237269 +0.008972,-0.000237269 +0.008976,-0.000237268 +0.00898,-0.000237268 +0.008984,-0.000237268 +0.008988,-0.00023727 +0.00899,-0.00023727 +0.008992,-0.000237271 +0.008996,-0.000237273 +0.009,-0.000237274 +0.009004,-0.000237276 +0.009004,-0.000237276 +0.009008,-0.000237277 +0.00901,-0.000237278 +0.009012,-0.000237279 +0.009016,-0.000237281 +0.00902,-0.000237284 +0.009024,-0.000237288 +0.009028,-0.000237292 +0.009028,-0.000237292 +0.00903,-0.000237294 +0.009032,-0.000237296 +0.009032,-0.000237296 +0.009036,-0.0002373 +0.00904,-0.000237304 +0.009044,-0.000237308 +0.009048,-0.000237312 +0.00905,-0.000237314 +0.009052,-0.000237316 +0.009056,-0.000237321 +0.00906,-0.000237327 +0.009064,-0.000237333 +0.009068,-0.000237339 +0.00907,-0.000237342 +0.009072,-0.000237345 +0.009076,-0.000237351 +0.00908,-0.000237357 +0.009084,-0.000237363 +0.009088,-0.000237368 +0.00909,-0.000237371 +0.009092,-0.000237373 +0.009096,-0.000237379 +0.0091,-0.000237385 +0.009104,-0.000237391 +0.009108,-0.000237397 +0.009108,-0.000237397 +0.00911,-0.0002374 +0.009112,-0.000237403 +0.009112,-0.000237403 +0.009116,-0.000237409 +0.009116,-0.000237409 +0.00912,-0.000237415 +0.009124,-0.000237419 +0.009128,-0.000237423 +0.00913,-0.000237425 +0.009132,-0.000237427 +0.009136,-0.00023743 +0.00914,-0.000237433 +0.009144,-0.000237436 +0.009144,-0.000237436 +0.009148,-0.000237439 +0.00915,-0.00023744 +0.009152,-0.000237441 +0.009156,-0.000237443 +0.009156,-0.000237443 +0.00916,-0.000237445 +0.009164,-0.000237446 +0.009164,-0.000237446 +0.009168,-0.000237446 +0.00917,-0.000237446 +0.009172,-0.000237446 +0.009176,-0.000237444 +0.00918,-0.000237443 +0.00918,-0.000237443 +0.009184,-0.000237441 +0.009188,-0.00023744 +0.00919,-0.000237439 +0.009192,-0.000237439 +0.009192,-0.000237439 +0.009196,-0.000237437 +0.0092,-0.000237436 +0.009204,-0.000237433 +0.009208,-0.000237431 +0.00921,-0.000237429 +0.009212,-0.000237427 +0.009216,-0.000237423 +0.00922,-0.000237419 +0.00922,-0.000237419 +0.009224,-0.000237415 +0.009224,-0.000237415 +0.009228,-0.000237411 +0.009228,-0.000237411 +0.00923,-0.000237409 +0.009232,-0.000237407 +0.009236,-0.000237404 +0.00924,-0.000237399 +0.009244,-0.000237395 +0.009248,-0.00023739 +0.00925,-0.000237387 +0.009252,-0.000237384 +0.009256,-0.000237378 +0.00926,-0.000237372 +0.009264,-0.000237367 +0.009268,-0.000237361 +0.00927,-0.000237358 +0.009272,-0.000237356 +0.009276,-0.000237351 +0.00928,-0.000237346 +0.009284,-0.00023734 +0.009288,-0.000237335 +0.009288,-0.000237335 +0.00929,-0.000237332 +0.009292,-0.000237329 +0.009296,-0.000237323 +0.009296,-0.000237323 +0.0093,-0.000237318 +0.0093,-0.000237318 +0.009304,-0.000237312 +0.009304,-0.000237312 +0.009308,-0.000237307 +0.009308,-0.000237307 +0.00931,-0.000237305 +0.009312,-0.000237303 +0.009316,-0.000237299 +0.00932,-0.000237295 +0.009324,-0.000237292 +0.009328,-0.000237289 +0.009328,-0.000237289 +0.00933,-0.000237288 +0.009332,-0.000237287 +0.009332,-0.000237287 +0.009336,-0.000237284 +0.00934,-0.000237282 +0.009344,-0.00023728 +0.009348,-0.000237278 +0.00935,-0.000237278 +0.009352,-0.000237277 +0.009356,-0.000237277 +0.00936,-0.000237277 +0.009364,-0.000237278 +0.009368,-0.00023728 +0.00937,-0.000237281 +0.009372,-0.000237281 +0.009376,-0.000237283 +0.00938,-0.000237284 +0.00938,-0.000237284 +0.009384,-0.000237285 +0.009388,-0.000237287 +0.00939,-0.000237288 +0.009392,-0.000237289 +0.009396,-0.000237292 +0.0094,-0.000237295 +0.009404,-0.000237299 +0.009408,-0.000237302 +0.009408,-0.000237302 +0.00941,-0.000237304 +0.009412,-0.000237306 +0.009412,-0.000237306 +0.009416,-0.00023731 +0.009416,-0.00023731 +0.00942,-0.000237314 +0.00942,-0.000237314 +0.009424,-0.000237317 +0.009428,-0.000237321 +0.00943,-0.000237323 +0.009432,-0.000237326 +0.009436,-0.00023733 +0.00944,-0.000237336 +0.009444,-0.000237341 +0.009448,-0.000237347 +0.00945,-0.00023735 +0.009452,-0.000237353 +0.009456,-0.000237358 +0.00946,-0.000237363 +0.009464,-0.000237368 +0.009468,-0.000237372 +0.009468,-0.000237372 +0.00947,-0.000237375 +0.009472,-0.000237377 +0.009476,-0.000237382 +0.009476,-0.000237382 +0.00948,-0.000237388 +0.009484,-0.000237393 +0.009488,-0.000237399 +0.009488,-0.000237399 +0.00949,-0.000237401 +0.009492,-0.000237404 +0.009492,-0.000237404 +0.009496,-0.000237408 +0.0095,-0.000237413 +0.009504,-0.000237417 +0.009508,-0.00023742 +0.00951,-0.000237421 +0.009512,-0.000237423 +0.009516,-0.000237425 +0.009516,-0.000237425 +0.00952,-0.000237428 +0.00952,-0.000237428 +0.009524,-0.00023743 +0.009528,-0.000237432 +0.00953,-0.000237433 +0.009532,-0.000237434 +0.009536,-0.000237436 +0.009536,-0.000237436 +0.00954,-0.000237437 +0.009544,-0.000237437 +0.009544,-0.000237437 +0.009548,-0.000237437 +0.00955,-0.000237436 +0.009552,-0.000237436 +0.009556,-0.000237435 +0.00956,-0.000237433 +0.009564,-0.000237432 +0.009568,-0.00023743 +0.00957,-0.00023743 +0.009572,-0.000237429 +0.009572,-0.000237429 +0.009576,-0.000237428 +0.00958,-0.000237426 +0.009584,-0.000237423 +0.009588,-0.00023742 +0.00959,-0.000237419 +0.009592,-0.000237417 +0.009596,-0.000237413 +0.0096,-0.000237409 +0.0096,-0.000237409 +0.009604,-0.000237406 +0.009608,-0.000237402 +0.00961,-0.000237401 +0.009612,-0.000237399 +0.009616,-0.000237395 +0.009616,-0.000237395 +0.00962,-0.000237391 +0.009624,-0.000237387 +0.009624,-0.000237387 +0.009628,-0.000237382 +0.009628,-0.000237382 +0.00963,-0.000237379 +0.009632,-0.000237376 +0.009632,-0.000237376 +0.009636,-0.000237371 +0.009636,-0.000237371 +0.00964,-0.000237366 +0.009644,-0.000237361 +0.009648,-0.000237356 +0.009648,-0.000237356 +0.00965,-0.000237353 +0.009652,-0.000237351 +0.009656,-0.000237346 +0.00966,-0.000237342 +0.00966,-0.000237342 +0.009664,-0.000237337 +0.009664,-0.000237337 +0.009668,-0.000237332 +0.00967,-0.00023733 +0.009672,-0.000237327 +0.009676,-0.000237322 +0.009676,-0.000237322 +0.00968,-0.000237317 +0.009684,-0.000237312 +0.009688,-0.000237308 +0.00969,-0.000237306 +0.009692,-0.000237305 +0.009696,-0.000237302 +0.0097,-0.000237299 +0.009704,-0.000237296 +0.009704,-0.000237296 +0.009708,-0.000237294 +0.00971,-0.000237293 +0.009712,-0.000237292 +0.009716,-0.00023729 +0.00972,-0.000237288 +0.00972,-0.000237288 +0.009724,-0.000237287 +0.009728,-0.000237286 +0.00973,-0.000237286 +0.009732,-0.000237285 +0.009732,-0.000237285 +0.009736,-0.000237286 +0.00974,-0.000237286 +0.009744,-0.000237288 +0.009748,-0.000237289 +0.009748,-0.000237289 +0.00975,-0.00023729 +0.009752,-0.00023729 +0.009756,-0.000237292 +0.00976,-0.000237293 +0.009764,-0.000237294 +0.009768,-0.000237296 +0.00977,-0.000237297 +0.009772,-0.000237298 +0.009776,-0.000237301 +0.00978,-0.000237304 +0.009784,-0.000237308 +0.009788,-0.000237311 +0.00979,-0.000237313 +0.009792,-0.000237315 +0.009792,-0.000237315 +0.009796,-0.000237318 +0.0098,-0.000237322 +0.0098,-0.000237322 +0.009804,-0.000237325 +0.009804,-0.000237325 +0.009808,-0.000237329 +0.009808,-0.000237329 +0.00981,-0.000237331 +0.009812,-0.000237333 +0.009816,-0.000237338 +0.009816,-0.000237338 +0.00982,-0.000237343 +0.009824,-0.000237348 +0.009828,-0.000237353 +0.009828,-0.000237353 +0.00983,-0.000237355 +0.009832,-0.000237358 +0.009836,-0.000237363 +0.00984,-0.000237367 +0.00984,-0.000237367 +0.009844,-0.000237371 +0.009848,-0.000237376 +0.00985,-0.000237378 +0.009852,-0.00023738 +0.009852,-0.00023738 +0.009856,-0.000237385 +0.00986,-0.00023739 +0.009864,-0.000237394 +0.009868,-0.000237399 +0.00987,-0.000237401 +0.009872,-0.000237403 +0.009876,-0.000237407 +0.00988,-0.000237411 +0.009884,-0.000237414 +0.009888,-0.000237417 +0.009888,-0.000237417 +0.00989,-0.000237418 +0.009892,-0.000237419 +0.009892,-0.000237419 +0.009896,-0.000237421 +0.0099,-0.000237423 +0.009904,-0.000237425 +0.009908,-0.000237427 +0.00991,-0.000237427 +0.009912,-0.000237428 +0.009916,-0.000237429 +0.00992,-0.000237429 +0.009924,-0.000237429 +0.009928,-0.000237428 +0.009928,-0.000237428 +0.00993,-0.000237428 +0.009932,-0.000237427 +0.009936,-0.000237426 +0.00994,-0.000237425 +0.009944,-0.000237423 +0.009948,-0.000237422 +0.00995,-0.000237422 +0.009952,-0.000237421 +0.009956,-0.000237419 +0.00996,-0.000237417 +0.009964,-0.000237415 +0.009968,-0.000237411 +0.00997,-0.00023741 +0.009972,-0.000237408 +0.009976,-0.000237405 +0.00998,-0.000237401 +0.009984,-0.000237398 +0.009984,-0.000237398 +0.009988,-0.000237395 +0.009988,-0.000237395 +0.00999,-0.000237393 +0.009992,-0.000237391 +0.009992,-0.000237391 +0.009996,-0.000237388 +0.01,-0.000237384 +0.01001,-0.000237372 +0.01002,-0.000237361 +0.01003,-0.00023735 +0.01004,-0.000237339 +0.01005,-0.000237328 +0.01006,-0.000237317 +0.01007,-0.000237309 +0.01008,-0.000237303 +0.01009,-0.000237298 +0.0101,-0.000237294 +0.01011,-0.000237293 +0.01012,-0.000237294 +0.01013,-0.000237298 +0.01014,-0.000237301 +0.01015,-0.000237305 +0.01016,-0.000237313 +0.01017,-0.000237321 +0.01018,-0.000237329 +0.01019,-0.000237338 +0.0102,-0.000237349 +0.01021,-0.00023736 +0.01022,-0.00023737 +0.01023,-0.00023738 +0.01024,-0.000237391 +0.01025,-0.000237401 +0.01026,-0.000237408 +0.01027,-0.000237414 +0.01028,-0.000237418 +0.01029,-0.000237421 +0.0103,-0.000237422 +0.01031,-0.00023742 +0.01032,-0.000237417 +0.01033,-0.000237414 +0.01034,-0.000237409 +0.01035,-0.000237402 +0.01036,-0.000237394 +0.01037,-0.000237387 +0.01038,-0.000237378 +0.01039,-0.000237367 +0.0104,-0.000237356 +0.01041,-0.000237347 +0.01042,-0.000237337 +0.01043,-0.000237327 +0.01044,-0.000237318 +0.01045,-0.000237311 +0.01046,-0.000237306 +0.01047,-0.000237302 +0.01048,-0.0002373 +0.01049,-0.000237299 +0.0105,-0.000237302 +0.01051,-0.000237304 +0.01052,-0.000237308 +0.01053,-0.000237313 +0.01054,-0.00023732 +0.01055,-0.000237327 +0.01056,-0.000237335 +0.01057,-0.000237344 +0.01058,-0.000237354 +0.01059,-0.000237364 +0.0106,-0.000237373 +0.01061,-0.000237382 +0.01062,-0.000237391 +0.01063,-0.0002374 +0.01064,-0.000237406 +0.01065,-0.00023741 +0.01066,-0.000237414 +0.01067,-0.000237416 +0.01068,-0.000237416 +0.01069,-0.000237414 +0.0107,-0.000237411 +0.01071,-0.000237408 +0.01072,-0.000237402 +0.01073,-0.000237395 +0.01074,-0.000237388 +0.01075,-0.000237381 +0.01076,-0.000237372 +0.01077,-0.000237362 +0.01078,-0.000237353 +0.01079,-0.000237345 +0.0108,-0.000237336 +0.01081,-0.000237327 +0.01082,-0.00023732 +0.01083,-0.000237314 +0.01084,-0.00023731 +0.01085,-0.000237307 +0.01086,-0.000237305 +0.01087,-0.000237305 +0.01088,-0.000237308 +0.01089,-0.000237311 +0.0109,-0.000237314 +0.01091,-0.000237319 +0.01092,-0.000237326 +0.01093,-0.000237333 +0.01094,-0.00023734 +0.01095,-0.000237349 +0.01096,-0.000237358 +0.01097,-0.000237367 +0.01098,-0.000237375 +0.01099,-0.000237383 +0.011,-0.000237391 +0.01101,-0.000237398 +0.01102,-0.000237403 +0.01103,-0.000237407 +0.01104,-0.00023741 +0.01105,-0.000237411 +0.01106,-0.00023741 +0.01107,-0.000237408 +0.01108,-0.000237405 +0.01109,-0.000237402 +0.0111,-0.000237396 +0.01111,-0.00023739 +0.01112,-0.000237383 +0.01113,-0.000237376 +0.01114,-0.000237368 +0.01115,-0.000237359 +0.01116,-0.000237351 +0.01117,-0.000237343 +0.01118,-0.000237335 +0.01119,-0.000237327 +0.0112,-0.000237321 +0.01121,-0.000237317 +0.01122,-0.000237313 +0.01123,-0.000237311 +0.01124,-0.00023731 +0.01125,-0.000237311 +0.01126,-0.000237313 +0.01127,-0.000237316 +0.01128,-0.00023732 +0.01129,-0.000237325 +0.0113,-0.000237331 +0.01131,-0.000237338 +0.01132,-0.000237345 +0.01133,-0.000237353 +0.01134,-0.000237361 +0.01135,-0.000237369 +0.01136,-0.000237376 +0.01137,-0.000237384 +0.01138,-0.000237391 +0.01139,-0.000237396 +0.0114,-0.0002374 +0.01141,-0.000237403 +0.01142,-0.000237406 +0.01143,-0.000237406 +0.01144,-0.000237405 +0.01145,-0.000237402 +0.01146,-0.0002374 +0.01147,-0.000237396 +0.01148,-0.000237391 +0.01149,-0.000237385 +0.0115,-0.000237378 +0.01151,-0.000237372 +0.01152,-0.000237364 +0.01153,-0.000237356 +0.01154,-0.000237349 +0.01155,-0.000237342 +0.01156,-0.000237335 +0.01157,-0.000237328 +0.01158,-0.000237323 +0.01159,-0.000237319 +0.0116,-0.000237317 +0.01161,-0.000237315 +0.01162,-0.000237314 +0.01163,-0.000237316 +0.01164,-0.000237318 +0.01165,-0.000237321 +0.01166,-0.000237325 +0.01167,-0.00023733 +0.01168,-0.000237336 +0.01169,-0.000237342 +0.0117,-0.000237349 +0.01171,-0.000237356 +0.01172,-0.000237364 +0.01173,-0.000237371 +0.01174,-0.000237377 +0.01175,-0.000237384 +0.01176,-0.00023739 +0.01177,-0.000237395 +0.01178,-0.000237398 +0.01179,-0.0002374 +0.0118,-0.000237402 +0.01181,-0.000237402 +0.01182,-0.0002374 +0.01183,-0.000237398 +0.01184,-0.000237395 +0.01185,-0.000237391 +0.01186,-0.000237386 +0.01187,-0.00023738 +0.01188,-0.000237375 +0.01189,-0.000237368 +0.0119,-0.000237361 +0.01191,-0.000237354 +0.01192,-0.000237347 +0.01193,-0.000237341 +0.01194,-0.000237335 +0.01195,-0.000237329 +0.01196,-0.000237325 +0.01197,-0.000237322 +0.01198,-0.00023732 +0.01199,-0.000237318 +0.012,-0.000237319 +0.01201,-0.000237321 +0.01202,-0.000237323 +0.01203,-0.000237326 +0.01204,-0.00023733 +0.01205,-0.000237335 +0.01206,-0.00023734 +0.01207,-0.000237346 +0.01208,-0.000237352 +0.01209,-0.000237359 +0.0121,-0.000237366 +0.01211,-0.000237372 +0.01212,-0.000237378 +0.01213,-0.000237384 +0.01214,-0.000237389 +0.01215,-0.000237393 +0.01216,-0.000237395 +0.01217,-0.000237397 +0.01218,-0.000237398 +0.01219,-0.000237398 +0.0122,-0.000237396 +0.01221,-0.000237394 +0.01222,-0.000237391 +0.01223,-0.000237387 +0.01224,-0.000237382 +0.01225,-0.000237376 +0.01226,-0.000237371 +0.01227,-0.000237365 +0.01228,-0.000237358 +0.01229,-0.000237352 +0.0123,-0.000237346 +0.01231,-0.00023734 +0.01232,-0.000237335 +0.01233,-0.00023733 +0.01234,-0.000237327 +0.01235,-0.000237324 +0.01236,-0.000237323 +0.01237,-0.000237322 +0.01238,-0.000237323 +0.01239,-0.000237325 +0.0124,-0.000237327 +0.01241,-0.00023733 +0.01242,-0.000237334 +0.01243,-0.000237339 +0.01244,-0.000237344 +0.01245,-0.000237349 +0.01246,-0.000237355 +0.01247,-0.000237361 +0.01248,-0.000237367 +0.01249,-0.000237373 +0.0125,-0.000237378 +0.01251,-0.000237383 +0.01252,-0.000237388 +0.01253,-0.000237391 +0.01254,-0.000237393 +0.01255,-0.000237394 +0.01256,-0.000237395 +0.01257,-0.000237394 +0.01258,-0.000237392 +0.01259,-0.00023739 +0.0126,-0.000237387 +0.01261,-0.000237383 +0.01262,-0.000237378 +0.01263,-0.000237373 +0.01264,-0.000237368 +0.01265,-0.000237362 +0.01266,-0.000237356 +0.01267,-0.000237351 +0.01268,-0.000237345 +0.01269,-0.00023734 +0.0127,-0.000237335 +0.01271,-0.000237331 +0.01272,-0.000237329 +0.01273,-0.000237327 +0.01274,-0.000237326 +0.01275,-0.000237325 +0.01276,-0.000237326 +0.01277,-0.000237328 +0.01278,-0.00023733 +0.01279,-0.000237333 +0.0128,-0.000237338 +0.01281,-0.000237342 +0.01282,-0.000237347 +0.01283,-0.000237352 +0.01284,-0.000237357 +0.01285,-0.000237363 +0.01286,-0.000237368 +0.01287,-0.000237373 +0.01288,-0.000237378 +0.01289,-0.000237383 +0.0129,-0.000237386 +0.01291,-0.000237389 +0.01292,-0.00023739 +0.01293,-0.000237392 +0.01294,-0.000237391 +0.01295,-0.00023739 +0.01296,-0.000237388 +0.01297,-0.000237386 +0.01298,-0.000237383 +0.01299,-0.000237379 +0.013,-0.000237375 +0.01301,-0.00023737 +0.01302,-0.000237365 +0.01303,-0.00023736 +0.01304,-0.000237354 +0.01305,-0.000237349 +0.01306,-0.000237345 +0.01307,-0.00023734 +0.01308,-0.000237336 +0.01309,-0.000237333 +0.0131,-0.000237331 +0.01311,-0.000237329 +0.01312,-0.000237328 +0.01313,-0.000237328 +0.01314,-0.00023733 +0.01315,-0.000237332 +0.01316,-0.000237334 +0.01317,-0.000237337 +0.01318,-0.000237341 +0.01319,-0.000237345 +0.0132,-0.000237349 +0.01321,-0.000237354 +0.01322,-0.00023736 +0.01323,-0.000237365 +0.01324,-0.000237369 +0.01325,-0.000237374 +0.01326,-0.000237378 +0.01327,-0.000237382 +0.01328,-0.000237385 +0.01329,-0.000237387 +0.0133,-0.000237388 +0.01331,-0.000237389 +0.01332,-0.000237388 +0.01333,-0.000237387 +0.01334,-0.000237385 +0.01335,-0.000237383 +0.01336,-0.00023738 +0.01337,-0.000237376 +0.01338,-0.000237372 +0.01339,-0.000237368 +0.0134,-0.000237363 +0.01341,-0.000237358 +0.01342,-0.000237353 +0.01343,-0.000237349 +0.01344,-0.000237345 +0.01345,-0.00023734 +0.01346,-0.000237337 +0.01347,-0.000237334 +0.01348,-0.000237333 +0.01349,-0.000237331 +0.0135,-0.000237331 +0.01351,-0.000237331 +0.01352,-0.000237333 +0.01353,-0.000237335 +0.01354,-0.000237337 +0.01355,-0.00023734 +0.01356,-0.000237344 +0.01357,-0.000237348 +0.01358,-0.000237352 +0.01359,-0.000237356 +0.0136,-0.000237361 +0.01361,-0.000237366 +0.01362,-0.00023737 +0.01363,-0.000237374 +0.01364,-0.000237378 +0.01365,-0.000237381 +0.01366,-0.000237383 +0.01367,-0.000237385 +0.01368,-0.000237386 +0.01369,-0.000237386 +0.0137,-0.000237386 +0.01371,-0.000237384 +0.01372,-0.000237382 +0.01373,-0.00023738 +0.01374,-0.000237377 +0.01375,-0.000237373 +0.01376,-0.000237369 +0.01377,-0.000237366 +0.01378,-0.000237361 +0.01379,-0.000237356 +0.0138,-0.000237352 +0.01381,-0.000237348 +0.01382,-0.000237344 +0.01383,-0.000237341 +0.01384,-0.000237338 +0.01385,-0.000237336 +0.01386,-0.000237334 +0.01387,-0.000237333 +0.01388,-0.000237333 +0.01389,-0.000237334 +0.0139,-0.000237336 +0.01391,-0.000237337 +0.01392,-0.00023734 +0.01393,-0.000237343 +0.01394,-0.000237346 +0.01395,-0.00023735 +0.01396,-0.000237354 +0.01397,-0.000237358 +0.01398,-0.000237363 +0.01399,-0.000237367 +0.014,-0.00023737 +0.01401,-0.000237374 +0.01402,-0.000237377 +0.01403,-0.00023738 +0.01404,-0.000237382 +0.01405,-0.000237383 +0.01406,-0.000237384 +0.01407,-0.000237384 +0.01408,-0.000237383 +0.01409,-0.000237382 +0.0141,-0.00023738 +0.01411,-0.000237377 +0.01412,-0.000237374 +0.01413,-0.000237371 +0.01414,-0.000237367 +0.01415,-0.000237364 +0.01416,-0.000237359 +0.01417,-0.000237355 +0.01418,-0.000237351 +0.01419,-0.000237348 +0.0142,-0.000237344 +0.01421,-0.000237341 +0.01422,-0.000237339 +0.01423,-0.000237337 +0.01424,-0.000237336 +0.01425,-0.000237335 +0.01426,-0.000237336 +0.01427,-0.000237337 +0.01428,-0.000237338 +0.01429,-0.00023734 +0.0143,-0.000237342 +0.01431,-0.000237345 +0.01432,-0.000237349 +0.01433,-0.000237352 +0.01434,-0.000237356 +0.01435,-0.00023736 +0.01436,-0.000237364 +0.01437,-0.000237367 +0.01438,-0.000237371 +0.01439,-0.000237374 +0.0144,-0.000237377 +0.01441,-0.000237379 +0.01442,-0.00023738 +0.01443,-0.000237381 +0.01444,-0.000237382 +0.01445,-0.000237382 +0.01446,-0.000237381 +0.01447,-0.000237379 +0.01448,-0.000237377 +0.01449,-0.000237375 +0.0145,-0.000237372 +0.01451,-0.000237369 +0.01452,-0.000237365 +0.01453,-0.000237362 +0.01454,-0.000237358 +0.01455,-0.000237354 +0.01456,-0.000237351 +0.01457,-0.000237348 +0.01458,-0.000237345 +0.01459,-0.000237342 +0.0146,-0.00023734 +0.01461,-0.000237339 +0.01462,-0.000237338 +0.01463,-0.000237337 +0.01464,-0.000237338 +0.01465,-0.000237339 +0.01466,-0.00023734 +0.01467,-0.000237342 +0.01468,-0.000237345 +0.01469,-0.000237348 +0.0147,-0.000237351 +0.01471,-0.000237354 +0.01472,-0.000237357 +0.01473,-0.000237361 +0.01474,-0.000237365 +0.01475,-0.000237368 +0.01476,-0.000237371 +0.01477,-0.000237374 +0.01478,-0.000237376 +0.01479,-0.000237378 +0.0148,-0.000237379 +0.01481,-0.00023738 +0.01482,-0.00023738 +0.01483,-0.000237379 +0.01484,-0.000237378 +0.01485,-0.000237377 +0.01486,-0.000237375 +0.01487,-0.000237373 +0.01488,-0.00023737 +0.01489,-0.000237367 +0.0149,-0.000237364 +0.01491,-0.00023736 +0.01492,-0.000237357 +0.01493,-0.000237354 +0.01494,-0.000237351 +0.01495,-0.000237348 +0.01496,-0.000237345 +0.01497,-0.000237343 +0.01498,-0.000237341 +0.01499,-0.00023734 +0.015,-0.000237339 +0.01501,-0.000237339 +0.01502,-0.00023734 +0.01503,-0.000237341 +0.01504,-0.000237342 +0.01505,-0.000237344 +0.01506,-0.000237347 +0.01507,-0.00023735 +0.01508,-0.000237352 +0.01509,-0.000237355 +0.0151,-0.000237359 +0.01511,-0.000237362 +0.01512,-0.000237365 +0.01513,-0.000237368 +0.01514,-0.000237371 +0.01515,-0.000237373 +0.01516,-0.000237375 +0.01517,-0.000237377 +0.01518,-0.000237378 +0.01519,-0.000237378 +0.0152,-0.000237378 +0.01521,-0.000237377 +0.01522,-0.000237376 +0.01523,-0.000237375 +0.01524,-0.000237373 +0.01525,-0.000237371 +0.01526,-0.000237368 +0.01527,-0.000237365 +0.01528,-0.000237362 +0.01529,-0.000237359 +0.0153,-0.000237356 +0.01531,-0.000237353 +0.01532,-0.00023735 +0.01533,-0.000237348 +0.01534,-0.000237345 +0.01535,-0.000237343 +0.01536,-0.000237342 +0.01537,-0.000237341 +0.01538,-0.000237341 +0.01539,-0.000237341 +0.0154,-0.000237342 +0.01541,-0.000237343 +0.01542,-0.000237344 +0.01543,-0.000237346 +0.01544,-0.000237349 +0.01545,-0.000237351 +0.01546,-0.000237354 +0.01547,-0.000237357 +0.01548,-0.00023736 +0.01549,-0.000237363 +0.0155,-0.000237366 +0.01551,-0.000237368 +0.01552,-0.000237371 +0.01553,-0.000237373 +0.01554,-0.000237375 +0.01555,-0.000237376 +0.01556,-0.000237376 +0.01557,-0.000237377 +0.01558,-0.000237376 +0.01559,-0.000237376 +0.0156,-0.000237375 +0.01561,-0.000237373 +0.01562,-0.000237371 +0.01563,-0.000237369 +0.01564,-0.000237366 +0.01565,-0.000237364 +0.01566,-0.000237361 +0.01567,-0.000237358 +0.01568,-0.000237355 +0.01569,-0.000237353 +0.0157,-0.00023735 +0.01571,-0.000237348 +0.01572,-0.000237346 +0.01573,-0.000237344 +0.01574,-0.000237343 +0.01575,-0.000237343 +0.01576,-0.000237342 +0.01577,-0.000237343 +0.01578,-0.000237344 +0.01579,-0.000237345 +0.0158,-0.000237346 +0.01581,-0.000237348 +0.01582,-0.00023735 +0.01583,-0.000237353 +0.01584,-0.000237355 +0.01585,-0.000237358 +0.01586,-0.000237361 +0.01587,-0.000237363 +0.01588,-0.000237366 +0.01589,-0.000237368 +0.0159,-0.000237371 +0.01591,-0.000237372 +0.01592,-0.000237374 +0.01593,-0.000237375 +0.01594,-0.000237375 +0.01595,-0.000237375 +0.01596,-0.000237375 +0.01597,-0.000237374 +0.01598,-0.000237373 +0.01599,-0.000237371 +0.016,-0.00023737 +0.01601,-0.000237367 +0.01602,-0.000237365 +0.01603,-0.000237363 +0.01604,-0.00023736 +0.01605,-0.000237357 +0.01606,-0.000237355 +0.01607,-0.000237352 +0.01608,-0.00023735 +0.01609,-0.000237348 +0.0161,-0.000237346 +0.01611,-0.000237345 +0.01612,-0.000237344 +0.01613,-0.000237344 +0.01614,-0.000237344 +0.01615,-0.000237344 +0.01616,-0.000237345 +0.01617,-0.000237346 +0.01618,-0.000237348 +0.01619,-0.00023735 +0.0162,-0.000237352 +0.01621,-0.000237354 +0.01622,-0.000237356 +0.01623,-0.000237359 +0.01624,-0.000237362 +0.01625,-0.000237364 +0.01626,-0.000237366 +0.01627,-0.000237368 +0.01628,-0.00023737 +0.01629,-0.000237372 +0.0163,-0.000237373 +0.01631,-0.000237374 +0.01632,-0.000237374 +0.01633,-0.000237374 +0.01634,-0.000237373 +0.01635,-0.000237372 +0.01636,-0.000237371 +0.01637,-0.00023737 +0.01638,-0.000237368 +0.01639,-0.000237366 +0.0164,-0.000237364 +0.01641,-0.000237361 +0.01642,-0.000237359 +0.01643,-0.000237357 +0.01644,-0.000237354 +0.01645,-0.000237352 +0.01646,-0.00023735 +0.01647,-0.000237348 +0.01648,-0.000237347 +0.01649,-0.000237346 +0.0165,-0.000237345 +0.01651,-0.000237345 +0.01652,-0.000237345 +0.01653,-0.000237346 +0.01654,-0.000237347 +0.01655,-0.000237348 +0.01656,-0.000237349 +0.01657,-0.000237351 +0.01658,-0.000237353 +0.01659,-0.000237355 +0.0166,-0.000237357 +0.01661,-0.00023736 +0.01662,-0.000237362 +0.01663,-0.000237364 +0.01664,-0.000237366 +0.01665,-0.000237368 +0.01666,-0.00023737 +0.01667,-0.000237371 +0.01668,-0.000237372 +0.01669,-0.000237373 +0.0167,-0.000237373 +0.01671,-0.000237373 +0.01672,-0.000237372 +0.01673,-0.000237371 +0.01674,-0.00023737 +0.01675,-0.000237368 +0.01676,-0.000237367 +0.01677,-0.000237365 +0.01678,-0.000237363 +0.01679,-0.000237361 +0.0168,-0.000237358 +0.01681,-0.000237356 +0.01682,-0.000237354 +0.01683,-0.000237352 +0.01684,-0.00023735 +0.01685,-0.000237349 +0.01686,-0.000237348 +0.01687,-0.000237347 +0.01688,-0.000237346 +0.01689,-0.000237346 +0.0169,-0.000237346 +0.01691,-0.000237347 +0.01692,-0.000237348 +0.01693,-0.000237349 +0.01694,-0.000237351 +0.01695,-0.000237352 +0.01696,-0.000237354 +0.01697,-0.000237356 +0.01698,-0.000237358 +0.01699,-0.000237361 +0.017,-0.000237363 +0.01701,-0.000237365 +0.01702,-0.000237366 +0.01703,-0.000237368 +0.01704,-0.000237369 +0.01705,-0.00023737 +0.01706,-0.000237371 +0.01707,-0.000237372 +0.01708,-0.000237372 +0.01709,-0.000237371 +0.0171,-0.000237371 +0.01711,-0.00023737 +0.01712,-0.000237369 +0.01713,-0.000237367 +0.01714,-0.000237365 +0.01715,-0.000237364 +0.01716,-0.000237362 +0.01717,-0.00023736 +0.01718,-0.000237358 +0.01719,-0.000237356 +0.0172,-0.000237354 +0.01721,-0.000237352 +0.01722,-0.000237351 +0.01723,-0.000237349 +0.01724,-0.000237348 +0.01725,-0.000237348 +0.01726,-0.000237347 +0.01727,-0.000237347 +0.01728,-0.000237348 +0.01729,-0.000237348 +0.0173,-0.000237349 +0.01731,-0.00023735 +0.01732,-0.000237352 +0.01733,-0.000237354 +0.01734,-0.000237355 +0.01735,-0.000237357 +0.01736,-0.000237359 +0.01737,-0.000237361 +0.01738,-0.000237363 +0.01739,-0.000237365 +0.0174,-0.000237366 +0.01741,-0.000237368 +0.01742,-0.000237369 +0.01743,-0.00023737 +0.01744,-0.00023737 +0.01745,-0.000237371 +0.01746,-0.000237371 +0.01747,-0.00023737 +0.01748,-0.00023737 +0.01749,-0.000237369 +0.0175,-0.000237367 +0.01751,-0.000237366 +0.01752,-0.000237364 +0.01753,-0.000237363 +0.01754,-0.000237361 +0.01755,-0.000237359 +0.01756,-0.000237357 +0.01757,-0.000237355 +0.01758,-0.000237354 +0.01759,-0.000237352 +0.0176,-0.000237351 +0.01761,-0.00023735 +0.01762,-0.000237349 +0.01763,-0.000237348 +0.01764,-0.000237348 +0.01765,-0.000237348 +0.01766,-0.000237349 +0.01767,-0.000237349 +0.01768,-0.00023735 +0.01769,-0.000237352 +0.0177,-0.000237353 +0.01771,-0.000237355 +0.01772,-0.000237356 +0.01773,-0.000237358 +0.01774,-0.00023736 +0.01775,-0.000237362 +0.01776,-0.000237363 +0.01777,-0.000237365 +0.01778,-0.000237366 +0.01779,-0.000237368 +0.0178,-0.000237368 +0.01781,-0.000237369 +0.01782,-0.00023737 +0.01783,-0.00023737 +0.01784,-0.00023737 +0.01785,-0.000237369 +0.01786,-0.000237368 +0.01787,-0.000237368 +0.01788,-0.000237366 +0.01789,-0.000237365 +0.0179,-0.000237363 +0.01791,-0.000237362 +0.01792,-0.00023736 +0.01793,-0.000237358 +0.01794,-0.000237357 +0.01795,-0.000237355 +0.01796,-0.000237354 +0.01797,-0.000237352 +0.01798,-0.000237351 +0.01799,-0.00023735 +0.018,-0.00023735 +0.01801,-0.000237349 +0.01802,-0.000237349 +0.01803,-0.000237349 +0.01804,-0.00023735 +0.01805,-0.000237351 +0.01806,-0.000237351 +0.01807,-0.000237353 +0.01808,-0.000237354 +0.01809,-0.000237355 +0.0181,-0.000237357 +0.01811,-0.000237359 +0.01812,-0.00023736 +0.01813,-0.000237362 +0.01814,-0.000237363 +0.01815,-0.000237365 +0.01816,-0.000237366 +0.01817,-0.000237367 +0.01818,-0.000237368 +0.01819,-0.000237369 +0.0182,-0.000237369 +0.01821,-0.000237369 +0.01822,-0.000237369 +0.01823,-0.000237368 +0.01824,-0.000237367 +0.01825,-0.000237367 +0.01826,-0.000237365 +0.01827,-0.000237364 +0.01828,-0.000237363 +0.01829,-0.000237361 +0.0183,-0.00023736 +0.01831,-0.000237358 +0.01832,-0.000237356 +0.01833,-0.000237355 +0.01834,-0.000237354 +0.01835,-0.000237352 +0.01836,-0.000237351 +0.01837,-0.000237351 +0.01838,-0.00023735 +0.01839,-0.00023735 +0.0184,-0.00023735 +0.01841,-0.00023735 +0.01842,-0.000237351 +0.01843,-0.000237351 +0.01844,-0.000237352 +0.01845,-0.000237354 +0.01846,-0.000237355 +0.01847,-0.000237356 +0.01848,-0.000237358 +0.01849,-0.000237359 +0.0185,-0.000237361 +0.01851,-0.000237362 +0.01852,-0.000237364 +0.01853,-0.000237365 +0.01854,-0.000237366 +0.01855,-0.000237367 +0.01856,-0.000237367 +0.01857,-0.000237368 +0.01858,-0.000237368 +0.01859,-0.000237368 +0.0186,-0.000237368 +0.01861,-0.000237367 +0.01862,-0.000237366 +0.01863,-0.000237366 +0.01864,-0.000237364 +0.01865,-0.000237363 +0.01866,-0.000237362 +0.01867,-0.00023736 +0.01868,-0.000237359 +0.01869,-0.000237357 +0.0187,-0.000237356 +0.01871,-0.000237355 +0.01872,-0.000237354 +0.01873,-0.000237353 +0.01874,-0.000237352 +0.01875,-0.000237351 +0.01876,-0.000237351 +0.01877,-0.000237351 +0.01878,-0.000237351 +0.01879,-0.000237351 +0.0188,-0.000237352 +0.01881,-0.000237352 +0.01882,-0.000237353 +0.01883,-0.000237354 +0.01884,-0.000237356 +0.01885,-0.000237357 +0.01886,-0.000237358 +0.01887,-0.00023736 +0.01888,-0.000237361 +0.01889,-0.000237362 +0.0189,-0.000237364 +0.01891,-0.000237365 +0.01892,-0.000237366 +0.01893,-0.000237366 +0.01894,-0.000237367 +0.01895,-0.000237367 +0.01896,-0.000237367 +0.01897,-0.000237367 +0.01898,-0.000237367 +0.01899,-0.000237366 +0.019,-0.000237366 +0.01901,-0.000237365 +0.01902,-0.000237364 +0.01903,-0.000237362 +0.01904,-0.000237361 +0.01905,-0.00023736 +0.01906,-0.000237359 +0.01907,-0.000237357 +0.01908,-0.000237356 +0.01909,-0.000237355 +0.0191,-0.000237354 +0.01911,-0.000237353 +0.01912,-0.000237352 +0.01913,-0.000237352 +0.01914,-0.000237351 +0.01915,-0.000237351 +0.01916,-0.000237352 +0.01917,-0.000237352 +0.01918,-0.000237352 +0.01919,-0.000237353 +0.0192,-0.000237354 +0.01921,-0.000237355 +0.01922,-0.000237356 +0.01923,-0.000237358 +0.01924,-0.000237359 +0.01925,-0.00023736 +0.01926,-0.000237361 +0.01927,-0.000237363 +0.01928,-0.000237364 +0.01929,-0.000237365 +0.0193,-0.000237365 +0.01931,-0.000237366 +0.01932,-0.000237366 +0.01933,-0.000237367 +0.01934,-0.000237367 +0.01935,-0.000237367 +0.01936,-0.000237366 +0.01937,-0.000237366 +0.01938,-0.000237365 +0.01939,-0.000237364 +0.0194,-0.000237363 +0.01941,-0.000237362 +0.01942,-0.000237361 +0.01943,-0.000237359 +0.01944,-0.000237358 +0.01945,-0.000237357 +0.01946,-0.000237356 +0.01947,-0.000237355 +0.01948,-0.000237354 +0.01949,-0.000237353 +0.0195,-0.000237353 +0.01951,-0.000237352 +0.01952,-0.000237352 +0.01953,-0.000237352 +0.01954,-0.000237352 +0.01955,-0.000237353 +0.01956,-0.000237353 +0.01957,-0.000237354 +0.01958,-0.000237355 +0.01959,-0.000237356 +0.0196,-0.000237357 +0.01961,-0.000237358 +0.01962,-0.000237359 +0.01963,-0.00023736 +0.01964,-0.000237362 +0.01965,-0.000237363 +0.01966,-0.000237364 +0.01967,-0.000237364 +0.01968,-0.000237365 +0.01969,-0.000237366 +0.0197,-0.000237366 +0.01971,-0.000237366 +0.01972,-0.000237366 +0.01973,-0.000237366 +0.01974,-0.000237365 +0.01975,-0.000237365 +0.01976,-0.000237364 +0.01977,-0.000237363 +0.01978,-0.000237362 +0.01979,-0.000237361 +0.0198,-0.00023736 +0.01981,-0.000237359 +0.01982,-0.000237358 +0.01983,-0.000237357 +0.01984,-0.000237356 +0.01985,-0.000237355 +0.01986,-0.000237354 +0.01987,-0.000237353 +0.01988,-0.000237353 +0.01989,-0.000237353 +0.0199,-0.000237353 +0.01991,-0.000237353 +0.01992,-0.000237353 +0.01993,-0.000237353 +0.01994,-0.000237354 +0.01995,-0.000237355 +0.01996,-0.000237355 +0.01997,-0.000237356 +0.01998,-0.000237357 +0.01999,-0.000237359 +0.02,-0.00023736 +0.02001,-0.000237361 +0.02002,-0.000237362 +0.02003,-0.000237363 +0.02004,-0.000237364 +0.02005,-0.000237364 +0.02006,-0.000237365 +0.02007,-0.000237365 +0.02008,-0.000237366 +0.02009,-0.000237366 +0.0201,-0.000237366 +0.02011,-0.000237365 +0.02012,-0.000237365 +0.02013,-0.000237364 +0.02014,-0.000237363 +0.02015,-0.000237363 +0.02016,-0.000237362 +0.02017,-0.000237361 +0.02018,-0.00023736 +0.02019,-0.000237359 +0.0202,-0.000237358 +0.02021,-0.000237357 +0.02022,-0.000237356 +0.02023,-0.000237355 +0.02024,-0.000237354 +0.02025,-0.000237354 +0.02026,-0.000237353 +0.02027,-0.000237353 +0.02028,-0.000237353 +0.02029,-0.000237353 +0.0203,-0.000237354 +0.02031,-0.000237354 +0.02032,-0.000237355 +0.02033,-0.000237355 +0.02034,-0.000237356 +0.02035,-0.000237357 +0.02036,-0.000237358 +0.02037,-0.000237359 +0.02038,-0.00023736 +0.02039,-0.000237361 +0.0204,-0.000237362 +0.02041,-0.000237363 +0.02042,-0.000237363 +0.02043,-0.000237364 +0.02044,-0.000237365 +0.02045,-0.000237365 +0.02046,-0.000237365 +0.02047,-0.000237365 +0.02048,-0.000237365 +0.02049,-0.000237365 +0.0205,-0.000237364 +0.02051,-0.000237364 +0.02052,-0.000237363 +0.02053,-0.000237362 +0.02054,-0.000237361 +0.02055,-0.00023736 +0.02056,-0.000237359 +0.02057,-0.000237358 +0.02058,-0.000237357 +0.02059,-0.000237357 +0.0206,-0.000237356 +0.02061,-0.000237355 +0.02062,-0.000237354 +0.02063,-0.000237354 +0.02064,-0.000237354 +0.02065,-0.000237354 +0.02066,-0.000237354 +0.02067,-0.000237354 +0.02068,-0.000237354 +0.02069,-0.000237355 +0.0207,-0.000237355 +0.02071,-0.000237356 +0.02072,-0.000237357 +0.02073,-0.000237357 +0.02074,-0.000237358 +0.02075,-0.000237359 +0.02076,-0.00023736 +0.02077,-0.000237361 +0.02078,-0.000237362 +0.02079,-0.000237363 +0.0208,-0.000237363 +0.02081,-0.000237364 +0.02082,-0.000237364 +0.02083,-0.000237365 +0.02084,-0.000237365 +0.02085,-0.000237365 +0.02086,-0.000237364 +0.02087,-0.000237364 +0.02088,-0.000237364 +0.02089,-0.000237363 +0.0209,-0.000237362 +0.02091,-0.000237362 +0.02092,-0.000237361 +0.02093,-0.00023736 +0.02094,-0.000237359 +0.02095,-0.000237358 +0.02096,-0.000237357 +0.02097,-0.000237356 +0.02098,-0.000237356 +0.02099,-0.000237355 +0.021,-0.000237355 +0.02101,-0.000237354 +0.02102,-0.000237354 +0.02103,-0.000237354 +0.02104,-0.000237354 +0.02105,-0.000237354 +0.02106,-0.000237355 +0.02107,-0.000237355 +0.02108,-0.000237356 +0.02109,-0.000237356 +0.0211,-0.000237357 +0.02111,-0.000237358 +0.02112,-0.000237359 +0.02113,-0.00023736 +0.02114,-0.00023736 +0.02115,-0.000237361 +0.02116,-0.000237362 +0.02117,-0.000237363 +0.02118,-0.000237363 +0.02119,-0.000237364 +0.0212,-0.000237364 +0.02121,-0.000237364 +0.02122,-0.000237364 +0.02123,-0.000237364 +0.02124,-0.000237364 +0.02125,-0.000237364 +0.02126,-0.000237363 +0.02127,-0.000237363 +0.02128,-0.000237362 +0.02129,-0.000237361 +0.0213,-0.00023736 +0.02131,-0.00023736 +0.02132,-0.000237359 +0.02133,-0.000237358 +0.02134,-0.000237357 +0.02135,-0.000237356 +0.02136,-0.000237356 +0.02137,-0.000237355 +0.02138,-0.000237355 +0.02139,-0.000237355 +0.0214,-0.000237354 +0.02141,-0.000237354 +0.02142,-0.000237355 +0.02143,-0.000237355 +0.02144,-0.000237355 +0.02145,-0.000237356 +0.02146,-0.000237356 +0.02147,-0.000237357 +0.02148,-0.000237357 +0.02149,-0.000237358 +0.0215,-0.000237359 +0.02151,-0.00023736 +0.02152,-0.000237361 +0.02153,-0.000237361 +0.02154,-0.000237362 +0.02155,-0.000237363 +0.02156,-0.000237363 +0.02157,-0.000237363 +0.02158,-0.000237364 +0.02159,-0.000237364 +0.0216,-0.000237364 +0.02161,-0.000237364 +0.02162,-0.000237363 +0.02163,-0.000237363 +0.02164,-0.000237363 +0.02165,-0.000237362 +0.02166,-0.000237361 +0.02167,-0.000237361 +0.02168,-0.00023736 +0.02169,-0.000237359 +0.0217,-0.000237359 +0.02171,-0.000237358 +0.02172,-0.000237357 +0.02173,-0.000237356 +0.02174,-0.000237356 +0.02175,-0.000237355 +0.02176,-0.000237355 +0.02177,-0.000237355 +0.02178,-0.000237355 +0.02179,-0.000237355 +0.0218,-0.000237355 +0.02181,-0.000237355 +0.02182,-0.000237356 +0.02183,-0.000237356 +0.02184,-0.000237357 +0.02185,-0.000237357 +0.02186,-0.000237358 +0.02187,-0.000237359 +0.02188,-0.000237359 +0.02189,-0.00023736 +0.0219,-0.000237361 +0.02191,-0.000237361 +0.02192,-0.000237362 +0.02193,-0.000237362 +0.02194,-0.000237363 +0.02195,-0.000237363 +0.02196,-0.000237363 +0.02197,-0.000237363 +0.02198,-0.000237363 +0.02199,-0.000237363 +0.022,-0.000237363 +0.02201,-0.000237363 +0.02202,-0.000237362 +0.02203,-0.000237362 +0.02204,-0.000237361 +0.02205,-0.00023736 +0.02206,-0.00023736 +0.02207,-0.000237359 +0.02208,-0.000237358 +0.02209,-0.000237358 +0.0221,-0.000237357 +0.02211,-0.000237357 +0.02212,-0.000237356 +0.02213,-0.000237356 +0.02214,-0.000237355 +0.02215,-0.000237355 +0.02216,-0.000237355 +0.02217,-0.000237355 +0.02218,-0.000237355 +0.02219,-0.000237356 +0.0222,-0.000237356 +0.02221,-0.000237356 +0.02222,-0.000237357 +0.02223,-0.000237358 +0.02224,-0.000237358 +0.02225,-0.000237359 +0.02226,-0.00023736 +0.02227,-0.00023736 +0.02228,-0.000237361 +0.02229,-0.000237361 +0.0223,-0.000237362 +0.02231,-0.000237362 +0.02232,-0.000237363 +0.02233,-0.000237363 +0.02234,-0.000237363 +0.02235,-0.000237363 +0.02236,-0.000237363 +0.02237,-0.000237363 +0.02238,-0.000237363 +0.02239,-0.000237362 +0.0224,-0.000237362 +0.02241,-0.000237361 +0.02242,-0.000237361 +0.02243,-0.00023736 +0.02244,-0.000237359 +0.02245,-0.000237359 +0.02246,-0.000237358 +0.02247,-0.000237358 +0.02248,-0.000237357 +0.02249,-0.000237357 +0.0225,-0.000237356 +0.02251,-0.000237356 +0.02252,-0.000237356 +0.02253,-0.000237355 +0.02254,-0.000237355 +0.02255,-0.000237356 +0.02256,-0.000237356 +0.02257,-0.000237356 +0.02258,-0.000237356 +0.02259,-0.000237357 +0.0226,-0.000237357 +0.02261,-0.000237358 +0.02262,-0.000237358 +0.02263,-0.000237359 +0.02264,-0.00023736 +0.02265,-0.00023736 +0.02266,-0.000237361 +0.02267,-0.000237361 +0.02268,-0.000237362 +0.02269,-0.000237362 +0.0227,-0.000237363 +0.02271,-0.000237363 +0.02272,-0.000237363 +0.02273,-0.000237363 +0.02274,-0.000237363 +0.02275,-0.000237363 +0.02276,-0.000237362 +0.02277,-0.000237362 +0.02278,-0.000237361 +0.02279,-0.000237361 +0.0228,-0.00023736 +0.02281,-0.00023736 +0.02282,-0.000237359 +0.02283,-0.000237359 +0.02284,-0.000237358 +0.02285,-0.000237358 +0.02286,-0.000237357 +0.02287,-0.000237357 +0.02288,-0.000237356 +0.02289,-0.000237356 +0.0229,-0.000237356 +0.02291,-0.000237356 +0.02292,-0.000237356 +0.02293,-0.000237356 +0.02294,-0.000237356 +0.02295,-0.000237356 +0.02296,-0.000237357 +0.02297,-0.000237357 +0.02298,-0.000237358 +0.02299,-0.000237358 +0.023,-0.000237359 +0.02301,-0.000237359 +0.02302,-0.00023736 +0.02303,-0.00023736 +0.02304,-0.000237361 +0.02305,-0.000237361 +0.02306,-0.000237362 +0.02307,-0.000237362 +0.02308,-0.000237362 +0.02309,-0.000237362 +0.0231,-0.000237363 +0.02311,-0.000237363 +0.02312,-0.000237362 +0.02313,-0.000237362 +0.02314,-0.000237362 +0.02315,-0.000237362 +0.02316,-0.000237361 +0.02317,-0.000237361 +0.02318,-0.00023736 +0.02319,-0.00023736 +0.0232,-0.000237359 +0.02321,-0.000237359 +0.02322,-0.000237358 +0.02323,-0.000237358 +0.02324,-0.000237357 +0.02325,-0.000237357 +0.02326,-0.000237356 +0.02327,-0.000237356 +0.02328,-0.000237356 +0.02329,-0.000237356 +0.0233,-0.000237356 +0.02331,-0.000237356 +0.02332,-0.000237356 +0.02333,-0.000237357 +0.02334,-0.000237357 +0.02335,-0.000237357 +0.02336,-0.000237358 +0.02337,-0.000237358 +0.02338,-0.000237359 +0.02339,-0.000237359 +0.0234,-0.00023736 +0.02341,-0.00023736 +0.02342,-0.000237361 +0.02343,-0.000237361 +0.02344,-0.000237362 +0.02345,-0.000237362 +0.02346,-0.000237362 +0.02347,-0.000237362 +0.02348,-0.000237362 +0.02349,-0.000237362 +0.0235,-0.000237362 +0.02351,-0.000237362 +0.02352,-0.000237362 +0.02353,-0.000237361 +0.02354,-0.000237361 +0.02355,-0.00023736 +0.02356,-0.00023736 +0.02357,-0.000237359 +0.02358,-0.000237359 +0.02359,-0.000237358 +0.0236,-0.000237358 +0.02361,-0.000237358 +0.02362,-0.000237357 +0.02363,-0.000237357 +0.02364,-0.000237357 +0.02365,-0.000237356 +0.02366,-0.000237356 +0.02367,-0.000237356 +0.02368,-0.000237356 +0.02369,-0.000237356 +0.0237,-0.000237357 +0.02371,-0.000237357 +0.02372,-0.000237357 +0.02373,-0.000237358 +0.02374,-0.000237358 +0.02375,-0.000237359 +0.02376,-0.000237359 +0.02377,-0.00023736 +0.02378,-0.00023736 +0.02379,-0.000237361 +0.0238,-0.000237361 +0.02381,-0.000237361 +0.02382,-0.000237362 +0.02383,-0.000237362 +0.02384,-0.000237362 +0.02385,-0.000237362 +0.02386,-0.000237362 +0.02387,-0.000237362 +0.02388,-0.000237362 +0.02389,-0.000237362 +0.0239,-0.000237361 +0.02391,-0.000237361 +0.02392,-0.000237361 +0.02393,-0.00023736 +0.02394,-0.00023736 +0.02395,-0.000237359 +0.02396,-0.000237359 +0.02397,-0.000237358 +0.02398,-0.000237358 +0.02399,-0.000237358 +0.024,-0.000237357 +0.02401,-0.000237357 +0.02402,-0.000237357 +0.02403,-0.000237357 +0.02404,-0.000237356 +0.02405,-0.000237357 +0.02406,-0.000237357 +0.02407,-0.000237357 +0.02408,-0.000237357 +0.02409,-0.000237357 +0.0241,-0.000237358 +0.02411,-0.000237358 +0.02412,-0.000237358 +0.02413,-0.000237359 +0.02414,-0.000237359 +0.02415,-0.00023736 +0.02416,-0.00023736 +0.02417,-0.000237361 +0.02418,-0.000237361 +0.02419,-0.000237361 +0.0242,-0.000237361 +0.02421,-0.000237362 +0.02422,-0.000237362 +0.02423,-0.000237362 +0.02424,-0.000237362 +0.02425,-0.000237362 +0.02426,-0.000237362 +0.02427,-0.000237361 +0.02428,-0.000237361 +0.02429,-0.000237361 +0.0243,-0.00023736 +0.02431,-0.00023736 +0.02432,-0.00023736 +0.02433,-0.000237359 +0.02434,-0.000237359 +0.02435,-0.000237358 +0.02436,-0.000237358 +0.02437,-0.000237358 +0.02438,-0.000237357 +0.02439,-0.000237357 +0.0244,-0.000237357 +0.02441,-0.000237357 +0.02442,-0.000237357 +0.02443,-0.000237357 +0.02444,-0.000237357 +0.02445,-0.000237357 +0.02446,-0.000237357 +0.02447,-0.000237358 +0.02448,-0.000237358 +0.02449,-0.000237358 +0.0245,-0.000237359 +0.02451,-0.000237359 +0.02452,-0.000237359 +0.02453,-0.00023736 +0.02454,-0.00023736 +0.02455,-0.000237361 +0.02456,-0.000237361 +0.02457,-0.000237361 +0.02458,-0.000237361 +0.02459,-0.000237362 +0.0246,-0.000237362 +0.02461,-0.000237362 +0.02462,-0.000237362 +0.02463,-0.000237361 +0.02464,-0.000237361 +0.02465,-0.000237361 +0.02466,-0.000237361 +0.02467,-0.00023736 +0.02468,-0.00023736 +0.02469,-0.00023736 +0.0247,-0.000237359 +0.02471,-0.000237359 +0.02472,-0.000237359 +0.02473,-0.000237358 +0.02474,-0.000237358 +0.02475,-0.000237358 +0.02476,-0.000237357 +0.02477,-0.000237357 +0.02478,-0.000237357 +0.02479,-0.000237357 +0.0248,-0.000237357 +0.02481,-0.000237357 +0.02482,-0.000237357 +0.02483,-0.000237357 +0.02484,-0.000237357 +0.02485,-0.000237358 +0.02486,-0.000237358 +0.02487,-0.000237358 +0.02488,-0.000237359 +0.02489,-0.000237359 +0.0249,-0.00023736 +0.02491,-0.00023736 +0.02492,-0.00023736 +0.02493,-0.000237361 +0.02494,-0.000237361 +0.02495,-0.000237361 +0.02496,-0.000237361 +0.02497,-0.000237361 +0.02498,-0.000237361 +0.02499,-0.000237361 +0.025,-0.000237361 +0.02501,-0.000237361 +0.02502,-0.000237361 +0.02503,-0.000237361 +0.02504,-0.000237361 +0.02505,-0.00023736 +0.02506,-0.00023736 +0.02507,-0.00023736 +0.02508,-0.000237359 +0.02509,-0.000237359 +0.0251,-0.000237359 +0.02511,-0.000237358 +0.02512,-0.000237358 +0.02513,-0.000237358 +0.02514,-0.000237357 +0.02515,-0.000237357 +0.02516,-0.000237357 +0.02517,-0.000237357 +0.02518,-0.000237357 +0.02519,-0.000237357 +0.0252,-0.000237357 +0.02521,-0.000237357 +0.02522,-0.000237358 +0.02523,-0.000237358 +0.02524,-0.000237358 +0.02525,-0.000237359 +0.02526,-0.000237359 +0.02527,-0.000237359 +0.02528,-0.00023736 +0.02529,-0.00023736 +0.0253,-0.00023736 +0.02531,-0.000237361 +0.02532,-0.000237361 +0.02533,-0.000237361 +0.02534,-0.000237361 +0.02535,-0.000237361 +0.02536,-0.000237361 +0.02537,-0.000237361 +0.02538,-0.000237361 +0.02539,-0.000237361 +0.0254,-0.000237361 +0.02541,-0.000237361 +0.02542,-0.00023736 +0.02543,-0.00023736 +0.02544,-0.00023736 +0.02545,-0.000237359 +0.02546,-0.000237359 +0.02547,-0.000237359 +0.02548,-0.000237358 +0.02549,-0.000237358 +0.0255,-0.000237358 +0.02551,-0.000237358 +0.02552,-0.000237357 +0.02553,-0.000237357 +0.02554,-0.000237357 +0.02555,-0.000237357 +0.02556,-0.000237357 +0.02557,-0.000237357 +0.02558,-0.000237357 +0.02559,-0.000237358 +0.0256,-0.000237358 +0.02561,-0.000237358 +0.02562,-0.000237358 +0.02563,-0.000237359 +0.02564,-0.000237359 +0.02565,-0.000237359 +0.02566,-0.00023736 +0.02567,-0.00023736 +0.02568,-0.00023736 +0.02569,-0.000237361 +0.0257,-0.000237361 +0.02571,-0.000237361 +0.02572,-0.000237361 +0.02573,-0.000237361 +0.02574,-0.000237361 +0.02575,-0.000237361 +0.02576,-0.000237361 +0.02577,-0.000237361 +0.02578,-0.000237361 +0.02579,-0.00023736 +0.0258,-0.00023736 +0.02581,-0.00023736 +0.02582,-0.00023736 +0.02583,-0.000237359 +0.02584,-0.000237359 +0.02585,-0.000237359 +0.02586,-0.000237358 +0.02587,-0.000237358 +0.02588,-0.000237358 +0.02589,-0.000237358 +0.0259,-0.000237358 +0.02591,-0.000237357 +0.02592,-0.000237357 +0.02593,-0.000237357 +0.02594,-0.000237357 +0.02595,-0.000237358 +0.02596,-0.000237358 +0.02597,-0.000237358 +0.02598,-0.000237358 +0.02599,-0.000237358 +0.026,-0.000237359 +0.02601,-0.000237359 +0.02602,-0.000237359 +0.02603,-0.000237359 +0.02604,-0.00023736 +0.02605,-0.00023736 +0.02606,-0.00023736 +0.02607,-0.00023736 +0.02608,-0.000237361 +0.02609,-0.000237361 +0.0261,-0.000237361 +0.02611,-0.000237361 +0.02612,-0.000237361 +0.02613,-0.000237361 +0.02614,-0.000237361 +0.02615,-0.000237361 +0.02616,-0.00023736 +0.02617,-0.00023736 +0.02618,-0.00023736 +0.02619,-0.00023736 +0.0262,-0.000237359 +0.02621,-0.000237359 +0.02622,-0.000237359 +0.02623,-0.000237359 +0.02624,-0.000237358 +0.02625,-0.000237358 +0.02626,-0.000237358 +0.02627,-0.000237358 +0.02628,-0.000237358 +0.02629,-0.000237358 +0.0263,-0.000237358 +0.02631,-0.000237358 +0.02632,-0.000237358 +0.02633,-0.000237358 +0.02634,-0.000237358 +0.02635,-0.000237358 +0.02636,-0.000237358 +0.02637,-0.000237358 +0.02638,-0.000237359 +0.02639,-0.000237359 +0.0264,-0.000237359 +0.02641,-0.00023736 +0.02642,-0.00023736 +0.02643,-0.00023736 +0.02644,-0.00023736 +0.02645,-0.00023736 +0.02646,-0.000237361 +0.02647,-0.000237361 +0.02648,-0.000237361 +0.02649,-0.000237361 +0.0265,-0.000237361 +0.02651,-0.000237361 +0.02652,-0.000237361 +0.02653,-0.00023736 +0.02654,-0.00023736 +0.02655,-0.00023736 +0.02656,-0.00023736 +0.02657,-0.00023736 +0.02658,-0.000237359 +0.02659,-0.000237359 +0.0266,-0.000237359 +0.02661,-0.000237359 +0.02662,-0.000237358 +0.02663,-0.000237358 +0.02664,-0.000237358 +0.02665,-0.000237358 +0.02666,-0.000237358 +0.02667,-0.000237358 +0.02668,-0.000237358 +0.02669,-0.000237358 +0.0267,-0.000237358 +0.02671,-0.000237358 +0.02672,-0.000237358 +0.02673,-0.000237358 +0.02674,-0.000237358 +0.02675,-0.000237359 +0.02676,-0.000237359 +0.02677,-0.000237359 +0.02678,-0.000237359 +0.02679,-0.00023736 +0.0268,-0.00023736 +0.02681,-0.00023736 +0.02682,-0.00023736 +0.02683,-0.00023736 +0.02684,-0.000237361 +0.02685,-0.000237361 +0.02686,-0.000237361 +0.02687,-0.000237361 +0.02688,-0.000237361 +0.02689,-0.000237361 +0.0269,-0.00023736 +0.02691,-0.00023736 +0.02692,-0.00023736 +0.02693,-0.00023736 +0.02694,-0.00023736 +0.02695,-0.00023736 +0.02696,-0.000237359 +0.02697,-0.000237359 +0.02698,-0.000237359 +0.02699,-0.000237359 +0.027,-0.000237358 +0.02701,-0.000237358 +0.02702,-0.000237358 +0.02703,-0.000237358 +0.02704,-0.000237358 +0.02705,-0.000237358 +0.02706,-0.000237358 +0.02707,-0.000237358 +0.02708,-0.000237358 +0.02709,-0.000237358 +0.0271,-0.000237358 +0.02711,-0.000237358 +0.02712,-0.000237359 +0.02713,-0.000237359 +0.02714,-0.000237359 +0.02715,-0.000237359 +0.02716,-0.000237359 +0.02717,-0.00023736 +0.02718,-0.00023736 +0.02719,-0.00023736 +0.0272,-0.00023736 +0.02721,-0.00023736 +0.02722,-0.00023736 +0.02723,-0.000237361 +0.02724,-0.000237361 +0.02725,-0.000237361 +0.02726,-0.000237361 +0.02727,-0.00023736 +0.02728,-0.00023736 +0.02729,-0.00023736 +0.0273,-0.00023736 +0.02731,-0.00023736 +0.02732,-0.00023736 +0.02733,-0.000237359 +0.02734,-0.000237359 +0.02735,-0.000237359 +0.02736,-0.000237359 +0.02737,-0.000237359 +0.02738,-0.000237358 +0.02739,-0.000237358 +0.0274,-0.000237358 +0.02741,-0.000237358 +0.02742,-0.000237358 +0.02743,-0.000237358 +0.02744,-0.000237358 +0.02745,-0.000237358 +0.02746,-0.000237358 +0.02747,-0.000237358 +0.02748,-0.000237358 +0.02749,-0.000237358 +0.0275,-0.000237359 +0.02751,-0.000237359 +0.02752,-0.000237359 +0.02753,-0.000237359 +0.02754,-0.000237359 +0.02755,-0.00023736 +0.02756,-0.00023736 +0.02757,-0.00023736 +0.02758,-0.00023736 +0.02759,-0.00023736 +0.0276,-0.00023736 +0.02761,-0.00023736 +0.02762,-0.00023736 +0.02763,-0.00023736 +0.02764,-0.00023736 +0.02765,-0.00023736 +0.02766,-0.00023736 +0.02767,-0.00023736 +0.02768,-0.00023736 +0.02769,-0.00023736 +0.0277,-0.00023736 +0.02771,-0.000237359 +0.02772,-0.000237359 +0.02773,-0.000237359 +0.02774,-0.000237359 +0.02775,-0.000237359 +0.02776,-0.000237358 +0.02777,-0.000237358 +0.02778,-0.000237358 +0.02779,-0.000237358 +0.0278,-0.000237358 +0.02781,-0.000237358 +0.02782,-0.000237358 +0.02783,-0.000237358 +0.02784,-0.000237358 +0.02785,-0.000237358 +0.02786,-0.000237358 +0.02787,-0.000237359 +0.02788,-0.000237359 +0.02789,-0.000237359 +0.0279,-0.000237359 +0.02791,-0.000237359 +0.02792,-0.00023736 +0.02793,-0.00023736 +0.02794,-0.00023736 +0.02795,-0.00023736 +0.02796,-0.00023736 +0.02797,-0.00023736 +0.02798,-0.00023736 +0.02799,-0.00023736 +0.028,-0.00023736 +0.02801,-0.00023736 +0.02802,-0.00023736 +0.02803,-0.00023736 +0.02804,-0.00023736 +0.02805,-0.00023736 +0.02806,-0.00023736 +0.02807,-0.00023736 +0.02808,-0.000237359 +0.02809,-0.000237359 +0.0281,-0.000237359 +0.02811,-0.000237359 +0.02812,-0.000237359 +0.02813,-0.000237359 +0.02814,-0.000237358 +0.02815,-0.000237358 +0.02816,-0.000237358 +0.02817,-0.000237358 +0.02818,-0.000237358 +0.02819,-0.000237358 +0.0282,-0.000237358 +0.02821,-0.000237358 +0.02822,-0.000237358 +0.02823,-0.000237358 +0.02824,-0.000237359 +0.02825,-0.000237359 +0.02826,-0.000237359 +0.02827,-0.000237359 +0.02828,-0.000237359 +0.02829,-0.000237359 +0.0283,-0.00023736 +0.02831,-0.00023736 +0.02832,-0.00023736 +0.02833,-0.00023736 +0.02834,-0.00023736 +0.02835,-0.00023736 +0.02836,-0.00023736 +0.02837,-0.00023736 +0.02838,-0.00023736 +0.02839,-0.00023736 +0.0284,-0.00023736 +0.02841,-0.00023736 +0.02842,-0.00023736 +0.02843,-0.00023736 +0.02844,-0.00023736 +0.02845,-0.00023736 +0.02846,-0.000237359 +0.02847,-0.000237359 +0.02848,-0.000237359 +0.02849,-0.000237359 +0.0285,-0.000237359 +0.02851,-0.000237359 +0.02852,-0.000237358 +0.02853,-0.000237358 +0.02854,-0.000237358 +0.02855,-0.000237358 +0.02856,-0.000237358 +0.02857,-0.000237358 +0.02858,-0.000237358 +0.02859,-0.000237358 +0.0286,-0.000237358 +0.02861,-0.000237358 +0.02862,-0.000237359 +0.02863,-0.000237359 +0.02864,-0.000237359 +0.02865,-0.000237359 +0.02866,-0.000237359 +0.02867,-0.000237359 +0.02868,-0.00023736 +0.02869,-0.00023736 +0.0287,-0.00023736 +0.02871,-0.00023736 +0.02872,-0.00023736 +0.02873,-0.00023736 +0.02874,-0.00023736 +0.02875,-0.00023736 +0.02876,-0.00023736 +0.02877,-0.00023736 +0.02878,-0.00023736 +0.02879,-0.00023736 +0.0288,-0.00023736 +0.02881,-0.00023736 +0.02882,-0.00023736 +0.02883,-0.000237359 +0.02884,-0.000237359 +0.02885,-0.000237359 +0.02886,-0.000237359 +0.02887,-0.000237359 +0.02888,-0.000237359 +0.02889,-0.000237359 +0.0289,-0.000237358 +0.02891,-0.000237358 +0.02892,-0.000237358 +0.02893,-0.000237358 +0.02894,-0.000237358 +0.02895,-0.000237358 +0.02896,-0.000237358 +0.02897,-0.000237358 +0.02898,-0.000237358 +0.02899,-0.000237359 +0.029,-0.000237359 +0.02901,-0.000237359 +0.02902,-0.000237359 +0.02903,-0.000237359 +0.02904,-0.000237359 +0.02905,-0.000237359 +0.02906,-0.00023736 +0.02907,-0.00023736 +0.02908,-0.00023736 +0.02909,-0.00023736 +0.0291,-0.00023736 +0.02911,-0.00023736 +0.02912,-0.00023736 +0.02913,-0.00023736 +0.02914,-0.00023736 +0.02915,-0.00023736 +0.02916,-0.00023736 +0.02917,-0.00023736 +0.02918,-0.00023736 +0.02919,-0.00023736 +0.0292,-0.00023736 +0.02921,-0.000237359 +0.02922,-0.000237359 +0.02923,-0.000237359 +0.02924,-0.000237359 +0.02925,-0.000237359 +0.02926,-0.000237359 +0.02927,-0.000237359 +0.02928,-0.000237358 +0.02929,-0.000237358 +0.0293,-0.000237358 +0.02931,-0.000237358 +0.02932,-0.000237358 +0.02933,-0.000237358 +0.02934,-0.000237358 +0.02935,-0.000237358 +0.02936,-0.000237359 +0.02937,-0.000237359 +0.02938,-0.000237359 +0.02939,-0.000237359 +0.0294,-0.000237359 +0.02941,-0.000237359 +0.02942,-0.000237359 +0.02943,-0.000237359 +0.02944,-0.00023736 +0.02945,-0.00023736 +0.02946,-0.00023736 +0.02947,-0.00023736 +0.02948,-0.00023736 +0.02949,-0.00023736 +0.0295,-0.00023736 +0.02951,-0.00023736 +0.02952,-0.00023736 +0.02953,-0.00023736 +0.02954,-0.00023736 +0.02955,-0.00023736 +0.02956,-0.00023736 +0.02957,-0.00023736 +0.02958,-0.000237359 +0.02959,-0.000237359 +0.0296,-0.000237359 +0.02961,-0.000237359 +0.02962,-0.000237359 +0.02963,-0.000237359 +0.02964,-0.000237359 +0.02965,-0.000237359 +0.02966,-0.000237359 +0.02967,-0.000237358 +0.02968,-0.000237358 +0.02969,-0.000237358 +0.0297,-0.000237358 +0.02971,-0.000237358 +0.02972,-0.000237358 +0.02973,-0.000237359 +0.02974,-0.000237359 +0.02975,-0.000237359 +0.02976,-0.000237359 +0.02977,-0.000237359 +0.02978,-0.000237359 +0.02979,-0.000237359 +0.0298,-0.000237359 +0.02981,-0.00023736 +0.02982,-0.00023736 +0.02983,-0.00023736 +0.02984,-0.00023736 +0.02985,-0.00023736 +0.02986,-0.00023736 +0.02987,-0.00023736 +0.02988,-0.00023736 +0.02989,-0.00023736 +0.0299,-0.00023736 +0.02991,-0.00023736 +0.02992,-0.00023736 +0.02993,-0.00023736 +0.02994,-0.00023736 +0.02995,-0.00023736 +0.02996,-0.000237359 +0.02997,-0.000237359 +0.02998,-0.000237359 +0.02999,-0.000237359 +0.03,-0.000237359 +0.03001,-0.000237359 +0.03002,-0.000237359 +0.03003,-0.000237359 +0.03004,-0.000237359 +0.03005,-0.000237359 +0.03006,-0.000237358 +0.03007,-0.000237358 +0.03008,-0.000237358 +0.03009,-0.000237359 +0.0301,-0.000237359 +0.03011,-0.000237359 +0.03012,-0.000237359 +0.03013,-0.000237359 +0.03014,-0.000237359 +0.03015,-0.000237359 +0.03016,-0.000237359 +0.03017,-0.000237359 +0.03018,-0.000237359 +0.03019,-0.00023736 +0.0302,-0.00023736 +0.03021,-0.00023736 +0.03022,-0.00023736 +0.03023,-0.00023736 +0.03024,-0.00023736 +0.03025,-0.00023736 +0.03026,-0.00023736 +0.03027,-0.00023736 +0.03028,-0.00023736 +0.03029,-0.00023736 +0.0303,-0.00023736 +0.03031,-0.00023736 +0.03032,-0.00023736 +0.03033,-0.000237359 +0.03034,-0.000237359 +0.03035,-0.000237359 +0.03036,-0.000237359 +0.03037,-0.000237359 +0.03038,-0.000237359 +0.03039,-0.000237359 +0.0304,-0.000237359 +0.03041,-0.000237359 +0.03042,-0.000237359 +0.03043,-0.000237359 +0.03044,-0.000237359 +0.03045,-0.000237359 +0.03046,-0.000237359 +0.03047,-0.000237359 +0.03048,-0.000237359 +0.03049,-0.000237359 +0.0305,-0.000237359 +0.03051,-0.000237359 +0.03052,-0.000237359 +0.03053,-0.000237359 +0.03054,-0.000237359 +0.03055,-0.000237359 +0.03056,-0.000237359 +0.03057,-0.00023736 +0.03058,-0.00023736 +0.03059,-0.00023736 +0.0306,-0.00023736 +0.03061,-0.00023736 +0.03062,-0.00023736 +0.03063,-0.00023736 +0.03064,-0.00023736 +0.03065,-0.00023736 +0.03066,-0.00023736 +0.03067,-0.00023736 +0.03068,-0.00023736 +0.03069,-0.00023736 +0.0307,-0.00023736 +0.03071,-0.000237359 +0.03072,-0.000237359 +0.03073,-0.000237359 +0.03074,-0.000237359 +0.03075,-0.000237359 +0.03076,-0.000237359 +0.03077,-0.000237359 +0.03078,-0.000237359 +0.03079,-0.000237359 +0.0308,-0.000237359 +0.03081,-0.000237359 +0.03082,-0.000237359 +0.03083,-0.000237359 +0.03084,-0.000237359 +0.03085,-0.000237359 +0.03086,-0.000237359 +0.03087,-0.000237359 +0.03088,-0.000237359 +0.03089,-0.000237359 +0.0309,-0.000237359 +0.03091,-0.000237359 +0.03092,-0.000237359 +0.03093,-0.000237359 +0.03094,-0.000237359 +0.03095,-0.00023736 +0.03096,-0.00023736 +0.03097,-0.00023736 +0.03098,-0.00023736 +0.03099,-0.00023736 +0.031,-0.00023736 +0.03101,-0.00023736 +0.03102,-0.00023736 +0.03103,-0.00023736 +0.03104,-0.00023736 +0.03105,-0.00023736 +0.03106,-0.00023736 +0.03107,-0.00023736 +0.03108,-0.000237359 +0.03109,-0.000237359 +0.0311,-0.000237359 +0.03111,-0.000237359 +0.03112,-0.000237359 +0.03113,-0.000237359 +0.03114,-0.000237359 +0.03115,-0.000237359 +0.03116,-0.000237359 +0.03117,-0.000237359 +0.03118,-0.000237359 +0.03119,-0.000237359 +0.0312,-0.000237359 +0.03121,-0.000237359 +0.03122,-0.000237359 +0.03123,-0.000237359 +0.03124,-0.000237359 +0.03125,-0.000237359 +0.03126,-0.000237359 +0.03127,-0.000237359 +0.03128,-0.000237359 +0.03129,-0.000237359 +0.0313,-0.000237359 +0.03131,-0.000237359 +0.03132,-0.000237359 +0.03133,-0.00023736 +0.03134,-0.00023736 +0.03135,-0.00023736 +0.03136,-0.00023736 +0.03137,-0.00023736 +0.03138,-0.00023736 +0.03139,-0.00023736 +0.0314,-0.00023736 +0.03141,-0.00023736 +0.03142,-0.00023736 +0.03143,-0.00023736 +0.03144,-0.00023736 +0.03145,-0.00023736 +0.03146,-0.000237359 +0.03147,-0.000237359 +0.03148,-0.000237359 +0.03149,-0.000237359 +0.0315,-0.000237359 +0.03151,-0.000237359 +0.03152,-0.000237359 +0.03153,-0.000237359 +0.03154,-0.000237359 +0.03155,-0.000237359 +0.03156,-0.000237359 +0.03157,-0.000237359 +0.03158,-0.000237359 +0.03159,-0.000237359 +0.0316,-0.000237359 +0.03161,-0.000237359 +0.03162,-0.000237359 +0.03163,-0.000237359 +0.03164,-0.000237359 +0.03165,-0.000237359 +0.03166,-0.000237359 +0.03167,-0.000237359 +0.03168,-0.000237359 +0.03169,-0.000237359 +0.0317,-0.000237359 +0.03171,-0.00023736 +0.03172,-0.00023736 +0.03173,-0.00023736 +0.03174,-0.00023736 +0.03175,-0.00023736 +0.03176,-0.00023736 +0.03177,-0.00023736 +0.03178,-0.00023736 +0.03179,-0.00023736 +0.0318,-0.00023736 +0.03181,-0.00023736 +0.03182,-0.00023736 +0.03183,-0.000237359 +0.03184,-0.000237359 +0.03185,-0.000237359 +0.03186,-0.000237359 +0.03187,-0.000237359 +0.03188,-0.000237359 +0.03189,-0.000237359 +0.0319,-0.000237359 +0.03191,-0.000237359 +0.03192,-0.000237359 +0.03193,-0.000237359 +0.03194,-0.000237359 +0.03195,-0.000237359 +0.03196,-0.000237359 +0.03197,-0.000237359 +0.03198,-0.000237359 +0.03199,-0.000237359 +0.032,-0.000237359 +0.03201,-0.000237359 +0.03202,-0.000237359 +0.03203,-0.000237359 +0.03204,-0.000237359 +0.03205,-0.000237359 +0.03206,-0.000237359 +0.03207,-0.000237359 +0.03208,-0.000237359 +0.03209,-0.00023736 +0.0321,-0.00023736 +0.03211,-0.00023736 +0.03212,-0.00023736 +0.03213,-0.00023736 +0.03214,-0.00023736 +0.03215,-0.00023736 +0.03216,-0.00023736 +0.03217,-0.00023736 +0.03218,-0.00023736 +0.03219,-0.00023736 +0.0322,-0.000237359 +0.03221,-0.000237359 +0.03222,-0.000237359 +0.03223,-0.000237359 +0.03224,-0.000237359 +0.03225,-0.000237359 +0.03226,-0.000237359 +0.03227,-0.000237359 +0.03228,-0.000237359 +0.03229,-0.000237359 +0.0323,-0.000237359 +0.03231,-0.000237359 +0.03232,-0.000237359 +0.03233,-0.000237359 +0.03234,-0.000237359 +0.03235,-0.000237359 +0.03236,-0.000237359 +0.03237,-0.000237359 +0.03238,-0.000237359 +0.03239,-0.000237359 +0.0324,-0.000237359 +0.03241,-0.000237359 +0.03242,-0.000237359 +0.03243,-0.000237359 +0.03244,-0.000237359 +0.03245,-0.000237359 +0.03246,-0.000237359 +0.03247,-0.00023736 +0.03248,-0.00023736 +0.03249,-0.00023736 +0.0325,-0.00023736 +0.03251,-0.00023736 +0.03252,-0.00023736 +0.03253,-0.00023736 +0.03254,-0.00023736 +0.03255,-0.00023736 +0.03256,-0.00023736 +0.03257,-0.000237359 +0.03258,-0.000237359 +0.03259,-0.000237359 +0.0326,-0.000237359 +0.03261,-0.000237359 +0.03262,-0.000237359 +0.03263,-0.000237359 +0.03264,-0.000237359 +0.03265,-0.000237359 +0.03266,-0.000237359 +0.03267,-0.000237359 +0.03268,-0.000237359 +0.03269,-0.000237359 +0.0327,-0.000237359 +0.03271,-0.000237359 +0.03272,-0.000237359 +0.03273,-0.000237359 +0.03274,-0.000237359 +0.03275,-0.000237359 +0.03276,-0.000237359 +0.03277,-0.000237359 +0.03278,-0.000237359 +0.03279,-0.000237359 +0.0328,-0.000237359 +0.03281,-0.000237359 +0.03282,-0.000237359 +0.03283,-0.000237359 +0.03284,-0.000237359 +0.03285,-0.00023736 +0.03286,-0.00023736 +0.03287,-0.00023736 +0.03288,-0.00023736 +0.03289,-0.00023736 +0.0329,-0.00023736 +0.03291,-0.00023736 +0.03292,-0.00023736 +0.03293,-0.00023736 +0.03294,-0.00023736 +0.03295,-0.000237359 +0.03296,-0.000237359 +0.03297,-0.000237359 +0.03298,-0.000237359 +0.03299,-0.000237359 +0.033,-0.000237359 +0.03301,-0.000237359 +0.03302,-0.000237359 +0.03303,-0.000237359 +0.03304,-0.000237359 +0.03305,-0.000237359 +0.03306,-0.000237359 +0.03307,-0.000237359 +0.03308,-0.000237359 +0.03309,-0.000237359 +0.0331,-0.000237359 +0.03311,-0.000237359 +0.03312,-0.000237359 +0.03313,-0.000237359 +0.03314,-0.000237359 +0.03315,-0.000237359 +0.03316,-0.000237359 +0.03317,-0.000237359 +0.03318,-0.000237359 +0.03319,-0.000237359 +0.0332,-0.000237359 +0.03321,-0.000237359 +0.03322,-0.000237359 +0.03323,-0.00023736 +0.03324,-0.00023736 +0.03325,-0.00023736 +0.03326,-0.00023736 +0.03327,-0.00023736 +0.03328,-0.00023736 +0.03329,-0.00023736 +0.0333,-0.00023736 +0.03331,-0.00023736 +0.03332,-0.000237359 +0.03333,-0.000237359 +0.03334,-0.000237359 +0.03335,-0.000237359 +0.03336,-0.000237359 +0.03337,-0.000237359 +0.03338,-0.000237359 +0.03339,-0.000237359 +0.0334,-0.000237359 +0.03341,-0.000237359 +0.03342,-0.000237359 +0.03343,-0.000237359 +0.03344,-0.000237359 +0.03345,-0.000237359 +0.03346,-0.000237359 +0.03347,-0.000237359 +0.03348,-0.000237359 +0.03349,-0.000237359 +0.0335,-0.000237359 +0.03351,-0.000237359 +0.03352,-0.000237359 +0.03353,-0.000237359 +0.03354,-0.000237359 +0.03355,-0.000237359 +0.03356,-0.000237359 +0.03357,-0.000237359 +0.03358,-0.000237359 +0.03359,-0.000237359 +0.0336,-0.000237359 +0.03361,-0.000237359 +0.03362,-0.00023736 +0.03363,-0.00023736 +0.03364,-0.00023736 +0.03365,-0.00023736 +0.03366,-0.00023736 +0.03367,-0.00023736 +0.03368,-0.00023736 +0.03369,-0.000237359 +0.0337,-0.000237359 +0.03371,-0.000237359 +0.03372,-0.000237359 +0.03373,-0.000237359 +0.03374,-0.000237359 +0.03375,-0.000237359 +0.03376,-0.000237359 +0.03377,-0.000237359 +0.03378,-0.000237359 +0.03379,-0.000237359 +0.0338,-0.000237359 +0.03381,-0.000237359 +0.03382,-0.000237359 +0.03383,-0.000237359 +0.03384,-0.000237359 +0.03385,-0.000237359 +0.03386,-0.000237359 +0.03387,-0.000237359 +0.03388,-0.000237359 +0.03389,-0.000237359 +0.0339,-0.000237359 +0.03391,-0.000237359 +0.03392,-0.000237359 +0.03393,-0.000237359 +0.03394,-0.000237359 +0.03395,-0.000237359 +0.03396,-0.000237359 +0.03397,-0.000237359 +0.03398,-0.000237359 +0.03399,-0.000237359 +0.034,-0.00023736 +0.03401,-0.00023736 +0.03402,-0.00023736 +0.03403,-0.00023736 +0.03404,-0.00023736 +0.03405,-0.00023736 +0.03406,-0.000237359 +0.03407,-0.000237359 +0.03408,-0.000237359 +0.03409,-0.000237359 +0.0341,-0.000237359 +0.03411,-0.000237359 +0.03412,-0.000237359 +0.03413,-0.000237359 +0.03414,-0.000237359 +0.03415,-0.000237359 +0.03416,-0.000237359 +0.03417,-0.000237359 +0.03418,-0.000237359 +0.03419,-0.000237359 +0.0342,-0.000237359 +0.03421,-0.000237359 +0.03422,-0.000237359 +0.03423,-0.000237359 +0.03424,-0.000237359 +0.03425,-0.000237359 +0.03426,-0.000237359 +0.03427,-0.000237359 +0.03428,-0.000237359 +0.03429,-0.000237359 +0.0343,-0.000237359 +0.03431,-0.000237359 +0.03432,-0.000237359 +0.03433,-0.000237359 +0.03434,-0.000237359 +0.03435,-0.000237359 +0.03436,-0.000237359 +0.03437,-0.000237359 +0.03438,-0.000237359 +0.03439,-0.00023736 +0.0344,-0.00023736 +0.03441,-0.00023736 +0.03442,-0.000237359 +0.03443,-0.000237359 +0.03444,-0.000237359 +0.03445,-0.000237359 +0.03446,-0.000237359 +0.03447,-0.000237359 +0.03448,-0.000237359 +0.03449,-0.000237359 +0.0345,-0.000237359 +0.03451,-0.000237359 +0.03452,-0.000237359 +0.03453,-0.000237359 +0.03454,-0.000237359 +0.03455,-0.000237359 +0.03456,-0.000237359 +0.03457,-0.000237359 +0.03458,-0.000237359 +0.03459,-0.000237359 +0.0346,-0.000237359 +0.03461,-0.000237359 +0.03462,-0.000237359 +0.03463,-0.000237359 +0.03464,-0.000237359 +0.03465,-0.000237359 +0.03466,-0.000237359 +0.03467,-0.000237359 +0.03468,-0.000237359 +0.03469,-0.000237359 +0.0347,-0.000237359 +0.03471,-0.000237359 +0.03472,-0.000237359 +0.03473,-0.000237359 +0.03474,-0.000237359 +0.03475,-0.000237359 +0.03476,-0.000237359 +0.03477,-0.000237359 +0.03478,-0.000237359 +0.03479,-0.000237359 +0.0348,-0.000237359 +0.03481,-0.000237359 +0.03482,-0.000237359 +0.03483,-0.000237359 +0.03484,-0.000237359 +0.03485,-0.000237359 +0.03486,-0.000237359 +0.03487,-0.000237359 +0.03488,-0.000237359 +0.03489,-0.000237359 +0.0349,-0.000237359 +0.03491,-0.000237359 +0.03492,-0.000237359 +0.03493,-0.000237359 +0.03494,-0.000237359 +0.03495,-0.000237359 +0.03496,-0.000237359 +0.03497,-0.000237359 +0.03498,-0.000237359 +0.03499,-0.000237359 +0.035,-0.000237359 +0.03501,-0.000237359 +0.03502,-0.000237359 +0.03503,-0.000237359 +0.03504,-0.000237359 +0.03505,-0.000237359 +0.03506,-0.000237359 +0.03507,-0.000237359 +0.03508,-0.000237359 +0.03509,-0.000237359 +0.0351,-0.000237359 +0.03511,-0.000237359 +0.03512,-0.000237359 +0.03513,-0.000237359 +0.03514,-0.000237359 +0.03515,-0.000237359 +0.03516,-0.000237359 +0.03517,-0.000237359 +0.03518,-0.000237359 +0.03519,-0.000237359 +0.0352,-0.000237359 +0.03521,-0.000237359 +0.03522,-0.000237359 +0.03523,-0.000237359 +0.03524,-0.000237359 +0.03525,-0.000237359 +0.03526,-0.000237359 +0.03527,-0.000237359 +0.03528,-0.000237359 +0.03529,-0.000237359 +0.0353,-0.000237359 +0.03531,-0.000237359 +0.03532,-0.000237359 +0.03533,-0.000237359 +0.03534,-0.000237359 +0.03535,-0.000237359 +0.03536,-0.000237359 +0.03537,-0.000237359 +0.03538,-0.000237359 +0.03539,-0.000237359 +0.0354,-0.000237359 +0.03541,-0.000237359 +0.03542,-0.000237359 +0.03543,-0.000237359 +0.03544,-0.000237359 +0.03545,-0.000237359 +0.03546,-0.000237359 +0.03547,-0.000237359 +0.03548,-0.000237359 +0.03549,-0.000237359 +0.0355,-0.000237359 +0.03551,-0.000237359 +0.03552,-0.000237359 +0.03553,-0.000237359 +0.03554,-0.000237359 +0.03555,-0.000237359 +0.03556,-0.000237359 +0.03557,-0.000237359 +0.03558,-0.000237359 +0.03559,-0.000237359 +0.0356,-0.000237359 +0.03561,-0.000237359 +0.03562,-0.000237359 +0.03563,-0.000237359 +0.03564,-0.000237359 +0.03565,-0.000237359 +0.03566,-0.000237359 +0.03567,-0.000237359 +0.03568,-0.000237359 +0.03569,-0.000237359 +0.0357,-0.000237359 +0.03571,-0.000237359 +0.03572,-0.000237359 +0.03573,-0.000237359 +0.03574,-0.000237359 +0.03575,-0.000237359 +0.03576,-0.000237359 +0.03577,-0.000237359 +0.03578,-0.000237359 +0.03579,-0.000237359 +0.0358,-0.000237359 +0.03581,-0.000237359 +0.03582,-0.000237359 +0.03583,-0.000237359 +0.03584,-0.000237359 +0.03585,-0.000237359 +0.03586,-0.000237359 +0.03587,-0.000237359 +0.03588,-0.000237359 +0.03589,-0.000237359 +0.0359,-0.000237359 +0.03591,-0.000237359 +0.03592,-0.000237359 +0.03593,-0.000237359 +0.03594,-0.000237359 +0.03595,-0.000237359 +0.03596,-0.000237359 +0.03597,-0.000237359 +0.03598,-0.000237359 +0.03599,-0.000237359 +0.036,-0.000237359 +0.03601,-0.000237359 +0.03602,-0.000237359 +0.03603,-0.000237359 +0.03604,-0.000237359 +0.03605,-0.000237359 +0.03606,-0.000237359 +0.03607,-0.000237359 +0.03608,-0.000237359 +0.03609,-0.000237359 +0.0361,-0.000237359 +0.03611,-0.000237359 +0.03612,-0.000237359 +0.03613,-0.000237359 +0.03614,-0.000237359 +0.03615,-0.000237359 +0.03616,-0.000237359 +0.03617,-0.000237359 +0.03618,-0.000237359 +0.03619,-0.000237359 +0.0362,-0.000237359 +0.03621,-0.000237359 +0.03622,-0.000237359 +0.03623,-0.000237359 +0.03624,-0.000237359 +0.03625,-0.000237359 +0.03626,-0.000237359 +0.03627,-0.000237359 +0.03628,-0.000237359 +0.03629,-0.000237359 +0.0363,-0.000237359 +0.03631,-0.000237359 +0.03632,-0.000237359 +0.03633,-0.000237359 +0.03634,-0.000237359 +0.03635,-0.000237359 +0.03636,-0.000237359 +0.03637,-0.000237359 +0.03638,-0.000237359 +0.03639,-0.000237359 +0.0364,-0.000237359 +0.03641,-0.000237359 +0.03642,-0.000237359 +0.03643,-0.000237359 +0.03644,-0.000237359 +0.03645,-0.000237359 +0.03646,-0.000237359 +0.03647,-0.000237359 +0.03648,-0.000237359 +0.03649,-0.000237359 +0.0365,-0.000237359 +0.03651,-0.000237359 +0.03652,-0.000237359 +0.03653,-0.000237359 +0.03654,-0.000237359 +0.03655,-0.000237359 +0.03656,-0.000237359 +0.03657,-0.000237359 +0.03658,-0.000237359 +0.03659,-0.000237359 +0.0366,-0.000237359 +0.03661,-0.000237359 +0.03662,-0.000237359 +0.03663,-0.000237359 +0.03664,-0.000237359 +0.03665,-0.000237359 +0.03666,-0.000237359 +0.03667,-0.000237359 +0.03668,-0.000237359 +0.03669,-0.000237359 +0.0367,-0.000237359 +0.03671,-0.000237359 +0.03672,-0.000237359 +0.03673,-0.000237359 +0.03674,-0.000237359 +0.03675,-0.000237359 +0.03676,-0.000237359 +0.03677,-0.000237359 +0.03678,-0.000237359 +0.03679,-0.000237359 +0.0368,-0.000237359 +0.03681,-0.000237359 +0.03682,-0.000237359 +0.03683,-0.000237359 +0.03684,-0.000237359 +0.03685,-0.000237359 +0.03686,-0.000237359 +0.03687,-0.000237359 +0.03688,-0.000237359 +0.03689,-0.000237359 +0.0369,-0.000237359 +0.03691,-0.000237359 +0.03692,-0.000237359 +0.03693,-0.000237359 +0.03694,-0.000237359 +0.03695,-0.000237359 +0.03696,-0.000237359 +0.03697,-0.000237359 +0.03698,-0.000237359 +0.03699,-0.000237359 +0.037,-0.000237359 +0.03701,-0.000237359 +0.03702,-0.000237359 +0.03703,-0.000237359 +0.03704,-0.000237359 +0.03705,-0.000237359 +0.03706,-0.000237359 +0.03707,-0.000237359 +0.03708,-0.000237359 +0.03709,-0.000237359 +0.0371,-0.000237359 +0.03711,-0.000237359 +0.03712,-0.000237359 +0.03713,-0.000237359 +0.03714,-0.000237359 +0.03715,-0.000237359 +0.03716,-0.000237359 +0.03717,-0.000237359 +0.03718,-0.000237359 +0.03719,-0.000237359 +0.0372,-0.000237359 +0.03721,-0.000237359 +0.03722,-0.000237359 +0.03723,-0.000237359 +0.03724,-0.000237359 +0.03725,-0.000237359 +0.03726,-0.000237359 +0.03727,-0.000237359 +0.03728,-0.000237359 +0.03729,-0.000237359 +0.0373,-0.000237359 +0.03731,-0.000237359 +0.03732,-0.000237359 +0.03733,-0.000237359 +0.03734,-0.000237359 +0.03735,-0.000237359 +0.03736,-0.000237359 +0.03737,-0.000237359 +0.03738,-0.000237359 +0.03739,-0.000237359 +0.0374,-0.000237359 +0.03741,-0.000237359 +0.03742,-0.000237359 +0.03743,-0.000237359 +0.03744,-0.000237359 +0.03745,-0.000237359 +0.03746,-0.000237359 +0.03747,-0.000237359 +0.03748,-0.000237359 +0.03749,-0.000237359 +0.0375,-0.000237359 +0.03751,-0.000237359 +0.03752,-0.000237359 +0.03753,-0.000237359 +0.03754,-0.000237359 +0.03755,-0.000237359 +0.03756,-0.000237359 +0.03757,-0.000237359 +0.03758,-0.000237359 +0.03759,-0.000237359 +0.0376,-0.000237359 +0.03761,-0.000237359 +0.03762,-0.000237359 +0.03763,-0.000237359 +0.03764,-0.000237359 +0.03765,-0.000237359 +0.03766,-0.000237359 +0.03767,-0.000237359 +0.03768,-0.000237359 +0.03769,-0.000237359 +0.0377,-0.000237359 +0.03771,-0.000237359 +0.03772,-0.000237359 +0.03773,-0.000237359 +0.03774,-0.000237359 +0.03775,-0.000237359 +0.03776,-0.000237359 +0.03777,-0.000237359 +0.03778,-0.000237359 +0.03779,-0.000237359 +0.0378,-0.000237359 +0.03781,-0.000237359 +0.03782,-0.000237359 +0.03783,-0.000237359 +0.03784,-0.000237359 +0.03785,-0.000237359 +0.03786,-0.000237359 +0.03787,-0.000237359 +0.03788,-0.000237359 +0.03789,-0.000237359 +0.0379,-0.000237359 +0.03791,-0.000237359 +0.03792,-0.000237359 +0.03793,-0.000237359 +0.03794,-0.000237359 +0.03795,-0.000237359 +0.03796,-0.000237359 +0.03797,-0.000237359 +0.03798,-0.000237359 +0.03799,-0.000237359 +0.038,-0.000237359 +0.03801,-0.000237359 +0.03802,-0.000237359 +0.03803,-0.000237359 +0.03804,-0.000237359 +0.03805,-0.000237359 +0.03806,-0.000237359 +0.03807,-0.000237359 +0.03808,-0.000237359 +0.03809,-0.000237359 +0.0381,-0.000237359 +0.03811,-0.000237359 +0.03812,-0.000237359 +0.03813,-0.000237359 +0.03814,-0.000237359 +0.03815,-0.000237359 +0.03816,-0.000237359 +0.03817,-0.000237359 +0.03818,-0.000237359 +0.03819,-0.000237359 +0.0382,-0.000237359 +0.03821,-0.000237359 +0.03822,-0.000237359 +0.03823,-0.000237359 +0.03824,-0.000237359 +0.03825,-0.000237359 +0.03826,-0.000237359 +0.03827,-0.000237359 +0.03828,-0.000237359 +0.03829,-0.000237359 +0.0383,-0.000237359 +0.03831,-0.000237359 +0.03832,-0.000237359 +0.03833,-0.000237359 +0.03834,-0.000237359 +0.03835,-0.000237359 +0.03836,-0.000237359 +0.03837,-0.000237359 +0.03838,-0.000237359 +0.03839,-0.000237359 +0.0384,-0.000237359 +0.03841,-0.000237359 +0.03842,-0.000237359 +0.03843,-0.000237359 +0.03844,-0.000237359 +0.03845,-0.000237359 +0.03846,-0.000237359 +0.03847,-0.000237359 +0.03848,-0.000237359 +0.03849,-0.000237359 +0.0385,-0.000237359 +0.03851,-0.000237359 +0.03852,-0.000237359 +0.03853,-0.000237359 +0.03854,-0.000237359 +0.03855,-0.000237359 +0.03856,-0.000237359 +0.03857,-0.000237359 +0.03858,-0.000237359 +0.03859,-0.000237359 +0.0386,-0.000237359 +0.03861,-0.000237359 +0.03862,-0.000237359 +0.03863,-0.000237359 +0.03864,-0.000237359 +0.03865,-0.000237359 +0.03866,-0.000237359 +0.03867,-0.000237359 +0.03868,-0.000237359 +0.03869,-0.000237359 +0.0387,-0.000237359 +0.03871,-0.000237359 +0.03872,-0.000237359 +0.03873,-0.000237359 +0.03874,-0.000237359 +0.03875,-0.000237359 +0.03876,-0.000237359 +0.03877,-0.000237359 +0.03878,-0.000237359 +0.03879,-0.000237359 +0.0388,-0.000237359 +0.03881,-0.000237359 +0.03882,-0.000237359 +0.03883,-0.000237359 +0.03884,-0.000237359 +0.03885,-0.000237359 +0.03886,-0.000237359 +0.03887,-0.000237359 +0.03888,-0.000237359 +0.03889,-0.000237359 +0.0389,-0.000237359 +0.03891,-0.000237359 +0.03892,-0.000237359 +0.03893,-0.000237359 +0.03894,-0.000237359 +0.03895,-0.000237359 +0.03896,-0.000237359 +0.03897,-0.000237359 +0.03898,-0.000237359 +0.03899,-0.000237359 +0.039,-0.000237359 +0.03901,-0.000237359 +0.03902,-0.000237359 +0.03903,-0.000237359 +0.03904,-0.000237359 +0.03905,-0.000237359 +0.03906,-0.000237359 +0.03907,-0.000237359 +0.03908,-0.000237359 +0.03909,-0.000237359 +0.0391,-0.000237359 +0.03911,-0.000237359 +0.03912,-0.000237359 +0.03913,-0.000237359 +0.03914,-0.000237359 +0.03915,-0.000237359 +0.03916,-0.000237359 +0.03917,-0.000237359 +0.03918,-0.000237359 +0.03919,-0.000237359 +0.0392,-0.000237359 +0.03921,-0.000237359 +0.03922,-0.000237359 +0.03923,-0.000237359 +0.03924,-0.000237359 +0.03925,-0.000237359 +0.03926,-0.000237359 +0.03927,-0.000237359 +0.03928,-0.000237359 +0.03929,-0.000237359 +0.0393,-0.000237359 +0.03931,-0.000237359 +0.03932,-0.000237359 +0.03933,-0.000237359 +0.03934,-0.000237359 +0.03935,-0.000237359 +0.03936,-0.000237359 +0.03937,-0.000237359 +0.03938,-0.000237359 +0.03939,-0.000237359 +0.0394,-0.000237359 +0.03941,-0.000237359 +0.03942,-0.000237359 +0.03943,-0.000237359 +0.03944,-0.000237359 +0.03945,-0.000237359 +0.03946,-0.000237359 +0.03947,-0.000237359 +0.03948,-0.000237359 +0.03949,-0.000237359 +0.0395,-0.000237359 +0.03951,-0.000237359 +0.03952,-0.000237359 +0.03953,-0.000237359 +0.03954,-0.000237359 +0.03955,-0.000237359 +0.03956,-0.000237359 +0.03957,-0.000237359 +0.03958,-0.000237359 +0.03959,-0.000237359 +0.0396,-0.000237359 +0.03961,-0.000237359 +0.03962,-0.000237359 +0.03963,-0.000237359 +0.03964,-0.000237359 +0.03965,-0.000237359 +0.03966,-0.000237359 +0.03967,-0.000237359 +0.03968,-0.000237359 +0.03969,-0.000237359 +0.0397,-0.000237359 +0.03971,-0.000237359 +0.03972,-0.000237359 +0.03973,-0.000237359 +0.03974,-0.000237359 +0.03975,-0.000237359 +0.03976,-0.000237359 +0.03977,-0.000237359 +0.03978,-0.000237359 +0.03979,-0.000237359 +0.0398,-0.000237359 +0.03981,-0.000237359 +0.03982,-0.000237359 +0.03983,-0.000237359 +0.03984,-0.000237359 +0.03985,-0.000237359 +0.03986,-0.000237359 +0.03987,-0.000237359 +0.03988,-0.000237359 +0.03989,-0.000237359 +0.0399,-0.000237359 +0.03991,-0.000237359 +0.03992,-0.000237359 +0.03993,-0.000237359 +0.03994,-0.000237359 +0.03995,-0.000237359 +0.03996,-0.000237359 +0.03997,-0.000237359 +0.03998,-0.000237359 +0.03999,-0.000237359 +0.04,-0.000237359 +0.04001,-0.000237359 +0.04002,-0.000237359 +0.04003,-0.000237359 +0.04004,-0.000237359 +0.04005,-0.000237359 +0.04006,-0.000237359 +0.04007,-0.000237359 +0.04008,-0.000237359 +0.04009,-0.000237359 +0.0401,-0.000237359 +0.04011,-0.000237359 +0.04012,-0.000237359 +0.04013,-0.000237359 +0.04014,-0.000237359 +0.04015,-0.000237359 +0.04016,-0.000237359 +0.04017,-0.000237359 +0.04018,-0.000237359 +0.04019,-0.000237359 +0.0402,-0.000237359 +0.04021,-0.000237359 +0.04022,-0.000237359 +0.04023,-0.000237359 +0.04024,-0.000237359 +0.04025,-0.000237359 +0.04026,-0.000237359 +0.04027,-0.000237359 +0.04028,-0.000237359 +0.04029,-0.000237359 +0.0403,-0.000237359 +0.04031,-0.000237359 +0.04032,-0.000237359 +0.04033,-0.000237359 +0.04034,-0.000237359 +0.04035,-0.000237359 +0.04036,-0.000237359 +0.04037,-0.000237359 +0.04038,-0.000237359 +0.04039,-0.000237359 +0.0404,-0.000237359 +0.04041,-0.000237359 +0.04042,-0.000237359 +0.04043,-0.000237359 +0.04044,-0.000237359 +0.04045,-0.000237359 +0.04046,-0.000237359 +0.04047,-0.000237359 +0.04048,-0.000237359 +0.04049,-0.000237359 +0.0405,-0.000237359 +0.04051,-0.000237359 +0.04052,-0.000237359 +0.04053,-0.000237359 +0.04054,-0.000237359 +0.04055,-0.000237359 +0.04056,-0.000237359 +0.04057,-0.000237359 +0.04058,-0.000237359 +0.04059,-0.000237359 +0.0406,-0.000237359 +0.04061,-0.000237359 +0.04062,-0.000237359 +0.04063,-0.000237359 +0.04064,-0.000237359 +0.04065,-0.000237359 +0.04066,-0.000237359 +0.04067,-0.000237359 +0.04068,-0.000237359 +0.04069,-0.000237359 +0.0407,-0.000237359 +0.04071,-0.000237359 +0.04072,-0.000237359 +0.04073,-0.000237359 +0.04074,-0.000237359 +0.04075,-0.000237359 +0.04076,-0.000237359 +0.04077,-0.000237359 +0.04078,-0.000237359 +0.04079,-0.000237359 +0.0408,-0.000237359 +0.04081,-0.000237359 +0.04082,-0.000237359 +0.04083,-0.000237359 +0.04084,-0.000237359 +0.04085,-0.000237359 +0.04086,-0.000237359 +0.04087,-0.000237359 +0.04088,-0.000237359 +0.04089,-0.000237359 +0.0409,-0.000237359 +0.04091,-0.000237359 +0.04092,-0.000237359 +0.04093,-0.000237359 +0.04094,-0.000237359 +0.04095,-0.000237359 +0.04096,-0.000237359 +0.04097,-0.000237359 +0.04098,-0.000237359 +0.04099,-0.000237359 +0.041,-0.000237359 +0.04101,-0.000237359 +0.04102,-0.000237359 +0.04103,-0.000237359 +0.04104,-0.000237359 +0.04105,-0.000237359 +0.04106,-0.000237359 +0.04107,-0.000237359 +0.04108,-0.000237359 +0.04109,-0.000237359 +0.0411,-0.000237359 +0.04111,-0.000237359 +0.04112,-0.000237359 +0.04113,-0.000237359 +0.04114,-0.000237359 +0.04115,-0.000237359 +0.04116,-0.000237359 +0.04117,-0.000237359 +0.04118,-0.000237359 +0.04119,-0.000237359 +0.0412,-0.000237359 +0.04121,-0.000237359 +0.04122,-0.000237359 +0.04123,-0.000237359 +0.04124,-0.000237359 +0.04125,-0.000237359 +0.04126,-0.000237359 +0.04127,-0.000237359 +0.04128,-0.000237359 +0.04129,-0.000237359 +0.0413,-0.000237359 +0.04131,-0.000237359 +0.04132,-0.000237359 +0.04133,-0.000237359 +0.04134,-0.000237359 +0.04135,-0.000237359 +0.04136,-0.000237359 +0.04137,-0.000237359 +0.04138,-0.000237359 +0.04139,-0.000237359 +0.0414,-0.000237359 +0.04141,-0.000237359 +0.04142,-0.000237359 +0.04143,-0.000237359 +0.04144,-0.000237359 +0.04145,-0.000237359 +0.04146,-0.000237359 +0.04147,-0.000237359 +0.04148,-0.000237359 +0.04149,-0.000237359 +0.0415,-0.000237359 +0.04151,-0.000237359 +0.04152,-0.000237359 +0.04153,-0.000237359 +0.04154,-0.000237359 +0.04155,-0.000237359 +0.04156,-0.000237359 +0.04157,-0.000237359 +0.04158,-0.000237359 +0.04159,-0.000237359 +0.0416,-0.000237359 +0.04161,-0.000237359 +0.04162,-0.000237359 +0.04163,-0.000237359 +0.04164,-0.000237359 +0.04165,-0.000237359 +0.04166,-0.000237359 +0.04167,-0.000237359 +0.04168,-0.000237359 +0.04169,-0.000237359 +0.0417,-0.000237359 +0.04171,-0.000237359 +0.04172,-0.000237359 +0.04173,-0.000237359 +0.04174,-0.000237359 +0.04175,-0.000237359 +0.04176,-0.000237359 +0.04177,-0.000237359 +0.04178,-0.000237359 +0.04179,-0.000237359 +0.0418,-0.000237359 +0.04181,-0.000237359 +0.04182,-0.000237359 +0.04183,-0.000237359 +0.04184,-0.000237359 +0.04185,-0.000237359 +0.04186,-0.000237359 +0.04187,-0.000237359 +0.04188,-0.000237359 +0.04189,-0.000237359 +0.0419,-0.000237359 +0.04191,-0.000237359 +0.04192,-0.000237359 +0.04193,-0.000237359 +0.04194,-0.000237359 +0.04195,-0.000237359 +0.04196,-0.000237359 +0.04197,-0.000237359 +0.04198,-0.000237359 +0.04199,-0.000237359 +0.042,-0.000237359 +0.04201,-0.000237359 +0.04202,-0.000237359 +0.04203,-0.000237359 +0.04204,-0.000237359 +0.04205,-0.000237359 +0.04206,-0.000237359 +0.04207,-0.000237359 +0.04208,-0.000237359 +0.04209,-0.000237359 +0.0421,-0.000237359 +0.04211,-0.000237359 +0.04212,-0.000237359 +0.04213,-0.000237359 +0.04214,-0.000237359 +0.04215,-0.000237359 +0.04216,-0.000237359 +0.04217,-0.000237359 +0.04218,-0.000237359 +0.04219,-0.000237359 +0.0422,-0.000237359 +0.04221,-0.000237359 +0.04222,-0.000237359 +0.04223,-0.000237359 +0.04224,-0.000237359 +0.04225,-0.000237359 +0.04226,-0.000237359 +0.04227,-0.000237359 +0.04228,-0.000237359 +0.04229,-0.000237359 +0.0423,-0.000237359 +0.04231,-0.000237359 +0.04232,-0.000237359 +0.04233,-0.000237359 +0.04234,-0.000237359 +0.04235,-0.000237359 +0.04236,-0.000237359 +0.04237,-0.000237359 +0.04238,-0.000237359 +0.04239,-0.000237359 +0.0424,-0.000237359 +0.04241,-0.000237359 +0.04242,-0.000237359 +0.04243,-0.000237359 +0.04244,-0.000237359 +0.04245,-0.000237359 +0.04246,-0.000237359 +0.04247,-0.000237359 +0.04248,-0.000237359 +0.04249,-0.000237359 +0.0425,-0.000237359 +0.04251,-0.000237359 +0.04252,-0.000237359 +0.04253,-0.000237359 +0.04254,-0.000237359 +0.04255,-0.000237359 +0.04256,-0.000237359 +0.04257,-0.000237359 +0.04258,-0.000237359 +0.04259,-0.000237359 +0.0426,-0.000237359 +0.04261,-0.000237359 +0.04262,-0.000237359 +0.04263,-0.000237359 +0.04264,-0.000237359 +0.04265,-0.000237359 +0.04266,-0.000237359 +0.04267,-0.000237359 +0.04268,-0.000237359 +0.04269,-0.000237359 +0.0427,-0.000237359 +0.04271,-0.000237359 +0.04272,-0.000237359 +0.04273,-0.000237359 +0.04274,-0.000237359 +0.04275,-0.000237359 +0.04276,-0.000237359 +0.04277,-0.000237359 +0.04278,-0.000237359 +0.04279,-0.000237359 +0.0428,-0.000237359 +0.04281,-0.000237359 +0.04282,-0.000237359 +0.04283,-0.000237359 +0.04284,-0.000237359 +0.04285,-0.000237359 +0.04286,-0.000237359 +0.04287,-0.000237359 +0.04288,-0.000237359 +0.04289,-0.000237359 +0.0429,-0.000237359 +0.04291,-0.000237359 +0.04292,-0.000237359 +0.04293,-0.000237359 +0.04294,-0.000237359 +0.04295,-0.000237359 +0.04296,-0.000237359 +0.04297,-0.000237359 +0.04298,-0.000237359 +0.04299,-0.000237359 +0.043,-0.000237359 +0.04301,-0.000237359 +0.04302,-0.000237359 +0.04303,-0.000237359 +0.04304,-0.000237359 +0.04305,-0.000237359 +0.04306,-0.000237359 +0.04307,-0.000237359 +0.04308,-0.000237359 +0.04309,-0.000237359 +0.0431,-0.000237359 +0.04311,-0.000237359 +0.04312,-0.000237359 +0.04313,-0.000237359 +0.04314,-0.000237359 +0.04315,-0.000237359 +0.04316,-0.000237359 +0.04317,-0.000237359 +0.04318,-0.000237359 +0.04319,-0.000237359 +0.0432,-0.000237359 +0.04321,-0.000237359 +0.04322,-0.000237359 +0.04323,-0.000237359 +0.04324,-0.000237359 +0.04325,-0.000237359 +0.04326,-0.000237359 +0.04327,-0.000237359 +0.04328,-0.000237359 +0.04329,-0.000237359 +0.0433,-0.000237359 +0.04331,-0.000237359 +0.04332,-0.000237359 +0.04333,-0.000237359 +0.04334,-0.000237359 +0.04335,-0.000237359 +0.04336,-0.000237359 +0.04337,-0.000237359 +0.04338,-0.000237359 +0.04339,-0.000237359 +0.0434,-0.000237359 +0.04341,-0.000237359 +0.04342,-0.000237359 +0.04343,-0.000237359 +0.04344,-0.000237359 +0.04345,-0.000237359 +0.04346,-0.000237359 +0.04347,-0.000237359 +0.04348,-0.000237359 +0.04349,-0.000237359 +0.0435,-0.000237359 +0.04351,-0.000237359 +0.04352,-0.000237359 +0.04353,-0.000237359 +0.04354,-0.000237359 +0.04355,-0.000237359 +0.04356,-0.000237359 +0.04357,-0.000237359 +0.04358,-0.000237359 +0.04359,-0.000237359 +0.0436,-0.000237359 +0.04361,-0.000237359 +0.04362,-0.000237359 +0.04363,-0.000237359 +0.04364,-0.000237359 +0.04365,-0.000237359 +0.04366,-0.000237359 +0.04367,-0.000237359 +0.04368,-0.000237359 +0.04369,-0.000237359 +0.0437,-0.000237359 +0.04371,-0.000237359 +0.04372,-0.000237359 +0.04373,-0.000237359 +0.04374,-0.000237359 +0.04375,-0.000237359 +0.04376,-0.000237359 +0.04377,-0.000237359 +0.04378,-0.000237359 +0.04379,-0.000237359 +0.0438,-0.000237359 +0.04381,-0.000237359 +0.04382,-0.000237359 +0.04383,-0.000237359 +0.04384,-0.000237359 +0.04385,-0.000237359 +0.04386,-0.000237359 +0.04387,-0.000237359 +0.04388,-0.000237359 +0.04389,-0.000237359 +0.0439,-0.000237359 +0.04391,-0.000237359 +0.04392,-0.000237359 +0.04393,-0.000237359 +0.04394,-0.000237359 +0.04395,-0.000237359 +0.04396,-0.000237359 +0.04397,-0.000237359 +0.04398,-0.000237359 +0.04399,-0.000237359 +0.044,-0.000237359 +0.04401,-0.000237359 +0.04402,-0.000237359 +0.04403,-0.000237359 +0.04404,-0.000237359 +0.04405,-0.000237359 +0.04406,-0.000237359 +0.04407,-0.000237359 +0.04408,-0.000237359 +0.04409,-0.000237359 +0.0441,-0.000237359 +0.04411,-0.000237359 +0.04412,-0.000237359 +0.04413,-0.000237359 +0.04414,-0.000237359 +0.04415,-0.000237359 +0.04416,-0.000237359 +0.04417,-0.000237359 +0.04418,-0.000237359 +0.04419,-0.000237359 +0.0442,-0.000237359 +0.04421,-0.000237359 +0.04422,-0.000237359 +0.04423,-0.000237359 +0.04424,-0.000237359 +0.04425,-0.000237359 +0.04426,-0.000237359 +0.04427,-0.000237359 +0.04428,-0.000237359 +0.04429,-0.000237359 +0.0443,-0.000237359 +0.04431,-0.000237359 +0.04432,-0.000237359 +0.04433,-0.000237359 +0.04434,-0.000237359 +0.04435,-0.000237359 +0.04436,-0.000237359 +0.04437,-0.000237359 +0.04438,-0.000237359 +0.04439,-0.000237359 +0.0444,-0.000237359 +0.04441,-0.000237359 +0.04442,-0.000237359 +0.04443,-0.000237359 +0.04444,-0.000237359 +0.04445,-0.000237359 +0.04446,-0.000237359 +0.04447,-0.000237359 +0.04448,-0.000237359 +0.04449,-0.000237359 +0.0445,-0.000237359 +0.04451,-0.000237359 +0.04452,-0.000237359 +0.04453,-0.000237359 +0.04454,-0.000237359 +0.04455,-0.000237359 +0.04456,-0.000237359 +0.04457,-0.000237359 +0.04458,-0.000237359 +0.04459,-0.000237359 +0.0446,-0.000237359 +0.04461,-0.000237359 +0.04462,-0.000237359 +0.04463,-0.000237359 +0.04464,-0.000237359 +0.04465,-0.000237359 +0.04466,-0.000237359 +0.04467,-0.000237359 +0.04468,-0.000237359 +0.04469,-0.000237359 +0.0447,-0.000237359 +0.04471,-0.000237359 +0.04472,-0.000237359 +0.04473,-0.000237359 +0.04474,-0.000237359 +0.04475,-0.000237359 +0.04476,-0.000237359 +0.04477,-0.000237359 +0.04478,-0.000237359 +0.04479,-0.000237359 +0.0448,-0.000237359 +0.04481,-0.000237359 +0.04482,-0.000237359 +0.04483,-0.000237359 +0.04484,-0.000237359 +0.04485,-0.000237359 +0.04486,-0.000237359 +0.04487,-0.000237359 +0.04488,-0.000237359 +0.04489,-0.000237359 +0.0449,-0.000237359 +0.04491,-0.000237359 +0.04492,-0.000237359 +0.04493,-0.000237359 +0.04494,-0.000237359 +0.04495,-0.000237359 +0.04496,-0.000237359 +0.04497,-0.000237359 +0.04498,-0.000237359 +0.04499,-0.000237359 +0.045,-0.000237359 +0.04501,-0.000237359 +0.04502,-0.000237359 +0.04503,-0.000237359 +0.04504,-0.000237359 +0.04505,-0.000237359 +0.04506,-0.000237359 +0.04507,-0.000237359 +0.04508,-0.000237359 +0.04509,-0.000237359 +0.0451,-0.000237359 +0.04511,-0.000237359 +0.04512,-0.000237359 +0.04513,-0.000237359 +0.04514,-0.000237359 +0.04515,-0.000237359 +0.04516,-0.000237359 +0.04517,-0.000237359 +0.04518,-0.000237359 +0.04519,-0.000237359 +0.0452,-0.000237359 +0.04521,-0.000237359 +0.04522,-0.000237359 +0.04523,-0.000237359 +0.04524,-0.000237359 +0.04525,-0.000237359 +0.04526,-0.000237359 +0.04527,-0.000237359 +0.04528,-0.000237359 +0.04529,-0.000237359 +0.0453,-0.000237359 +0.04531,-0.000237359 +0.04532,-0.000237359 +0.04533,-0.000237359 +0.04534,-0.000237359 +0.04535,-0.000237359 +0.04536,-0.000237359 +0.04537,-0.000237359 +0.04538,-0.000237359 +0.04539,-0.000237359 +0.0454,-0.000237359 +0.04541,-0.000237359 +0.04542,-0.000237359 +0.04543,-0.000237359 +0.04544,-0.000237359 +0.04545,-0.000237359 +0.04546,-0.000237359 +0.04547,-0.000237359 +0.04548,-0.000237359 +0.04549,-0.000237359 +0.0455,-0.000237359 +0.04551,-0.000237359 +0.04552,-0.000237359 +0.04553,-0.000237359 +0.04554,-0.000237359 +0.04555,-0.000237359 +0.04556,-0.000237359 +0.04557,-0.000237359 +0.04558,-0.000237359 +0.04559,-0.000237359 +0.0456,-0.000237359 +0.04561,-0.000237359 +0.04562,-0.000237359 +0.04563,-0.000237359 +0.04564,-0.000237359 +0.04565,-0.000237359 +0.04566,-0.000237359 +0.04567,-0.000237359 +0.04568,-0.000237359 +0.04569,-0.000237359 +0.0457,-0.000237359 +0.04571,-0.000237359 +0.04572,-0.000237359 +0.04573,-0.000237359 +0.04574,-0.000237359 +0.04575,-0.000237359 +0.04576,-0.000237359 +0.04577,-0.000237359 +0.04578,-0.000237359 +0.04579,-0.000237359 +0.0458,-0.000237359 +0.04581,-0.000237359 +0.04582,-0.000237359 +0.04583,-0.000237359 +0.04584,-0.000237359 +0.04585,-0.000237359 +0.04586,-0.000237359 +0.04587,-0.000237359 +0.04588,-0.000237359 +0.04589,-0.000237359 +0.0459,-0.000237359 +0.04591,-0.000237359 +0.04592,-0.000237359 +0.04593,-0.000237359 +0.04594,-0.000237359 +0.04595,-0.000237359 +0.04596,-0.000237359 +0.04597,-0.000237359 +0.04598,-0.000237359 +0.04599,-0.000237359 +0.046,-0.000237359 +0.04601,-0.000237359 +0.04602,-0.000237359 +0.04603,-0.000237359 +0.04604,-0.000237359 +0.04605,-0.000237359 +0.04606,-0.000237359 +0.04607,-0.000237359 +0.04608,-0.000237359 +0.04609,-0.000237359 +0.0461,-0.000237359 +0.04611,-0.000237359 +0.04612,-0.000237359 +0.04613,-0.000237359 +0.04614,-0.000237359 +0.04615,-0.000237359 +0.04616,-0.000237359 +0.04617,-0.000237359 +0.04618,-0.000237359 +0.04619,-0.000237359 +0.0462,-0.000237359 +0.04621,-0.000237359 +0.04622,-0.000237359 +0.04623,-0.000237359 +0.04624,-0.000237359 +0.04625,-0.000237359 +0.04626,-0.000237359 +0.04627,-0.000237359 +0.04628,-0.000237359 +0.04629,-0.000237359 +0.0463,-0.000237359 +0.04631,-0.000237359 +0.04632,-0.000237359 +0.04633,-0.000237359 +0.04634,-0.000237359 +0.04635,-0.000237359 +0.04636,-0.000237359 +0.04637,-0.000237359 +0.04638,-0.000237359 +0.04639,-0.000237359 +0.0464,-0.000237359 +0.04641,-0.000237359 +0.04642,-0.000237359 +0.04643,-0.000237359 +0.04644,-0.000237359 +0.04645,-0.000237359 +0.04646,-0.000237359 +0.04647,-0.000237359 +0.04648,-0.000237359 +0.04649,-0.000237359 +0.0465,-0.000237359 +0.04651,-0.000237359 +0.04652,-0.000237359 +0.04653,-0.000237359 +0.04654,-0.000237359 +0.04655,-0.000237359 +0.04656,-0.000237359 +0.04657,-0.000237359 +0.04658,-0.000237359 +0.04659,-0.000237359 +0.0466,-0.000237359 +0.04661,-0.000237359 +0.04662,-0.000237359 +0.04663,-0.000237359 +0.04664,-0.000237359 +0.04665,-0.000237359 +0.04666,-0.000237359 +0.04667,-0.000237359 +0.04668,-0.000237359 +0.04669,-0.000237359 +0.0467,-0.000237359 +0.04671,-0.000237359 +0.04672,-0.000237359 +0.04673,-0.000237359 +0.04674,-0.000237359 +0.04675,-0.000237359 +0.04676,-0.000237359 +0.04677,-0.000237359 +0.04678,-0.000237359 +0.04679,-0.000237359 +0.0468,-0.000237359 +0.04681,-0.000237359 +0.04682,-0.000237359 +0.04683,-0.000237359 +0.04684,-0.000237359 +0.04685,-0.000237359 +0.04686,-0.000237359 +0.04687,-0.000237359 +0.04688,-0.000237359 +0.04689,-0.000237359 +0.0469,-0.000237359 +0.04691,-0.000237359 +0.04692,-0.000237359 +0.04693,-0.000237359 +0.04694,-0.000237359 +0.04695,-0.000237359 +0.04696,-0.000237359 +0.04697,-0.000237359 +0.04698,-0.000237359 +0.04699,-0.000237359 +0.047,-0.000237359 +0.04701,-0.000237359 +0.04702,-0.000237359 +0.04703,-0.000237359 +0.04704,-0.000237359 +0.04705,-0.000237359 +0.04706,-0.000237359 +0.04707,-0.000237359 +0.04708,-0.000237359 +0.04709,-0.000237359 +0.0471,-0.000237359 +0.04711,-0.000237359 +0.04712,-0.000237359 +0.04713,-0.000237359 +0.04714,-0.000237359 +0.04715,-0.000237359 +0.04716,-0.000237359 +0.04717,-0.000237359 +0.04718,-0.000237359 +0.04719,-0.000237359 +0.0472,-0.000237359 +0.04721,-0.000237359 +0.04722,-0.000237359 +0.04723,-0.000237359 +0.04724,-0.000237359 +0.04725,-0.000237359 +0.04726,-0.000237359 +0.04727,-0.000237359 +0.04728,-0.000237359 +0.04729,-0.000237359 +0.0473,-0.000237359 +0.04731,-0.000237359 +0.04732,-0.000237359 +0.04733,-0.000237359 +0.04734,-0.000237359 +0.04735,-0.000237359 +0.04736,-0.000237359 +0.04737,-0.000237359 +0.04738,-0.000237359 +0.04739,-0.000237359 +0.0474,-0.000237359 +0.04741,-0.000237359 +0.04742,-0.000237359 +0.04743,-0.000237359 +0.04744,-0.000237359 +0.04745,-0.000237359 +0.04746,-0.000237359 +0.04747,-0.000237359 +0.04748,-0.000237359 +0.04749,-0.000237359 +0.0475,-0.000237359 +0.04751,-0.000237359 +0.04752,-0.000237359 +0.04753,-0.000237359 +0.04754,-0.000237359 +0.04755,-0.000237359 +0.04756,-0.000237359 +0.04757,-0.000237359 +0.04758,-0.000237359 +0.04759,-0.000237359 +0.0476,-0.000237359 +0.04761,-0.000237359 +0.04762,-0.000237359 +0.04763,-0.000237359 +0.04764,-0.000237359 +0.04765,-0.000237359 +0.04766,-0.000237359 +0.04767,-0.000237359 +0.04768,-0.000237359 +0.04769,-0.000237359 +0.0477,-0.000237359 +0.04771,-0.000237359 +0.04772,-0.000237359 +0.04773,-0.000237359 +0.04774,-0.000237359 +0.04775,-0.000237359 +0.04776,-0.000237359 +0.04777,-0.000237359 +0.04778,-0.000237359 +0.04779,-0.000237359 +0.0478,-0.000237359 +0.04781,-0.000237359 +0.04782,-0.000237359 +0.04783,-0.000237359 +0.04784,-0.000237359 +0.04785,-0.000237359 +0.04786,-0.000237359 +0.04787,-0.000237359 +0.04788,-0.000237359 +0.04789,-0.000237359 +0.0479,-0.000237359 +0.04791,-0.000237359 +0.04792,-0.000237359 +0.04793,-0.000237359 +0.04794,-0.000237359 +0.04795,-0.000237359 +0.04796,-0.000237359 +0.04797,-0.000237359 +0.04798,-0.000237359 +0.04799,-0.000237359 +0.048,-0.000237359 +0.04801,-0.000237359 +0.04802,-0.000237359 +0.04803,-0.000237359 +0.04804,-0.000237359 +0.04805,-0.000237359 +0.04806,-0.000237359 +0.04807,-0.000237359 +0.04808,-0.000237359 +0.04809,-0.000237359 +0.0481,-0.000237359 +0.04811,-0.000237359 +0.04812,-0.000237359 +0.04813,-0.000237359 +0.04814,-0.000237359 +0.04815,-0.000237359 +0.04816,-0.000237359 +0.04817,-0.000237359 +0.04818,-0.000237359 +0.04819,-0.000237359 +0.0482,-0.000237359 +0.04821,-0.000237359 +0.04822,-0.000237359 +0.04823,-0.000237359 +0.04824,-0.000237359 +0.04825,-0.000237359 +0.04826,-0.000237359 +0.04827,-0.000237359 +0.04828,-0.000237359 +0.04829,-0.000237359 +0.0483,-0.000237359 +0.04831,-0.000237359 +0.04832,-0.000237359 +0.04833,-0.000237359 +0.04834,-0.000237359 +0.04835,-0.000237359 +0.04836,-0.000237359 +0.04837,-0.000237359 +0.04838,-0.000237359 +0.04839,-0.000237359 +0.0484,-0.000237359 +0.04841,-0.000237359 +0.04842,-0.000237359 +0.04843,-0.000237359 +0.04844,-0.000237359 +0.04845,-0.000237359 +0.04846,-0.000237359 +0.04847,-0.000237359 +0.04848,-0.000237359 +0.04849,-0.000237359 +0.0485,-0.000237359 +0.04851,-0.000237359 +0.04852,-0.000237359 +0.04853,-0.000237359 +0.04854,-0.000237359 +0.04855,-0.000237359 +0.04856,-0.000237359 +0.04857,-0.000237359 +0.04858,-0.000237359 +0.04859,-0.000237359 +0.0486,-0.000237359 +0.04861,-0.000237359 +0.04862,-0.000237359 +0.04863,-0.000237359 +0.04864,-0.000237359 +0.04865,-0.000237359 +0.04866,-0.000237359 +0.04867,-0.000237359 +0.04868,-0.000237359 +0.04869,-0.000237359 +0.0487,-0.000237359 +0.04871,-0.000237359 +0.04872,-0.000237359 +0.04873,-0.000237359 +0.04874,-0.000237359 +0.04875,-0.000237359 +0.04876,-0.000237359 +0.04877,-0.000237359 +0.04878,-0.000237359 +0.04879,-0.000237359 +0.0488,-0.000237359 +0.04881,-0.000237359 +0.04882,-0.000237359 +0.04883,-0.000237359 +0.04884,-0.000237359 +0.04885,-0.000237359 +0.04886,-0.000237359 +0.04887,-0.000237359 +0.04888,-0.000237359 +0.04889,-0.000237359 +0.0489,-0.000237359 +0.04891,-0.000237359 +0.04892,-0.000237359 +0.04893,-0.000237359 +0.04894,-0.000237359 +0.04895,-0.000237359 +0.04896,-0.000237359 +0.04897,-0.000237359 +0.04898,-0.000237359 +0.04899,-0.000237359 +0.049,-0.000237359 +0.04901,-0.000237359 +0.04902,-0.000237359 +0.04903,-0.000237359 +0.04904,-0.000237359 +0.04905,-0.000237359 +0.04906,-0.000237359 +0.04907,-0.000237359 +0.04908,-0.000237359 +0.04909,-0.000237359 +0.0491,-0.000237359 +0.04911,-0.000237359 +0.04912,-0.000237359 +0.04913,-0.000237359 +0.04914,-0.000237359 +0.04915,-0.000237359 +0.04916,-0.000237359 +0.04917,-0.000237359 +0.04918,-0.000237359 +0.04919,-0.000237359 +0.0492,-0.000237359 +0.04921,-0.000237359 +0.04922,-0.000237359 +0.04923,-0.000237359 +0.04924,-0.000237359 +0.04925,-0.000237359 +0.04926,-0.000237359 +0.04927,-0.000237359 +0.04928,-0.000237359 +0.04929,-0.000237359 +0.0493,-0.000237359 +0.04931,-0.000237359 +0.04932,-0.000237359 +0.04933,-0.000237359 +0.04934,-0.000237359 +0.04935,-0.000237359 +0.04936,-0.000237359 +0.04937,-0.000237359 +0.04938,-0.000237359 +0.04939,-0.000237359 +0.0494,-0.000237359 +0.04941,-0.000237359 +0.04942,-0.000237359 +0.04943,-0.000237359 +0.04944,-0.000237359 +0.04945,-0.000237359 +0.04946,-0.000237359 +0.04947,-0.000237359 +0.04948,-0.000237359 +0.04949,-0.000237359 +0.0495,-0.000237359 +0.04951,-0.000237359 +0.04952,-0.000237359 +0.04953,-0.000237359 +0.04954,-0.000237359 +0.04955,-0.000237359 +0.04956,-0.000237359 +0.04957,-0.000237359 +0.04958,-0.000237359 +0.04959,-0.000237359 +0.0496,-0.000237359 +0.04961,-0.000237359 +0.04962,-0.000237359 +0.04963,-0.000237359 +0.04964,-0.000237359 +0.04965,-0.000237359 +0.04966,-0.000237359 +0.04967,-0.000237359 +0.04968,-0.000237359 +0.04969,-0.000237359 +0.0497,-0.000237359 +0.04971,-0.000237359 +0.04972,-0.000237359 +0.04973,-0.000237359 +0.04974,-0.000237359 +0.04975,-0.000237359 +0.04976,-0.000237359 +0.04977,-0.000237359 +0.04978,-0.000237359 +0.04979,-0.000237359 +0.0498,-0.000237359 +0.04981,-0.000237359 +0.04982,-0.000237359 +0.04983,-0.000237359 +0.04984,-0.000237359 +0.04985,-0.000237359 +0.04986,-0.000237359 +0.04987,-0.000237359 +0.04988,-0.000237359 +0.04989,-0.000237359 +0.0499,-0.000237359 +0.04991,-0.000237359 +0.04992,-0.000237359 +0.04993,-0.000237359 +0.04994,-0.000237359 +0.04995,-0.000237359 +0.04996,-0.000237359 +0.04997,-0.000237359 +0.04998,-0.000237359 +0.04999,-0.000237359 +0.05,-0.000237359 +0.05,-0.000237359 diff --git a/modules/spreadsheet/tests/nonreg_tests/bug_1.dia.ref b/modules/spreadsheet/tests/nonreg_tests/bug_1.dia.ref new file mode 100755 index 000000000..f7749e20f --- /dev/null +++ b/modules/spreadsheet/tests/nonreg_tests/bug_1.dia.ref @@ -0,0 +1,14 @@ +// ============================================================================= +// Copyright (C) 2010 - 2012 - INRIA - Allan CORNET +// ============================================================================= +// <-- JVM NOT MANDATORY --> +// ============================================================================= +r = csvRead(SCI+"/modules/spreadsheet/" + "tests/nonreg_tests/bug_1.csv", ",", [], "string"); +// ============================================================================= +assert_checkequal(size(r, "c"), 2); +assert_checkequal(size(r, "r"), 7534); +assert_checkequal(r(1,1), "Time"); +assert_checkequal(r(1,2), "ecart"); +assert_checkequal(r(7534,1), "0.05"); +assert_checkequal(r(7534,2), "-0.000237359"); +// ============================================================================= diff --git a/modules/spreadsheet/tests/nonreg_tests/bug_1.tst b/modules/spreadsheet/tests/nonreg_tests/bug_1.tst new file mode 100755 index 000000000..f7749e20f --- /dev/null +++ b/modules/spreadsheet/tests/nonreg_tests/bug_1.tst @@ -0,0 +1,14 @@ +// ============================================================================= +// Copyright (C) 2010 - 2012 - INRIA - Allan CORNET +// ============================================================================= +// <-- JVM NOT MANDATORY --> +// ============================================================================= +r = csvRead(SCI+"/modules/spreadsheet/" + "tests/nonreg_tests/bug_1.csv", ",", [], "string"); +// ============================================================================= +assert_checkequal(size(r, "c"), 2); +assert_checkequal(size(r, "r"), 7534); +assert_checkequal(r(1,1), "Time"); +assert_checkequal(r(1,2), "ecart"); +assert_checkequal(r(7534,1), "0.05"); +assert_checkequal(r(7534,2), "-0.000237359"); +// ============================================================================= diff --git a/modules/spreadsheet/tests/nonreg_tests/bug_10556.dia.ref b/modules/spreadsheet/tests/nonreg_tests/bug_10556.dia.ref new file mode 100755 index 000000000..3d47d8127 --- /dev/null +++ b/modules/spreadsheet/tests/nonreg_tests/bug_10556.dia.ref @@ -0,0 +1,22 @@ +// ============================================================================= +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2012 - DIGITEO - Allan CORNET +// +// This file is distributed under the same license as the Scilab package. +// ============================================================================= +// +// <-- CLI SHELL MODE --> +// +// <-- Non-regression test for bug 10556 --> +// +// <-- Bugzilla URL --> +// http://bugzilla.scilab.org/show_bug.cgi?id=10556 +// +// <-- Short Description --> +// readxls produced wrong results +// +spreadsheet = readxls(SCI + "/modules/spreadsheet/tests/nonreg_tests/bug_10556.xls"); +assert_checkequal(size(spreadsheet(1)), [12 10]); +xls = spreadsheet(1); +assert_checkequal(xls(2, 2), 3.06); +assert_checkequal(xls(2,1), "OK++ AL 1067"); diff --git a/modules/spreadsheet/tests/nonreg_tests/bug_10556.tst b/modules/spreadsheet/tests/nonreg_tests/bug_10556.tst new file mode 100755 index 000000000..5c8b43260 --- /dev/null +++ b/modules/spreadsheet/tests/nonreg_tests/bug_10556.tst @@ -0,0 +1,23 @@ +// ============================================================================= +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2012 - DIGITEO - Allan CORNET +// +// This file is distributed under the same license as the Scilab package. +// ============================================================================= +// +// <-- CLI SHELL MODE --> +// +// <-- Non-regression test for bug 10556 --> +// +// <-- Bugzilla URL --> +// http://bugzilla.scilab.org/show_bug.cgi?id=10556 +// +// <-- Short Description --> +// readxls produced wrong results +// + +spreadsheet = readxls(SCI + "/modules/spreadsheet/tests/nonreg_tests/bug_10556.xls"); +assert_checkequal(size(spreadsheet(1)), [12 10]); +xls = spreadsheet(1); +assert_checkequal(xls(2, 2), 3.06); +assert_checkequal(xls(2,1), "OK++ AL 1067");
\ No newline at end of file diff --git a/modules/spreadsheet/tests/nonreg_tests/bug_10556.xls b/modules/spreadsheet/tests/nonreg_tests/bug_10556.xls Binary files differnew file mode 100755 index 000000000..15c8a4ba1 --- /dev/null +++ b/modules/spreadsheet/tests/nonreg_tests/bug_10556.xls diff --git a/modules/spreadsheet/tests/nonreg_tests/bug_11890.dia.ref b/modules/spreadsheet/tests/nonreg_tests/bug_11890.dia.ref new file mode 100755 index 000000000..35882659a --- /dev/null +++ b/modules/spreadsheet/tests/nonreg_tests/bug_11890.dia.ref @@ -0,0 +1,34 @@ +// ============================================================================= +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2012 - Scilab Enterprises - Sylvestre Ledru +// +// This file is distributed under the same license as the Scilab package. +// ============================================================================= +// +// <-- JAVA NOT MANDATORY --> +// +// <-- Non-regression test for bug 11890 --> +// +// <-- Bugzilla URL --> +// http://bugzilla.scilab.org/show_bug.cgi?id=11890 +// +// <-- Short Description --> +// Wrong parsing with empty char at the end of the line +// +content_ref = [ "1;2;3" .. +"4;5;"] + content_ref = + +!1;2;3 4;5; ! +filename=TMPDIR+"/foo.csv"; +mputl(content_ref,filename); +content_2=read_csv(filename,";"); +assert_checkequal(content_2,["1","2","3";"4","5",""]); +content_2(2,3)="42"; +assert_checkequal(content_2,["1","2","3";"4","5","42"]); +assert_checkequal(evstr(content_2),[1,2,3;4,5,42]); +mputl(content_ref,filename); +content_2=csvRead(filename,";"); +assert_checkequal(content_2,[1,2,3;4,5,%nan]); +content_2(2,3)=42; +assert_checkequal(content_2,[1,2,3;4,5,42]); diff --git a/modules/spreadsheet/tests/nonreg_tests/bug_11890.tst b/modules/spreadsheet/tests/nonreg_tests/bug_11890.tst new file mode 100755 index 000000000..6856cb79c --- /dev/null +++ b/modules/spreadsheet/tests/nonreg_tests/bug_11890.tst @@ -0,0 +1,37 @@ +// ============================================================================= +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2012 - Scilab Enterprises - Sylvestre Ledru +// +// This file is distributed under the same license as the Scilab package. +// ============================================================================= +// +// <-- JAVA NOT MANDATORY --> +// +// <-- Non-regression test for bug 11890 --> +// +// <-- Bugzilla URL --> +// http://bugzilla.scilab.org/show_bug.cgi?id=11890 +// +// <-- Short Description --> +// Wrong parsing with empty char at the end of the line +// +content_ref = [ "1;2;3" .. +"4;5;"] +filename=TMPDIR+"/foo.csv"; + +mputl(content_ref,filename); + +content_2=read_csv(filename,";"); +assert_checkequal(content_2,["1","2","3";"4","5",""]); + +content_2(2,3)="42"; +assert_checkequal(content_2,["1","2","3";"4","5","42"]); + +assert_checkequal(evstr(content_2),[1,2,3;4,5,42]); + +mputl(content_ref,filename); + +content_2=csvRead(filename,";"); +assert_checkequal(content_2,[1,2,3;4,5,%nan]); +content_2(2,3)=42; +assert_checkequal(content_2,[1,2,3;4,5,42]); diff --git a/modules/spreadsheet/tests/nonreg_tests/bug_11976.dia.ref b/modules/spreadsheet/tests/nonreg_tests/bug_11976.dia.ref new file mode 100755 index 000000000..090010942 --- /dev/null +++ b/modules/spreadsheet/tests/nonreg_tests/bug_11976.dia.ref @@ -0,0 +1,21 @@ +// ============================================================================= +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2012 - Scilab Enterprises - Antoine ELIAS +// +// This file is distributed under the same license as the Scilab package. +// ============================================================================= +// +// <-- CLI SHELL MODE --> +// +// <-- Non-regression test for bug 11976 --> +// +// <-- Bugzilla URL --> +// http://bugzilla.scilab.org/show_bug.cgi?id=11976 +// +// <-- Short Description --> +// decimal parameter must be '.' or ',' +// +some_data = ["67200.99976"]; +iErr = execstr("data_time = csvTextScan(some_data, ""."", """", ""double"")", "errcatch"); +assert_checktrue(iErr <> 0); +data_time = csvTextScan(some_data, ".", ",", "double"); diff --git a/modules/spreadsheet/tests/nonreg_tests/bug_11976.tst b/modules/spreadsheet/tests/nonreg_tests/bug_11976.tst new file mode 100755 index 000000000..c4cbdff3d --- /dev/null +++ b/modules/spreadsheet/tests/nonreg_tests/bug_11976.tst @@ -0,0 +1,22 @@ +// ============================================================================= +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2012 - Scilab Enterprises - Antoine ELIAS +// +// This file is distributed under the same license as the Scilab package. +// ============================================================================= +// +// <-- CLI SHELL MODE --> +// +// <-- Non-regression test for bug 11976 --> +// +// <-- Bugzilla URL --> +// http://bugzilla.scilab.org/show_bug.cgi?id=11976 +// +// <-- Short Description --> +// decimal parameter must be '.' or ',' +// + +some_data = ["67200.99976"]; +iErr = execstr("data_time = csvTextScan(some_data, ""."", """", ""double"")", "errcatch"); +assert_checktrue(iErr <> 0); +data_time = csvTextScan(some_data, ".", ",", "double"); diff --git a/modules/spreadsheet/tests/nonreg_tests/bug_11991.dia.ref b/modules/spreadsheet/tests/nonreg_tests/bug_11991.dia.ref new file mode 100755 index 000000000..da2b885b4 --- /dev/null +++ b/modules/spreadsheet/tests/nonreg_tests/bug_11991.dia.ref @@ -0,0 +1,22 @@ +// ============================================================================= +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2012 - Scilab Enterprises - Sylvestre Ledru +// +// This file is distributed under the same license as the Scilab package. +// ============================================================================= +// +// <-- JAVA NOT MANDATORY --> +// +// <-- Non-regression test for bug 11991 --> +// +// <-- Bugzilla URL --> +// http://bugzilla.scilab.org/show_bug.cgi?id=11991 +// +// <-- Short Description --> +// csvRead does not ignore blank lines +// +M=[1:10]*0.1; +filename=TMPDIR+"/data.csv"; +csvWrite(M',filename); +content=mgetl(filename); +assert_checkequal(size(content,"*"), 10); diff --git a/modules/spreadsheet/tests/nonreg_tests/bug_11991.tst b/modules/spreadsheet/tests/nonreg_tests/bug_11991.tst new file mode 100755 index 000000000..479e0c0f2 --- /dev/null +++ b/modules/spreadsheet/tests/nonreg_tests/bug_11991.tst @@ -0,0 +1,23 @@ +// ============================================================================= +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2012 - Scilab Enterprises - Sylvestre Ledru +// +// This file is distributed under the same license as the Scilab package. +// ============================================================================= +// +// <-- JAVA NOT MANDATORY --> +// +// <-- Non-regression test for bug 11991 --> +// +// <-- Bugzilla URL --> +// http://bugzilla.scilab.org/show_bug.cgi?id=11991 +// +// <-- Short Description --> +// csvRead does not ignore blank lines +// +M=[1:10]*0.1; +filename=TMPDIR+"/data.csv"; +csvWrite(M',filename); + +content=mgetl(filename); +assert_checkequal(size(content,"*"), 10); diff --git a/modules/spreadsheet/tests/nonreg_tests/bug_11999.csv b/modules/spreadsheet/tests/nonreg_tests/bug_11999.csv new file mode 100755 index 000000000..bce02409a --- /dev/null +++ b/modules/spreadsheet/tests/nonreg_tests/bug_11999.csv @@ -0,0 +1,3 @@ +foo;bar;foo + +foo2;bar2;bar3 diff --git a/modules/spreadsheet/tests/nonreg_tests/bug_11999.dia.ref b/modules/spreadsheet/tests/nonreg_tests/bug_11999.dia.ref new file mode 100755 index 000000000..3d9b5d06b --- /dev/null +++ b/modules/spreadsheet/tests/nonreg_tests/bug_11999.dia.ref @@ -0,0 +1,27 @@ +// ============================================================================= +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2012 - Scilab Enterprises - Sylvestre Ledru +// +// This file is distributed under the same license as the Scilab package. +// ============================================================================= +// +// <-- CLI SHELL MODE --> +// +// <-- ENGLISH IMPOSED --> +// +// <-- Non-regression test for bug 11999 --> +// +// <-- Bugzilla URL --> +// http://bugzilla.scilab.org/show_bug.cgi?id=11999 +// +// <-- Short Description --> +// csvRead does not ignore blank lines +// +filename = SCI + "/modules/spreadsheet/tests/nonreg_tests/bug_11999.csv"; +csvDefault("blank", "off"); // Default behavior in 5.4.0, changed 5.4.1 to "on" +errMsg = msprintf(gettext("%s: can not read file %s: Error in the column structure\n"), "csvRead", filename); +assert_checkerror("a=csvRead(filename, "";"", [], ""string"");", errMsg, 999); +Warning: Inconsistency found in the columns. At line 2, found 0 columns while the previous had 3. +csvDefault("blank", "on"); +a=csvRead(filename, ";", [], "string"); +assert_checkequal(a,["foo", "bar", "foo"; "foo2", "bar2", "bar3"]); diff --git a/modules/spreadsheet/tests/nonreg_tests/bug_11999.tst b/modules/spreadsheet/tests/nonreg_tests/bug_11999.tst new file mode 100755 index 000000000..be89073fe --- /dev/null +++ b/modules/spreadsheet/tests/nonreg_tests/bug_11999.tst @@ -0,0 +1,28 @@ +// ============================================================================= +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2012 - Scilab Enterprises - Sylvestre Ledru +// +// This file is distributed under the same license as the Scilab package. +// ============================================================================= +// +// <-- CLI SHELL MODE --> +// +// <-- ENGLISH IMPOSED --> +// +// <-- Non-regression test for bug 11999 --> +// +// <-- Bugzilla URL --> +// http://bugzilla.scilab.org/show_bug.cgi?id=11999 +// +// <-- Short Description --> +// csvRead does not ignore blank lines +// +filename = SCI + "/modules/spreadsheet/tests/nonreg_tests/bug_11999.csv"; + +csvDefault("blank", "off"); // Default behavior in 5.4.0, changed 5.4.1 to "on" +errMsg = msprintf(gettext("%s: can not read file %s: Error in the column structure\n"), "csvRead", filename); +assert_checkerror("a=csvRead(filename, "";"", [], ""string"");", errMsg, 999); + +csvDefault("blank", "on"); +a=csvRead(filename, ";", [], "string"); +assert_checkequal(a,["foo", "bar", "foo"; "foo2", "bar2", "bar3"]); diff --git a/modules/spreadsheet/tests/nonreg_tests/bug_12076.csv b/modules/spreadsheet/tests/nonreg_tests/bug_12076.csv new file mode 100755 index 000000000..1d65bca83 --- /dev/null +++ b/modules/spreadsheet/tests/nonreg_tests/bug_12076.csv @@ -0,0 +1,3 @@ +TEXT;;; +1;2;3; + diff --git a/modules/spreadsheet/tests/nonreg_tests/bug_12076.dia.ref b/modules/spreadsheet/tests/nonreg_tests/bug_12076.dia.ref new file mode 100755 index 000000000..6e52c5faf --- /dev/null +++ b/modules/spreadsheet/tests/nonreg_tests/bug_12076.dia.ref @@ -0,0 +1,22 @@ +// ============================================================================= +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2012 - Scilab Enterprises - Sylvestre Ledru +// +// This file is distributed under the same license as the Scilab package. +// ============================================================================= +// +// <-- JAVA NOT MANDATORY --> +// +// <-- Non-regression test for bug 12076 --> +// +// <-- Bugzilla URL --> +// http://bugzilla.scilab.org/show_bug.cgi?id=12076 +// +// <-- Short Description --> +// csvRead does not ignore blank lines +// +filename=SCI+"/modules/spreadsheet/" + "tests/nonreg_tests/bug_12076.csv"; +a=csvRead(filename,";"); +assert_checkequal(size(a),[2, 4]); +ref=[%nan,%nan,%nan,%nan;1,2,3,%nan]; +assert_checkequal(a,ref); diff --git a/modules/spreadsheet/tests/nonreg_tests/bug_12076.tst b/modules/spreadsheet/tests/nonreg_tests/bug_12076.tst new file mode 100755 index 000000000..6e52c5faf --- /dev/null +++ b/modules/spreadsheet/tests/nonreg_tests/bug_12076.tst @@ -0,0 +1,22 @@ +// ============================================================================= +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2012 - Scilab Enterprises - Sylvestre Ledru +// +// This file is distributed under the same license as the Scilab package. +// ============================================================================= +// +// <-- JAVA NOT MANDATORY --> +// +// <-- Non-regression test for bug 12076 --> +// +// <-- Bugzilla URL --> +// http://bugzilla.scilab.org/show_bug.cgi?id=12076 +// +// <-- Short Description --> +// csvRead does not ignore blank lines +// +filename=SCI+"/modules/spreadsheet/" + "tests/nonreg_tests/bug_12076.csv"; +a=csvRead(filename,";"); +assert_checkequal(size(a),[2, 4]); +ref=[%nan,%nan,%nan,%nan;1,2,3,%nan]; +assert_checkequal(a,ref); diff --git a/modules/spreadsheet/tests/nonreg_tests/bug_12085.dia.ref b/modules/spreadsheet/tests/nonreg_tests/bug_12085.dia.ref new file mode 100755 index 000000000..914f1ecc4 --- /dev/null +++ b/modules/spreadsheet/tests/nonreg_tests/bug_12085.dia.ref @@ -0,0 +1,32 @@ +// ============================================================================= +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2013 - Scilab Enterprises - Antoine ELIAS +// +// This file is distributed under the same license as the Scilab package. +// ============================================================================= +// +// <-- Non-regression test for bug 12085 --> +// +// <-- Bugzilla URL --> +// http://bugzilla.scilab.org/show_bug.cgi?id=12085 +// +// <-- Short Description --> +// On Windows csvWrite wrote wrong EOL. +fileOut = TMPDIR + "/bug_12085.csv"; +stringOut = [1,1;1,1]; +data_ref = [49 44 49]; +if getos() == "Windows" then + eol = [13 10]; //CRLF +elseif getos()=="Darwin" then + eol = [13]; //CR +else + eol = [10]; //LF +end +ref = [data_ref, eol, data_ref, eol]; +csvWrite(stringOut, fileOut); +stringIn = mgetl(fileOut); +info = fileinfo(fileOut); +fd = mopen(fileOut, "rb"); +data_read = mget(info(1), "c", fd); +mclose(fd); +assert_checkequal(data_read, ref); diff --git a/modules/spreadsheet/tests/nonreg_tests/bug_12085.tst b/modules/spreadsheet/tests/nonreg_tests/bug_12085.tst new file mode 100755 index 000000000..3391f5746 --- /dev/null +++ b/modules/spreadsheet/tests/nonreg_tests/bug_12085.tst @@ -0,0 +1,38 @@ +// ============================================================================= +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2013 - Scilab Enterprises - Antoine ELIAS +// +// This file is distributed under the same license as the Scilab package. +// ============================================================================= +// +// <-- Non-regression test for bug 12085 --> +// +// <-- Bugzilla URL --> +// http://bugzilla.scilab.org/show_bug.cgi?id=12085 +// +// <-- Short Description --> +// On Windows csvWrite wrote wrong EOL. + +fileOut = TMPDIR + "/bug_12085.csv"; +stringOut = [1,1;1,1]; +data_ref = [49 44 49]; + +if getos() == "Windows" then + eol = [13 10]; //CRLF +elseif getos()=="Darwin" then + eol = [13]; //CR +else + eol = [10]; //LF +end + +ref = [data_ref, eol, data_ref, eol]; + +csvWrite(stringOut, fileOut); +stringIn = mgetl(fileOut); + +info = fileinfo(fileOut); +fd = mopen(fileOut, "rb"); +data_read = mget(info(1), "c", fd); +mclose(fd); + +assert_checkequal(data_read, ref); diff --git a/modules/spreadsheet/tests/nonreg_tests/bug_12140.csv b/modules/spreadsheet/tests/nonreg_tests/bug_12140.csv new file mode 100755 index 000000000..810d21fd9 --- /dev/null +++ b/modules/spreadsheet/tests/nonreg_tests/bug_12140.csv @@ -0,0 +1,2 @@ +foo bar;bar foo;plop
+280;4,7309E-23;2,86982E-23
diff --git a/modules/spreadsheet/tests/nonreg_tests/bug_12140.dia.ref b/modules/spreadsheet/tests/nonreg_tests/bug_12140.dia.ref new file mode 100755 index 000000000..f06b77cb2 --- /dev/null +++ b/modules/spreadsheet/tests/nonreg_tests/bug_12140.dia.ref @@ -0,0 +1,30 @@ +// ============================================================================= +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2012 - Scilab Enterprises - Sylvestre Ledru +// +// This file is distributed under the same license as the Scilab package. +// ============================================================================= +// +// <-- JAVA NOT MANDATORY --> +// +// <-- Non-regression test for bug 12140 --> +// +// <-- Bugzilla URL --> +// http://bugzilla.scilab.org/show_bug.cgi?id=12140 +// +// <-- Short Description --> +// csvRead fails when comma is used as decimal mark +// +filename=SCI+"/modules/spreadsheet/" + "tests/nonreg_tests/bug_12140.csv"; +[Mss, comments] = csvRead(filename, ";" , "," , "double" , [] ,"/foo bar/"); +assert_checkfalse(Mss(1,2) == %nan); +assert_checkfalse(Mss(1,3) == %nan); +Mss_ref=[280,4.730900000000000068D-23, 2.869819999999999938D-23]; +assert_checkalmostequal(Mss(1,:), Mss_ref); +Mss=mgetl(filename); +M=csvTextScan(Mss(2:$,:),";",","); +assert_checkalmostequal(M, Mss_ref); +[Mss, comments] = csvRead(filename, ";" , "," , "string" , [] ,"/foo bar/"); +assert_checkequal(Mss,["280","4.7309E-23","2.86982E-23"]); +[Mss, comments] = csvRead(filename, ";" , [] , "string" , [] ,"/foo bar/"); +assert_checkequal(Mss,["280","4,7309E-23","2,86982E-23"]); diff --git a/modules/spreadsheet/tests/nonreg_tests/bug_12140.tst b/modules/spreadsheet/tests/nonreg_tests/bug_12140.tst new file mode 100755 index 000000000..7bf1d2a03 --- /dev/null +++ b/modules/spreadsheet/tests/nonreg_tests/bug_12140.tst @@ -0,0 +1,34 @@ +// ============================================================================= +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2012 - Scilab Enterprises - Sylvestre Ledru +// +// This file is distributed under the same license as the Scilab package. +// ============================================================================= +// +// <-- JAVA NOT MANDATORY --> +// +// <-- Non-regression test for bug 12140 --> +// +// <-- Bugzilla URL --> +// http://bugzilla.scilab.org/show_bug.cgi?id=12140 +// +// <-- Short Description --> +// csvRead fails when comma is used as decimal mark +// +filename=SCI+"/modules/spreadsheet/" + "tests/nonreg_tests/bug_12140.csv"; + +[Mss, comments] = csvRead(filename, ";" , "," , "double" , [] ,"/foo bar/"); +assert_checkfalse(Mss(1,2) == %nan); +assert_checkfalse(Mss(1,3) == %nan); +Mss_ref=[280,4.730900000000000068D-23, 2.869819999999999938D-23]; + +assert_checkalmostequal(Mss(1,:), Mss_ref); +Mss=mgetl(filename); +M=csvTextScan(Mss(2:$,:),";",","); +assert_checkalmostequal(M, Mss_ref); + +[Mss, comments] = csvRead(filename, ";" , "," , "string" , [] ,"/foo bar/"); +assert_checkequal(Mss,["280","4.7309E-23","2.86982E-23"]); + +[Mss, comments] = csvRead(filename, ";" , [] , "string" , [] ,"/foo bar/"); +assert_checkequal(Mss,["280","4,7309E-23","2,86982E-23"]); diff --git a/modules/spreadsheet/tests/nonreg_tests/bug_12144.dia.ref b/modules/spreadsheet/tests/nonreg_tests/bug_12144.dia.ref new file mode 100755 index 000000000..c1dd7f78e --- /dev/null +++ b/modules/spreadsheet/tests/nonreg_tests/bug_12144.dia.ref @@ -0,0 +1,30 @@ +// ============================================================================= +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2013 - Scilab Enterprises - Simon MARCHETTO +// +// This file is distributed under the same license as the Scilab package. +// ============================================================================= +// +// <-- CLI SHELL MODE --> +// +// <-- Non-regression test for bug 12144 --> +// +// <-- Bugzilla URL --> +// http://bugzilla.scilab.org/show_bug.cgi?id=12144 +// +// <-- Short Description --> +// csvRead triggers some errors about memory +CSV = ["1,0,0,0,0"; .. +"0,1,0,0,0"; .. +"0,0,1,0,0"; .. +"4,4,1,2,0"; .. +"4,63,1,2,0"; .. +"4,63,1,2,233"; .. +"42,3,23,2,233"; .. +]; +filename = fullfile(TMPDIR, 'foo.csv'); +mputl(CSV, filename); +instr = "r = csvRead(filename, "" "", [], ""string"", [], [], [5 3 7 6]);"; +refMsg = msprintf(gettext("%s: Range row or/and column left indice(s) out of bounds.\n"), "csvRead"); +assert_checkerror(instr, refMsg); +mdelete(filename); diff --git a/modules/spreadsheet/tests/nonreg_tests/bug_12144.tst b/modules/spreadsheet/tests/nonreg_tests/bug_12144.tst new file mode 100755 index 000000000..6ff3b98eb --- /dev/null +++ b/modules/spreadsheet/tests/nonreg_tests/bug_12144.tst @@ -0,0 +1,32 @@ +// ============================================================================= +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2013 - Scilab Enterprises - Simon MARCHETTO +// +// This file is distributed under the same license as the Scilab package. +// ============================================================================= +// +// <-- CLI SHELL MODE --> +// +// <-- Non-regression test for bug 12144 --> +// +// <-- Bugzilla URL --> +// http://bugzilla.scilab.org/show_bug.cgi?id=12144 +// +// <-- Short Description --> +// csvRead triggers some errors about memory + + +CSV = ["1,0,0,0,0"; .. +"0,1,0,0,0"; .. +"0,0,1,0,0"; .. +"4,4,1,2,0"; .. +"4,63,1,2,0"; .. +"4,63,1,2,233"; .. +"42,3,23,2,233"; .. +]; +filename = fullfile(TMPDIR, 'foo.csv'); +mputl(CSV, filename); +instr = "r = csvRead(filename, "" "", [], ""string"", [], [], [5 3 7 6]);"; +refMsg = msprintf(gettext("%s: Range row or/and column left indice(s) out of bounds.\n"), "csvRead"); +assert_checkerror(instr, refMsg); +mdelete(filename); diff --git a/modules/spreadsheet/tests/nonreg_tests/bug_12220.dia.ref b/modules/spreadsheet/tests/nonreg_tests/bug_12220.dia.ref new file mode 100755 index 000000000..9ee6b7de8 --- /dev/null +++ b/modules/spreadsheet/tests/nonreg_tests/bug_12220.dia.ref @@ -0,0 +1,27 @@ +// ============================================================================= +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2012 - Scilab Enterprises - Sylvestre Ledru +// +// This file is distributed under the same license as the Scilab package. +// ============================================================================= +// +// <-- JAVA NOT MANDATORY --> +// +// <-- Non-regression test for bug 12220 --> +// +// <-- Bugzilla URL --> +// http://bugzilla.scilab.org/show_bug.cgi?id=12220 +// +// <-- Short Description --> +// csvTextScan unexpected behavior for missing data +// +content_ref = [ "26,12-10-2011 18:00,29.83,69.1,42,35.5,83,30.8,35.5,0,SSW,0,0,0" .. +"27,12-10-2011 19:00,29.83,68.9,42,35.6,84,31.3,35.6,0,SSW,0,0,0" .. +"28,12-10-2011 20:00,29.83,68.2,43,35.6,84,31.3,,,,,0,0" .. +"29,12-10-2011 21:00,29.82,67.3,43,35.3,84,31,,,,,0,0" ]; +filename=TMPDIR+"/foo.csv"; +mputl(content_ref,filename); +StrLines = mgetl(filename); +StrMat1 = csvTextScan(StrLines(1), ',', '.', 'string'); +StrMat3 = csvTextScan(StrLines(3), ',', '.', 'string'); +assert_checkequal(size(StrMat1), size(StrMat3)); diff --git a/modules/spreadsheet/tests/nonreg_tests/bug_12220.tst b/modules/spreadsheet/tests/nonreg_tests/bug_12220.tst new file mode 100755 index 000000000..c8a8e52fa --- /dev/null +++ b/modules/spreadsheet/tests/nonreg_tests/bug_12220.tst @@ -0,0 +1,31 @@ +// ============================================================================= +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2012 - Scilab Enterprises - Sylvestre Ledru +// +// This file is distributed under the same license as the Scilab package. +// ============================================================================= +// +// <-- JAVA NOT MANDATORY --> +// +// <-- Non-regression test for bug 12220 --> +// +// <-- Bugzilla URL --> +// http://bugzilla.scilab.org/show_bug.cgi?id=12220 +// +// <-- Short Description --> +// csvTextScan unexpected behavior for missing data +// + +content_ref = [ "26,12-10-2011 18:00,29.83,69.1,42,35.5,83,30.8,35.5,0,SSW,0,0,0" .. +"27,12-10-2011 19:00,29.83,68.9,42,35.6,84,31.3,35.6,0,SSW,0,0,0" .. +"28,12-10-2011 20:00,29.83,68.2,43,35.6,84,31.3,,,,,0,0" .. +"29,12-10-2011 21:00,29.82,67.3,43,35.3,84,31,,,,,0,0" ]; +filename=TMPDIR+"/foo.csv"; + +mputl(content_ref,filename); + +StrLines = mgetl(filename); +StrMat1 = csvTextScan(StrLines(1), ',', '.', 'string'); +StrMat3 = csvTextScan(StrLines(3), ',', '.', 'string'); + +assert_checkequal(size(StrMat1), size(StrMat3)); diff --git a/modules/spreadsheet/tests/nonreg_tests/bug_12246.tst b/modules/spreadsheet/tests/nonreg_tests/bug_12246.tst new file mode 100755 index 000000000..b08ee2e4b --- /dev/null +++ b/modules/spreadsheet/tests/nonreg_tests/bug_12246.tst @@ -0,0 +1,26 @@ +// ============================================================================= +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2013 - Scilab Enterprises - Simon Marchetto +// +// This file is distributed under the same license as the Scilab package. +// ============================================================================= +// +// English imposed to compare error message +// <-- ENGLISH IMPOSED --> +// +// <-- NO CHECK REF --> +// +// <-- Non-regression test for bug 12246 --> +// +// <-- Bugzilla URL --> +// http://bugzilla.scilab.org/show_bug.cgi?id=12246 +// +// <-- Short Description --> +// Check that an error message is returned when +//reading invalid excel files (which have declared wrong colum/row count) + +xlsPath = SCI + "/modules/spreadsheet/tests/nonreg_tests/bug_12246.xls"; +[fd,SST,Sheetnames,Sheetpos] = xls_open(xlsPath); + +errMsg = "xls_read: Failed to read expected data, may be invalid xls file."; +assert_checkerror("[Value,TextInd] = xls_read(fd,Sheetpos(1))", errMsg); diff --git a/modules/spreadsheet/tests/nonreg_tests/bug_12246.xls b/modules/spreadsheet/tests/nonreg_tests/bug_12246.xls Binary files differnew file mode 100755 index 000000000..399a80a0b --- /dev/null +++ b/modules/spreadsheet/tests/nonreg_tests/bug_12246.xls diff --git a/modules/spreadsheet/tests/nonreg_tests/bug_12360.dia.ref b/modules/spreadsheet/tests/nonreg_tests/bug_12360.dia.ref new file mode 100755 index 000000000..1f94af704 --- /dev/null +++ b/modules/spreadsheet/tests/nonreg_tests/bug_12360.dia.ref @@ -0,0 +1,20 @@ +// ============================================================================= +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2013 - Scilab Enterprises - Simon MARCHETTO +// +// This file is distributed under the same license as the Scilab package. +// ============================================================================= +// +// <-- Non-regression test for bug 12360 --> +// +// <-- Bugzilla URL --> +// http://bugzilla.scilab.org/show_bug.cgi?id=12360 +// +// <-- Short Description --> +// Imaginary part of purely real complex is printed in CSV +realMatrix = [0.211, 3, -4.0, 0.0]; +purelyRealComplexMatrix = complex(realMatrix); +filename = fullfile(TMPDIR, 'bug_12360.csv'); +write_csv(purelyRealComplexMatrix, filename, ascii(9), ".", "%5.3f"); +path = SCI + "/modules/spreadsheet/tests/nonreg_tests"; +assert_checkfilesequal(filename, fullfile(path, "bug_12360.ref.csv")); diff --git a/modules/spreadsheet/tests/nonreg_tests/bug_12360.ref.csv b/modules/spreadsheet/tests/nonreg_tests/bug_12360.ref.csv new file mode 100755 index 000000000..8761243a1 --- /dev/null +++ b/modules/spreadsheet/tests/nonreg_tests/bug_12360.ref.csv @@ -0,0 +1 @@ +0.211 3.000 -4.000 0.000 diff --git a/modules/spreadsheet/tests/nonreg_tests/bug_12360.tst b/modules/spreadsheet/tests/nonreg_tests/bug_12360.tst new file mode 100755 index 000000000..360126128 --- /dev/null +++ b/modules/spreadsheet/tests/nonreg_tests/bug_12360.tst @@ -0,0 +1,23 @@ +// ============================================================================= +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2013 - Scilab Enterprises - Simon MARCHETTO +// +// This file is distributed under the same license as the Scilab package. +// ============================================================================= +// +// <-- Non-regression test for bug 12360 --> +// +// <-- Bugzilla URL --> +// http://bugzilla.scilab.org/show_bug.cgi?id=12360 +// +// <-- Short Description --> +// Imaginary part of purely real complex is printed in CSV + +realMatrix = [0.211, 3, -4.0, 0.0]; +purelyRealComplexMatrix = complex(realMatrix); + +filename = fullfile(TMPDIR, 'bug_12360.csv'); +write_csv(purelyRealComplexMatrix, filename, ascii(9), ".", "%5.3f"); + +path = SCI + "/modules/spreadsheet/tests/nonreg_tests"; +assert_checkfilesequal(filename, fullfile(path, "bug_12360.ref.csv"));
\ No newline at end of file diff --git a/modules/spreadsheet/tests/nonreg_tests/bug_12475.csv b/modules/spreadsheet/tests/nonreg_tests/bug_12475.csv new file mode 100755 index 000000000..d412cc9f2 --- /dev/null +++ b/modules/spreadsheet/tests/nonreg_tests/bug_12475.csv @@ -0,0 +1,2 @@ +Model,MDO4014-3 +FREQUENCY,"MATH<FFT(CH1, BLACKMANHARRIS, LOGRMS)>" diff --git a/modules/spreadsheet/tests/nonreg_tests/bug_12475.dia.ref b/modules/spreadsheet/tests/nonreg_tests/bug_12475.dia.ref new file mode 100755 index 000000000..e33211cb5 --- /dev/null +++ b/modules/spreadsheet/tests/nonreg_tests/bug_12475.dia.ref @@ -0,0 +1,19 @@ +// ============================================================================= +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2013 - Scilab Enterprises - Simon MARCHETTO +// +// This file is distributed under the same license as the Scilab package. +// ============================================================================= +// +// <-- Non-regression test for bug 12475 --> +// +// <-- Bugzilla URL --> +// http://bugzilla.scilab.org/show_bug.cgi?id=12475 +// +// <-- Short Description --> +// csvRead does not support double quotes +csvPath = SCI + "/modules/spreadsheet/tests/nonreg_tests/bug_12475.csv"; +val = csvRead(csvPath, ",", [], "string"); +ref = ["Model", "MDO4014-3"; .. + "FREQUENCY", "MATH<FFT(CH1, BLACKMANHARRIS, LOGRMS)>"]; +assert_checkequal(val, ref); diff --git a/modules/spreadsheet/tests/nonreg_tests/bug_12475.tst b/modules/spreadsheet/tests/nonreg_tests/bug_12475.tst new file mode 100755 index 000000000..64311fbb4 --- /dev/null +++ b/modules/spreadsheet/tests/nonreg_tests/bug_12475.tst @@ -0,0 +1,23 @@ +// ============================================================================= +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2013 - Scilab Enterprises - Simon MARCHETTO +// +// This file is distributed under the same license as the Scilab package. +// ============================================================================= +// +// <-- Non-regression test for bug 12475 --> +// +// <-- Bugzilla URL --> +// http://bugzilla.scilab.org/show_bug.cgi?id=12475 +// +// <-- Short Description --> +// csvRead does not support double quotes + +csvPath = SCI + "/modules/spreadsheet/tests/nonreg_tests/bug_12475.csv"; +val = csvRead(csvPath, ",", [], "string"); + +ref = ["Model", "MDO4014-3"; .. + "FREQUENCY", "MATH<FFT(CH1, BLACKMANHARRIS, LOGRMS)>"]; + +assert_checkequal(val, ref); + diff --git a/modules/spreadsheet/tests/nonreg_tests/bug_12714.dia.ref b/modules/spreadsheet/tests/nonreg_tests/bug_12714.dia.ref new file mode 100755 index 000000000..ed86391cc --- /dev/null +++ b/modules/spreadsheet/tests/nonreg_tests/bug_12714.dia.ref @@ -0,0 +1,23 @@ +// ============================================================================= +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2014 - Scilab Enterprises - Adeline CARNIS +// +// This file is distributed under the same license as the Scilab package. +// ============================================================================= +// <-- CLI SHELL MODE --> +// <-- Non-regression test for bug 12714 --> +// +// <-- Bugzilla URL --> +// http://bugzilla.scilab.org/show_bug.cgi?id=12714 +// +// <-- Short Description --> +// csvDefault("decimal", ",") returned %f. +assert_checktrue(csvDefault("decimal", ",")); +expected = ","; +res = csvDefault("decimal"); +assert_checkequal(res, expected); +assert_checktrue(csvDefault("decimal", ".")); +expected = "."; +res = csvDefault("decimal"); +assert_checkequal(res, expected); +assert_checkfalse(csvDefault("decimal", "/")); diff --git a/modules/spreadsheet/tests/nonreg_tests/bug_12714.tst b/modules/spreadsheet/tests/nonreg_tests/bug_12714.tst new file mode 100755 index 000000000..587b86913 --- /dev/null +++ b/modules/spreadsheet/tests/nonreg_tests/bug_12714.tst @@ -0,0 +1,28 @@ +// ============================================================================= +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2014 - Scilab Enterprises - Adeline CARNIS +// +// This file is distributed under the same license as the Scilab package. +// ============================================================================= + +// <-- CLI SHELL MODE --> + +// <-- Non-regression test for bug 12714 --> +// +// <-- Bugzilla URL --> +// http://bugzilla.scilab.org/show_bug.cgi?id=12714 +// +// <-- Short Description --> +// csvDefault("decimal", ",") returned %f. + +assert_checktrue(csvDefault("decimal", ",")); +expected = ","; +res = csvDefault("decimal"); +assert_checkequal(res, expected); + +assert_checktrue(csvDefault("decimal", ".")); +expected = "."; +res = csvDefault("decimal"); +assert_checkequal(res, expected); + +assert_checkfalse(csvDefault("decimal", "/")); diff --git a/modules/spreadsheet/tests/nonreg_tests/bug_13144.dia.ref b/modules/spreadsheet/tests/nonreg_tests/bug_13144.dia.ref new file mode 100755 index 000000000..1a639f07b --- /dev/null +++ b/modules/spreadsheet/tests/nonreg_tests/bug_13144.dia.ref @@ -0,0 +1,42 @@ +// ============================================================================= +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2014 - Scilab Enterprises - Paul Bignier +// +// This file is distributed under the same license as the Scilab package. +// ============================================================================= +// +// <-- CLI SHELL MODE --> +// +// <-- Non-regression test for bug 13146 --> +// +// <-- Bugzilla URL --> +// http://bugzilla.scilab.org/show_bug.cgi?id=13146 +// +// <-- Short Description --> +// csvRead could not ignore header comments. +// It is now possible thanks to a eighth input argument 'header'. +comments = [ +"// Copyright (C) INRIA" +"// This file must be used under the terms of the CeCILL." ]; +filename = fullfile(TMPDIR , "foo.csv"); +rand("seed", 0); +csvWrite(rand(2,3), filename, ascii(9), ",", [], comments); +header = 2; +[M, c] = csvRead(filename, ascii(9), ",", "double", [], [], [], header); // Ignore the two first lines (the header) +refM = [ +0.211324865464121 0.000221134629101 0.665381104219705 +0.756043854169548 0.330327091738582 0.628391788341105 ]; +refC = ""; +assert_checkalmostequal(M, refM); +assert_checkequal(c, refC); +// Case when csvRead has two output arguments but no 'regexpcomments' argument. +// This test case comes from the help page: +M = 1:50; +filename = fullfile(TMPDIR, "data.csv"); +csvWrite(M, filename, ascii(9), "."); +// Read csv file +[M1, c] = csvRead(filename,ascii(9), [], "string"); +refM1 = string(1:50); +refC = ""; +assert_checkequal(M1, refM1); +assert_checkequal(c, refC); diff --git a/modules/spreadsheet/tests/nonreg_tests/bug_13144.tst b/modules/spreadsheet/tests/nonreg_tests/bug_13144.tst new file mode 100755 index 000000000..15defd7a7 --- /dev/null +++ b/modules/spreadsheet/tests/nonreg_tests/bug_13144.tst @@ -0,0 +1,52 @@ +// ============================================================================= +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2014 - Scilab Enterprises - Paul Bignier +// +// This file is distributed under the same license as the Scilab package. +// ============================================================================= +// +// <-- CLI SHELL MODE --> +// +// <-- Non-regression test for bug 13146 --> +// +// <-- Bugzilla URL --> +// http://bugzilla.scilab.org/show_bug.cgi?id=13146 +// +// <-- Short Description --> +// csvRead could not ignore header comments. +// It is now possible thanks to a eighth input argument 'header'. + +comments = [ +"// Copyright (C) INRIA" +"// This file must be used under the terms of the CeCILL." ]; +filename = fullfile(TMPDIR , "foo.csv"); +rand("seed", 0); +csvWrite(rand(2,3), filename, ascii(9), ",", [], comments); + +header = 2; +[M, c] = csvRead(filename, ascii(9), ",", "double", [], [], [], header); // Ignore the two first lines (the header) + +refM = [ +0.211324865464121 0.000221134629101 0.665381104219705 +0.756043854169548 0.330327091738582 0.628391788341105 ]; +refC = ""; + +assert_checkalmostequal(M, refM); +assert_checkequal(c, refC); + + +// Case when csvRead has two output arguments but no 'regexpcomments' argument. +// This test case comes from the help page: +M = 1:50; +filename = fullfile(TMPDIR, "data.csv"); +csvWrite(M, filename, ascii(9), "."); + +// Read csv file +[M1, c] = csvRead(filename,ascii(9), [], "string"); + +refM1 = string(1:50); +refC = ""; + +assert_checkequal(M1, refM1); +assert_checkequal(c, refC); + diff --git a/modules/spreadsheet/tests/nonreg_tests/bug_13272.dia.ref b/modules/spreadsheet/tests/nonreg_tests/bug_13272.dia.ref new file mode 100755 index 000000000..de52d64a2 --- /dev/null +++ b/modules/spreadsheet/tests/nonreg_tests/bug_13272.dia.ref @@ -0,0 +1,24 @@ +// ============================================================================= +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2014 - Scilab Enterprises - Pierre-Aime Agnel +// +// This file is distributed under the same license as the Scilab package. +// ============================================================================= +// +// <-- CLI SHELL MODE --> +// +// <-- Non-regression test for bug 13272 --> +// +// <-- Bugzilla URL --> +// http://bugzilla.scilab.org/show_bug.cgi?id=13272 +// +// <-- Short Description --> +// csvRead does not return in error when looking for comments on a csv file where no comment is present +// csvRead returns an empty matrix for comment in this case +//Creating a test CSV file +dummyFile = TMPDIR + filesep() + "bug_13272.csv"; +csvWrite(['1', '', '3'; '', '', '6'], dummyFile); +//Files does not contain 7 as a comment +iErr = execstr("[M, comment] = csvRead(dummyFile, "","", ""."", ""string"", [], ""/7/"")", "errcatch"); +assert_checkequal(iErr, 0); +assert_checktrue(isempty(comment)); diff --git a/modules/spreadsheet/tests/nonreg_tests/bug_13272.tst b/modules/spreadsheet/tests/nonreg_tests/bug_13272.tst new file mode 100755 index 000000000..265c8289b --- /dev/null +++ b/modules/spreadsheet/tests/nonreg_tests/bug_13272.tst @@ -0,0 +1,27 @@ +// ============================================================================= +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2014 - Scilab Enterprises - Pierre-Aime Agnel +// +// This file is distributed under the same license as the Scilab package. +// ============================================================================= +// +// <-- CLI SHELL MODE --> +// +// <-- Non-regression test for bug 13272 --> +// +// <-- Bugzilla URL --> +// http://bugzilla.scilab.org/show_bug.cgi?id=13272 +// +// <-- Short Description --> +// csvRead does not return in error when looking for comments on a csv file where no comment is present +// csvRead returns an empty matrix for comment in this case + +//Creating a test CSV file +dummyFile = TMPDIR + filesep() + "bug_13272.csv"; +csvWrite(['1', '', '3'; '', '', '6'], dummyFile); + +//Files does not contain 7 as a comment +iErr = execstr("[M, comment] = csvRead(dummyFile, "","", ""."", ""string"", [], ""/7/"")", "errcatch"); + +assert_checkequal(iErr, 0); +assert_checktrue(isempty(comment)); diff --git a/modules/spreadsheet/tests/nonreg_tests/bug_1858.dia.ref b/modules/spreadsheet/tests/nonreg_tests/bug_1858.dia.ref new file mode 100755 index 000000000..f40366054 --- /dev/null +++ b/modules/spreadsheet/tests/nonreg_tests/bug_1858.dia.ref @@ -0,0 +1,19 @@ +// ============================================================================= +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2009 - DIGITEO - Allan CORNET +// +// This file is distributed under the same license as the Scilab package. +// ============================================================================= +// <-- Non-regression test for bug 1858 --> +// +// <-- Bugzilla URL --> +// http://bugzilla.scilab.org/show_bug.cgi?id=1858 +// +// <-- Short Description --> +// 'readxls' is unusable on the two Windows XP +// +xls_filename = SCI + '/modules/spreadsheet/demos/xls/t1.xls'; +for i = 1:100 + ierr = execstr('X = readxls(xls_filename);','errcatch'); + if ierr <> 0 then bugmes();quit;end +end diff --git a/modules/spreadsheet/tests/nonreg_tests/bug_1858.tst b/modules/spreadsheet/tests/nonreg_tests/bug_1858.tst new file mode 100755 index 000000000..61008465f --- /dev/null +++ b/modules/spreadsheet/tests/nonreg_tests/bug_1858.tst @@ -0,0 +1,21 @@ +// ============================================================================= +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2009 - DIGITEO - Allan CORNET +// +// This file is distributed under the same license as the Scilab package. +// ============================================================================= + +// <-- Non-regression test for bug 1858 --> +// +// <-- Bugzilla URL --> +// http://bugzilla.scilab.org/show_bug.cgi?id=1858 +// +// <-- Short Description --> +// 'readxls' is unusable on the two Windows XP +// + +xls_filename = SCI + '/modules/spreadsheet/demos/xls/t1.xls'; +for i = 1:100 + ierr = execstr('X = readxls(xls_filename);','errcatch'); + if ierr <> 0 then pause,end +end diff --git a/modules/spreadsheet/tests/nonreg_tests/bug_2.csv b/modules/spreadsheet/tests/nonreg_tests/bug_2.csv new file mode 100755 index 000000000..fa93786ba --- /dev/null +++ b/modules/spreadsheet/tests/nonreg_tests/bug_2.csv @@ -0,0 +1,100 @@ +1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 diff --git a/modules/spreadsheet/tests/nonreg_tests/bug_2.dia.ref b/modules/spreadsheet/tests/nonreg_tests/bug_2.dia.ref new file mode 100755 index 000000000..733f18b89 --- /dev/null +++ b/modules/spreadsheet/tests/nonreg_tests/bug_2.dia.ref @@ -0,0 +1,15 @@ +// ============================================================================= +// Copyright (C) 2010 - 2012 - INRIA - Allan CORNET +// ============================================================================= +// <-- JVM NOT MANDATORY --> +// ============================================================================= +r_string = csvRead(SCI+"/modules/spreadsheet/" + "tests/nonreg_tests/bug_2.csv", ",", [], "string"); +r_double = csvRead(SCI+"/modules/spreadsheet/" + "tests/nonreg_tests/bug_2.csv", ",", ".", "double"); +// ============================================================================= +assert_checkequal(size(r_string, "c"), size(r_double, "c")); +assert_checkequal(size(r_string, "r"), size(r_double, "r")); +assert_checkequal(size(r_string, "c"), 100); +assert_checkequal(size(r_string, "r"), 100); +assert_checkequal(r_string(100, 100), '1'); +assert_checkequal(and(r_double == eye(100,100)), %T); +// ============================================================================= diff --git a/modules/spreadsheet/tests/nonreg_tests/bug_2.tst b/modules/spreadsheet/tests/nonreg_tests/bug_2.tst new file mode 100755 index 000000000..733f18b89 --- /dev/null +++ b/modules/spreadsheet/tests/nonreg_tests/bug_2.tst @@ -0,0 +1,15 @@ +// ============================================================================= +// Copyright (C) 2010 - 2012 - INRIA - Allan CORNET +// ============================================================================= +// <-- JVM NOT MANDATORY --> +// ============================================================================= +r_string = csvRead(SCI+"/modules/spreadsheet/" + "tests/nonreg_tests/bug_2.csv", ",", [], "string"); +r_double = csvRead(SCI+"/modules/spreadsheet/" + "tests/nonreg_tests/bug_2.csv", ",", ".", "double"); +// ============================================================================= +assert_checkequal(size(r_string, "c"), size(r_double, "c")); +assert_checkequal(size(r_string, "r"), size(r_double, "r")); +assert_checkequal(size(r_string, "c"), 100); +assert_checkequal(size(r_string, "r"), 100); +assert_checkequal(r_string(100, 100), '1'); +assert_checkequal(and(r_double == eye(100,100)), %T); +// ============================================================================= diff --git a/modules/spreadsheet/tests/nonreg_tests/bug_3.csv b/modules/spreadsheet/tests/nonreg_tests/bug_3.csv new file mode 100755 index 000000000..6235ae527 --- /dev/null +++ b/modules/spreadsheet/tests/nonreg_tests/bug_3.csv @@ -0,0 +1,401 @@ +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,NaN,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,NaN,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN + diff --git a/modules/spreadsheet/tests/nonreg_tests/bug_3.dia.ref b/modules/spreadsheet/tests/nonreg_tests/bug_3.dia.ref new file mode 100755 index 000000000..20a07c024 --- /dev/null +++ b/modules/spreadsheet/tests/nonreg_tests/bug_3.dia.ref @@ -0,0 +1,14 @@ +// ============================================================================= +// Copyright (C) 2010 - 2012 - INRIA - Allan CORNET +// ============================================================================= +// <-- JVM NOT MANDATORY --> +// ============================================================================= +r_string = csvRead(SCI+"/modules/spreadsheet/" + "tests/nonreg_tests/bug_3.csv", ",", [], "string"); +r_double = csvRead(SCI+"/modules/spreadsheet/" + "tests/nonreg_tests/bug_3.csv", ",", ".", "double"); +assert_checkequal(size(r_string, "c"), size(r_double, "c")); +assert_checkequal(size(r_string, "r"), size(r_double, "r")); +assert_checkequal(size(r_string, "c"), 100); +assert_checkequal(size(r_string, "r"), 400); +assert_checkequal(r_string(100, 100), 'NaN'); +assert_checkequal(isnan(r_double(100, 100)), %T); +// ============================================================================= diff --git a/modules/spreadsheet/tests/nonreg_tests/bug_3.tst b/modules/spreadsheet/tests/nonreg_tests/bug_3.tst new file mode 100755 index 000000000..20a07c024 --- /dev/null +++ b/modules/spreadsheet/tests/nonreg_tests/bug_3.tst @@ -0,0 +1,14 @@ +// ============================================================================= +// Copyright (C) 2010 - 2012 - INRIA - Allan CORNET +// ============================================================================= +// <-- JVM NOT MANDATORY --> +// ============================================================================= +r_string = csvRead(SCI+"/modules/spreadsheet/" + "tests/nonreg_tests/bug_3.csv", ",", [], "string"); +r_double = csvRead(SCI+"/modules/spreadsheet/" + "tests/nonreg_tests/bug_3.csv", ",", ".", "double"); +assert_checkequal(size(r_string, "c"), size(r_double, "c")); +assert_checkequal(size(r_string, "r"), size(r_double, "r")); +assert_checkequal(size(r_string, "c"), 100); +assert_checkequal(size(r_string, "r"), 400); +assert_checkequal(r_string(100, 100), 'NaN'); +assert_checkequal(isnan(r_double(100, 100)), %T); +// ============================================================================= diff --git a/modules/spreadsheet/tests/nonreg_tests/bug_4.dia.ref b/modules/spreadsheet/tests/nonreg_tests/bug_4.dia.ref new file mode 100755 index 000000000..f04a82a34 --- /dev/null +++ b/modules/spreadsheet/tests/nonreg_tests/bug_4.dia.ref @@ -0,0 +1,63 @@ +// ============================================================================= +// Copyright (C) 2010 - 2012 - INRIA - Allan CORNET +// ============================================================================= +// <-- JVM NOT MANDATORY --> +// ============================================================================= +r1_string = csvRead(SCI+"/modules/spreadsheet/" + "tests/nonreg_tests/bug_4_longline_1.csv", ",", [], "string"); +r2_string = csvRead(SCI+"/modules/spreadsheet/" + "tests/nonreg_tests/bug_4_longline_2.csv", " ", [], "string"); +r3_string = csvRead(SCI+"/modules/spreadsheet/" + "tests/nonreg_tests/bug_4_shortline_1.csv", ",", [], "string"); +r4_string = csvRead(SCI+"/modules/spreadsheet/" + "tests/nonreg_tests/bug_4_shortline_2.csv", " ", [], "string"); +// ============================================================================= +r1_double = csvRead(SCI+"/modules/spreadsheet/" + "tests/nonreg_tests/bug_4_longline_1.csv", ",", ".", "double"); +r2_double = csvRead(SCI+"/modules/spreadsheet/" + "tests/nonreg_tests/bug_4_longline_2.csv", " ", ".", "double"); +r3_double = csvRead(SCI+"/modules/spreadsheet/" + "tests/nonreg_tests/bug_4_shortline_1.csv", ",", ".", "double"); +r4_double = csvRead(SCI+"/modules/spreadsheet/" + "tests/nonreg_tests/bug_4_shortline_2.csv", " ", ".", "double"); +// ============================================================================= +assert_checkequal(size(r1_string, "r"), 1 ); +assert_checkequal(size(r1_string, "c"), 8 ); +// ============================================================================= +assert_checkequal(size(r2_string, "r"), 1 ); +assert_checkequal(size(r2_string, "c"), 8 ); +// ============================================================================= +assert_checkequal(size(r3_string, "r"), 1 ); +assert_checkequal(size(r3_string, "c"), 7 ); +// ============================================================================= +assert_checkequal(size(r4_string, "r"), 1 ); +assert_checkequal(size(r4_string, "c"), 7 ); +// ============================================================================= +assert_checkequal(size(r1_string, "r"), size(r1_double, "r") ); +assert_checkequal(size(r1_string, "c"), size(r1_double, "c") ); +// ============================================================================= +assert_checkequal(size(r2_string, "r"), size(r2_double, "r") ); +assert_checkequal(size(r2_string, "c"), size(r2_double, "c") ); +// ============================================================================= +assert_checkequal(size(r3_string, "r"), size(r3_double, "r") ); +assert_checkequal(size(r3_string, "c"), size(r3_double, "c") ); +// ============================================================================= +assert_checkequal(size(r4_string, "r"), size(r4_double, "r") ); +assert_checkequal(size(r4_string, "c"), size(r4_double, "c") ); +// ============================================================================= +ref_longline_1 = ["-2.790381273096156e-07" , "3.794290569878876e-07" , .. + "1.102895012074256e-06" , "1.632322210513841e-06" , .. + "1.777203879921258e-06" , "1.486206657150863e-06" , .. + "8.635378410712134e-07" , "1.322840799913625e-07"]; +assert_checkequal(ref_longline_1, r1_string); +// ============================================================================= +ref_longline_2 = ["-2.790381273096156e-07" , "3.794290569878876e-07" , .. + "1.102895012074256e-06" , "1.632322210513841e-06" , .. + "1.777203879921258e-06" , "1.486206657150863e-06" , .. + "8.635378410712134e-07" , "1.322840799913625e-07"]; +assert_checkequal(ref_longline_2, r2_string); +// ============================================================================= +ref_shortline_1 = ["-2.790381273096156e-07" , "3.794290569878876e-07" , .. + "1.102895012074256e-06" , "1.632322210513841e-06" , .. + "1.777203879921258e-06" , "1.486206657150863e-06" , .. + "8.635378410712134e-07"]; +assert_checkequal(ref_shortline_1, r3_string); +// ============================================================================= +ref_shortline_2 = ["-2.790381273096156e-07" , "3.794290569878876e-07" , .. + "1.102895012074256e-06" , "1.632322210513841e-06" , .. + "1.777203879921258e-06" , "1.486206657150863e-06" , .. + "8.635378410712134e-07"]; +assert_checkequal(ref_shortline_2, r4_string); +// ============================================================================= diff --git a/modules/spreadsheet/tests/nonreg_tests/bug_4.tst b/modules/spreadsheet/tests/nonreg_tests/bug_4.tst new file mode 100755 index 000000000..f04a82a34 --- /dev/null +++ b/modules/spreadsheet/tests/nonreg_tests/bug_4.tst @@ -0,0 +1,63 @@ +// ============================================================================= +// Copyright (C) 2010 - 2012 - INRIA - Allan CORNET +// ============================================================================= +// <-- JVM NOT MANDATORY --> +// ============================================================================= +r1_string = csvRead(SCI+"/modules/spreadsheet/" + "tests/nonreg_tests/bug_4_longline_1.csv", ",", [], "string"); +r2_string = csvRead(SCI+"/modules/spreadsheet/" + "tests/nonreg_tests/bug_4_longline_2.csv", " ", [], "string"); +r3_string = csvRead(SCI+"/modules/spreadsheet/" + "tests/nonreg_tests/bug_4_shortline_1.csv", ",", [], "string"); +r4_string = csvRead(SCI+"/modules/spreadsheet/" + "tests/nonreg_tests/bug_4_shortline_2.csv", " ", [], "string"); +// ============================================================================= +r1_double = csvRead(SCI+"/modules/spreadsheet/" + "tests/nonreg_tests/bug_4_longline_1.csv", ",", ".", "double"); +r2_double = csvRead(SCI+"/modules/spreadsheet/" + "tests/nonreg_tests/bug_4_longline_2.csv", " ", ".", "double"); +r3_double = csvRead(SCI+"/modules/spreadsheet/" + "tests/nonreg_tests/bug_4_shortline_1.csv", ",", ".", "double"); +r4_double = csvRead(SCI+"/modules/spreadsheet/" + "tests/nonreg_tests/bug_4_shortline_2.csv", " ", ".", "double"); +// ============================================================================= +assert_checkequal(size(r1_string, "r"), 1 ); +assert_checkequal(size(r1_string, "c"), 8 ); +// ============================================================================= +assert_checkequal(size(r2_string, "r"), 1 ); +assert_checkequal(size(r2_string, "c"), 8 ); +// ============================================================================= +assert_checkequal(size(r3_string, "r"), 1 ); +assert_checkequal(size(r3_string, "c"), 7 ); +// ============================================================================= +assert_checkequal(size(r4_string, "r"), 1 ); +assert_checkequal(size(r4_string, "c"), 7 ); +// ============================================================================= +assert_checkequal(size(r1_string, "r"), size(r1_double, "r") ); +assert_checkequal(size(r1_string, "c"), size(r1_double, "c") ); +// ============================================================================= +assert_checkequal(size(r2_string, "r"), size(r2_double, "r") ); +assert_checkequal(size(r2_string, "c"), size(r2_double, "c") ); +// ============================================================================= +assert_checkequal(size(r3_string, "r"), size(r3_double, "r") ); +assert_checkequal(size(r3_string, "c"), size(r3_double, "c") ); +// ============================================================================= +assert_checkequal(size(r4_string, "r"), size(r4_double, "r") ); +assert_checkequal(size(r4_string, "c"), size(r4_double, "c") ); +// ============================================================================= +ref_longline_1 = ["-2.790381273096156e-07" , "3.794290569878876e-07" , .. + "1.102895012074256e-06" , "1.632322210513841e-06" , .. + "1.777203879921258e-06" , "1.486206657150863e-06" , .. + "8.635378410712134e-07" , "1.322840799913625e-07"]; +assert_checkequal(ref_longline_1, r1_string); +// ============================================================================= +ref_longline_2 = ["-2.790381273096156e-07" , "3.794290569878876e-07" , .. + "1.102895012074256e-06" , "1.632322210513841e-06" , .. + "1.777203879921258e-06" , "1.486206657150863e-06" , .. + "8.635378410712134e-07" , "1.322840799913625e-07"]; +assert_checkequal(ref_longline_2, r2_string); +// ============================================================================= +ref_shortline_1 = ["-2.790381273096156e-07" , "3.794290569878876e-07" , .. + "1.102895012074256e-06" , "1.632322210513841e-06" , .. + "1.777203879921258e-06" , "1.486206657150863e-06" , .. + "8.635378410712134e-07"]; +assert_checkequal(ref_shortline_1, r3_string); +// ============================================================================= +ref_shortline_2 = ["-2.790381273096156e-07" , "3.794290569878876e-07" , .. + "1.102895012074256e-06" , "1.632322210513841e-06" , .. + "1.777203879921258e-06" , "1.486206657150863e-06" , .. + "8.635378410712134e-07"]; +assert_checkequal(ref_shortline_2, r4_string); +// ============================================================================= diff --git a/modules/spreadsheet/tests/nonreg_tests/bug_4_longline_1.csv b/modules/spreadsheet/tests/nonreg_tests/bug_4_longline_1.csv new file mode 100755 index 000000000..ee644d5ee --- /dev/null +++ b/modules/spreadsheet/tests/nonreg_tests/bug_4_longline_1.csv @@ -0,0 +1 @@ +-2.790381273096156e-07,3.794290569878876e-07,1.102895012074256e-06,1.632322210513841e-06,1.777203879921258e-06,1.486206657150863e-06,8.635378410712134e-07,1.322840799913625e-07 diff --git a/modules/spreadsheet/tests/nonreg_tests/bug_4_longline_2.csv b/modules/spreadsheet/tests/nonreg_tests/bug_4_longline_2.csv new file mode 100755 index 000000000..477b73006 --- /dev/null +++ b/modules/spreadsheet/tests/nonreg_tests/bug_4_longline_2.csv @@ -0,0 +1 @@ +-2.790381273096156e-07 3.794290569878876e-07 1.102895012074256e-06 1.632322210513841e-06 1.777203879921258e-06 1.486206657150863e-06 8.635378410712134e-07 1.322840799913625e-07 diff --git a/modules/spreadsheet/tests/nonreg_tests/bug_4_shortline_1.csv b/modules/spreadsheet/tests/nonreg_tests/bug_4_shortline_1.csv new file mode 100755 index 000000000..91327776c --- /dev/null +++ b/modules/spreadsheet/tests/nonreg_tests/bug_4_shortline_1.csv @@ -0,0 +1 @@ +-2.790381273096156e-07,3.794290569878876e-07,1.102895012074256e-06,1.632322210513841e-06,1.777203879921258e-06,1.486206657150863e-06,8.635378410712134e-07 diff --git a/modules/spreadsheet/tests/nonreg_tests/bug_4_shortline_2.csv b/modules/spreadsheet/tests/nonreg_tests/bug_4_shortline_2.csv new file mode 100755 index 000000000..b75cb63b9 --- /dev/null +++ b/modules/spreadsheet/tests/nonreg_tests/bug_4_shortline_2.csv @@ -0,0 +1 @@ +-2.790381273096156e-07 3.794290569878876e-07 1.102895012074256e-06 1.632322210513841e-06 1.777203879921258e-06 1.486206657150863e-06 8.635378410712134e-07 diff --git a/modules/spreadsheet/tests/nonreg_tests/bug_5.csv b/modules/spreadsheet/tests/nonreg_tests/bug_5.csv new file mode 100755 index 000000000..19ad7142e --- /dev/null +++ b/modules/spreadsheet/tests/nonreg_tests/bug_5.csv @@ -0,0 +1,372 @@ +0 +-0 +1e-308 +1e308 +1.2e-005 +1.6e-005 +2e-005 +2.4e-005 +2.8e-005 +3e-005 +3.2e-005 +3.6e-005 +4e-005 +4.4e-005 +4.8e-005 +5e-005 +5.2e-005 +5.6e-005 +6e-005 +6.4e-005 +6.8e-005 +7e-005 +7.2e-005 +7.6e-005 +8e-005 +8.4e-005 +8.8e-005 +9e-005 +9.2e-005 +9.6e-005 +0.0001 +0.000104 +0.000108 +0.00011 +0.000112 +0.000116 +0.00012 +0.000124 +0.000128 +0.00013 +0.000132 +0.000136 +0.00014 +0.000144 +0.000148 +0.00015 +0.000152 +0.000156 +0.00016 +0.000164 +0.000168 +0.00017 +0.000172 +0.000176 +0.00018 +0.000184 +0.000188 +0.00019 +0.000192 +0.000196 +0.0002 +0.000204 +0.000208 +0.00021 +0.000212 +0.000216 +0.00022 +0.000224 +0.000228 +0.00023 +0.000232 +0.000236 +0.00024 +0.000244 +0.000248 +0.00025 +0.000252 +0.000256 +0.00026 +0.000264 +0.000268 +0.00027 +0.000272 +0.000276 +0.00028 +0.000284 +0.000288 +0.00029 +0.000292 +0.000296 +0.0003 +0.000304 +0.000308 +0.00031 +0.000312 +0.000316 +0.00032 +0.000324 +0.000328 +0.00033 +0.000332 +0.000336 +0.00034 +0.000344 +0.000348 +0.00035 +0.000352 +0.000356 +0.00036 +0.000364 +0.000368 +0.00037 +0.000372 +0.000376 +0.00038 +0.000384 +0.000388 +0.00039 +0.000392 +0.000396 +0.0004 +0.000404 +0.000408 +0.00041 +0.000412 +0.000416 +0.00042 +0.000424 +0.000428 +0.00043 +0.000432 +0.000436 +0.00044 +0.000444 +0.000448 +0.00045 +0.000452 +0.000456 +0.00046 +0.000464 +0.000468 +0.00047 +0.000472 +0.000476 +0.00048 +0.000484 +0.000488 +0.00049 +0.000492 +0.000496 +0.0005 +0.000504 +0.000508 +0.00051 +0.000512 +0.000516 +0.00052 +0.000524 +0.000528 +0.00053 +0.000532 +0.000536 +0.00054 +0.000544 +0.000548 +0.00055 +0.000552 +0.000556 +0.00056 +0.000564 +0.000568 +0.00057 +0.000572 +0.000576 +0.00058 +0.000584 +0.000588 +0.00059 +0.000592 +0.000596 +0.0006 +0.000604 +0.000608 +0.00061 +0.000612 +0.000616 +0.00062 +0.000624 +0.000628 +0.00063 +0.000632 +0.000636 +0.00064 +0.000644 +0.000648 +0.00065 +0.000652 +0.000656 +0.00066 +0.000664 +0.000668 +0.00067 +0.000672 +0.000676 +0.00068 +0.000684 +0.000688 +0.00069 +0.000692 +0.000696 +0.0007 +0.000704 +0.000708 +0.00071 +0.000712 +0.000716 +0.00072 +0.000724 +0.000728 +0.00073 +0.000732 +0.000736 +0.00074 +0.000744 +0.000748 +0.00075 +0.000752 +0.000756 +0.00076 +0.000764 +0.000768 +0.00077 +0.000772 +0.000776 +0.00078 +0.000784 +0.000788 +0.00079 +0.000792 +0.000796 +0.0008 +0.000804 +0.000808 +0.00081 +0.000812 +0.000816 +0.00082 +0.000824 +0.000828 +0.00083 +0.000832 +0.000836 +0.00084 +0.000844 +0.000848 +0.00085 +0.000852 +0.000856 +0.00086 +0.000864 +0.000868 +0.00087 +0.000872 +0.000876 +0.00088 +0.000884 +0.000888 +0.00089 +0.000892 +0.000896 +0.0009 +0.000904 +0.000908 +0.00091 +0.000912 +0.000916 +0.00092 +0.000924 +0.000928 +0.00093 +0.000932 +0.000936 +0.00094 +0.000944 +0.000948 +0.00095 +0.000952 +0.000956 +0.00096 +0.000964 +0.000968 +0.00097 +0.000972 +0.000976 +0.00098 +0.000984 +0.000988 +0.00099 +0.000992 +0.000996 +0.001 +0.001004 +0.001008 +0.00101 +0.001012 +0.001016 +0.00102 +0.001024 +0.001028 +0.00103 +0.001032 +0.001036 +0.00104 +0.001044 +0.001048 +0.00105 +0.001052 +0.001056 +0.00106 +0.001064 +0.001068 +0.00107 +0.001072 +0.001076 +0.00108 +0.001084 +0.001088 +0.00109 +0.001092 +0.001096 +0.0011 +0.001104 +0.001108 +0.00111 +0.001112 +0.001116 +0.00112 +0.001124 +0.001128 +0.00113 +0.001132 +0.001136 +0.00114 +0.001144 +0.001148 +0.00115 +0.001152 +0.001156 +0.00116 +0.001164 +0.001168 +0.00117 +0.001172 +0.001176 +0.00118 +0.001184 +0.001188 +0.00119 +0.001192 +0.001196 +0.0012 +0.001204 +0.001208 +0.00121 +0.001212 +0.001216 +0.00122 +0.001224 +0.001228 +0.00123 +0.001232 +0.001236 diff --git a/modules/spreadsheet/tests/nonreg_tests/bug_5.dia.ref b/modules/spreadsheet/tests/nonreg_tests/bug_5.dia.ref new file mode 100755 index 000000000..9096eb1b8 --- /dev/null +++ b/modules/spreadsheet/tests/nonreg_tests/bug_5.dia.ref @@ -0,0 +1,29 @@ +// ============================================================================= +// Copyright (C) 2010 - 2012 - INRIA - Allan CORNET +// ============================================================================= +// <-- JVM NOT MANDATORY --> +// ============================================================================= +r1_string = csvRead(SCI+"/modules/spreadsheet/" + "tests/nonreg_tests/bug_5.csv", ",", [], "string"); +r1_double = csvRead(SCI+"/modules/spreadsheet/" + "tests/nonreg_tests/bug_5.csv", ",", ".", "double"); +// ============================================================================= +assert_checkequal(size(r1_string, "c"), size(r1_double, "c")); +assert_checkequal(size(r1_string, "r"), size(r1_double, "r")); +// ============================================================================= +assert_checkequal(size(r1_string, "c"), 1); +assert_checkequal(size(r1_string, "r"), 372); +// ============================================================================= +assert_checkequal(r1_string(1), "0"); +assert_checkequal(r1_double(1), 0); +// ============================================================================= +assert_checkequal(r1_string(2), "-0"); +assert_checkequal(r1_double(2), 0); +// ============================================================================= +assert_checkequal(r1_string(3), "1e-308"); +assert_checkequal(r1_double(3), 1e-308); +// ============================================================================= +assert_checkequal(r1_string(4), "1e308"); +assert_checkequal(r1_double(4), 1e308); +// ============================================================================= +assert_checkequal(r1_string(372), "0.001236"); +assert_checkequal(r1_double(372), 0.001236); +// ============================================================================= diff --git a/modules/spreadsheet/tests/nonreg_tests/bug_5.tst b/modules/spreadsheet/tests/nonreg_tests/bug_5.tst new file mode 100755 index 000000000..9096eb1b8 --- /dev/null +++ b/modules/spreadsheet/tests/nonreg_tests/bug_5.tst @@ -0,0 +1,29 @@ +// ============================================================================= +// Copyright (C) 2010 - 2012 - INRIA - Allan CORNET +// ============================================================================= +// <-- JVM NOT MANDATORY --> +// ============================================================================= +r1_string = csvRead(SCI+"/modules/spreadsheet/" + "tests/nonreg_tests/bug_5.csv", ",", [], "string"); +r1_double = csvRead(SCI+"/modules/spreadsheet/" + "tests/nonreg_tests/bug_5.csv", ",", ".", "double"); +// ============================================================================= +assert_checkequal(size(r1_string, "c"), size(r1_double, "c")); +assert_checkequal(size(r1_string, "r"), size(r1_double, "r")); +// ============================================================================= +assert_checkequal(size(r1_string, "c"), 1); +assert_checkequal(size(r1_string, "r"), 372); +// ============================================================================= +assert_checkequal(r1_string(1), "0"); +assert_checkequal(r1_double(1), 0); +// ============================================================================= +assert_checkequal(r1_string(2), "-0"); +assert_checkequal(r1_double(2), 0); +// ============================================================================= +assert_checkequal(r1_string(3), "1e-308"); +assert_checkequal(r1_double(3), 1e-308); +// ============================================================================= +assert_checkequal(r1_string(4), "1e308"); +assert_checkequal(r1_double(4), 1e308); +// ============================================================================= +assert_checkequal(r1_string(372), "0.001236"); +assert_checkequal(r1_double(372), 0.001236); +// ============================================================================= diff --git a/modules/spreadsheet/tests/nonreg_tests/bug_5615.dia.ref b/modules/spreadsheet/tests/nonreg_tests/bug_5615.dia.ref new file mode 100755 index 000000000..c41f83716 --- /dev/null +++ b/modules/spreadsheet/tests/nonreg_tests/bug_5615.dia.ref @@ -0,0 +1,22 @@ +// ============================================================================= +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2009 - DIGITEO - Allan CORNET +// +// This file is distributed under the same license as the Scilab package. +// ============================================================================= +// <-- Non-regression test for bug 5615 --> +// +// <-- Bugzilla URL --> +// http://bugzilla.scilab.org/show_bug.cgi?id=5615 +// +// <-- Short Description --> +// xls_open failed if there was a trailing space after the file extension +// +xls_filename = SCI + '/modules/spreadsheet/demos/xls/Test1.xls'; +ierr = execstr('[fd,SST,Sheetnames,Sheetpos] = xls_open(xls_filename);','errcatch'); +if ierr <> 0 then bugmes();quit;end +mclose(fd); +xls_filename = SCI + '/modules/spreadsheet/demos/xls/Test1.xls '; +ierr = execstr('[fd,SST,Sheetnames,Sheetpos] = xls_open(xls_filename);','errcatch'); +if ierr <> 0 then bugmes();quit;end +mclose(fd); diff --git a/modules/spreadsheet/tests/nonreg_tests/bug_5615.tst b/modules/spreadsheet/tests/nonreg_tests/bug_5615.tst new file mode 100755 index 000000000..434501885 --- /dev/null +++ b/modules/spreadsheet/tests/nonreg_tests/bug_5615.tst @@ -0,0 +1,25 @@ +// ============================================================================= +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2009 - DIGITEO - Allan CORNET +// +// This file is distributed under the same license as the Scilab package. +// ============================================================================= + +// <-- Non-regression test for bug 5615 --> +// +// <-- Bugzilla URL --> +// http://bugzilla.scilab.org/show_bug.cgi?id=5615 +// +// <-- Short Description --> +// xls_open failed if there was a trailing space after the file extension +// + +xls_filename = SCI + '/modules/spreadsheet/demos/xls/Test1.xls'; +ierr = execstr('[fd,SST,Sheetnames,Sheetpos] = xls_open(xls_filename);','errcatch'); +if ierr <> 0 then pause,end +mclose(fd); + +xls_filename = SCI + '/modules/spreadsheet/demos/xls/Test1.xls '; +ierr = execstr('[fd,SST,Sheetnames,Sheetpos] = xls_open(xls_filename);','errcatch'); +if ierr <> 0 then pause,end +mclose(fd); diff --git a/modules/spreadsheet/tests/nonreg_tests/bug_6.dia.ref b/modules/spreadsheet/tests/nonreg_tests/bug_6.dia.ref new file mode 100755 index 000000000..c89dcdd05 --- /dev/null +++ b/modules/spreadsheet/tests/nonreg_tests/bug_6.dia.ref @@ -0,0 +1,10 @@ +// ============================================================================= +// Copyright (C) 2010 - 2012 - INRIA - Allan CORNET +// ============================================================================= +// <-- JVM NOT MANDATORY --> +// ============================================================================= +M = rand(4,3); +csvWrite(M, TMPDIR + '/csvlist.dat'); +r = csvRead(TMPDIR + '/csvlist.dat',csvDefault('separator'), csvDefault('decimal'), 'double'); +assert_checkalmostequal(M, r); +// ============================================================================= diff --git a/modules/spreadsheet/tests/nonreg_tests/bug_6.tst b/modules/spreadsheet/tests/nonreg_tests/bug_6.tst new file mode 100755 index 000000000..c89dcdd05 --- /dev/null +++ b/modules/spreadsheet/tests/nonreg_tests/bug_6.tst @@ -0,0 +1,10 @@ +// ============================================================================= +// Copyright (C) 2010 - 2012 - INRIA - Allan CORNET +// ============================================================================= +// <-- JVM NOT MANDATORY --> +// ============================================================================= +M = rand(4,3); +csvWrite(M, TMPDIR + '/csvlist.dat'); +r = csvRead(TMPDIR + '/csvlist.dat',csvDefault('separator'), csvDefault('decimal'), 'double'); +assert_checkalmostequal(M, r); +// ============================================================================= diff --git a/modules/spreadsheet/tests/nonreg_tests/bug_6734.dia.ref b/modules/spreadsheet/tests/nonreg_tests/bug_6734.dia.ref new file mode 100755 index 000000000..695112355 --- /dev/null +++ b/modules/spreadsheet/tests/nonreg_tests/bug_6734.dia.ref @@ -0,0 +1,21 @@ +// ============================================================================= +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2009 - DIGITEO - Allan CORNET +// +// This file is distributed under the same license as the Scilab package. +// ============================================================================= +// <-- Non-regression test for bug 6734 --> +// +// <-- Bugzilla URL --> +// http://bugzilla.scilab.org/show_bug.cgi?id=6734 +// +// <-- Short Description --> +// +// read_csv function contains erroneous error message. +ierr = execstr("M = read_csv(''doesnotexist.txt'')", "errcatch"); +assert_checkequal(ierr,999) + ans = + + T +L = lasterror(); +assert_checkequal(grep(L(1),"doesnotexist.txt"), 1); diff --git a/modules/spreadsheet/tests/nonreg_tests/bug_6734.tst b/modules/spreadsheet/tests/nonreg_tests/bug_6734.tst new file mode 100755 index 000000000..a916b89ee --- /dev/null +++ b/modules/spreadsheet/tests/nonreg_tests/bug_6734.tst @@ -0,0 +1,21 @@ +// ============================================================================= +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2009 - DIGITEO - Allan CORNET +// +// This file is distributed under the same license as the Scilab package. +// ============================================================================= + +// <-- Non-regression test for bug 6734 --> +// +// <-- Bugzilla URL --> +// http://bugzilla.scilab.org/show_bug.cgi?id=6734 +// +// <-- Short Description --> +// +// read_csv function contains erroneous error message. + +ierr = execstr("M = read_csv(''doesnotexist.txt'')", "errcatch"); +assert_checkequal(ierr,999) +L = lasterror(); +assert_checkequal(grep(L(1),"doesnotexist.txt"), 1); + diff --git a/modules/spreadsheet/tests/nonreg_tests/bug_7003.csv b/modules/spreadsheet/tests/nonreg_tests/bug_7003.csv new file mode 100755 index 000000000..6235ae527 --- /dev/null +++ b/modules/spreadsheet/tests/nonreg_tests/bug_7003.csv @@ -0,0 +1,401 @@ +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,NaN,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,NaN,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN +NaN,0.0020304,0.0060287,0.0099438,0.013776,0.017524,0.021189,0.024771,0.028269,0.031685,0.035017,0.038265,0.041431,0.044513,0.047511,0.050427,0.053259,0.056008,0.058673,0.061256,0.063755,0.06617,0.068503,0.070752,0.072918,0.075,0.076999,0.078915,0.080748,0.082497,0.084163,0.085746,0.087245,0.088661,0.089994,0.091243,0.092409,0.093492,0.094492,0.095408,0.096241,0.096991,0.097657,0.09824,0.09874,0.099157,0.09949,0.09974,0.099906,0.09999,0.09999,0.099906,0.09974,0.09949,0.099157,0.09874,0.09824,0.097657,0.096991,0.096241,0.095408,0.094492,0.093492,0.092409,0.091243,0.089994,0.088661,0.087245,0.085746,0.084163,0.082497,0.080748,0.078915,0.076999,0.075,0.072918,0.070752,0.068503,0.06617,0.063755,0.061256,0.058673,0.056008,0.053259,0.050427,0.047511,0.044513,0.041431,0.038265,0.035017,0.031685,0.028269,0.024771,0.021189,0.017524,0.013776,0.0099438,0.0060287,0.0020304,NaN + diff --git a/modules/spreadsheet/tests/nonreg_tests/bug_7003.dia.ref b/modules/spreadsheet/tests/nonreg_tests/bug_7003.dia.ref new file mode 100755 index 000000000..f9130a7e3 --- /dev/null +++ b/modules/spreadsheet/tests/nonreg_tests/bug_7003.dia.ref @@ -0,0 +1,35 @@ +// ============================================================================= +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2010 - DIGITEO - Allan CORNET +// +// This file is distributed under the same license as the Scilab package. +// ============================================================================= +// +// <-- CLI SHELL MODE --> +// +// <-- Non-regression test for bug 7003 --> +// +// <-- Bugzilla URL --> +// http://bugzilla.scilab.org/show_bug.cgi?id=7003 +// +// <-- Short Description --> +// +// read_csv function was not be able to convert "NaN" strings to "%nan" string. +N = eye(3,3); +ref = (N == 1); +N(N == 1) = %nan; +write_csv(N,TMPDIR + "/TEST_NAN.csv"); +resSTR = read_csv(TMPDIR + "/TEST_NAN.csv"); +resVal = evstr(resSTR); +if or(ref <> isnan(resVal)) then bugmes();quit;end +N = eye(3,3); +ref = (N == 1); +N(N == 1) = %inf; +write_csv(N,TMPDIR + "/TEST_INF.csv"); +resSTR = read_csv(TMPDIR + "/TEST_INF.csv"); +resVal = evstr(resSTR); +if or(ref <> isinf(resVal)) then bugmes();quit;end +res = read_csv(SCI + "/modules/spreadsheet/tests/nonreg_tests/bug_7003.csv"); +MatA = evstr(res); +if or(size(MatA) <> [400 100]) then bugmes();quit;end +if or(isnan(MatA(1:$, 1)) <> %t) then bugmes();quit;end diff --git a/modules/spreadsheet/tests/nonreg_tests/bug_7003.tst b/modules/spreadsheet/tests/nonreg_tests/bug_7003.tst new file mode 100755 index 000000000..381237114 --- /dev/null +++ b/modules/spreadsheet/tests/nonreg_tests/bug_7003.tst @@ -0,0 +1,42 @@ +// ============================================================================= +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2010 - DIGITEO - Allan CORNET +// +// This file is distributed under the same license as the Scilab package. +// ============================================================================= +// +// <-- CLI SHELL MODE --> +// +// <-- Non-regression test for bug 7003 --> +// +// <-- Bugzilla URL --> +// http://bugzilla.scilab.org/show_bug.cgi?id=7003 +// +// <-- Short Description --> +// +// read_csv function was not be able to convert "NaN" strings to "%nan" string. + +N = eye(3,3); +ref = (N == 1); +N(N == 1) = %nan; + +write_csv(N,TMPDIR + "/TEST_NAN.csv"); +resSTR = read_csv(TMPDIR + "/TEST_NAN.csv"); +resVal = evstr(resSTR); + +if or(ref <> isnan(resVal)) then pause, end + +N = eye(3,3); +ref = (N == 1); +N(N == 1) = %inf; + +write_csv(N,TMPDIR + "/TEST_INF.csv"); +resSTR = read_csv(TMPDIR + "/TEST_INF.csv"); +resVal = evstr(resSTR); + +if or(ref <> isinf(resVal)) then pause, end + +res = read_csv(SCI + "/modules/spreadsheet/tests/nonreg_tests/bug_7003.csv"); +MatA = evstr(res); +if or(size(MatA) <> [400 100]) then pause, end +if or(isnan(MatA(1:$, 1)) <> %t) then pause, end diff --git a/modules/spreadsheet/tests/nonreg_tests/bug_8349.dia.ref b/modules/spreadsheet/tests/nonreg_tests/bug_8349.dia.ref new file mode 100755 index 000000000..a682ac64b --- /dev/null +++ b/modules/spreadsheet/tests/nonreg_tests/bug_8349.dia.ref @@ -0,0 +1,49 @@ +// ============================================================================= +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2012 - S/E - Sylvestre Ledru +// +// This file is distributed under the same license as the Scilab package. +// ============================================================================= +// +// <-- JAVA NOT MANDATORY --> +// +// <-- Non-regression test for bug 8349 --> +// +// <-- Bugzilla URL --> +// http://bugzilla.scilab.org/show_bug.cgi?id=8349 +// +// <-- Short Description --> +// write_csv() failed to support writting complexes with %nan or %inf parts +m = [7,-2,9;1,-8,2;1,-6,0]; +m = m*(1+%i); +filename=TMPDIR+"/test.txt"; +write_csv(m,filename); +b=mgetl(filename); +assert_checkequal(b, ["7+7i,-2-2i,9+9i";"1+1i,-8-8i,2+2i";"1+1i,-6-6i,0"]); +b=csvRead(filename); +assert_checkequal(b,m); +write_csv([ 1 %nan*(1+%i)],filename); +b=mgetl(filename); +assert_checkequal(b,"1,Nan+Nani"); +b=csvRead(filename); +assert_checkequal(b, [1 %nan*(1+%i)]); +write_csv([ 1.1 %nan*(1+%i)],filename); +b=mgetl(filename); +assert_checkequal(b,"1.1000000000000001,Nan+Nani"); +b=csvRead(filename); +assert_checkequal(b, [1.1 %nan*(1+%i)]); +write_csv([ 1 %inf*(1+%i)],filename) +b=mgetl(filename); +assert_checkequal(b,"1,Inf+Infi"); +b=csvRead(filename); +assert_checkequal(b, [1 %inf*(1+%i)]); +write_csv([ 1.1 %inf*(1+%i)],filename) +b=mgetl(filename); +assert_checkequal(b,"1.1000000000000001,Inf+Infi"); +b=csvRead(filename); +assert_checkequal(b, [1.1 %inf*(1+%i)]); +write_csv([ 1.1 1+%i*%inf],filename) +b=mgetl(filename); +assert_checkequal(b,"1.1000000000000001,Nan+Infi"); +b=csvRead(filename); +assert_checkequal(b, [ 1.1 1+%i*%inf]); diff --git a/modules/spreadsheet/tests/nonreg_tests/bug_8349.tst b/modules/spreadsheet/tests/nonreg_tests/bug_8349.tst new file mode 100755 index 000000000..a9aab6aba --- /dev/null +++ b/modules/spreadsheet/tests/nonreg_tests/bug_8349.tst @@ -0,0 +1,56 @@ +// ============================================================================= +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2012 - S/E - Sylvestre Ledru +// +// This file is distributed under the same license as the Scilab package. +// ============================================================================= +// +// <-- JAVA NOT MANDATORY --> +// +// <-- Non-regression test for bug 8349 --> +// +// <-- Bugzilla URL --> +// http://bugzilla.scilab.org/show_bug.cgi?id=8349 +// +// <-- Short Description --> +// write_csv() failed to support writting complexes with %nan or %inf parts + +m = [7,-2,9;1,-8,2;1,-6,0]; +m = m*(1+%i); +filename=TMPDIR+"/test.txt"; +write_csv(m,filename); +b=mgetl(filename); +assert_checkequal(b, ["7+7i,-2-2i,9+9i";"1+1i,-8-8i,2+2i";"1+1i,-6-6i,0"]); +b=csvRead(filename); +assert_checkequal(b,m); + +write_csv([ 1 %nan*(1+%i)],filename); +b=mgetl(filename); +assert_checkequal(b,"1,Nan+Nani"); +b=csvRead(filename); +assert_checkequal(b, [1 %nan*(1+%i)]); + +write_csv([ 1.1 %nan*(1+%i)],filename); +b=mgetl(filename); +assert_checkequal(b,"1.1000000000000001,Nan+Nani"); +b=csvRead(filename); +assert_checkequal(b, [1.1 %nan*(1+%i)]); + + +write_csv([ 1 %inf*(1+%i)],filename) +b=mgetl(filename); +assert_checkequal(b,"1,Inf+Infi"); +b=csvRead(filename); +assert_checkequal(b, [1 %inf*(1+%i)]); + +write_csv([ 1.1 %inf*(1+%i)],filename) +b=mgetl(filename); +assert_checkequal(b,"1.1000000000000001,Inf+Infi"); +b=csvRead(filename); +assert_checkequal(b, [1.1 %inf*(1+%i)]); + +write_csv([ 1.1 1+%i*%inf],filename) +b=mgetl(filename); +assert_checkequal(b,"1.1000000000000001,Nan+Infi"); +b=csvRead(filename); +assert_checkequal(b, [ 1.1 1+%i*%inf]); diff --git a/modules/spreadsheet/tests/nonreg_tests/bug_8532.dia.ref b/modules/spreadsheet/tests/nonreg_tests/bug_8532.dia.ref new file mode 100755 index 000000000..b3c62f72a --- /dev/null +++ b/modules/spreadsheet/tests/nonreg_tests/bug_8532.dia.ref @@ -0,0 +1,24 @@ +// ============================================================================= +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2010 - DIGITEO - Allan CORNET +// +// This file is distributed under the same license as the Scilab package. +// ============================================================================= +// +// <-- CLI SHELL MODE --> +// +// <-- Non-regression test for bug 8532 --> +// +// <-- Bugzilla URL --> +// http://bugzilla.scilab.org/show_bug.cgi?id=8532 +// +// <-- Short Description --> +// size of input arguments of read_csv was no verified. +// +A = 1:50; +mputl(strcat(string(A),ascii(9)+" "), TMPDIR + '/foo.csv'); +if execstr("B = read_csv(TMPDIR + ""/foo.csv"", ["" "", ""\t""]);", "errcatch") <> 999 then bugmes();quit;end +msg = lasterror(); +if msg <> msprintf(gettext("%s: Wrong size for input argument #%d: A string expected.\n"), "read_csv", 2) then bugmes();quit;end +if execstr("B1 = read_csv(TMPDIR + ""/foo.csv"", ""\t"");", "errcatch") <> 0 then bugmes();quit;end +assert_checkequal(A,evstr(B1)); diff --git a/modules/spreadsheet/tests/nonreg_tests/bug_8532.tst b/modules/spreadsheet/tests/nonreg_tests/bug_8532.tst new file mode 100755 index 000000000..cd2d18f65 --- /dev/null +++ b/modules/spreadsheet/tests/nonreg_tests/bug_8532.tst @@ -0,0 +1,28 @@ +// ============================================================================= +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2010 - DIGITEO - Allan CORNET +// +// This file is distributed under the same license as the Scilab package. +// ============================================================================= +// +// <-- CLI SHELL MODE --> +// +// <-- Non-regression test for bug 8532 --> +// +// <-- Bugzilla URL --> +// http://bugzilla.scilab.org/show_bug.cgi?id=8532 +// +// <-- Short Description --> +// size of input arguments of read_csv was no verified. +// + +A = 1:50; +mputl(strcat(string(A),ascii(9)+" "), TMPDIR + '/foo.csv'); + +if execstr("B = read_csv(TMPDIR + ""/foo.csv"", ["" "", ""\t""]);", "errcatch") <> 999 then pause, end +msg = lasterror(); +if msg <> msprintf(gettext("%s: Wrong size for input argument #%d: A string expected.\n"), "read_csv", 2) then pause, end + +if execstr("B1 = read_csv(TMPDIR + ""/foo.csv"", ""\t"");", "errcatch") <> 0 then pause, end +assert_checkequal(A,evstr(B1)); + diff --git a/modules/spreadsheet/tests/nonreg_tests/bug_8651.dia.ref b/modules/spreadsheet/tests/nonreg_tests/bug_8651.dia.ref new file mode 100755 index 000000000..862f7c3ef --- /dev/null +++ b/modules/spreadsheet/tests/nonreg_tests/bug_8651.dia.ref @@ -0,0 +1,21 @@ +// ============================================================================= +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2012 - DIGITEO - Allan CORNET +// +// This file is distributed under the same license as the Scilab package. +// ============================================================================= +// +// <-- JAVA NOT MANDATORY --> +// +// <-- Non-regression test for bug 8651 --> +// +// <-- Bugzilla URL --> +// http://bugzilla.scilab.org/show_bug.cgi?id=8651 +// +// <-- Short Description --> +// The error message of write_csv was wrong. +// +a = ones(5,7); +filename = fullfile(TMPDIR, 'foo.txt'); +msgerr = msprintf(gettext("%s: Wrong value for input argument #%d: ''%s'' or ''%s'' expected.\n"), 'write_csv', 4, '.', ','); +assert_checkerror ("write_csv(a,filename, '";"', '"@"')" , msgerr); diff --git a/modules/spreadsheet/tests/nonreg_tests/bug_8651.tst b/modules/spreadsheet/tests/nonreg_tests/bug_8651.tst new file mode 100755 index 000000000..98f03e6bf --- /dev/null +++ b/modules/spreadsheet/tests/nonreg_tests/bug_8651.tst @@ -0,0 +1,22 @@ +// ============================================================================= +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2012 - DIGITEO - Allan CORNET +// +// This file is distributed under the same license as the Scilab package. +// ============================================================================= +// +// <-- JAVA NOT MANDATORY --> +// +// <-- Non-regression test for bug 8651 --> +// +// <-- Bugzilla URL --> +// http://bugzilla.scilab.org/show_bug.cgi?id=8651 +// +// <-- Short Description --> +// The error message of write_csv was wrong. +// + +a = ones(5,7); +filename = fullfile(TMPDIR, 'foo.txt'); +msgerr = msprintf(gettext("%s: Wrong value for input argument #%d: ''%s'' or ''%s'' expected.\n"), 'write_csv', 4, '.', ','); +assert_checkerror ("write_csv(a,filename, '";"', '"@"')" , msgerr); diff --git a/modules/spreadsheet/tests/nonreg_tests/bug_8653.dia.ref b/modules/spreadsheet/tests/nonreg_tests/bug_8653.dia.ref new file mode 100755 index 000000000..9d4ce312f --- /dev/null +++ b/modules/spreadsheet/tests/nonreg_tests/bug_8653.dia.ref @@ -0,0 +1,23 @@ +// ============================================================================= +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2012 - S/E - Sylvestre Ledru +// +// This file is distributed under the same license as the Scilab package. +// ============================================================================= +// +// <-- JAVA NOT MANDATORY --> +// +// <-- Non-regression test for bug 8653 --> +// +// <-- Bugzilla URL --> +// http://bugzilla.scilab.org/show_bug.cgi?id=8653 +// +// <-- Short Description --> +// csvRead returns double by default +A = 1:50; +mputl(strcat(string(A),ascii(9)), TMPDIR + '/foo.csv'); +B = csvRead(TMPDIR + '/foo.csv',ascii(9)); +assert_checkequal(A,B); +// Check previous behavior +B = read_csv(TMPDIR + '/foo.csv',ascii(9)); +assert_checkequal(A,evstr(B)); diff --git a/modules/spreadsheet/tests/nonreg_tests/bug_8653.tst b/modules/spreadsheet/tests/nonreg_tests/bug_8653.tst new file mode 100755 index 000000000..9b3ec5f6d --- /dev/null +++ b/modules/spreadsheet/tests/nonreg_tests/bug_8653.tst @@ -0,0 +1,27 @@ +// ============================================================================= +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2012 - S/E - Sylvestre Ledru +// +// This file is distributed under the same license as the Scilab package. +// ============================================================================= +// +// <-- JAVA NOT MANDATORY --> +// +// <-- Non-regression test for bug 8653 --> +// +// <-- Bugzilla URL --> +// http://bugzilla.scilab.org/show_bug.cgi?id=8653 +// +// <-- Short Description --> +// csvRead returns double by default + + +A = 1:50; +mputl(strcat(string(A),ascii(9)), TMPDIR + '/foo.csv'); +B = csvRead(TMPDIR + '/foo.csv',ascii(9)); + +assert_checkequal(A,B); + +// Check previous behavior +B = read_csv(TMPDIR + '/foo.csv',ascii(9)); +assert_checkequal(A,evstr(B));
\ No newline at end of file diff --git a/modules/spreadsheet/tests/nonreg_tests/bug_8654.dia.ref b/modules/spreadsheet/tests/nonreg_tests/bug_8654.dia.ref new file mode 100755 index 000000000..535259a90 --- /dev/null +++ b/modules/spreadsheet/tests/nonreg_tests/bug_8654.dia.ref @@ -0,0 +1,27 @@ +// ============================================================================= +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2012 - S/E - Sylvestre Ledru +// +// This file is distributed under the same license as the Scilab package. +// ============================================================================= +// +// <-- JAVA NOT MANDATORY --> +// +// <-- Non-regression test for bug 8654 --> +// +// <-- Bugzilla URL --> +// http://bugzilla.scilab.org/show_bug.cgi?id=8654 +// +// <-- Short Description --> +// Use the standard separator for csv. +// +A = [0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1]; +filename=fullfile(TMPDIR,'data.csv'); +write_csv(A,filename); +B = evstr(read_csv(filename)); +assert_checkequal(A,B); +A = [1:10] * 0.1; +filename=fullfile(TMPDIR,'data2.csv'); +write_csv(A,filename); +B = evstr(read_csv(filename)); +assert_checkequal(A,B); diff --git a/modules/spreadsheet/tests/nonreg_tests/bug_8654.tst b/modules/spreadsheet/tests/nonreg_tests/bug_8654.tst new file mode 100755 index 000000000..d233fc157 --- /dev/null +++ b/modules/spreadsheet/tests/nonreg_tests/bug_8654.tst @@ -0,0 +1,28 @@ +// ============================================================================= +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2012 - S/E - Sylvestre Ledru +// +// This file is distributed under the same license as the Scilab package. +// ============================================================================= +// +// <-- JAVA NOT MANDATORY --> +// +// <-- Non-regression test for bug 8654 --> +// +// <-- Bugzilla URL --> +// http://bugzilla.scilab.org/show_bug.cgi?id=8654 +// +// <-- Short Description --> +// Use the standard separator for csv. +// +A = [0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1]; +filename=fullfile(TMPDIR,'data.csv'); +write_csv(A,filename); +B = evstr(read_csv(filename)); +assert_checkequal(A,B); + +A = [1:10] * 0.1; +filename=fullfile(TMPDIR,'data2.csv'); +write_csv(A,filename); +B = evstr(read_csv(filename)); +assert_checkequal(A,B); diff --git a/modules/spreadsheet/tests/nonreg_tests/bug_8656.dia.ref b/modules/spreadsheet/tests/nonreg_tests/bug_8656.dia.ref new file mode 100755 index 000000000..850259fdf --- /dev/null +++ b/modules/spreadsheet/tests/nonreg_tests/bug_8656.dia.ref @@ -0,0 +1,26 @@ +// ============================================================================= +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2012 - S/E - Sylvestre Ledru +// +// This file is distributed under the same license as the Scilab package. +// ============================================================================= +// +// <-- JAVA NOT MANDATORY --> +// +// <-- Non-regression test for bug 8656 --> +// +// <-- Bugzilla URL --> +// http://bugzilla.scilab.org/show_bug.cgi?id=8656 +// +// <-- Short Description --> +// Lost of precision +// +A = [1.01234567891234567,1.01234567891234567]; +filename=fullfile(TMPDIR,'data.csv'); +csvWrite(A,filename,",","."); +resString=mgetl(filename); +assert_checkequal(A,evstr(resString)); +res=csvRead(filename); +assert_checkequal(A,res); +res=read_csv(filename); +assert_checkequal(evstr(res),A); diff --git a/modules/spreadsheet/tests/nonreg_tests/bug_8656.tst b/modules/spreadsheet/tests/nonreg_tests/bug_8656.tst new file mode 100755 index 000000000..a215b1a25 --- /dev/null +++ b/modules/spreadsheet/tests/nonreg_tests/bug_8656.tst @@ -0,0 +1,28 @@ +// ============================================================================= +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2012 - S/E - Sylvestre Ledru +// +// This file is distributed under the same license as the Scilab package. +// ============================================================================= +// +// <-- JAVA NOT MANDATORY --> +// +// <-- Non-regression test for bug 8656 --> +// +// <-- Bugzilla URL --> +// http://bugzilla.scilab.org/show_bug.cgi?id=8656 +// +// <-- Short Description --> +// Lost of precision +// +A = [1.01234567891234567,1.01234567891234567]; +filename=fullfile(TMPDIR,'data.csv'); +csvWrite(A,filename,",","."); +resString=mgetl(filename); +assert_checkequal(A,evstr(resString)); + +res=csvRead(filename); +assert_checkequal(A,res); + +res=read_csv(filename); +assert_checkequal(evstr(res),A); diff --git a/modules/spreadsheet/tests/nonreg_tests/emptyfields.csv b/modules/spreadsheet/tests/nonreg_tests/emptyfields.csv new file mode 100755 index 000000000..c78479194 --- /dev/null +++ b/modules/spreadsheet/tests/nonreg_tests/emptyfields.csv @@ -0,0 +1,2 @@ +foo;bar;;; +foo2;bar2;bar3;; diff --git a/modules/spreadsheet/tests/nonreg_tests/emptyfields.dia.ref b/modules/spreadsheet/tests/nonreg_tests/emptyfields.dia.ref new file mode 100755 index 000000000..49ac39596 --- /dev/null +++ b/modules/spreadsheet/tests/nonreg_tests/emptyfields.dia.ref @@ -0,0 +1,7 @@ +// ============================================================================= +// <-- JVM NOT MANDATORY --> +// ============================================================================= +r = csvRead(SCI+"/modules/spreadsheet/" + "tests/nonreg_tests/emptyfields.csv", ";",[],"string"); +assert_checkequal(r,["foo","bar","","","";"foo2","bar2","bar3","",""]); +r = read_csv(SCI+"/modules/spreadsheet/" + "tests/nonreg_tests/emptyfields.csv", ";",[]); +assert_checkequal(r,["foo","bar","","","";"foo2","bar2","bar3","",""]); diff --git a/modules/spreadsheet/tests/nonreg_tests/emptyfields.tst b/modules/spreadsheet/tests/nonreg_tests/emptyfields.tst new file mode 100755 index 000000000..469bfb2bb --- /dev/null +++ b/modules/spreadsheet/tests/nonreg_tests/emptyfields.tst @@ -0,0 +1,8 @@ +// ============================================================================= +// <-- JVM NOT MANDATORY --> +// ============================================================================= +r = csvRead(SCI+"/modules/spreadsheet/" + "tests/nonreg_tests/emptyfields.csv", ";",[],"string"); +assert_checkequal(r,["foo","bar","","","";"foo2","bar2","bar3","",""]); + +r = read_csv(SCI+"/modules/spreadsheet/" + "tests/nonreg_tests/emptyfields.csv", ";",[]); +assert_checkequal(r,["foo","bar","","","";"foo2","bar2","bar3","",""]); diff --git a/modules/spreadsheet/tests/nonreg_tests/ticket_194.tst b/modules/spreadsheet/tests/nonreg_tests/ticket_194.tst new file mode 100755 index 000000000..152015e07 --- /dev/null +++ b/modules/spreadsheet/tests/nonreg_tests/ticket_194.tst @@ -0,0 +1,32 @@ +// ============================================================================= +// Copyright (C) 2010 - 2012 - INRIA - Allan CORNET +// ============================================================================= +// <-- JVM NOT MANDATORY --> +// ============================================================================= +// <-- LONG TIME EXECUTION --> +// +// <-- Non-regression test for bug 194 --> +// +// <-- URL --> +// http://forge.scilab.org/index.php/p/csv-readwrite/issues/194/ +// +// <-- Short Description --> +// csvRead may fail on large files. +// ============================================================================= +filename = fullfile(TMPDIR, "prices.csv"); +mprintf("File=%s\n",filename); +fd = mopen(filename,"w"); +imax=1800000; +for i= 1:imax + if ( modulo(i,10000)==0 ) then + mprintf("i=%d, p=%.1f%%\n",i,i/imax*100) + end + mputl("02/05/10 00:00:02,1.32453,1.32491",fd); +end +mclose(fd); + +assert_checkequal(execstr("M = csvRead(filename,[],[],""string"");", "errcatch"), 17); +stacksize('max'); +assert_checkequal(execstr("M = csvRead(filename,[],[],""string"");", "errcatch"), 0); +clear M +// ============================================================================= diff --git a/modules/spreadsheet/tests/nonreg_tests/ticket_245.dia.ref b/modules/spreadsheet/tests/nonreg_tests/ticket_245.dia.ref new file mode 100755 index 000000000..2ebe8c657 --- /dev/null +++ b/modules/spreadsheet/tests/nonreg_tests/ticket_245.dia.ref @@ -0,0 +1,22 @@ +// ============================================================================= +// Copyright (C) 2010 - 2012 - INRIA - Allan CORNET +// ============================================================================= +// <-- JVM NOT MANDATORY --> +// ============================================================================= +// <-- Non-regression test for bug 245 --> +// +// <-- URL --> +// http://forge.scilab.org/index.php/p/csv-readwrite/issues/245/ +// +// <-- Short Description --> +// csvStringToDouble failed on some special cases. +path = SCI+"/modules/spreadsheet/tests/unit_tests/"; +a = csvStringToDouble("3.14159e-10+inf"); +assert_checkequal ( isnan(a) , %t ); +assert_checkequal ( execstr("a = csvStringToDouble(""3.14159e-10+inf"", %f);", "errcatch") , 999 ); +assert_checkequal ( lasterror() , msprintf(_("%s: can not convert data.\n"), "csvStringToDouble") ); +a = csvStringToDouble("6+3*I"); +assert_checkequal ( isnan(a) , %t ); +assert_checkequal ( execstr("a = csvStringToDouble(""6+3*I"", %f);", "errcatch") , 999 ); +assert_checkequal ( lasterror() , msprintf(_("%s: can not convert data.\n"), "csvStringToDouble") ); +// ============================================================================= diff --git a/modules/spreadsheet/tests/nonreg_tests/ticket_245.tst b/modules/spreadsheet/tests/nonreg_tests/ticket_245.tst new file mode 100755 index 000000000..9296daabc --- /dev/null +++ b/modules/spreadsheet/tests/nonreg_tests/ticket_245.tst @@ -0,0 +1,27 @@ +// ============================================================================= +// Copyright (C) 2010 - 2012 - INRIA - Allan CORNET +// ============================================================================= +// <-- JVM NOT MANDATORY --> +// ============================================================================= +// <-- Non-regression test for bug 245 --> +// +// <-- URL --> +// http://forge.scilab.org/index.php/p/csv-readwrite/issues/245/ +// +// <-- Short Description --> +// csvStringToDouble failed on some special cases. + +path = SCI+"/modules/spreadsheet/tests/unit_tests/"; + +a = csvStringToDouble("3.14159e-10+inf"); +assert_checkequal ( isnan(a) , %t ); + +assert_checkequal ( execstr("a = csvStringToDouble(""3.14159e-10+inf"", %f);", "errcatch") , 999 ); +assert_checkequal ( lasterror() , msprintf(_("%s: can not convert data.\n"), "csvStringToDouble") ); + +a = csvStringToDouble("6+3*I"); +assert_checkequal ( isnan(a) , %t ); + +assert_checkequal ( execstr("a = csvStringToDouble(""6+3*I"", %f);", "errcatch") , 999 ); +assert_checkequal ( lasterror() , msprintf(_("%s: can not convert data.\n"), "csvStringToDouble") ); +// ============================================================================= diff --git a/modules/spreadsheet/tests/nonreg_tests/ticket_275.dia.ref b/modules/spreadsheet/tests/nonreg_tests/ticket_275.dia.ref new file mode 100755 index 000000000..ddb47e257 --- /dev/null +++ b/modules/spreadsheet/tests/nonreg_tests/ticket_275.dia.ref @@ -0,0 +1,57 @@ +// ============================================================================= +// Copyright (C) 2010 - 2012 - INRIA - Michael BAUDIN +// ============================================================================= +// <-- JVM NOT MANDATORY --> +// ============================================================================= +// <-- Non-regression test for bug 275 --> +// +// <-- URL --> +// http://forge.scilab.org/index.php/p/csv-readwrite/issues/275/ +// +// <-- Short Description --> +// The default precision is insufficient. +// ============================================================================= +function y = writereadcycle(x,filename) + csvWrite(x,filename); + separator = []; + decimal=[]; + conversion ="double"; + y = csvRead(filename, separator, decimal, conversion); +endfunction +function tf = checkWriteReadCycle(x,direction,n,filename) + tf = %t + for k = 1 : n + y = writereadcycle(x,filename); + tf = (x==y); + if ( ~tf ) then + break + end + x = nearfloat(direction,x); + end +endfunction +n=1000; +filename = fullfile(TMPDIR,"csvWrite_M_1.csv"); +tf = checkWriteReadCycle(1,"succ",100,filename); +assert_checkequal ( tf , %t ); +tf = checkWriteReadCycle(1,"pred",100,filename); +assert_checkequal ( tf , %t ); +tf = checkWriteReadCycle(0.1,"succ",100,filename); +assert_checkequal ( tf , %t ); +tf = checkWriteReadCycle(0.1,"pred",100,filename); +assert_checkequal ( tf , %t ); +x = number_properties("huge"); +tf = checkWriteReadCycle(x,"succ",100,filename); +assert_checkequal ( tf , %t ); +tf = checkWriteReadCycle(x,"pred",100,filename); +assert_checkequal ( tf , %t ); +x = number_properties("tiny"); +tf = checkWriteReadCycle(x,"succ",100,filename); +assert_checkequal ( tf , %t ); +tf = checkWriteReadCycle(x,"pred",100,filename); +assert_checkequal ( tf , %t ); +x = number_properties("tiniest"); +tf = checkWriteReadCycle(x,"succ",100,filename); +assert_checkequal ( tf , %t ); +tf = checkWriteReadCycle(x,"pred",100,filename); +assert_checkequal ( tf , %t ); +// ============================================================================= diff --git a/modules/spreadsheet/tests/nonreg_tests/ticket_275.tst b/modules/spreadsheet/tests/nonreg_tests/ticket_275.tst new file mode 100755 index 000000000..fa36c2645 --- /dev/null +++ b/modules/spreadsheet/tests/nonreg_tests/ticket_275.tst @@ -0,0 +1,59 @@ +// ============================================================================= +// Copyright (C) 2010 - 2012 - INRIA - Michael BAUDIN +// ============================================================================= +// <-- JVM NOT MANDATORY --> +// ============================================================================= +// <-- Non-regression test for bug 275 --> +// +// <-- URL --> +// http://forge.scilab.org/index.php/p/csv-readwrite/issues/275/ +// +// <-- Short Description --> +// The default precision is insufficient. +// ============================================================================= +function y = writereadcycle(x,filename) + csvWrite(x,filename); + separator = []; + decimal=[]; + conversion ="double"; + y = csvRead(filename, separator, decimal, conversion); +endfunction + +function tf = checkWriteReadCycle(x,direction,n,filename) + tf = %t + for k = 1 : n + y = writereadcycle(x,filename); + tf = (x==y); + if ( ~tf ) then + break + end + x = nearfloat(direction,x); + end +endfunction + +n=1000; +filename = fullfile(TMPDIR,"csvWrite_M_1.csv"); +tf = checkWriteReadCycle(1,"succ",100,filename); +assert_checkequal ( tf , %t ); +tf = checkWriteReadCycle(1,"pred",100,filename); +assert_checkequal ( tf , %t ); +tf = checkWriteReadCycle(0.1,"succ",100,filename); +assert_checkequal ( tf , %t ); +tf = checkWriteReadCycle(0.1,"pred",100,filename); +assert_checkequal ( tf , %t ); +x = number_properties("huge"); +tf = checkWriteReadCycle(x,"succ",100,filename); +assert_checkequal ( tf , %t ); +tf = checkWriteReadCycle(x,"pred",100,filename); +assert_checkequal ( tf , %t ); +x = number_properties("tiny"); +tf = checkWriteReadCycle(x,"succ",100,filename); +assert_checkequal ( tf , %t ); +tf = checkWriteReadCycle(x,"pred",100,filename); +assert_checkequal ( tf , %t ); +x = number_properties("tiniest"); +tf = checkWriteReadCycle(x,"succ",100,filename); +assert_checkequal ( tf , %t ); +tf = checkWriteReadCycle(x,"pred",100,filename); +assert_checkequal ( tf , %t ); +// ============================================================================= diff --git a/modules/spreadsheet/tests/nonreg_tests/ticket_281.dia.ref b/modules/spreadsheet/tests/nonreg_tests/ticket_281.dia.ref new file mode 100755 index 000000000..dca1721a0 --- /dev/null +++ b/modules/spreadsheet/tests/nonreg_tests/ticket_281.dia.ref @@ -0,0 +1,72 @@ +// ============================================================================= +// Copyright (C) 2010 - 2012 - INRIA - Michael BAUDIN +// ============================================================================= +// <-- JVM NOT MANDATORY --> +// ============================================================================= +// <-- Non-regression test for bug 281 --> +// +// <-- URL --> +// http://forge.scilab.org/index.php/p/csv-readwrite/issues/281/ +// +// <-- Short Description --> +// The substitute option does not work. +// ============================================================================= +path = SCI+"/modules/spreadsheet/tests/unit_tests/"; +// +filename = fullfile(TMPDIR,"ticket281.csv"); +content = [ +"Infinity" +]; +substitute = [ +"Infinity" "Inf" +"Not-A-Number" "Nan" +]; +mputl(content,filename); +M = csvRead(filename,[],[],"string",substitute); +expected = "Inf"; +assert_checkequal ( M , expected ); +M = csvRead(filename,[],[],"double",substitute); +expected=%inf; +assert_checkequal ( M , expected ); +// +// Try with 3 replacements +filename = fullfile(TMPDIR,"ticket281.csv"); +content = [ +"Infinity" +]; +substitute = [ +"Infinity" "Inf" +"Not-A-Number" "Nan" +"Youwillnotfind" "NotAChance" +]; +mputl(content,filename); +M = csvRead(filename,[],[],"string",substitute); +expected = "Inf"; +assert_checkequal ( M , expected ); +M = csvRead(filename,[],[],"double",substitute); +expected=%inf; +assert_checkequal ( M , expected ); +// +// +// Create a data file with particular Infinities and complex numbers +Astr = [ +"6+3*I" "13-7*I" "20+4*I" "27-1.5*I" "34+3.14*I" "41-3*I" "48+3*I" "55-7*I" +"+0" "-0" "Infinity" "-Infinity" "Nan" "1.D+308" "1.e-308" "1.e-323" +]; +expected = [ +"6+3*%i" "13-7*%i" "20+4*%i" "27-1.5*%i" "34+3.14*%i" "41-3*%i" "48+3*%i" "55-7*%i" +"+0" "-0" "%inf" "-%inf" "%nan" "1.D+308" "1.e-308" "1.e-323" +]; +filename = fullfile(TMPDIR , "foo.csv"); +sep = ","; +fd = mopen(filename,'wt'); +for i = 1 : size(Astr,"r") + mfprintf(fd,"%s\n",strcat(Astr(i,:),sep)); +end +mclose(fd); +// +// Customize the replace map. +substitute=["Nan","%nan";"Infinity","%inf";"I","%i"]; +M = csvRead ( filename , [] , [] , "string" , substitute ); +assert_checkequal ( M , expected ); +// ============================================================================= diff --git a/modules/spreadsheet/tests/nonreg_tests/ticket_281.tst b/modules/spreadsheet/tests/nonreg_tests/ticket_281.tst new file mode 100755 index 000000000..420567a32 --- /dev/null +++ b/modules/spreadsheet/tests/nonreg_tests/ticket_281.tst @@ -0,0 +1,76 @@ +// ============================================================================= +// Copyright (C) 2010 - 2012 - INRIA - Michael BAUDIN +// ============================================================================= +// <-- JVM NOT MANDATORY --> +// ============================================================================= +// <-- Non-regression test for bug 281 --> +// +// <-- URL --> +// http://forge.scilab.org/index.php/p/csv-readwrite/issues/281/ +// +// <-- Short Description --> +// The substitute option does not work. +// ============================================================================= +path = SCI+"/modules/spreadsheet/tests/unit_tests/"; + +// +filename = fullfile(TMPDIR,"ticket281.csv"); +content = [ +"Infinity" +]; +substitute = [ +"Infinity" "Inf" +"Not-A-Number" "Nan" +]; +mputl(content,filename); +M = csvRead(filename,[],[],"string",substitute); +expected = "Inf"; +assert_checkequal ( M , expected ); +M = csvRead(filename,[],[],"double",substitute); +expected=%inf; +assert_checkequal ( M , expected ); +// +// Try with 3 replacements +filename = fullfile(TMPDIR,"ticket281.csv"); +content = [ +"Infinity" +]; +substitute = [ +"Infinity" "Inf" +"Not-A-Number" "Nan" +"Youwillnotfind" "NotAChance" +]; +mputl(content,filename); +M = csvRead(filename,[],[],"string",substitute); +expected = "Inf"; +assert_checkequal ( M , expected ); +M = csvRead(filename,[],[],"double",substitute); +expected=%inf; +assert_checkequal ( M , expected ); +// +// + +// Create a data file with particular Infinities and complex numbers +Astr = [ +"6+3*I" "13-7*I" "20+4*I" "27-1.5*I" "34+3.14*I" "41-3*I" "48+3*I" "55-7*I" +"+0" "-0" "Infinity" "-Infinity" "Nan" "1.D+308" "1.e-308" "1.e-323" +]; +expected = [ +"6+3*%i" "13-7*%i" "20+4*%i" "27-1.5*%i" "34+3.14*%i" "41-3*%i" "48+3*%i" "55-7*%i" +"+0" "-0" "%inf" "-%inf" "%nan" "1.D+308" "1.e-308" "1.e-323" +]; +filename = fullfile(TMPDIR , "foo.csv"); +sep = ","; +fd = mopen(filename,'wt'); +for i = 1 : size(Astr,"r") + mfprintf(fd,"%s\n",strcat(Astr(i,:),sep)); +end +mclose(fd); +// +// Customize the replace map. + +substitute=["Nan","%nan";"Infinity","%inf";"I","%i"]; +M = csvRead ( filename , [] , [] , "string" , substitute ); +assert_checkequal ( M , expected ); +// ============================================================================= + diff --git a/modules/spreadsheet/tests/nonreg_tests/ticket_297.dia.ref b/modules/spreadsheet/tests/nonreg_tests/ticket_297.dia.ref new file mode 100755 index 000000000..f171456b2 --- /dev/null +++ b/modules/spreadsheet/tests/nonreg_tests/ticket_297.dia.ref @@ -0,0 +1,40 @@ +// ============================================================================= +// Copyright (C) 2010 - 2012 - INRIA - Michael BAUDIN +// ============================================================================= +// <-- JVM NOT MANDATORY --> +// ============================================================================= +// <-- Non-regression test for bug 297 --> +// +// <-- URL --> +// http://forge.scilab.org/index.php/p/csv-readwrite/issues/297/ +// +// <-- Short Description --> +// The csvTextScan function does not take range as a row matrix. +// ============================================================================= +path = SCI+"/modules/spreadsheet/tests/unit_tests/"; +// +// Read only rows/columns in range +Astr = [ +"1,8,15,22,29,36,43,50" +"2,9,16,23,30,37,44,51" +"3,10,17,6,31,38,45,52" +"4,11,18,25,32,39,46,53" +"5,12,19,26,33,40,47,54" +"6,13,20,27,34,41,48,55" +"+0,-0,Inf,-Inf,Nan,1.D+308,1.e-308,1.e-323" +]; +A = csvTextScan ( Astr,[],[],"double",[2 3 5 6] ) + A = + + 16. 23. 30. 37. + 17. 6. 31. 38. + 18. 25. 32. 39. + 19. 26. 33. 40. +expected = [ + 16 23 30 37 + 17 6 31 38 + 18 25 32 39 + 19 26 33 40 +]; +assert_checkequal ( A , expected ); +// ============================================================================= diff --git a/modules/spreadsheet/tests/nonreg_tests/ticket_297.tst b/modules/spreadsheet/tests/nonreg_tests/ticket_297.tst new file mode 100755 index 000000000..e43ac2992 --- /dev/null +++ b/modules/spreadsheet/tests/nonreg_tests/ticket_297.tst @@ -0,0 +1,35 @@ +// ============================================================================= +// Copyright (C) 2010 - 2012 - INRIA - Michael BAUDIN +// ============================================================================= +// <-- JVM NOT MANDATORY --> +// ============================================================================= +// <-- Non-regression test for bug 297 --> +// +// <-- URL --> +// http://forge.scilab.org/index.php/p/csv-readwrite/issues/297/ +// +// <-- Short Description --> +// The csvTextScan function does not take range as a row matrix. +// ============================================================================= +path = SCI+"/modules/spreadsheet/tests/unit_tests/"; + +// +// Read only rows/columns in range +Astr = [ +"1,8,15,22,29,36,43,50" +"2,9,16,23,30,37,44,51" +"3,10,17,6,31,38,45,52" +"4,11,18,25,32,39,46,53" +"5,12,19,26,33,40,47,54" +"6,13,20,27,34,41,48,55" +"+0,-0,Inf,-Inf,Nan,1.D+308,1.e-308,1.e-323" +]; +A = csvTextScan ( Astr,[],[],"double",[2 3 5 6] ) +expected = [ + 16 23 30 37 + 17 6 31 38 + 18 25 32 39 + 19 26 33 40 +]; +assert_checkequal ( A , expected ); +// ============================================================================= diff --git a/modules/spreadsheet/tests/nonreg_tests/ticket_298.dia.ref b/modules/spreadsheet/tests/nonreg_tests/ticket_298.dia.ref new file mode 100755 index 000000000..5ca8c473a --- /dev/null +++ b/modules/spreadsheet/tests/nonreg_tests/ticket_298.dia.ref @@ -0,0 +1,64 @@ +// ============================================================================= +// Copyright (C) 2010 - 2012 - INRIA - Michael BAUDIN +// ============================================================================= +// <-- JVM NOT MANDATORY --> +// ============================================================================= +// <-- Non-regression test for bug 298 --> +// +// <-- URL --> +// http://forge.scilab.org/index.php/p/csv-readwrite/issues/281/ +// +// <-- Short Description --> +// The text_scan function does not extract the correct range. +// ============================================================================= +path = SCI+"/modules/spreadsheet/tests/unit_tests/"; +// +// Read only rows/columns in range +Astr = [ +"1,8,15,22,29,36,43,50" +"2,9,16,23,30,37,44,51" +"3,10,17,6,31,38,45,52" +"4,11,18,25,32,39,46,53" +"5,12,19,26,33,40,47,54" +"6,13,20,27,34,41,48,55" +"+0,-0,Inf,-Inf,Nan,1.D+308,1.e-308,1.e-323" +]; +A = csvTextScan ( Astr,[],[],"double",[2 3 5 6]' ); +expected = [ + 16 23 30 37 + 17 6 31 38 + 18 25 32 39 + 19 26 33 40 +]; +assert_checkequal ( A , expected ); +// +// Extract range as string. +A = csvTextScan ( Astr,[],[],"string",[2 3 5 6]' ); +expected = [ +"16","23","30","37"; +"17","6","31","38"; +"18","25","32","39"; +"19","26","33","40" +]; +assert_checkequal ( A , expected ); +// +// Extract a non-symetrical range. +A = csvTextScan ( Astr,[],[],"string",[2 3 5 5]' ); +expected = [ +"16","23","30"; +"17","6","31"; +"18","25","32"; +"19","26","33" +]; +assert_checkequal ( A , expected ); +// +// Extract a non-symetrical range. +A = csvTextScan ( Astr,[],[],"double",[2 3 5 5]' ); +expected = [ +16 23 30 +17 6 31 +18 25 32 +19 26 33 +]; +assert_checkequal ( A , expected ); +// ============================================================================= diff --git a/modules/spreadsheet/tests/nonreg_tests/ticket_298.tst b/modules/spreadsheet/tests/nonreg_tests/ticket_298.tst new file mode 100755 index 000000000..5ca8c473a --- /dev/null +++ b/modules/spreadsheet/tests/nonreg_tests/ticket_298.tst @@ -0,0 +1,64 @@ +// ============================================================================= +// Copyright (C) 2010 - 2012 - INRIA - Michael BAUDIN +// ============================================================================= +// <-- JVM NOT MANDATORY --> +// ============================================================================= +// <-- Non-regression test for bug 298 --> +// +// <-- URL --> +// http://forge.scilab.org/index.php/p/csv-readwrite/issues/281/ +// +// <-- Short Description --> +// The text_scan function does not extract the correct range. +// ============================================================================= +path = SCI+"/modules/spreadsheet/tests/unit_tests/"; +// +// Read only rows/columns in range +Astr = [ +"1,8,15,22,29,36,43,50" +"2,9,16,23,30,37,44,51" +"3,10,17,6,31,38,45,52" +"4,11,18,25,32,39,46,53" +"5,12,19,26,33,40,47,54" +"6,13,20,27,34,41,48,55" +"+0,-0,Inf,-Inf,Nan,1.D+308,1.e-308,1.e-323" +]; +A = csvTextScan ( Astr,[],[],"double",[2 3 5 6]' ); +expected = [ + 16 23 30 37 + 17 6 31 38 + 18 25 32 39 + 19 26 33 40 +]; +assert_checkequal ( A , expected ); +// +// Extract range as string. +A = csvTextScan ( Astr,[],[],"string",[2 3 5 6]' ); +expected = [ +"16","23","30","37"; +"17","6","31","38"; +"18","25","32","39"; +"19","26","33","40" +]; +assert_checkequal ( A , expected ); +// +// Extract a non-symetrical range. +A = csvTextScan ( Astr,[],[],"string",[2 3 5 5]' ); +expected = [ +"16","23","30"; +"17","6","31"; +"18","25","32"; +"19","26","33" +]; +assert_checkequal ( A , expected ); +// +// Extract a non-symetrical range. +A = csvTextScan ( Astr,[],[],"double",[2 3 5 5]' ); +expected = [ +16 23 30 +17 6 31 +18 25 32 +19 26 33 +]; +assert_checkequal ( A , expected ); +// ============================================================================= diff --git a/modules/spreadsheet/tests/nonreg_tests/ticket_299.dia.ref b/modules/spreadsheet/tests/nonreg_tests/ticket_299.dia.ref new file mode 100755 index 000000000..7cce293b0 --- /dev/null +++ b/modules/spreadsheet/tests/nonreg_tests/ticket_299.dia.ref @@ -0,0 +1,23 @@ +// ============================================================================= +// Copyright (C) 2010 - 2012 - INRIA - Allan CORNET +// ============================================================================= +// <-- JVM NOT MANDATORY --> +// ============================================================================= +// <-- Non-regression test for bug 299 --> +// +// <-- URL --> +// http://forge.scilab.org/index.php/p/csv-readwrite/issues/299/ +// +// <-- Short Description --> +// extends format to digit in csvDefault and csvWrite +// ============================================================================= +assert_checkequal(csvDefault("precision"), "%.17lg"); +assert_checkequal(csvDefault("precision","%.17lg") , %T); +assert_checkequal(csvDefault("precision",4), %T); +assert_checkequal(csvDefault("precision"), "%.4lg"); +M = rand(2,3); +filename = fullfile(TMPDIR, "data.csv"); +csvWrite(M, filename,[],[],"%.8e"); +csvWrite(M, filename,[],[],8); +assert_checkequal(execstr("csvWrite(M, filename,[],[],19)", "errcatch"), 999); +// ============================================================================= diff --git a/modules/spreadsheet/tests/nonreg_tests/ticket_299.tst b/modules/spreadsheet/tests/nonreg_tests/ticket_299.tst new file mode 100755 index 000000000..350367e8a --- /dev/null +++ b/modules/spreadsheet/tests/nonreg_tests/ticket_299.tst @@ -0,0 +1,26 @@ +// ============================================================================= +// Copyright (C) 2010 - 2012 - INRIA - Allan CORNET +// ============================================================================= +// <-- JVM NOT MANDATORY --> +// ============================================================================= +// <-- Non-regression test for bug 299 --> +// +// <-- URL --> +// http://forge.scilab.org/index.php/p/csv-readwrite/issues/299/ +// +// <-- Short Description --> +// extends format to digit in csvDefault and csvWrite +// ============================================================================= +assert_checkequal(csvDefault("precision"), "%.17lg"); +assert_checkequal(csvDefault("precision","%.17lg") , %T); + +assert_checkequal(csvDefault("precision",4), %T); +assert_checkequal(csvDefault("precision"), "%.4lg"); + +M = rand(2,3); +filename = fullfile(TMPDIR, "data.csv"); +csvWrite(M, filename,[],[],"%.8e"); +csvWrite(M, filename,[],[],8); + +assert_checkequal(execstr("csvWrite(M, filename,[],[],19)", "errcatch"), 999); +// ============================================================================= diff --git a/modules/spreadsheet/tests/nonreg_tests/ticket_350.dia.ref b/modules/spreadsheet/tests/nonreg_tests/ticket_350.dia.ref new file mode 100755 index 000000000..f0dfdb5c8 --- /dev/null +++ b/modules/spreadsheet/tests/nonreg_tests/ticket_350.dia.ref @@ -0,0 +1,17 @@ +// ============================================================================= +// Copyright (C) 2010 - 2012 - INRIA - Michael BAUDIN +// ============================================================================= +// <-- JVM NOT MANDATORY --> +// ============================================================================= +// <-- Non-regression test for bug 350 --> +// +// <-- URL --> +// http://forge.scilab.org/index.php/p/csv-readwrite/issues/350/ +// +// <-- Short Description --> +// The csvStringToDouble function always returns complex doubles. +// ============================================================================= +path = SCI+"/modules/spreadsheet/tests/unit_tests/"; +r = csvStringToDouble("12"); +assert_checkequal ( isreal(r) , %t ); +// ============================================================================= diff --git a/modules/spreadsheet/tests/nonreg_tests/ticket_350.tst b/modules/spreadsheet/tests/nonreg_tests/ticket_350.tst new file mode 100755 index 000000000..2e148ecb2 --- /dev/null +++ b/modules/spreadsheet/tests/nonreg_tests/ticket_350.tst @@ -0,0 +1,19 @@ +// ============================================================================= +// Copyright (C) 2010 - 2012 - INRIA - Michael BAUDIN +// ============================================================================= +// <-- JVM NOT MANDATORY --> +// ============================================================================= +// <-- Non-regression test for bug 350 --> +// +// <-- URL --> +// http://forge.scilab.org/index.php/p/csv-readwrite/issues/350/ +// +// <-- Short Description --> +// The csvStringToDouble function always returns complex doubles. +// ============================================================================= +path = SCI+"/modules/spreadsheet/tests/unit_tests/"; + +r = csvStringToDouble("12"); +assert_checkequal ( isreal(r) , %t ); +// ============================================================================= + diff --git a/modules/spreadsheet/tests/nonreg_tests/ticket_351.dia.ref b/modules/spreadsheet/tests/nonreg_tests/ticket_351.dia.ref new file mode 100755 index 000000000..67d464a3a --- /dev/null +++ b/modules/spreadsheet/tests/nonreg_tests/ticket_351.dia.ref @@ -0,0 +1,17 @@ +// ============================================================================= +// Copyright (C) 2010 - 2012 - INRIA - Michael BAUDIN +// ============================================================================= +// <-- JVM NOT MANDATORY --> +// ============================================================================= +// <-- Non-regression test for bug 351 --> +// +// <-- URL --> +// http://forge.scilab.org/index.php/p/csv-readwrite/issues/351/ +// +// <-- Short Description --> +// The csvRead function always returns complex entries. +// ============================================================================= +path = SCI+"/modules/spreadsheet/tests/unit_tests/"; +r = csvRead(fullfile(path,"K_1.csv"), [], [], "double"); +assert_checkequal ( isreal(r) , %t ); +// ============================================================================= diff --git a/modules/spreadsheet/tests/nonreg_tests/ticket_351.tst b/modules/spreadsheet/tests/nonreg_tests/ticket_351.tst new file mode 100755 index 000000000..72d1c0038 --- /dev/null +++ b/modules/spreadsheet/tests/nonreg_tests/ticket_351.tst @@ -0,0 +1,19 @@ +// ============================================================================= +// Copyright (C) 2010 - 2012 - INRIA - Michael BAUDIN +// ============================================================================= +// <-- JVM NOT MANDATORY --> +// ============================================================================= +// <-- Non-regression test for bug 351 --> +// +// <-- URL --> +// http://forge.scilab.org/index.php/p/csv-readwrite/issues/351/ +// +// <-- Short Description --> +// The csvRead function always returns complex entries. +// ============================================================================= +path = SCI+"/modules/spreadsheet/tests/unit_tests/"; + +r = csvRead(fullfile(path,"K_1.csv"), [], [], "double"); +assert_checkequal ( isreal(r) , %t ); +// ============================================================================= + diff --git a/modules/spreadsheet/tests/nonreg_tests/ticket_352.dia.ref b/modules/spreadsheet/tests/nonreg_tests/ticket_352.dia.ref new file mode 100755 index 000000000..bd7fbc8fb --- /dev/null +++ b/modules/spreadsheet/tests/nonreg_tests/ticket_352.dia.ref @@ -0,0 +1,56 @@ +// ============================================================================= +// Copyright (C) 2010 - 2012 - INRIA - Michael BAUDIN +// ============================================================================= +// <-- JVM NOT MANDATORY --> +// ============================================================================= +// <-- Non-regression test for bug 352 --> +// +// <-- URL --> +// http://forge.scilab.org/index.php/p/csv-readwrite/issues/352/ +// +// <-- Short Description --> +// The csvTextScan function always returned complex matrices. +// ============================================================================= +path = SCI+"/modules/spreadsheet/tests/unit_tests/"; +// +// Read only rows/columns in range +Astr = [ +"1,8,15,22,29,36,43,50" +"2,9,16,23,30,37,44,51" +"3,10,17,6,31,38,45,52" +"4,11,18,25,32,39,46,53" +"5,12,19,26,33,40,47,54" +"6,13,20,27,34,41,48,55" +"+0,-0,Inf,-Inf,Nan,1.D+308,1.e-308,1.e-323" +]; +A = csvTextScan ( Astr,[],[],"double" ); +expected = [ +1 8 15 22 29 36 43 50 +2 9 16 23 30 37 44 51 +3 10 17 6 31 38 45 52 +4 11 18 25 32 39 46 53 +5 12 19 26 33 40 47 54 +6 13 20 27 34 41 48 55 ++0 -0 %inf -%inf %nan 1.D+308 1.e-308 1.e-323 +]; +assert_checkequal ( isreal(A) , %t ); +// +// Read only rows/columns in range +Astr = [ +"1,8,15,22,29,36,43,50" +"2,9,16,23,30,37,44,51" +"3,10,17,6,31,38,45,52" +"4,11,18,25,32,39,46,53" +"5,12,19,26,33,40,47,54" +"6,13,20,27,34,41,48,55" +"+0,-0,Inf,-Inf,Nan,1.D+308,1.e-308,1.e-323" +]; +A = csvTextScan ( Astr,[],[],"double",[2 3 5 6]' ); +expected = [ + 16 23 30 37 + 17 6 31 38 + 18 25 32 39 + 19 26 33 40 +]; +assert_checkequal ( isreal(A) , %t ); +// ============================================================================= diff --git a/modules/spreadsheet/tests/nonreg_tests/ticket_352.tst b/modules/spreadsheet/tests/nonreg_tests/ticket_352.tst new file mode 100755 index 000000000..ec02c66bc --- /dev/null +++ b/modules/spreadsheet/tests/nonreg_tests/ticket_352.tst @@ -0,0 +1,59 @@ +// ============================================================================= +// Copyright (C) 2010 - 2012 - INRIA - Michael BAUDIN +// ============================================================================= +// <-- JVM NOT MANDATORY --> +// ============================================================================= +// <-- Non-regression test for bug 352 --> +// +// <-- URL --> +// http://forge.scilab.org/index.php/p/csv-readwrite/issues/352/ +// +// <-- Short Description --> +// The csvTextScan function always returned complex matrices. +// ============================================================================= +path = SCI+"/modules/spreadsheet/tests/unit_tests/"; + +// +// Read only rows/columns in range +Astr = [ +"1,8,15,22,29,36,43,50" +"2,9,16,23,30,37,44,51" +"3,10,17,6,31,38,45,52" +"4,11,18,25,32,39,46,53" +"5,12,19,26,33,40,47,54" +"6,13,20,27,34,41,48,55" +"+0,-0,Inf,-Inf,Nan,1.D+308,1.e-308,1.e-323" +]; +A = csvTextScan ( Astr,[],[],"double" ); +expected = [ +1 8 15 22 29 36 43 50 +2 9 16 23 30 37 44 51 +3 10 17 6 31 38 45 52 +4 11 18 25 32 39 46 53 +5 12 19 26 33 40 47 54 +6 13 20 27 34 41 48 55 ++0 -0 %inf -%inf %nan 1.D+308 1.e-308 1.e-323 +]; +assert_checkequal ( isreal(A) , %t ); + +// +// Read only rows/columns in range +Astr = [ +"1,8,15,22,29,36,43,50" +"2,9,16,23,30,37,44,51" +"3,10,17,6,31,38,45,52" +"4,11,18,25,32,39,46,53" +"5,12,19,26,33,40,47,54" +"6,13,20,27,34,41,48,55" +"+0,-0,Inf,-Inf,Nan,1.D+308,1.e-308,1.e-323" +]; +A = csvTextScan ( Astr,[],[],"double",[2 3 5 6]' ); +expected = [ + 16 23 30 37 + 17 6 31 38 + 18 25 32 39 + 19 26 33 40 +]; +assert_checkequal ( isreal(A) , %t ); +// ============================================================================= + diff --git a/modules/spreadsheet/tests/nonreg_tests/ticket_353.dia.ref b/modules/spreadsheet/tests/nonreg_tests/ticket_353.dia.ref new file mode 100755 index 000000000..a7e4e5742 --- /dev/null +++ b/modules/spreadsheet/tests/nonreg_tests/ticket_353.dia.ref @@ -0,0 +1,21 @@ +// ============================================================================= +// Copyright (C) 2010 - 2012 - INRIA - Michael BAUDIN +// ============================================================================= +// <-- JVM NOT MANDATORY --> +// ============================================================================= +// <-- Non-regression test for bug 353 --> +// +// <-- URL --> +// http://forge.scilab.org/index.php/p/csv-readwrite/issues/353/ +// +// <-- Short Description --> +// The csvRead function does not manage the range. +// =================================g============================================ +path = SCI+"/modules/spreadsheet/tests/unit_tests/"; +// Read only rows/columns in range +r = csvRead(fullfile(path,"K_1.csv"), [], [], "double" , [] , [], [2 1 3 2]); +expected = [ +0.10000000000000001 1.1000000000000001 +0.10000000000000001 0.10000000000000001 +]; +assert_checkequal(r, expected); diff --git a/modules/spreadsheet/tests/nonreg_tests/ticket_353.tst b/modules/spreadsheet/tests/nonreg_tests/ticket_353.tst new file mode 100755 index 000000000..e6e44d90c --- /dev/null +++ b/modules/spreadsheet/tests/nonreg_tests/ticket_353.tst @@ -0,0 +1,23 @@ +// ============================================================================= +// Copyright (C) 2010 - 2012 - INRIA - Michael BAUDIN +// ============================================================================= +// <-- JVM NOT MANDATORY --> +// ============================================================================= +// <-- Non-regression test for bug 353 --> +// +// <-- URL --> +// http://forge.scilab.org/index.php/p/csv-readwrite/issues/353/ +// +// <-- Short Description --> +// The csvRead function does not manage the range. +// =================================g============================================ + +path = SCI+"/modules/spreadsheet/tests/unit_tests/"; + +// Read only rows/columns in range +r = csvRead(fullfile(path,"K_1.csv"), [], [], "double" , [] , [], [2 1 3 2]); +expected = [ +0.10000000000000001 1.1000000000000001 +0.10000000000000001 0.10000000000000001 +]; +assert_checkequal(r, expected); diff --git a/modules/spreadsheet/tests/nonreg_tests/ticket_360.dia.ref b/modules/spreadsheet/tests/nonreg_tests/ticket_360.dia.ref new file mode 100755 index 000000000..e46724919 --- /dev/null +++ b/modules/spreadsheet/tests/nonreg_tests/ticket_360.dia.ref @@ -0,0 +1,38 @@ +// ============================================================================= +// Copyright (C) 2011 - INRIA - Michael Baudin +// ============================================================================= +// <-- JVM NOT MANDATORY --> +// ============================================================================= +// <-- Non-regression test for bug 360 --> +// +// <-- URL --> +// http://forge.scilab.org/index.php/p/csv-readwrite/issues/360/ +// +// <-- Short Description --> +// The csvRead function does not manage the range. +// ============================================================================= +path = SCI+"/modules/spreadsheet/tests/unit_tests/"; +// +// Read complex doubles with csvTextScan +Astr = mgetl(fullfile(path,"complexdata.csv")); +r = csvTextScan(Astr,[],[],"double"); +expected = [ +%nan +%nan +]; +assert_checkequal ( r , expected ); +// +// Read complex doubles with csvRead +r = csvRead(fullfile(path,"complexdata.csv"), [], [], "double" ); +expected = [ +%nan +%nan +]; +assert_checkequal ( r , expected ); +// +// Configure the separator +r = csvTextScan(Astr," ",[],"double"); +expected = [6+3*%i 13-7*%i 20+4*%i 27-1.5*%i 34+3.14*%i 41-3*%i 48+3*%i 55-7*%i + +0 -0 %inf -%inf %nan 1.D+308 1.e-308 1.e-323]; +assert_checkalmostequal( r , expected ); +// ============================================================================= diff --git a/modules/spreadsheet/tests/nonreg_tests/ticket_360.tst b/modules/spreadsheet/tests/nonreg_tests/ticket_360.tst new file mode 100755 index 000000000..1c85f83ab --- /dev/null +++ b/modules/spreadsheet/tests/nonreg_tests/ticket_360.tst @@ -0,0 +1,40 @@ +// ============================================================================= +// Copyright (C) 2011 - INRIA - Michael Baudin +// ============================================================================= +// <-- JVM NOT MANDATORY --> +// ============================================================================= +// <-- Non-regression test for bug 360 --> +// +// <-- URL --> +// http://forge.scilab.org/index.php/p/csv-readwrite/issues/360/ +// +// <-- Short Description --> +// The csvRead function does not manage the range. +// ============================================================================= +path = SCI+"/modules/spreadsheet/tests/unit_tests/"; + +// +// Read complex doubles with csvTextScan +Astr = mgetl(fullfile(path,"complexdata.csv")); +r = csvTextScan(Astr,[],[],"double"); +expected = [ +%nan +%nan +]; +assert_checkequal ( r , expected ); + +// +// Read complex doubles with csvRead +r = csvRead(fullfile(path,"complexdata.csv"), [], [], "double" ); +expected = [ +%nan +%nan +]; +assert_checkequal ( r , expected ); +// +// Configure the separator +r = csvTextScan(Astr," ",[],"double"); +expected = [6+3*%i 13-7*%i 20+4*%i 27-1.5*%i 34+3.14*%i 41-3*%i 48+3*%i 55-7*%i + +0 -0 %inf -%inf %nan 1.D+308 1.e-308 1.e-323]; +assert_checkalmostequal( r , expected ); +// ============================================================================= diff --git a/modules/spreadsheet/tests/nonreg_tests/ticket_472.dia.ref b/modules/spreadsheet/tests/nonreg_tests/ticket_472.dia.ref new file mode 100755 index 000000000..f2c796aa9 --- /dev/null +++ b/modules/spreadsheet/tests/nonreg_tests/ticket_472.dia.ref @@ -0,0 +1,26 @@ +// ============================================================================= +// Copyright (C) 2012 - INRIA - Allan CORNET +// ============================================================================= +// <-- JVM NOT MANDATORY --> +// ============================================================================= +// <-- Non-regression test for bug 472 --> +// +// <-- URL --> +// http://forge.scilab.org/index.php/p/csv-readwrite/issues/472/ +// +// <-- Short Description --> +// csvRead, csvTextScan cannot ignore blank lines. +// ============================================================================= +warning("off"); +txt = ["my data 1";"";"my data 2"]; +ref_res = ["my data 1";"my data 2"]; +assert_checkequal(csvDefault('blank'), 'on'); +assert_checkequal(csvDefault('blank','off'), %t); +ierr = execstr("res = csvTextScan(txt, [] , [], ""string"")", "errcatch"); +assert_checkequal(ierr, 999); +assert_checkequal(csvDefault('blank','on'), %t); +ierr = execstr("res = csvTextScan(txt, [] , [], ""string"")", "errcatch"); +assert_checkequal(ierr, 0); +assert_checkequal(res, ref_res); +// ============================================================================= +assert_checkequal(csvDefault('blank','off'), %t); diff --git a/modules/spreadsheet/tests/nonreg_tests/ticket_472.tst b/modules/spreadsheet/tests/nonreg_tests/ticket_472.tst new file mode 100755 index 000000000..43c769c2b --- /dev/null +++ b/modules/spreadsheet/tests/nonreg_tests/ticket_472.tst @@ -0,0 +1,30 @@ +// ============================================================================= +// Copyright (C) 2012 - INRIA - Allan CORNET +// ============================================================================= +// <-- JVM NOT MANDATORY --> +// ============================================================================= +// <-- Non-regression test for bug 472 --> +// +// <-- URL --> +// http://forge.scilab.org/index.php/p/csv-readwrite/issues/472/ +// +// <-- Short Description --> +// csvRead, csvTextScan cannot ignore blank lines. +// ============================================================================= + +warning("off"); +txt = ["my data 1";"";"my data 2"]; +ref_res = ["my data 1";"my data 2"]; + +assert_checkequal(csvDefault('blank'), 'on'); +assert_checkequal(csvDefault('blank','off'), %t); +ierr = execstr("res = csvTextScan(txt, [] , [], ""string"")", "errcatch"); +assert_checkequal(ierr, 999); + +assert_checkequal(csvDefault('blank','on'), %t); +ierr = execstr("res = csvTextScan(txt, [] , [], ""string"")", "errcatch"); +assert_checkequal(ierr, 0); +assert_checkequal(res, ref_res); +// ============================================================================= + +assert_checkequal(csvDefault('blank','off'), %t);
\ No newline at end of file diff --git a/modules/spreadsheet/tests/nonreg_tests/ticket_481.dia.ref b/modules/spreadsheet/tests/nonreg_tests/ticket_481.dia.ref new file mode 100755 index 000000000..87c0310a8 --- /dev/null +++ b/modules/spreadsheet/tests/nonreg_tests/ticket_481.dia.ref @@ -0,0 +1,22 @@ +// ============================================================================= +// Copyright (C) 2010 - 2012 - INRIA - Allan CORNET +// ============================================================================= +// <-- JVM NOT MANDATORY --> +// ============================================================================= +// <-- Non-regression test for bug 481 --> +// +// <-- URL --> +// http://forge.scilab.org/index.php/p/csv-readwrite/issues/481/ +// +// <-- Short Description --> +// csvRead crashed Scilab, if there were negative values in file. +// ============================================================================= +path = SCI+"/modules/spreadsheet/tests/unit_tests/"; +neg = [ -1 -2 -3; -4 -5 -6; -7 -8 -9]; +// Write to file +negFile = fullfile(TMPDIR,"neg.csv"); +csvWrite (neg , negFile); +// Read from file +n = csvRead(negFile); +assert_checkequal(n, neg); +// ============================================================================= diff --git a/modules/spreadsheet/tests/nonreg_tests/ticket_481.tst b/modules/spreadsheet/tests/nonreg_tests/ticket_481.tst new file mode 100755 index 000000000..5754eb19e --- /dev/null +++ b/modules/spreadsheet/tests/nonreg_tests/ticket_481.tst @@ -0,0 +1,27 @@ +// ============================================================================= +// Copyright (C) 2010 - 2012 - INRIA - Allan CORNET +// ============================================================================= +// <-- JVM NOT MANDATORY --> +// ============================================================================= +// <-- Non-regression test for bug 481 --> +// +// <-- URL --> +// http://forge.scilab.org/index.php/p/csv-readwrite/issues/481/ +// +// <-- Short Description --> +// csvRead crashed Scilab, if there were negative values in file. +// ============================================================================= +path = SCI+"/modules/spreadsheet/tests/unit_tests/"; + +neg = [ -1 -2 -3; -4 -5 -6; -7 -8 -9]; + +// Write to file +negFile = fullfile(TMPDIR,"neg.csv"); +csvWrite (neg , negFile); + +// Read from file +n = csvRead(negFile); + +assert_checkequal(n, neg); +// ============================================================================= + diff --git a/modules/spreadsheet/tests/nonreg_tests/ticket_644.csv b/modules/spreadsheet/tests/nonreg_tests/ticket_644.csv new file mode 100755 index 000000000..ccb495454 --- /dev/null +++ b/modules/spreadsheet/tests/nonreg_tests/ticket_644.csv @@ -0,0 +1,2 @@ +1,2,3, +4,5,,
\ No newline at end of file diff --git a/modules/spreadsheet/tests/nonreg_tests/ticket_644.dia.ref b/modules/spreadsheet/tests/nonreg_tests/ticket_644.dia.ref new file mode 100755 index 000000000..9a593b6e0 --- /dev/null +++ b/modules/spreadsheet/tests/nonreg_tests/ticket_644.dia.ref @@ -0,0 +1,29 @@ +// ============================================================================= +// Copyright (C) 2010 - 2012 - INRIA - Allan CORNET +// ============================================================================= +// <-- JVM NOT MANDATORY --> +// ============================================================================= +// <-- Non-regression test for bug 644 --> +// +// <-- URL --> +// http://forge.scilab.org/index.php/p/csv-readwrite/issues/644/ +// +// <-- Short Description --> +// csvRead did not support empty fields +// ============================================================================= +REF_str_m = ['1','','3';'4','5','6']; +csvWrite(REF_str_m, TMPDIR + "/ticket_644.csv"); +str_m = csvRead(TMPDIR + "/ticket_644.csv", [], [], "string"); +assert_checkequal(str_m, REF_str_m); +REF_str_m = ['','2','3';'4','5','6']; +csvWrite(REF_str_m, TMPDIR + "/ticket_644.csv"); +str_m = csvRead(TMPDIR + "/ticket_644.csv", [], [], "string"); +assert_checkequal(str_m, REF_str_m); +REF_str_m = ['','2','3';'4','','6']; +csvWrite(REF_str_m, TMPDIR + "/ticket_644.csv"); +str_m = csvRead(TMPDIR + "/ticket_644.csv", [], [], "string"); +assert_checkequal(str_m, REF_str_m); +REF_str_m = ['1','2','3','';'4','5','','']; +str_m = csvRead(SCI+"/modules/spreadsheet/" + "tests/nonreg_tests/ticket_644.csv", [], [], "string"); +assert_checkequal(str_m, REF_str_m); +// ============================================================================= diff --git a/modules/spreadsheet/tests/nonreg_tests/ticket_644.tst b/modules/spreadsheet/tests/nonreg_tests/ticket_644.tst new file mode 100755 index 000000000..dfa7209c1 --- /dev/null +++ b/modules/spreadsheet/tests/nonreg_tests/ticket_644.tst @@ -0,0 +1,35 @@ +// ============================================================================= +// Copyright (C) 2010 - 2012 - INRIA - Allan CORNET +// ============================================================================= +// <-- JVM NOT MANDATORY --> +// ============================================================================= +// <-- Non-regression test for bug 644 --> +// +// <-- URL --> +// http://forge.scilab.org/index.php/p/csv-readwrite/issues/644/ +// +// <-- Short Description --> +// csvRead did not support empty fields +// ============================================================================= +REF_str_m = ['1','','3';'4','5','6']; +csvWrite(REF_str_m, TMPDIR + "/ticket_644.csv"); +str_m = csvRead(TMPDIR + "/ticket_644.csv", [], [], "string"); +assert_checkequal(str_m, REF_str_m); + +REF_str_m = ['','2','3';'4','5','6']; +csvWrite(REF_str_m, TMPDIR + "/ticket_644.csv"); +str_m = csvRead(TMPDIR + "/ticket_644.csv", [], [], "string"); +assert_checkequal(str_m, REF_str_m); + + +REF_str_m = ['','2','3';'4','','6']; +csvWrite(REF_str_m, TMPDIR + "/ticket_644.csv"); +str_m = csvRead(TMPDIR + "/ticket_644.csv", [], [], "string"); +assert_checkequal(str_m, REF_str_m); + + +REF_str_m = ['1','2','3','';'4','5','','']; +str_m = csvRead(SCI+"/modules/spreadsheet/" + "tests/nonreg_tests/ticket_644.csv", [], [], "string"); +assert_checkequal(str_m, REF_str_m); +// ============================================================================= + diff --git a/modules/spreadsheet/tests/nonreg_tests/ticket_674.dia.ref b/modules/spreadsheet/tests/nonreg_tests/ticket_674.dia.ref new file mode 100755 index 000000000..de5f08458 --- /dev/null +++ b/modules/spreadsheet/tests/nonreg_tests/ticket_674.dia.ref @@ -0,0 +1,25 @@ +// ============================================================================= +// ============================================================================= +// <-- JVM NOT MANDATORY --> +// ============================================================================= +// <-- Non-regression test for bug 674 --> +// +// <-- URL --> +// http://forge.scilab.org/index.php/p/csv-readwrite/issues/674/ +// +// <-- Short Description --> +// csvDefault returns %f when used twice +// ============================================================================= +assert_checkequal(csvDefault('eol', 'linux'), %t) + ans = + + T +assert_checkequal(csvDefault('eol', 'linux'), %t) + ans = + + T +assert_checkequal(csvDefault('eol', 'freestyle'), %f) + ans = + + T +// ============================================================================= diff --git a/modules/spreadsheet/tests/nonreg_tests/ticket_674.tst b/modules/spreadsheet/tests/nonreg_tests/ticket_674.tst new file mode 100755 index 000000000..21d75e70f --- /dev/null +++ b/modules/spreadsheet/tests/nonreg_tests/ticket_674.tst @@ -0,0 +1,18 @@ +// ============================================================================= +// ============================================================================= +// <-- JVM NOT MANDATORY --> +// ============================================================================= +// <-- Non-regression test for bug 674 --> +// +// <-- URL --> +// http://forge.scilab.org/index.php/p/csv-readwrite/issues/674/ +// +// <-- Short Description --> +// csvDefault returns %f when used twice +// ============================================================================= +assert_checkequal(csvDefault('eol', 'linux'), %t) +assert_checkequal(csvDefault('eol', 'linux'), %t) +assert_checkequal(csvDefault('eol', 'freestyle'), %f) +// ============================================================================= + + diff --git a/modules/spreadsheet/tests/nonreg_tests/ticket_684.txt b/modules/spreadsheet/tests/nonreg_tests/ticket_684.txt new file mode 100755 index 000000000..8b0dff928 --- /dev/null +++ b/modules/spreadsheet/tests/nonreg_tests/ticket_684.txt @@ -0,0 +1,43 @@ +42,0,0,0,0 +1,Agen,44.1,0,0 +2,Ajaccio,41.6,0,0 +3,Alenon,48.3,0,0 +4,Angers,47.5,0,0 +5,Bastia,42.5,0,0 +6,Besanon,47.2,0,0 +7,Biarritz,43.3,0,0 +8,Bordeaux,44.5,0,0 +9,Boulogne sur Mer,50.4,0,0 +10,Bourg Saint Maurice,45.4,0,0 +11,Brest,48.3,0,0 +12,Caen,49.1,0,0 +13,Carcassonne,43.1,0,0 +14,Chambry,45.4,0,0 +15,Clermont-Ferrand,45.4,0,0 +16,Dijon,47.2,0,0 +17,Embrun,44.3,0,0 +18,Gourdon,44.5,0,0 +19,Grenoble,45.1,0,0 +20,La Rochelle,46.1,0,0 +21,Lille,50.3,0,0 +22,Limoges,45.5,0,0 +23,Lyon,45.4,0,0 +24,Marseille,43.3,0,0 +25,Millau,44.1,0,0 +26,MontdeMarsan,44,0,0 +27,Montelimar,44.4,0,0 +28,Montpellier,43.4,0,0 +29,Nancy,48.4,0,0 +30,Nantes,47.2,0,0 +31,Nice,43.4,0,0 +32,Orleans,47.6,0,0 +33,Paris Montsouris,48.9,0,0 +34,Pau,43.3,0,0 +35,Perpignan,42.4,0,0 +36,Poitiers,46.4,0,0 +37,Reims,49.2,0,0 +38,Rennes,48,0,0 +39,Saint-Etienne,45.3,0,0 +40,Strasbourg,48.3,0,0 +41,Toulon,43.1,0,0 +42,Toulouse,43.4,0,0 diff --git a/modules/spreadsheet/tests/nonreg_tests/ticket_715.dia.ref b/modules/spreadsheet/tests/nonreg_tests/ticket_715.dia.ref new file mode 100755 index 000000000..5093329d2 --- /dev/null +++ b/modules/spreadsheet/tests/nonreg_tests/ticket_715.dia.ref @@ -0,0 +1,17 @@ +// ============================================================================= +// ============================================================================= +// <-- JVM NOT MANDATORY --> +// ============================================================================= +// <-- Non-regression test for bug 715 --> +// +// <-- URL --> +// http://forge.scilab.org/index.php/p/csv-readwrite/issues/715/ +// +// <-- Short Description --> +// Issue 715: csvTextScan crashed on an example. +// ============================================================================= +PATH = SCI+"/modules/spreadsheet/tests/nonreg_tests/"; +file_name = 'ticket_715.txt'; +M1 = csvRead(PATH + '/' + file_name,[],[],"string"); +DATA1 = csvTextScan(M1," ","."); +// ============================================================================= diff --git a/modules/spreadsheet/tests/nonreg_tests/ticket_715.tst b/modules/spreadsheet/tests/nonreg_tests/ticket_715.tst new file mode 100755 index 000000000..5093329d2 --- /dev/null +++ b/modules/spreadsheet/tests/nonreg_tests/ticket_715.tst @@ -0,0 +1,17 @@ +// ============================================================================= +// ============================================================================= +// <-- JVM NOT MANDATORY --> +// ============================================================================= +// <-- Non-regression test for bug 715 --> +// +// <-- URL --> +// http://forge.scilab.org/index.php/p/csv-readwrite/issues/715/ +// +// <-- Short Description --> +// Issue 715: csvTextScan crashed on an example. +// ============================================================================= +PATH = SCI+"/modules/spreadsheet/tests/nonreg_tests/"; +file_name = 'ticket_715.txt'; +M1 = csvRead(PATH + '/' + file_name,[],[],"string"); +DATA1 = csvTextScan(M1," ","."); +// ============================================================================= diff --git a/modules/spreadsheet/tests/nonreg_tests/ticket_715.txt b/modules/spreadsheet/tests/nonreg_tests/ticket_715.txt new file mode 100755 index 000000000..196f27ec9 --- /dev/null +++ b/modules/spreadsheet/tests/nonreg_tests/ticket_715.txt @@ -0,0 +1,4001 @@ +-0.2000000 4.1320932 +-0.1999500 1.3680682 +-0.1999000 2.9804161 +-0.1998500 0.4467266 +-0.1998000 1.3680682 +-0.1997500 -2.3172983 +-0.1997000 -0.7049504 +-0.1996500 -0.9352859 +-0.1996000 -3.2386400 +-0.1995500 -3.0083045 +-0.1995000 -4.1599816 +-0.1994500 -0.9352859 +-0.1994000 -1.3959567 +-0.1993500 -2.3172983 +-0.1993000 -3.0083045 +-0.1992500 -3.4689754 +-0.1992000 -3.6993108 +-0.1991500 -4.3903170 +-0.1991000 -1.6262921 +-0.1990500 -0.9352859 +-0.1990000 -3.6993108 +-0.1989500 -0.9352859 +-0.1989000 -1.3959567 +-0.1988500 -3.9296462 +-0.1988000 -1.1656213 +-0.1987500 -3.0083045 +-0.1987000 -4.3903170 +-0.1986500 0.4467266 +-0.1986000 -1.1656213 +-0.1985500 -2.5476337 +-0.1985000 -0.4746150 +-0.1984500 -3.0083045 +-0.1984000 -1.8566275 +-0.1983500 -2.7779691 +-0.1983000 -1.6262921 +-0.1982500 -1.8566275 +-0.1982000 -2.5476337 +-0.1981500 -1.1656213 +-0.1981000 -1.8566275 +-0.1980500 -0.0139442 +-0.1980000 -1.6262921 +-0.1979500 -1.1656213 +-0.1979000 1.8287391 +-0.1978500 -0.4746150 +-0.1978000 1.5984037 +-0.1977500 0.4467266 +-0.1977000 0.9073974 +-0.1976500 -0.7049504 +-0.1976000 0.4467266 +-0.1975500 -2.5476337 +-0.1975000 1.5984037 +-0.1974500 -0.0139442 +-0.1974000 1.8287391 +-0.1973500 -2.3172983 +-0.1973000 1.3680682 +-0.1972500 2.0590745 +-0.1972000 3.9017578 +-0.1971500 3.2107515 +-0.1971000 5.0534348 +-0.1970500 6.2051119 +-0.1970000 5.5141056 +-0.1969500 2.5197453 +-0.1969000 3.9017578 +-0.1968500 2.2894099 +-0.1968000 3.2107515 +-0.1967500 2.0590745 +-0.1967000 5.9747764 +-0.1966500 4.8230994 +-0.1966000 1.3680682 +-0.1965500 1.3680682 +-0.1965000 1.5984037 +-0.1964500 1.8287391 +-0.1964000 -2.3172983 +-0.1963500 -2.3172983 +-0.1963000 -0.2442796 +-0.1962500 -2.7779691 +-0.1962000 -1.3959567 +-0.1961500 -1.3959567 +-0.1961000 -1.8566275 +-0.1960500 0.4467266 +-0.1960000 0.4467266 +-0.1959500 -0.2442796 +-0.1959000 -1.3959567 +-0.1958500 -1.6262921 +-0.1958000 -1.8566275 +-0.1957500 -1.1656213 +-0.1957000 1.3680682 +-0.1956500 -0.2442796 +-0.1956000 -1.8566275 +-0.1955500 -1.1656213 +-0.1955000 1.3680682 +-0.1954500 -0.9352859 +-0.1954000 -3.9296462 +-0.1953500 -1.8566275 +-0.1953000 -1.6262921 +-0.1952500 -3.2386400 +-0.1952000 -4.3903170 +-0.1951500 -3.4689754 +-0.1951000 -4.3903170 +-0.1950500 -2.7779691 +-0.1950000 -4.3903170 +-0.1949500 -5.7723295 +-0.1949000 -3.6993108 +-0.1948500 -4.8509878 +-0.1948000 -4.3903170 +-0.1947500 -3.4689754 +-0.1947000 -4.8509878 +-0.1946500 -0.0139442 +-0.1946000 -0.4746150 +-0.1945500 -3.2386400 +-0.1945000 -0.4746150 +-0.1944500 -1.1656213 +-0.1944000 0.4467266 +-0.1943500 -0.2442796 +-0.1943000 -0.0139442 +-0.1942500 0.6770620 +-0.1942000 -0.7049504 +-0.1941500 -0.7049504 +-0.1941000 0.9073974 +-0.1940500 1.3680682 +-0.1940000 -0.0139442 +-0.1939500 -2.0869629 +-0.1939000 0.9073974 +-0.1938500 1.1377328 +-0.1938000 0.9073974 +-0.1937500 -0.0139442 +-0.1937000 0.4467266 +-0.1936500 -0.9352859 +-0.1936000 -1.1656213 +-0.1935500 -0.9352859 +-0.1935000 0.4467266 +-0.1934500 1.5984037 +-0.1934000 2.9804161 +-0.1933500 3.2107515 +-0.1933000 2.9804161 +-0.1932500 2.7500807 +-0.1932000 3.4410869 +-0.1931500 4.3624286 +-0.1931000 2.5197453 +-0.1930500 2.0590745 +-0.1930000 5.9747764 +-0.1929500 0.6770620 +-0.1929000 2.2894099 +-0.1928500 2.2894099 +-0.1928000 3.2107515 +-0.1927500 3.4410869 +-0.1927000 3.6714223 +-0.1926500 -0.0139442 +-0.1926000 2.0590745 +-0.1925500 -1.3959567 +-0.1925000 0.4467266 +-0.1924500 -1.1656213 +-0.1924000 -3.2386400 +-0.1923500 0.9073974 +-0.1923000 -0.2442796 +-0.1922500 -1.8566275 +-0.1922000 -1.6262921 +-0.1921500 0.4467266 +-0.1921000 -1.3959567 +-0.1920500 0.4467266 +-0.1920000 -0.0139442 +-0.1919500 -0.7049504 +-0.1919000 0.2163912 +-0.1918500 -2.7779691 +-0.1918000 -0.7049504 +-0.1917500 -0.2442796 +-0.1917000 -3.2386400 +-0.1916500 -0.7049504 +-0.1916000 -0.7049504 +-0.1915500 -0.2442796 +-0.1915000 -4.8509878 +-0.1914500 -3.9296462 +-0.1914000 -3.0083045 +-0.1913500 -2.7779691 +-0.1913000 -2.5476337 +-0.1912500 -3.4689754 +-0.1912000 -1.8566275 +-0.1911500 -2.5476337 +-0.1911000 -1.1656213 +-0.1910500 -3.9296462 +-0.1910000 -3.2386400 +-0.1909500 -1.6262921 +-0.1909000 -0.7049504 +-0.1908500 1.3680682 +-0.1908000 0.4467266 +-0.1907500 -1.3959567 +-0.1907000 -0.0139442 +-0.1906500 1.8287391 +-0.1906000 2.7500807 +-0.1905500 2.5197453 +-0.1905000 2.7500807 +-0.1904500 -0.2442796 +-0.1904000 -0.9352859 +-0.1903500 -1.3959567 +-0.1903000 -2.3172983 +-0.1902500 -1.1656213 +-0.1902000 -1.6262921 +-0.1901500 -3.2386400 +-0.1901000 -0.9352859 +-0.1900500 -2.3172983 +-0.1900000 -2.5476337 +-0.1899500 0.9073974 +-0.1899000 0.4467266 +-0.1898500 -0.2442796 +-0.1898000 -0.7049504 +-0.1897500 -3.4689754 +-0.1897000 -2.7779691 +-0.1896500 -0.2442796 +-0.1896000 -0.7049504 +-0.1895500 -2.3172983 +-0.1895000 1.8287391 +-0.1894500 1.5984037 +-0.1894000 -0.7049504 +-0.1893500 -2.0869629 +-0.1893000 -2.0869629 +-0.1892500 -0.0139442 +-0.1892000 -2.5476337 +-0.1891500 -1.1656213 +-0.1891000 -1.6262921 +-0.1890500 -0.4746150 +-0.1890000 -3.4689754 +-0.1889500 -1.8566275 +-0.1889000 -4.6206524 +-0.1888500 -2.0869629 +-0.1888000 -0.2442796 +-0.1887500 -1.1656213 +-0.1887000 -1.8566275 +-0.1886500 -3.0083045 +-0.1886000 -1.6262921 +-0.1885500 -0.9352859 +-0.1885000 -1.3959567 +-0.1884500 -0.9352859 +-0.1884000 -4.6206524 +-0.1883500 -2.5476337 +-0.1883000 -3.6993108 +-0.1882500 0.2163912 +-0.1882000 -3.4689754 +-0.1881500 -4.3903170 +-0.1881000 -1.6262921 +-0.1880500 -4.6206524 +-0.1880000 -0.9352859 +-0.1879500 -1.1656213 +-0.1879000 -1.3959567 +-0.1878500 -1.1656213 +-0.1878000 -3.2386400 +-0.1877500 -0.9352859 +-0.1877000 -5.3116586 +-0.1876500 -2.7779691 +-0.1876000 -0.0139442 +-0.1875500 -2.5476337 +-0.1875000 -1.1656213 +-0.1874500 -1.3959567 +-0.1874000 -0.7049504 +-0.1873500 0.4467266 +-0.1873000 0.6770620 +-0.1872500 -2.5476337 +-0.1872000 -2.0869629 +-0.1871500 -0.7049504 +-0.1871000 -1.8566275 +-0.1870500 -3.4689754 +-0.1870000 -1.1656213 +-0.1869500 -4.1599816 +-0.1869000 -1.8566275 +-0.1868500 -3.6993108 +-0.1868000 -1.1656213 +-0.1867500 -4.8509878 +-0.1867000 -1.6262921 +-0.1866500 -1.8566275 +-0.1866000 -1.1656213 +-0.1865500 -0.0139442 +-0.1865000 0.2163912 +-0.1864500 1.3680682 +-0.1864000 -1.3959567 +-0.1863500 -0.0139442 +-0.1863000 -1.1656213 +-0.1862500 0.9073974 +-0.1862000 2.0590745 +-0.1861500 -1.6262921 +-0.1861000 -2.0869629 +-0.1860500 -2.5476337 +-0.1860000 -0.0139442 +-0.1859500 -1.1656213 +-0.1859000 -3.6993108 +-0.1858500 -3.4689754 +-0.1858000 -4.6206524 +-0.1857500 -4.1599816 +-0.1857000 -6.0026649 +-0.1856500 -3.9296462 +-0.1856000 -2.3172983 +-0.1855500 -2.0869629 +-0.1855000 -3.0083045 +-0.1854500 -3.6993108 +-0.1854000 -2.0869629 +-0.1853500 -3.2386400 +-0.1853000 -0.4746150 +-0.1852500 -1.6262921 +-0.1852000 -1.8566275 +-0.1851500 -1.6262921 +-0.1851000 -0.4746150 +-0.1850500 -3.2386400 +-0.1850000 0.4467266 +-0.1849500 -0.9352859 +-0.1849000 -1.3959567 +-0.1848500 0.9073974 +-0.1848000 -1.1656213 +-0.1847500 0.4467266 +-0.1847000 -1.8566275 +-0.1846500 -0.4746150 +-0.1846000 -0.2442796 +-0.1845500 -0.2442796 +-0.1845000 -0.7049504 +-0.1844500 -1.8566275 +-0.1844000 -1.3959567 +-0.1843500 -2.7779691 +-0.1843000 1.1377328 +-0.1842500 -1.3959567 +-0.1842000 -2.5476337 +-0.1841500 -1.3959567 +-0.1841000 -2.0869629 +-0.1840500 -1.6262921 +-0.1840000 -0.9352859 +-0.1839500 -0.9352859 +-0.1839000 2.2894099 +-0.1838500 -3.0083045 +-0.1838000 -1.1656213 +-0.1837500 -0.0139442 +-0.1837000 -0.2442796 +-0.1836500 -1.1656213 +-0.1836000 -0.9352859 +-0.1835500 -2.3172983 +-0.1835000 -0.0139442 +-0.1834500 -1.6262921 +-0.1834000 -0.7049504 +-0.1833500 -2.0869629 +-0.1833000 -2.5476337 +-0.1832500 -2.7779691 +-0.1832000 -1.1656213 +-0.1831500 -1.1656213 +-0.1831000 -1.8566275 +-0.1830500 -2.5476337 +-0.1830000 -5.5419941 +-0.1829500 -1.8566275 +-0.1829000 -2.0869629 +-0.1828500 -2.5476337 +-0.1828000 -3.0083045 +-0.1827500 -2.5476337 +-0.1827000 -1.3959567 +-0.1826500 -2.3172983 +-0.1826000 -0.2442796 +-0.1825500 -2.5476337 +-0.1825000 0.6770620 +-0.1824500 0.4467266 +-0.1824000 -0.4746150 +-0.1823500 0.6770620 +-0.1823000 -1.1656213 +-0.1822500 -2.5476337 +-0.1822000 -1.1656213 +-0.1821500 -1.1656213 +-0.1821000 -2.3172983 +-0.1820500 -1.8566275 +-0.1820000 -3.0083045 +-0.1819500 -0.7049504 +-0.1819000 0.4467266 +-0.1818500 -2.3172983 +-0.1818000 -1.3959567 +-0.1817500 -3.2386400 +-0.1817000 -2.3172983 +-0.1816500 -0.0139442 +-0.1816000 -0.0139442 +-0.1815500 -0.0139442 +-0.1815000 2.0590745 +-0.1814500 0.9073974 +-0.1814000 2.7500807 +-0.1813500 3.4410869 +-0.1813000 0.2163912 +-0.1812500 -0.9352859 +-0.1812000 2.2894099 +-0.1811500 2.2894099 +-0.1811000 -0.0139442 +-0.1810500 1.5984037 +-0.1810000 1.5984037 +-0.1809500 0.4467266 +-0.1809000 -0.0139442 +-0.1808500 -0.2442796 +-0.1808000 1.3680682 +-0.1807500 -0.7049504 +-0.1807000 -4.3903170 +-0.1806500 -3.4689754 +-0.1806000 -3.9296462 +-0.1805500 -1.3959567 +-0.1805000 -1.6262921 +-0.1804500 -0.4746150 +-0.1804000 -0.9352859 +-0.1803500 0.9073974 +-0.1803000 -0.4746150 +-0.1802500 -0.7049504 +-0.1802000 -0.9352859 +-0.1801500 1.5984037 +-0.1801000 -0.0139442 +-0.1800500 -1.6262921 +-0.1800000 -3.2386400 +-0.1799500 -2.5476337 +-0.1799000 -4.8509878 +-0.1798500 -2.3172983 +-0.1798000 -0.2442796 +-0.1797500 -1.6262921 +-0.1797000 -3.2386400 +-0.1796500 -4.8509878 +-0.1796000 -6.0026649 +-0.1795500 -6.2330003 +-0.1795000 -5.0813232 +-0.1794500 -3.4689754 +-0.1794000 -3.9296462 +-0.1793500 -4.6206524 +-0.1793000 -4.6206524 +-0.1792500 -3.0083045 +-0.1792000 -3.0083045 +-0.1791500 -1.8566275 +-0.1791000 0.2163912 +-0.1790500 -2.0869629 +-0.1790000 -2.3172983 +-0.1789500 -0.7049504 +-0.1789000 -1.3959567 +-0.1788500 -0.9352859 +-0.1788000 0.4467266 +-0.1787500 -2.7779691 +-0.1787000 -2.3172983 +-0.1786500 -2.3172983 +-0.1786000 0.2163912 +-0.1785500 -0.9352859 +-0.1785000 -1.8566275 +-0.1784500 1.8287391 +-0.1784000 0.4467266 +-0.1783500 0.9073974 +-0.1783000 1.5984037 +-0.1782500 0.2163912 +-0.1782000 1.8287391 +-0.1781500 -0.2442796 +-0.1781000 3.9017578 +-0.1780500 4.8230994 +-0.1780000 -0.0139442 +-0.1779500 0.4467266 +-0.1779000 1.8287391 +-0.1778500 2.7500807 +-0.1778000 -0.7049504 +-0.1777500 1.1377328 +-0.1777000 1.3680682 +-0.1776500 -0.2442796 +-0.1776000 0.4467266 +-0.1775500 2.9804161 +-0.1775000 0.6770620 +-0.1774500 1.1377328 +-0.1774000 3.2107515 +-0.1773500 -2.0869629 +-0.1773000 2.7500807 +-0.1772500 1.5984037 +-0.1772000 3.9017578 +-0.1771500 6.4354473 +-0.1771000 4.3624286 +-0.1770500 5.2837702 +-0.1770000 2.7500807 +-0.1769500 5.5141056 +-0.1769000 -0.0139442 +-0.1768500 2.7500807 +-0.1768000 1.3680682 +-0.1767500 2.5197453 +-0.1767000 1.8287391 +-0.1766500 1.8287391 +-0.1766000 -1.3959567 +-0.1765500 -0.0139442 +-0.1765000 -2.3172983 +-0.1764500 -3.4689754 +-0.1764000 -3.2386400 +-0.1763500 -3.2386400 +-0.1763000 -2.5476337 +-0.1762500 -5.3116586 +-0.1762000 -4.1599816 +-0.1761500 -1.1656213 +-0.1761000 -5.5419941 +-0.1760500 -2.5476337 +-0.1760000 -3.0083045 +-0.1759500 -5.3116586 +-0.1759000 -1.3959567 +-0.1758500 -0.0139442 +-0.1758000 -4.3903170 +-0.1757500 0.9073974 +-0.1757000 -1.3959567 +-0.1756500 -3.6993108 +-0.1756000 0.9073974 +-0.1755500 0.4467266 +-0.1755000 -3.2386400 +-0.1754500 -1.1656213 +-0.1754000 -2.5476337 +-0.1753500 -1.1656213 +-0.1753000 -3.2386400 +-0.1752500 -2.7779691 +-0.1752000 -3.6993108 +-0.1751500 -2.3172983 +-0.1751000 -3.6993108 +-0.1750500 -2.5476337 +-0.1750000 -3.6993108 +-0.1749500 -0.9352859 +-0.1749000 -0.0139442 +-0.1748500 -1.3959567 +-0.1748000 -1.6262921 +-0.1747500 -0.4746150 +-0.1747000 -0.9352859 +-0.1746500 0.6770620 +-0.1746000 -2.0869629 +-0.1745500 0.4467266 +-0.1745000 2.0590745 +-0.1744500 1.3680682 +-0.1744000 -1.8566275 +-0.1743500 1.8287391 +-0.1743000 -0.2442796 +-0.1742500 0.4467266 +-0.1742000 -0.4746150 +-0.1741500 -3.2386400 +-0.1741000 1.3680682 +-0.1740500 0.2163912 +-0.1740000 -0.4746150 +-0.1739500 1.1377328 +-0.1739000 0.4467266 +-0.1738500 -0.0139442 +-0.1738000 1.5984037 +-0.1737500 2.2894099 +-0.1737000 0.2163912 +-0.1736500 -0.0139442 +-0.1736000 3.2107515 +-0.1735500 1.3680682 +-0.1735000 2.0590745 +-0.1734500 0.2163912 +-0.1734000 -0.2442796 +-0.1733500 0.4467266 +-0.1733000 1.1377328 +-0.1732500 0.9073974 +-0.1732000 0.6770620 +-0.1731500 0.2163912 +-0.1731000 -2.3172983 +-0.1730500 -0.0139442 +-0.1730000 1.1377328 +-0.1729500 -0.2442796 +-0.1729000 1.3680682 +-0.1728500 -0.4746150 +-0.1728000 -0.2442796 +-0.1727500 0.2163912 +-0.1727000 0.2163912 +-0.1726500 -2.0869629 +-0.1726000 -2.0869629 +-0.1725500 -1.1656213 +-0.1725000 -0.4746150 +-0.1724500 -2.7779691 +-0.1724000 -2.5476337 +-0.1723500 -3.4689754 +-0.1723000 -3.2386400 +-0.1722500 -2.7779691 +-0.1722000 -4.8509878 +-0.1721500 -3.2386400 +-0.1721000 -2.3172983 +-0.1720500 -3.2386400 +-0.1720000 -0.4746150 +-0.1719500 -1.1656213 +-0.1719000 -3.0083045 +-0.1718500 -1.1656213 +-0.1718000 -1.3959567 +-0.1717500 -0.9352859 +-0.1717000 -2.3172983 +-0.1716500 -2.5476337 +-0.1716000 -1.3959567 +-0.1715500 -3.4689754 +-0.1715000 -1.6262921 +-0.1714500 -2.5476337 +-0.1714000 -3.6993108 +-0.1713500 -1.1656213 +-0.1713000 -2.7779691 +-0.1712500 -2.0869629 +-0.1712000 -1.3959567 +-0.1711500 -0.7049504 +-0.1711000 -4.1599816 +-0.1710500 -1.1656213 +-0.1710000 -2.5476337 +-0.1709500 0.2163912 +-0.1709000 -0.4746150 +-0.1708500 -1.3959567 +-0.1708000 -1.6262921 +-0.1707500 1.1377328 +-0.1707000 -0.9352859 +-0.1706500 2.2894099 +-0.1706000 0.2163912 +-0.1705500 -1.3959567 +-0.1705000 -0.0139442 +-0.1704500 -0.7049504 +-0.1704000 -1.3959567 +-0.1703500 -1.8566275 +-0.1703000 -2.7779691 +-0.1702500 -3.4689754 +-0.1702000 -1.8566275 +-0.1701500 -3.2386400 +-0.1701000 -3.4689754 +-0.1700500 -2.3172983 +-0.1700000 -3.2386400 +-0.1699500 -4.1599816 +-0.1699000 -2.0869629 +-0.1698500 -0.4746150 +-0.1698000 -2.7779691 +-0.1697500 1.5984037 +-0.1697000 1.5984037 +-0.1696500 -0.4746150 +-0.1696000 -0.7049504 +-0.1695500 0.6770620 +-0.1695000 -0.9352859 +-0.1694500 -0.4746150 +-0.1694000 -1.1656213 +-0.1693500 -1.8566275 +-0.1693000 -2.7779691 +-0.1692500 -1.8566275 +-0.1692000 -0.9352859 +-0.1691500 -0.9352859 +-0.1691000 -1.1656213 +-0.1690500 -3.0083045 +-0.1690000 -1.3959567 +-0.1689500 -1.6262921 +-0.1689000 -2.3172983 +-0.1688500 -2.0869629 +-0.1688000 -1.8566275 +-0.1687500 -1.8566275 +-0.1687000 0.4467266 +-0.1686500 -2.0869629 +-0.1686000 -1.3959567 +-0.1685500 -1.3959567 +-0.1685000 -2.3172983 +-0.1684500 -0.7049504 +-0.1684000 -0.4746150 +-0.1683500 -1.8566275 +-0.1683000 -1.3959567 +-0.1682500 -3.9296462 +-0.1682000 -1.6262921 +-0.1681500 -0.7049504 +-0.1681000 -0.4746150 +-0.1680500 -1.3959567 +-0.1680000 -2.3172983 +-0.1679500 -2.3172983 +-0.1679000 -2.3172983 +-0.1678500 -1.8566275 +-0.1678000 -3.0083045 +-0.1677500 -2.3172983 +-0.1677000 -3.9296462 +-0.1676500 -2.3172983 +-0.1676000 -3.0083045 +-0.1675500 -3.0083045 +-0.1675000 -3.2386400 +-0.1674500 -3.9296462 +-0.1674000 0.9073974 +-0.1673500 -1.6262921 +-0.1673000 -1.1656213 +-0.1672500 -0.7049504 +-0.1672000 -2.7779691 +-0.1671500 -2.0869629 +-0.1671000 -1.3959567 +-0.1670500 -3.4689754 +-0.1670000 -2.7779691 +-0.1669500 -4.1599816 +-0.1669000 -5.7723295 +-0.1668500 -3.2386400 +-0.1668000 -1.3959567 +-0.1667500 -3.6993108 +-0.1667000 -1.3959567 +-0.1666500 -3.9296462 +-0.1666000 -3.0083045 +-0.1665500 -4.3903170 +-0.1665000 -0.9352859 +-0.1664500 0.9073974 +-0.1664000 -1.3959567 +-0.1663500 -1.1656213 +-0.1663000 0.4467266 +-0.1662500 0.2163912 +-0.1662000 -0.9352859 +-0.1661500 -1.6262921 +-0.1661000 -1.6262921 +-0.1660500 -2.5476337 +-0.1660000 -3.2386400 +-0.1659500 -0.9352859 +-0.1659000 -2.0869629 +-0.1658500 -4.1599816 +-0.1658000 -5.0813232 +-0.1657500 -3.4689754 +-0.1657000 -3.2386400 +-0.1656500 -3.4689754 +-0.1656000 -2.7779691 +-0.1655500 -1.1656213 +-0.1655000 -2.5476337 +-0.1654500 -2.5476337 +-0.1654000 -4.6206524 +-0.1653500 -1.3959567 +-0.1653000 -0.9352859 +-0.1652500 1.8287391 +-0.1652000 0.2163912 +-0.1651500 3.6714223 +-0.1651000 -0.9352859 +-0.1650500 1.5984037 +-0.1650000 -0.0139442 +-0.1649500 -0.2442796 +-0.1649000 2.9804161 +-0.1648500 -0.7049504 +-0.1648000 0.6770620 +-0.1647500 -3.4689754 +-0.1647000 1.3680682 +-0.1646500 0.4467266 +-0.1646000 0.4467266 +-0.1645500 -0.9352859 +-0.1645000 -0.9352859 +-0.1644500 -4.1599816 +-0.1644000 -2.7779691 +-0.1643500 -3.2386400 +-0.1643000 -2.3172983 +-0.1642500 -1.3959567 +-0.1642000 -3.4689754 +-0.1641500 -3.0083045 +-0.1641000 -3.0083045 +-0.1640500 -3.4689754 +-0.1640000 -2.5476337 +-0.1639500 -1.3959567 +-0.1639000 -1.6262921 +-0.1638500 -0.7049504 +-0.1638000 1.1377328 +-0.1637500 -0.9352859 +-0.1637000 -2.0869629 +-0.1636500 -3.0083045 +-0.1636000 0.2163912 +-0.1635500 -3.2386400 +-0.1635000 1.1377328 +-0.1634500 -0.2442796 +-0.1634000 -2.3172983 +-0.1633500 -2.0869629 +-0.1633000 -3.0083045 +-0.1632500 -2.5476337 +-0.1632000 0.6770620 +-0.1631500 -2.5476337 +-0.1631000 -4.6206524 +-0.1630500 -1.6262921 +-0.1630000 -3.6993108 +-0.1629500 -2.3172983 +-0.1629000 -1.6262921 +-0.1628500 -2.3172983 +-0.1628000 0.2163912 +-0.1627500 -1.1656213 +-0.1627000 -0.7049504 +-0.1626500 0.4467266 +-0.1626000 0.2163912 +-0.1625500 -0.2442796 +-0.1625000 0.6770620 +-0.1624500 0.2163912 +-0.1624000 1.8287391 +-0.1623500 1.1377328 +-0.1623000 -0.4746150 +-0.1622500 0.2163912 +-0.1622000 -1.3959567 +-0.1621500 -0.2442796 +-0.1621000 0.2163912 +-0.1620500 -1.6262921 +-0.1620000 -2.0869629 +-0.1619500 -2.3172983 +-0.1619000 -0.2442796 +-0.1618500 -0.9352859 +-0.1618000 -1.3959567 +-0.1617500 -2.3172983 +-0.1617000 1.1377328 +-0.1616500 0.9073974 +-0.1616000 -0.9352859 +-0.1615500 2.2894099 +-0.1615000 0.6770620 +-0.1614500 0.9073974 +-0.1614000 -0.4746150 +-0.1613500 0.2163912 +-0.1613000 2.2894099 +-0.1612500 -0.2442796 +-0.1612000 -0.7049504 +-0.1611500 0.2163912 +-0.1611000 -0.2442796 +-0.1610500 -0.4746150 +-0.1610000 -2.0869629 +-0.1609500 -0.2442796 +-0.1609000 -1.6262921 +-0.1608500 0.2163912 +-0.1608000 -3.4689754 +-0.1607500 -4.1599816 +-0.1607000 -3.2386400 +-0.1606500 -4.1599816 +-0.1606000 -3.0083045 +-0.1605500 -3.9296462 +-0.1605000 -3.6993108 +-0.1604500 -3.0083045 +-0.1604000 -2.5476337 +-0.1603500 -5.7723295 +-0.1603000 -3.2386400 +-0.1602500 -0.4746150 +-0.1602000 -2.7779691 +-0.1601500 -2.5476337 +-0.1601000 -1.8566275 +-0.1600500 -0.7049504 +-0.1600000 -2.7779691 +-0.1599500 -0.0139442 +-0.1599000 -4.1599816 +-0.1598500 -0.7049504 +-0.1598000 -2.5476337 +-0.1597500 -5.5419941 +-0.1597000 -1.1656213 +-0.1596500 -3.0083045 +-0.1596000 -2.0869629 +-0.1595500 -3.0083045 +-0.1595000 -2.3172983 +-0.1594500 -2.7779691 +-0.1594000 -1.8566275 +-0.1593500 -0.2442796 +-0.1593000 -0.9352859 +-0.1592500 -0.7049504 +-0.1592000 1.8287391 +-0.1591500 2.7500807 +-0.1591000 -0.9352859 +-0.1590500 1.3680682 +-0.1590000 0.6770620 +-0.1589500 2.5197453 +-0.1589000 3.2107515 +-0.1588500 2.2894099 +-0.1588000 2.7500807 +-0.1587500 1.1377328 +-0.1587000 1.1377328 +-0.1586500 -1.8566275 +-0.1586000 4.1320932 +-0.1585500 2.0590745 +-0.1585000 3.4410869 +-0.1584500 2.0590745 +-0.1584000 3.9017578 +-0.1583500 3.2107515 +-0.1583000 2.5197453 +-0.1582500 2.2894099 +-0.1582000 5.5141056 +-0.1581500 2.9804161 +-0.1581000 2.0590745 +-0.1580500 3.9017578 +-0.1580000 0.9073974 +-0.1579500 2.0590745 +-0.1579000 0.2163912 +-0.1578500 -3.9296462 +-0.1578000 -2.3172983 +-0.1577500 1.3680682 +-0.1577000 -0.4746150 +-0.1576500 1.3680682 +-0.1576000 1.3680682 +-0.1575500 0.6770620 +-0.1575000 1.1377328 +-0.1574500 -1.6262921 +-0.1574000 -1.3959567 +-0.1573500 -1.6262921 +-0.1573000 -3.9296462 +-0.1572500 -0.2442796 +-0.1572000 1.8287391 +-0.1571500 0.2163912 +-0.1571000 1.1377328 +-0.1570500 1.1377328 +-0.1570000 0.9073974 +-0.1569500 1.3680682 +-0.1569000 0.9073974 +-0.1568500 1.3680682 +-0.1568000 -3.4689754 +-0.1567500 -3.2386400 +-0.1567000 -3.0083045 +-0.1566500 -2.5476337 +-0.1566000 -2.0869629 +-0.1565500 -3.9296462 +-0.1565000 -7.3846773 +-0.1564500 -3.4689754 +-0.1564000 -5.3116586 +-0.1563500 -3.0083045 +-0.1563000 -4.8509878 +-0.1562500 -5.5419941 +-0.1562000 -1.6262921 +-0.1561500 -2.0869629 +-0.1561000 -1.6262921 +-0.1560500 -3.0083045 +-0.1560000 1.1377328 +-0.1559500 -1.8566275 +-0.1559000 -0.0139442 +-0.1558500 -2.0869629 +-0.1558000 -0.9352859 +-0.1557500 0.6770620 +-0.1557000 0.2163912 +-0.1556500 0.6770620 +-0.1556000 1.1377328 +-0.1555500 1.1377328 +-0.1555000 -1.1656213 +-0.1554500 -0.7049504 +-0.1554000 -0.4746150 +-0.1553500 0.4467266 +-0.1553000 -0.9352859 +-0.1552500 -1.8566275 +-0.1552000 -0.9352859 +-0.1551500 1.1377328 +-0.1551000 2.0590745 +-0.1550500 2.2894099 +-0.1550000 2.2894099 +-0.1549500 -0.0139442 +-0.1549000 2.2894099 +-0.1548500 3.2107515 +-0.1548000 2.2894099 +-0.1547500 3.2107515 +-0.1547000 -0.0139442 +-0.1546500 0.9073974 +-0.1546000 -1.8566275 +-0.1545500 3.4410869 +-0.1545000 -0.7049504 +-0.1544500 1.1377328 +-0.1544000 -0.2442796 +-0.1543500 -0.0139442 +-0.1543000 0.4467266 +-0.1542500 1.5984037 +-0.1542000 -0.4746150 +-0.1541500 1.3680682 +-0.1541000 0.2163912 +-0.1540500 1.8287391 +-0.1540000 -0.2442796 +-0.1539500 3.2107515 +-0.1539000 0.9073974 +-0.1538500 2.2894099 +-0.1538000 0.6770620 +-0.1537500 0.6770620 +-0.1537000 0.4467266 +-0.1536500 -0.4746150 +-0.1536000 1.1377328 +-0.1535500 0.9073974 +-0.1535000 -0.2442796 +-0.1534500 -0.4746150 +-0.1534000 -0.0139442 +-0.1533500 -0.0139442 +-0.1533000 0.9073974 +-0.1532500 0.4467266 +-0.1532000 0.6770620 +-0.1531500 -2.0869629 +-0.1531000 -0.7049504 +-0.1530500 -0.4746150 +-0.1530000 -2.3172983 +-0.1529500 -0.7049504 +-0.1529000 -3.0083045 +-0.1528500 -1.8566275 +-0.1528000 -3.4689754 +-0.1527500 -1.8566275 +-0.1527000 -2.5476337 +-0.1526500 -1.3959567 +-0.1526000 -1.6262921 +-0.1525500 -1.8566275 +-0.1525000 -5.3116586 +-0.1524500 -1.3959567 +-0.1524000 -1.8566275 +-0.1523500 -4.6206524 +-0.1523000 0.2163912 +-0.1522500 -1.6262921 +-0.1522000 0.4467266 +-0.1521500 0.6770620 +-0.1521000 -1.8566275 +-0.1520500 -2.3172983 +-0.1520000 -2.5476337 +-0.1519500 -0.7049504 +-0.1519000 -0.4746150 +-0.1518500 -0.7049504 +-0.1518000 -1.1656213 +-0.1517500 -1.8566275 +-0.1517000 -0.2442796 +-0.1516500 -2.3172983 +-0.1516000 -2.3172983 +-0.1515500 -3.4689754 +-0.1515000 -3.9296462 +-0.1514500 -1.8566275 +-0.1514000 -2.0869629 +-0.1513500 -2.3172983 +-0.1513000 0.9073974 +-0.1512500 -4.8509878 +-0.1512000 -1.1656213 +-0.1511500 -1.1656213 +-0.1511000 -0.9352859 +-0.1510500 -0.7049504 +-0.1510000 -0.7049504 +-0.1509500 -0.7049504 +-0.1509000 2.0590745 +-0.1508500 -0.9352859 +-0.1508000 1.5984037 +-0.1507500 0.9073974 +-0.1507000 2.7500807 +-0.1506500 3.2107515 +-0.1506000 1.8287391 +-0.1505500 -0.4746150 +-0.1505000 -1.6262921 +-0.1504500 -3.9296462 +-0.1504000 -5.7723295 +-0.1503500 -4.1599816 +-0.1503000 -5.5419941 +-0.1502500 -3.6993108 +-0.1502000 -2.5476337 +-0.1501500 -2.0869629 +-0.1501000 -1.8566275 +-0.1500500 -4.6206524 +-0.1500000 -4.3903170 +-0.1499500 -2.3172983 +-0.1499000 -0.7049504 +-0.1498500 -0.4746150 +-0.1498000 0.4467266 +-0.1497500 1.5984037 +-0.1497000 1.5984037 +-0.1496500 -0.0139442 +-0.1496000 0.4467266 +-0.1495500 -1.1656213 +-0.1495000 2.0590745 +-0.1494500 0.4467266 +-0.1494000 0.9073974 +-0.1493500 -0.7049504 +-0.1493000 -1.1656213 +-0.1492500 -3.6993108 +-0.1492000 -1.3959567 +-0.1491500 0.6770620 +-0.1491000 -3.0083045 +-0.1490500 -3.9296462 +-0.1490000 -0.4746150 +-0.1489500 -1.8566275 +-0.1489000 -1.3959567 +-0.1488500 -1.6262921 +-0.1488000 -1.3959567 +-0.1487500 -1.8566275 +-0.1487000 -1.6262921 +-0.1486500 -0.4746150 +-0.1486000 -1.8566275 +-0.1485500 -3.2386400 +-0.1485000 -3.4689754 +-0.1484500 -1.1656213 +-0.1484000 -5.5419941 +-0.1483500 -0.0139442 +-0.1483000 -3.4689754 +-0.1482500 -1.8566275 +-0.1482000 0.4467266 +-0.1481500 -2.0869629 +-0.1481000 -3.0083045 +-0.1480500 0.6770620 +-0.1480000 -0.4746150 +-0.1479500 -1.3959567 +-0.1479000 -3.0083045 +-0.1478500 -2.0869629 +-0.1478000 -3.2386400 +-0.1477500 -2.0869629 +-0.1477000 -1.6262921 +-0.1476500 -1.1656213 +-0.1476000 -1.3959567 +-0.1475500 -3.2386400 +-0.1475000 -1.6262921 +-0.1474500 -1.8566275 +-0.1474000 -1.8566275 +-0.1473500 -2.0869629 +-0.1473000 -0.7049504 +-0.1472500 -1.3959567 +-0.1472000 -4.3903170 +-0.1471500 -3.0083045 +-0.1471000 -3.2386400 +-0.1470500 -2.5476337 +-0.1470000 -4.8509878 +-0.1469500 -3.6993108 +-0.1469000 -3.6993108 +-0.1468500 -1.8566275 +-0.1468000 -2.5476337 +-0.1467500 -4.1599816 +-0.1467000 -0.2442796 +-0.1466500 -3.2386400 +-0.1466000 2.2894099 +-0.1465500 0.4467266 +-0.1465000 1.1377328 +-0.1464500 -0.4746150 +-0.1464000 -1.8566275 +-0.1463500 0.6770620 +-0.1463000 -3.0083045 +-0.1462500 -4.3903170 +-0.1462000 -3.4689754 +-0.1461500 -0.7049504 +-0.1461000 -3.0083045 +-0.1460500 -3.6993108 +-0.1460000 -1.8566275 +-0.1459500 -3.0083045 +-0.1459000 -3.0083045 +-0.1458500 -0.4746150 +-0.1458000 -2.5476337 +-0.1457500 -1.6262921 +-0.1457000 -2.5476337 +-0.1456500 -2.3172983 +-0.1456000 -0.4746150 +-0.1455500 -1.6262921 +-0.1455000 -3.4689754 +-0.1454500 -2.3172983 +-0.1454000 -2.0869629 +-0.1453500 -1.6262921 +-0.1453000 -0.2442796 +-0.1452500 -0.7049504 +-0.1452000 -0.2442796 +-0.1451500 -0.0139442 +-0.1451000 -1.1656213 +-0.1450500 -1.8566275 +-0.1450000 -1.1656213 +-0.1449500 0.2163912 +-0.1449000 0.9073974 +-0.1448500 -0.9352859 +-0.1448000 -1.8566275 +-0.1447500 0.6770620 +-0.1447000 1.5984037 +-0.1446500 -1.6262921 +-0.1446000 -1.1656213 +-0.1445500 -3.9296462 +-0.1445000 -1.3959567 +-0.1444500 -3.0083045 +-0.1444000 -3.9296462 +-0.1443500 -3.0083045 +-0.1443000 -3.0083045 +-0.1442500 -3.2386400 +-0.1442000 -0.7049504 +-0.1441500 -3.4689754 +-0.1441000 -0.4746150 +-0.1440500 -2.3172983 +-0.1440000 -3.9296462 +-0.1439500 -2.5476337 +-0.1439000 -0.2442796 +-0.1438500 0.9073974 +-0.1438000 -0.9352859 +-0.1437500 0.6770620 +-0.1437000 -2.0869629 +-0.1436500 -0.0139442 +-0.1436000 -2.7779691 +-0.1435500 -1.1656213 +-0.1435000 -0.2442796 +-0.1434500 -0.0139442 +-0.1434000 -1.3959567 +-0.1433500 -1.1656213 +-0.1433000 -2.3172983 +-0.1432500 -0.7049504 +-0.1432000 -0.2442796 +-0.1431500 -0.4746150 +-0.1431000 0.4467266 +-0.1430500 0.4467266 +-0.1430000 -1.3959567 +-0.1429500 -2.3172983 +-0.1429000 -0.9352859 +-0.1428500 -0.2442796 +-0.1428000 -0.4746150 +-0.1427500 2.0590745 +-0.1427000 1.3680682 +-0.1426500 -2.7779691 +-0.1426000 -0.4746150 +-0.1425500 0.2163912 +-0.1425000 -0.4746150 +-0.1424500 0.9073974 +-0.1424000 1.5984037 +-0.1423500 0.6770620 +-0.1423000 1.3680682 +-0.1422500 -2.5476337 +-0.1422000 -3.6993108 +-0.1421500 -2.0869629 +-0.1421000 -0.0139442 +-0.1420500 -0.9352859 +-0.1420000 -2.3172983 +-0.1419500 0.2163912 +-0.1419000 -3.2386400 +-0.1418500 -2.5476337 +-0.1418000 -0.0139442 +-0.1417500 -2.0869629 +-0.1417000 2.0590745 +-0.1416500 -1.3959567 +-0.1416000 -0.9352859 +-0.1415500 0.2163912 +-0.1415000 -0.7049504 +-0.1414500 0.9073974 +-0.1414000 -1.3959567 +-0.1413500 -0.2442796 +-0.1413000 -1.1656213 +-0.1412500 0.6770620 +-0.1412000 -2.5476337 +-0.1411500 -1.6262921 +-0.1411000 -1.6262921 +-0.1410500 -2.3172983 +-0.1410000 -3.0083045 +-0.1409500 -3.6993108 +-0.1409000 -2.3172983 +-0.1408500 -0.2442796 +-0.1408000 -5.0813232 +-0.1407500 -2.7779691 +-0.1407000 -3.0083045 +-0.1406500 -4.1599816 +-0.1406000 -3.4689754 +-0.1405500 -1.6262921 +-0.1405000 -0.9352859 +-0.1404500 -2.5476337 +-0.1404000 -1.8566275 +-0.1403500 -0.2442796 +-0.1403000 -1.8566275 +-0.1402500 -1.3959567 +-0.1402000 0.6770620 +-0.1401500 -1.3959567 +-0.1401000 -0.7049504 +-0.1400500 -0.9352859 +-0.1400000 -0.7049504 +-0.1399500 -0.0139442 +-0.1399000 -2.3172983 +-0.1398500 -2.3172983 +-0.1398000 -0.4746150 +-0.1397500 -1.3959567 +-0.1397000 -0.2442796 +-0.1396500 0.6770620 +-0.1396000 -1.6262921 +-0.1395500 -2.7779691 +-0.1395000 -0.4746150 +-0.1394500 -0.4746150 +-0.1394000 0.2163912 +-0.1393500 1.3680682 +-0.1393000 0.9073974 +-0.1392500 1.1377328 +-0.1392000 0.9073974 +-0.1391500 1.8287391 +-0.1391000 2.7500807 +-0.1390500 0.2163912 +-0.1390000 2.7500807 +-0.1389500 0.9073974 +-0.1389000 1.1377328 +-0.1388500 2.2894099 +-0.1388000 2.9804161 +-0.1387500 -0.7049504 +-0.1387000 -0.7049504 +-0.1386500 1.3680682 +-0.1386000 2.7500807 +-0.1385500 2.0590745 +-0.1385000 0.9073974 +-0.1384500 2.2894099 +-0.1384000 2.7500807 +-0.1383500 1.3680682 +-0.1383000 1.1377328 +-0.1382500 -0.7049504 +-0.1382000 1.5984037 +-0.1381500 -0.9352859 +-0.1381000 -1.8566275 +-0.1380500 1.1377328 +-0.1380000 0.4467266 +-0.1379500 1.8287391 +-0.1379000 1.1377328 +-0.1378500 -1.1656213 +-0.1378000 3.9017578 +-0.1377500 1.5984037 +-0.1377000 -1.3959567 +-0.1376500 -0.2442796 +-0.1376000 1.3680682 +-0.1375500 -0.4746150 +-0.1375000 -0.4746150 +-0.1374500 -1.1656213 +-0.1374000 -0.2442796 +-0.1373500 -1.3959567 +-0.1373000 -1.3959567 +-0.1372500 -1.8566275 +-0.1372000 -1.6262921 +-0.1371500 -2.5476337 +-0.1371000 -0.2442796 +-0.1370500 -2.7779691 +-0.1370000 -1.8566275 +-0.1369500 -3.2386400 +-0.1369000 -0.7049504 +-0.1368500 -3.9296462 +-0.1368000 -1.3959567 +-0.1367500 -2.0869629 +-0.1367000 -3.2386400 +-0.1366500 -3.9296462 +-0.1366000 -4.1599816 +-0.1365500 -5.0813232 +-0.1365000 -2.5476337 +-0.1364500 -1.8566275 +-0.1364000 -6.2330003 +-0.1363500 -3.0083045 +-0.1363000 -2.3172983 +-0.1362500 -1.3959567 +-0.1362000 -3.6993108 +-0.1361500 -2.7779691 +-0.1361000 0.2163912 +-0.1360500 -1.3959567 +-0.1360000 -0.0139442 +-0.1359500 -0.4746150 +-0.1359000 -1.1656213 +-0.1358500 3.2107515 +-0.1358000 1.3680682 +-0.1357500 1.8287391 +-0.1357000 0.9073974 +-0.1356500 0.2163912 +-0.1356000 2.2894099 +-0.1355500 4.1320932 +-0.1355000 2.2894099 +-0.1354500 -1.1656213 +-0.1354000 1.8287391 +-0.1353500 1.1377328 +-0.1353000 2.0590745 +-0.1352500 2.7500807 +-0.1352000 2.5197453 +-0.1351500 2.2894099 +-0.1351000 3.9017578 +-0.1350500 -0.0139442 +-0.1350000 3.9017578 +-0.1349500 1.3680682 +-0.1349000 2.5197453 +-0.1348500 3.4410869 +-0.1348000 3.2107515 +-0.1347500 5.2837702 +-0.1347000 4.1320932 +-0.1346500 4.1320932 +-0.1346000 2.9804161 +-0.1345500 1.8287391 +-0.1345000 2.7500807 +-0.1344500 2.5197453 +-0.1344000 1.8287391 +-0.1343500 0.9073974 +-0.1343000 1.5984037 +-0.1342500 -0.9352859 +-0.1342000 2.2894099 +-0.1341500 -0.4746150 +-0.1341000 1.8287391 +-0.1340500 0.6770620 +-0.1340000 -1.6262921 +-0.1339500 0.4467266 +-0.1339000 -0.2442796 +-0.1338500 -1.8566275 +-0.1338000 -0.0139442 +-0.1337500 -0.7049504 +-0.1337000 0.6770620 +-0.1336500 -2.0869629 +-0.1336000 -2.7779691 +-0.1335500 -1.1656213 +-0.1335000 -1.1656213 +-0.1334500 -0.2442796 +-0.1334000 -1.1656213 +-0.1333500 1.5984037 +-0.1333000 -2.0869629 +-0.1332500 -1.8566275 +-0.1332000 -0.0139442 +-0.1331500 -0.4746150 +-0.1331000 -1.1656213 +-0.1330500 -2.0869629 +-0.1330000 -1.1656213 +-0.1329500 -4.1599816 +-0.1329000 -1.8566275 +-0.1328500 -1.8566275 +-0.1328000 -3.0083045 +-0.1327500 -1.1656213 +-0.1327000 -2.5476337 +-0.1326500 -2.5476337 +-0.1326000 -2.5476337 +-0.1325500 -1.6262921 +-0.1325000 -1.1656213 +-0.1324500 -1.6262921 +-0.1324000 -1.6262921 +-0.1323500 0.4467266 +-0.1323000 -3.2386400 +-0.1322500 -0.4746150 +-0.1322000 -0.0139442 +-0.1321500 -1.1656213 +-0.1321000 0.2163912 +-0.1320500 1.3680682 +-0.1320000 -0.2442796 +-0.1319500 2.9804161 +-0.1319000 -1.8566275 +-0.1318500 1.3680682 +-0.1318000 1.5984037 +-0.1317500 -2.5476337 +-0.1317000 -2.7779691 +-0.1316500 -1.1656213 +-0.1316000 0.2163912 +-0.1315500 0.4467266 +-0.1315000 -0.2442796 +-0.1314500 -0.0139442 +-0.1314000 1.5984037 +-0.1313500 -0.4746150 +-0.1313000 -2.3172983 +-0.1312500 1.1377328 +-0.1312000 1.8287391 +-0.1311500 -0.4746150 +-0.1311000 0.6770620 +-0.1310500 2.0590745 +-0.1310000 1.8287391 +-0.1309500 -2.0869629 +-0.1309000 0.6770620 +-0.1308500 1.1377328 +-0.1308000 -0.9352859 +-0.1307500 -0.0139442 +-0.1307000 0.6770620 +-0.1306500 3.4410869 +-0.1306000 -0.4746150 +-0.1305500 -1.1656213 +-0.1305000 -2.3172983 +-0.1304500 -4.1599816 +-0.1304000 -1.3959567 +-0.1303500 -2.5476337 +-0.1303000 -4.8509878 +-0.1302500 -4.3903170 +-0.1302000 -3.2386400 +-0.1301500 -3.0083045 +-0.1301000 -4.1599816 +-0.1300500 -0.0139442 +-0.1300000 -2.7779691 +-0.1299500 -0.7049504 +-0.1299000 -1.8566275 +-0.1298500 -0.7049504 +-0.1298000 -2.0869629 +-0.1297500 -0.0139442 +-0.1297000 1.5984037 +-0.1296500 0.9073974 +-0.1296000 -1.8566275 +-0.1295500 -0.4746150 +-0.1295000 -1.6262921 +-0.1294500 -3.9296462 +-0.1294000 -0.4746150 +-0.1293500 -2.0869629 +-0.1293000 -4.1599816 +-0.1292500 -1.3959567 +-0.1292000 -1.1656213 +-0.1291500 -3.4689754 +-0.1291000 -3.9296462 +-0.1290500 -2.3172983 +-0.1290000 -1.8566275 +-0.1289500 -3.0083045 +-0.1289000 -4.3903170 +-0.1288500 -2.0869629 +-0.1288000 -1.8566275 +-0.1287500 -3.2386400 +-0.1287000 -0.7049504 +-0.1286500 0.2163912 +-0.1286000 -0.2442796 +-0.1285500 1.8287391 +-0.1285000 0.4467266 +-0.1284500 -3.4689754 +-0.1284000 -1.8566275 +-0.1283500 0.2163912 +-0.1283000 -0.9352859 +-0.1282500 -1.1656213 +-0.1282000 -2.5476337 +-0.1281500 -0.4746150 +-0.1281000 -1.1656213 +-0.1280500 -3.0083045 +-0.1280000 -1.1656213 +-0.1279500 -2.0869629 +-0.1279000 -0.4746150 +-0.1278500 -1.8566275 +-0.1278000 -0.2442796 +-0.1277500 -1.3959567 +-0.1277000 -0.4746150 +-0.1276500 2.2894099 +-0.1276000 -1.8566275 +-0.1275500 -2.0869629 +-0.1275000 0.4467266 +-0.1274500 -2.7779691 +-0.1274000 -0.2442796 +-0.1273500 0.9073974 +-0.1273000 0.6770620 +-0.1272500 -3.4689754 +-0.1272000 -3.6993108 +-0.1271500 -5.3116586 +-0.1271000 -4.1599816 +-0.1270500 -3.0083045 +-0.1270000 -6.0026649 +-0.1269500 -4.3903170 +-0.1269000 -5.3116586 +-0.1268500 -3.9296462 +-0.1268000 -5.3116586 +-0.1267500 -3.0083045 +-0.1267000 -2.7779691 +-0.1266500 -1.6262921 +-0.1266000 -1.1656213 +-0.1265500 -1.6262921 +-0.1265000 0.2163912 +-0.1264500 0.6770620 +-0.1264000 -0.9352859 +-0.1263500 0.6770620 +-0.1263000 -1.8566275 +-0.1262500 1.1377328 +-0.1262000 0.6770620 +-0.1261500 -2.7779691 +-0.1261000 -2.7779691 +-0.1260500 -0.2442796 +-0.1260000 -0.4746150 +-0.1259500 -2.3172983 +-0.1259000 -4.1599816 +-0.1258500 -3.2386400 +-0.1258000 -3.6993108 +-0.1257500 -4.3903170 +-0.1257000 -2.0869629 +-0.1256500 -2.5476337 +-0.1256000 -0.9352859 +-0.1255500 0.2163912 +-0.1255000 0.2163912 +-0.1254500 -1.3959567 +-0.1254000 -0.2442796 +-0.1253500 1.1377328 +-0.1253000 -0.7049504 +-0.1252500 2.5197453 +-0.1252000 1.3680682 +-0.1251500 1.3680682 +-0.1251000 0.2163912 +-0.1250500 0.6770620 +-0.1250000 -0.7049504 +-0.1249500 -0.2442796 +-0.1249000 -1.3959567 +-0.1248500 -1.6262921 +-0.1248000 -0.0139442 +-0.1247500 -2.0869629 +-0.1247000 -1.8566275 +-0.1246500 -2.5476337 +-0.1246000 -1.1656213 +-0.1245500 -2.0869629 +-0.1245000 -0.7049504 +-0.1244500 -1.8566275 +-0.1244000 -1.8566275 +-0.1243500 -2.5476337 +-0.1243000 -2.0869629 +-0.1242500 -2.7779691 +-0.1242000 -0.7049504 +-0.1241500 -2.5476337 +-0.1241000 -0.9352859 +-0.1240500 -0.0139442 +-0.1240000 -0.4746150 +-0.1239500 -2.7779691 +-0.1239000 -1.3959567 +-0.1238500 -0.0139442 +-0.1238000 0.2163912 +-0.1237500 0.6770620 +-0.1237000 -1.6262921 +-0.1236500 -2.3172983 +-0.1236000 -3.0083045 +-0.1235500 -1.8566275 +-0.1235000 -0.7049504 +-0.1234500 -0.9352859 +-0.1234000 -0.0139442 +-0.1233500 -1.8566275 +-0.1233000 1.3680682 +-0.1232500 -1.3959567 +-0.1232000 -2.5476337 +-0.1231500 0.6770620 +-0.1231000 -0.9352859 +-0.1230500 -1.3959567 +-0.1230000 -2.3172983 +-0.1229500 -1.3959567 +-0.1229000 1.8287391 +-0.1228500 -2.3172983 +-0.1228000 -1.6262921 +-0.1227500 -0.0139442 +-0.1227000 0.4467266 +-0.1226500 -0.7049504 +-0.1226000 -0.4746150 +-0.1225500 -2.7779691 +-0.1225000 -2.0869629 +-0.1224500 1.5984037 +-0.1224000 -0.0139442 +-0.1223500 -0.4746150 +-0.1223000 -0.4746150 +-0.1222500 -0.4746150 +-0.1222000 -1.6262921 +-0.1221500 -0.0139442 +-0.1221000 0.2163912 +-0.1220500 -0.0139442 +-0.1220000 -3.2386400 +-0.1219500 -1.3959567 +-0.1219000 0.9073974 +-0.1218500 -1.8566275 +-0.1218000 1.1377328 +-0.1217500 2.0590745 +-0.1217000 1.1377328 +-0.1216500 -0.0139442 +-0.1216000 -0.4746150 +-0.1215500 0.6770620 +-0.1215000 -0.2442796 +-0.1214500 0.6770620 +-0.1214000 -0.9352859 +-0.1213500 -0.9352859 +-0.1213000 -0.9352859 +-0.1212500 1.5984037 +-0.1212000 -2.3172983 +-0.1211500 -1.3959567 +-0.1211000 -1.8566275 +-0.1210500 -0.0139442 +-0.1210000 -0.7049504 +-0.1209500 -2.3172983 +-0.1209000 -0.7049504 +-0.1208500 -1.6262921 +-0.1208000 -4.8509878 +-0.1207500 -3.0083045 +-0.1207000 -0.4746150 +-0.1206500 -3.4689754 +-0.1206000 -2.7779691 +-0.1205500 -3.4689754 +-0.1205000 -1.3959567 +-0.1204500 0.6770620 +-0.1204000 -1.1656213 +-0.1203500 1.8287391 +-0.1203000 2.5197453 +-0.1202500 -0.4746150 +-0.1202000 1.3680682 +-0.1201500 3.9017578 +-0.1201000 0.2163912 +-0.1200500 2.5197453 +-0.1200000 2.0590745 +-0.1199500 1.5984037 +-0.1199000 2.2894099 +-0.1198500 -0.2442796 +-0.1198000 -0.4746150 +-0.1197500 0.9073974 +-0.1197000 3.6714223 +-0.1196500 -1.6262921 +-0.1196000 3.6714223 +-0.1195500 1.5984037 +-0.1195000 1.5984037 +-0.1194500 1.8287391 +-0.1194000 2.7500807 +-0.1193500 2.5197453 +-0.1193000 2.2894099 +-0.1192500 3.9017578 +-0.1192000 2.0590745 +-0.1191500 4.1320932 +-0.1191000 3.6714223 +-0.1190500 3.4410869 +-0.1190000 2.0590745 +-0.1189500 3.4410869 +-0.1189000 0.6770620 +-0.1188500 2.2894099 +-0.1188000 -0.2442796 +-0.1187500 0.6770620 +-0.1187000 -0.9352859 +-0.1186500 1.8287391 +-0.1186000 2.2894099 +-0.1185500 -0.2442796 +-0.1185000 0.6770620 +-0.1184500 -0.0139442 +-0.1184000 2.0590745 +-0.1183500 -1.3959567 +-0.1183000 -2.0869629 +-0.1182500 0.9073974 +-0.1182000 1.5984037 +-0.1181500 -0.9352859 +-0.1181000 -2.7779691 +-0.1180500 -1.3959567 +-0.1180000 -1.1656213 +-0.1179500 -1.1656213 +-0.1179000 -0.7049504 +-0.1178500 -2.5476337 +-0.1178000 -3.6993108 +-0.1177500 -1.6262921 +-0.1177000 -0.7049504 +-0.1176500 -3.4689754 +-0.1176000 -1.8566275 +-0.1175500 -2.7779691 +-0.1175000 -0.9352859 +-0.1174500 -2.0869629 +-0.1174000 -0.9352859 +-0.1173500 0.6770620 +-0.1173000 -5.0813232 +-0.1172500 -1.8566275 +-0.1172000 2.9804161 +-0.1171500 -1.8566275 +-0.1171000 -1.3959567 +-0.1170500 -1.1656213 +-0.1170000 -0.0139442 +-0.1169500 -0.2442796 +-0.1169000 0.2163912 +-0.1168500 0.2163912 +-0.1168000 -0.0139442 +-0.1167500 -0.4746150 +-0.1167000 -0.9352859 +-0.1166500 -0.9352859 +-0.1166000 -1.8566275 +-0.1165500 -3.0083045 +-0.1165000 -0.2442796 +-0.1164500 0.4467266 +-0.1164000 0.4467266 +-0.1163500 1.5984037 +-0.1163000 -0.9352859 +-0.1162500 1.1377328 +-0.1162000 3.4410869 +-0.1161500 2.7500807 +-0.1161000 2.0590745 +-0.1160500 3.4410869 +-0.1160000 3.2107515 +-0.1159500 3.6714223 +-0.1159000 6.2051119 +-0.1158500 5.5141056 +-0.1158000 5.0534348 +-0.1157500 3.6714223 +-0.1157000 5.2837702 +-0.1156500 1.8287391 +-0.1156000 2.9804161 +-0.1155500 4.8230994 +-0.1155000 3.4410869 +-0.1154500 2.2894099 +-0.1154000 1.1377328 +-0.1153500 2.2894099 +-0.1153000 -0.7049504 +-0.1152500 0.9073974 +-0.1152000 1.1377328 +-0.1151500 2.7500807 +-0.1151000 2.2894099 +-0.1150500 1.8287391 +-0.1150000 3.2107515 +-0.1149500 2.2894099 +-0.1149000 0.4467266 +-0.1148500 0.6770620 +-0.1148000 0.2163912 +-0.1147500 -0.0139442 +-0.1147000 1.8287391 +-0.1146500 2.0590745 +-0.1146000 -1.8566275 +-0.1145500 1.8287391 +-0.1145000 2.2894099 +-0.1144500 -2.3172983 +-0.1144000 0.6770620 +-0.1143500 0.4467266 +-0.1143000 0.4467266 +-0.1142500 -0.9352859 +-0.1142000 0.2163912 +-0.1141500 -0.7049504 +-0.1141000 -0.7049504 +-0.1140500 -2.3172983 +-0.1140000 -1.1656213 +-0.1139500 -2.5476337 +-0.1139000 -2.5476337 +-0.1138500 -2.3172983 +-0.1138000 -4.6206524 +-0.1137500 -1.1656213 +-0.1137000 -1.6262921 +-0.1136500 -2.3172983 +-0.1136000 -1.8566275 +-0.1135500 -1.6262921 +-0.1135000 -0.4746150 +-0.1134500 -0.7049504 +-0.1134000 -4.6206524 +-0.1133500 -1.3959567 +-0.1133000 -1.1656213 +-0.1132500 -1.3959567 +-0.1132000 0.4467266 +-0.1131500 -0.9352859 +-0.1131000 -2.0869629 +-0.1130500 -1.1656213 +-0.1130000 -0.7049504 +-0.1129500 -3.6993108 +-0.1129000 2.7500807 +-0.1128500 0.4467266 +-0.1128000 -1.8566275 +-0.1127500 -1.3959567 +-0.1127000 0.4467266 +-0.1126500 1.8287391 +-0.1126000 0.2163912 +-0.1125500 -0.0139442 +-0.1125000 0.9073974 +-0.1124500 3.2107515 +-0.1124000 3.4410869 +-0.1123500 1.3680682 +-0.1123000 1.1377328 +-0.1122500 1.5984037 +-0.1122000 -0.0139442 +-0.1121500 -0.2442796 +-0.1121000 0.9073974 +-0.1120500 1.5984037 +-0.1120000 1.3680682 +-0.1119500 0.9073974 +-0.1119000 0.4467266 +-0.1118500 0.2163912 +-0.1118000 0.4467266 +-0.1117500 -2.0869629 +-0.1117000 0.2163912 +-0.1116500 -0.2442796 +-0.1116000 1.5984037 +-0.1115500 -0.0139442 +-0.1115000 1.3680682 +-0.1114500 -1.1656213 +-0.1114000 0.6770620 +-0.1113500 -1.8566275 +-0.1113000 -1.3959567 +-0.1112500 -2.0869629 +-0.1112000 2.0590745 +-0.1111500 3.4410869 +-0.1111000 0.2163912 +-0.1110500 -0.4746150 +-0.1110000 0.4467266 +-0.1109500 1.3680682 +-0.1109000 0.6770620 +-0.1108500 0.2163912 +-0.1108000 -1.1656213 +-0.1107500 -0.9352859 +-0.1107000 -0.9352859 +-0.1106500 0.9073974 +-0.1106000 -0.7049504 +-0.1105500 -3.0083045 +-0.1105000 -2.7779691 +-0.1104500 -0.4746150 +-0.1104000 -1.3959567 +-0.1103500 -2.3172983 +-0.1103000 -2.5476337 +-0.1102500 -1.6262921 +-0.1102000 -0.9352859 +-0.1101500 -0.7049504 +-0.1101000 -0.4746150 +-0.1100500 -0.2442796 +-0.1100000 -0.9352859 +-0.1099500 -0.4746150 +-0.1099000 0.6770620 +-0.1098500 -0.4746150 +-0.1098000 -0.0139442 +-0.1097500 -0.0139442 +-0.1097000 -0.0139442 +-0.1096500 1.3680682 +-0.1096000 0.2163912 +-0.1095500 -0.4746150 +-0.1095000 -1.6262921 +-0.1094500 -0.9352859 +-0.1094000 -1.1656213 +-0.1093500 -1.1656213 +-0.1093000 -0.2442796 +-0.1092500 -1.1656213 +-0.1092000 -2.3172983 +-0.1091500 -1.3959567 +-0.1091000 -1.3959567 +-0.1090500 -1.6262921 +-0.1090000 -0.7049504 +-0.1089500 -0.9352859 +-0.1089000 0.6770620 +-0.1088500 -1.6262921 +-0.1088000 0.2163912 +-0.1087500 -0.9352859 +-0.1087000 0.6770620 +-0.1086500 -1.3959567 +-0.1086000 -3.4689754 +-0.1085500 -0.7049504 +-0.1085000 -0.4746150 +-0.1084500 -2.0869629 +-0.1084000 -1.8566275 +-0.1083500 -3.2386400 +-0.1083000 -3.6993108 +-0.1082500 -4.6206524 +-0.1082000 -0.7049504 +-0.1081500 -2.5476337 +-0.1081000 -1.8566275 +-0.1080500 -1.3959567 +-0.1080000 -1.1656213 +-0.1079500 -0.4746150 +-0.1079000 -2.0869629 +-0.1078500 -1.6262921 +-0.1078000 -3.0083045 +-0.1077500 -0.7049504 +-0.1077000 -1.8566275 +-0.1076500 -2.0869629 +-0.1076000 -0.7049504 +-0.1075500 -0.9352859 +-0.1075000 -1.8566275 +-0.1074500 -1.6262921 +-0.1074000 -0.2442796 +-0.1073500 -0.0139442 +-0.1073000 -3.2386400 +-0.1072500 -3.2386400 +-0.1072000 -2.0869629 +-0.1071500 -1.8566275 +-0.1071000 -2.7779691 +-0.1070500 -5.7723295 +-0.1070000 -3.0083045 +-0.1069500 0.9073974 +-0.1069000 -0.0139442 +-0.1068500 -3.0083045 +-0.1068000 2.5197453 +-0.1067500 -0.7049504 +-0.1067000 1.3680682 +-0.1066500 -0.0139442 +-0.1066000 2.2894099 +-0.1065500 -2.0869629 +-0.1065000 -0.4746150 +-0.1064500 1.3680682 +-0.1064000 -1.6262921 +-0.1063500 2.9804161 +-0.1063000 -0.2442796 +-0.1062500 -0.2442796 +-0.1062000 0.4467266 +-0.1061500 -0.9352859 +-0.1061000 -5.0813232 +-0.1060500 -2.3172983 +-0.1060000 -3.9296462 +-0.1059500 -3.0083045 +-0.1059000 -1.8566275 +-0.1058500 0.4467266 +-0.1058000 -1.6262921 +-0.1057500 -1.8566275 +-0.1057000 1.8287391 +-0.1056500 -1.3959567 +-0.1056000 0.4467266 +-0.1055500 -2.3172983 +-0.1055000 0.2163912 +-0.1054500 0.2163912 +-0.1054000 1.8287391 +-0.1053500 0.9073974 +-0.1053000 -0.9352859 +-0.1052500 -1.3959567 +-0.1052000 -0.4746150 +-0.1051500 -2.3172983 +-0.1051000 0.2163912 +-0.1050500 -2.5476337 +-0.1050000 -0.4746150 +-0.1049500 -4.3903170 +-0.1049000 -0.9352859 +-0.1048500 -2.0869629 +-0.1048000 -4.1599816 +-0.1047500 -2.7779691 +-0.1047000 -0.4746150 +-0.1046500 -1.8566275 +-0.1046000 -0.7049504 +-0.1045500 0.2163912 +-0.1045000 0.9073974 +-0.1044500 -1.1656213 +-0.1044000 0.4467266 +-0.1043500 -1.8566275 +-0.1043000 -0.0139442 +-0.1042500 -0.0139442 +-0.1042000 -2.3172983 +-0.1041500 -0.0139442 +-0.1041000 -0.9352859 +-0.1040500 -0.0139442 +-0.1040000 -0.4746150 +-0.1039500 -1.8566275 +-0.1039000 -1.3959567 +-0.1038500 -0.4746150 +-0.1038000 -0.7049504 +-0.1037500 -0.7049504 +-0.1037000 0.2163912 +-0.1036500 -0.2442796 +-0.1036000 -0.2442796 +-0.1035500 -2.3172983 +-0.1035000 0.6770620 +-0.1034500 -0.2442796 +-0.1034000 2.0590745 +-0.1033500 -0.0139442 +-0.1033000 -1.1656213 +-0.1032500 -0.2442796 +-0.1032000 -2.5476337 +-0.1031500 -0.2442796 +-0.1031000 0.4467266 +-0.1030500 0.2163912 +-0.1030000 1.1377328 +-0.1029500 -0.2442796 +-0.1029000 0.2163912 +-0.1028500 0.4467266 +-0.1028000 -1.8566275 +-0.1027500 -1.8566275 +-0.1027000 -1.3959567 +-0.1026500 -0.2442796 +-0.1026000 -3.0083045 +-0.1025500 -2.7779691 +-0.1025000 -1.6262921 +-0.1024500 -3.2386400 +-0.1024000 -0.0139442 +-0.1023500 -2.0869629 +-0.1023000 -1.8566275 +-0.1022500 -1.3959567 +-0.1022000 -2.0869629 +-0.1021500 -3.9296462 +-0.1021000 0.2163912 +-0.1020500 -4.3903170 +-0.1020000 -3.6993108 +-0.1019500 -5.5419941 +-0.1019000 -2.3172983 +-0.1018500 -1.1656213 +-0.1018000 -3.0083045 +-0.1017500 -1.1656213 +-0.1017000 -0.7049504 +-0.1016500 -0.2442796 +-0.1016000 -1.6262921 +-0.1015500 0.4467266 +-0.1015000 -0.0139442 +-0.1014500 -0.0139442 +-0.1014000 2.0590745 +-0.1013500 0.9073974 +-0.1013000 0.4467266 +-0.1012500 -0.9352859 +-0.1012000 -1.8566275 +-0.1011500 -0.9352859 +-0.1011000 -5.3116586 +-0.1010500 -2.7779691 +-0.1010000 -3.2386400 +-0.1009500 -4.8509878 +-0.1009000 -1.6262921 +-0.1008500 -3.9296462 +-0.1008000 -3.6993108 +-0.1007500 -1.8566275 +-0.1007000 -1.8566275 +-0.1006500 -0.9352859 +-0.1006000 -1.3959567 +-0.1005500 1.3680682 +-0.1005000 3.4410869 +-0.1004500 3.9017578 +-0.1004000 3.6714223 +-0.1003500 6.8961181 +-0.1003000 4.1320932 +-0.1002500 3.9017578 +-0.1002000 3.9017578 +-0.1001500 3.4410869 +-0.1001000 2.2894099 +-0.1000500 1.3680682 +-0.1000000 2.0590745 +-0.0999500 2.9804161 +-0.0999000 0.2163912 +-0.0998500 1.1377328 +-0.0998000 1.3680682 +-0.0997500 -1.6262921 +-0.0997000 1.5984037 +-0.0996500 -0.9352859 +-0.0996000 0.9073974 +-0.0995500 3.4410869 +-0.0995000 -1.1656213 +-0.0994500 1.1377328 +-0.0994000 2.5197453 +-0.0993500 2.2894099 +-0.0993000 1.1377328 +-0.0992500 -0.0139442 +-0.0992000 -0.7049504 +-0.0991500 -2.3172983 +-0.0991000 -3.2386400 +-0.0990500 -1.8566275 +-0.0990000 -1.1656213 +-0.0989500 -2.5476337 +-0.0989000 -6.2330003 +-0.0988500 -7.1543419 +-0.0988000 -4.1599816 +-0.0987500 -6.2330003 +-0.0987000 -5.5419941 +-0.0986500 -1.6262921 +-0.0986000 -5.5419941 +-0.0985500 -3.0083045 +-0.0985000 -3.0083045 +-0.0984500 -5.0813232 +-0.0984000 -4.1599816 +-0.0983500 -2.5476337 +-0.0983000 -3.6993108 +-0.0982500 -3.0083045 +-0.0982000 -3.0083045 +-0.0981500 -3.9296462 +-0.0981000 -5.0813232 +-0.0980500 -4.6206524 +-0.0980000 -7.6150128 +-0.0979500 -1.3959567 +-0.0979000 -3.2386400 +-0.0978500 -6.4633357 +-0.0978000 -2.3172983 +-0.0977500 -7.6150128 +-0.0977000 -6.4633357 +-0.0976500 -3.6993108 +-0.0976000 -4.6206524 +-0.0975500 -1.3959567 +-0.0975000 -3.6993108 +-0.0974500 -3.9296462 +-0.0974000 -2.0869629 +-0.0973500 -4.6206524 +-0.0973000 -5.7723295 +-0.0972500 -1.1656213 +-0.0972000 -1.3959567 +-0.0971500 -1.6262921 +-0.0971000 -0.0139442 +-0.0970500 -0.2442796 +-0.0970000 1.5984037 +-0.0969500 0.4467266 +-0.0969000 -0.0139442 +-0.0968500 -2.3172983 +-0.0968000 1.8287391 +-0.0967500 2.0590745 +-0.0967000 2.2894099 +-0.0966500 2.0590745 +-0.0966000 2.0590745 +-0.0965500 3.9017578 +-0.0965000 0.4467266 +-0.0964500 0.9073974 +-0.0964000 2.5197453 +-0.0963500 1.1377328 +-0.0963000 4.1320932 +-0.0962500 2.5197453 +-0.0962000 3.6714223 +-0.0961500 -0.2442796 +-0.0961000 3.4410869 +-0.0960500 2.0590745 +-0.0960000 2.9804161 +-0.0959500 1.3680682 +-0.0959000 -0.2442796 +-0.0958500 5.7444410 +-0.0958000 4.3624286 +-0.0957500 2.0590745 +-0.0957000 2.5197453 +-0.0956500 0.2163912 +-0.0956000 2.7500807 +-0.0955500 1.3680682 +-0.0955000 -0.7049504 +-0.0954500 -52.3000823 +-0.0954000 -101.8221955 +-0.0953500 -56.2157843 +-0.0953000 -25.1205039 +-0.0952500 -48.3843804 +-0.0952000 -28.5755351 +-0.0951500 5.9747764 +-0.0951000 -30.1878829 +-0.0950500 -76.9459712 +-0.0950000 -76.2549650 +-0.0949500 -56.4461197 +-0.0949000 -191.1923347 +-0.0948500 -92.1481083 +-0.0948000 -87.7717355 +-0.0947500 -67.2718840 +-0.0947000 -96.5244811 +-0.0946500 -99.5188414 +-0.0946000 -49.0753866 +-0.0945500 -47.2327033 +-0.0945000 -75.7942942 +-0.0944500 -52.7607531 +-0.0944000 -17.0587646 +-0.0943500 -1.6262921 +-0.0943000 -24.4294977 +-0.0942500 -1.6262921 +-0.0942000 20.4859073 +-0.0941500 2.0590745 +-0.0941000 -21.4351374 +-0.0940500 10.8118201 +-0.0940000 24.4016093 +-0.0939500 -0.4746150 +-0.0939000 0.2163912 +-0.0938500 18.8735594 +-0.0938000 22.5589260 +-0.0937500 -2.7779691 +-0.0937000 9.4298076 +-0.0936500 21.8679198 +-0.0936000 -35.0249266 +-0.0935500 -4.1599816 +-0.0935000 20.4859073 +-0.0934500 33.6150257 +-0.0934000 31.3116716 +-0.0933500 14.7275220 +-0.0933000 19.5645657 +-0.0932500 21.6375843 +-0.0932000 9.6601430 +-0.0931500 -11.7610501 +-0.0931000 -5.3116586 +-0.0930500 75.3057349 +-0.0930000 -15.6767521 +-0.0929500 1.1377328 +-0.0929000 5.7444410 +-0.0928500 0.2163912 +-0.0928000 -4.8509878 +-0.0927500 -61.2831633 +-0.0927000 1.1377328 +-0.0926500 -3.6993108 +-0.0926000 -6.4633357 +-0.0925500 -6.2330003 +-0.0925000 1.5984037 +-0.0924500 -2.0869629 +-0.0924000 1.8287391 +-0.0923500 2.9804161 +-0.0923000 6.4354473 +-0.0922500 2.9804161 +-0.0922000 5.7444410 +-0.0921500 6.4354473 +-0.0921000 8.9691368 +-0.0920500 2.7500807 +-0.0920000 5.9747764 +-0.0919500 4.3624286 +-0.0919000 2.9804161 +-0.0918500 -2.0869629 +-0.0918000 -3.4689754 +-0.0917500 13.5758450 +-0.0917000 3.6714223 +-0.0916500 -5.0813232 +-0.0916000 -3.0083045 +-0.0915500 -6.6936711 +-0.0915000 -7.6150128 +-0.0914500 -11.3003793 +-0.0914000 -10.3790377 +-0.0913500 -9.9183669 +-0.0913000 -8.7666898 +-0.0912500 -16.8284292 +-0.0912000 -14.5250751 +-0.0911500 -13.3733980 +-0.0911000 -13.1430626 +-0.0910500 -12.9127272 +-0.0910000 -10.6093731 +-0.0909500 -9.6880314 +-0.0909000 -10.1487023 +-0.0908500 -6.0026649 +-0.0908000 -7.8453482 +-0.0907500 -7.6150128 +-0.0907000 -7.6150128 +-0.0906500 -3.9296462 +-0.0906000 -2.7779691 +-0.0905500 -2.5476337 +-0.0905000 -4.3903170 +-0.0904500 -5.0813232 +-0.0904000 -6.0026649 +-0.0903500 -3.2386400 +-0.0903000 -0.7049504 +-0.0902500 2.0590745 +-0.0902000 2.9804161 +-0.0901500 0.2163912 +-0.0901000 2.5197453 +-0.0900500 2.2894099 +-0.0900000 4.3624286 +-0.0899500 3.6714223 +-0.0899000 4.3624286 +-0.0898500 3.9017578 +-0.0898000 5.0534348 +-0.0897500 3.6714223 +-0.0897000 3.2107515 +-0.0896500 1.8287391 +-0.0896000 4.1320932 +-0.0895500 3.9017578 +-0.0895000 3.2107515 +-0.0894500 2.2894099 +-0.0894000 2.5197453 +-0.0893500 0.2163912 +-0.0893000 0.6770620 +-0.0892500 2.9804161 +-0.0892000 -0.2442796 +-0.0891500 -0.9352859 +-0.0891000 -0.4746150 +-0.0890500 1.8287391 +-0.0890000 -0.0139442 +-0.0889500 1.3680682 +-0.0889000 -0.7049504 +-0.0888500 0.9073974 +-0.0888000 -1.6262921 +-0.0887500 1.8287391 +-0.0887000 -0.0139442 +-0.0886500 0.6770620 +-0.0886000 4.5927640 +-0.0885500 1.5984037 +-0.0885000 4.5927640 +-0.0884500 3.4410869 +-0.0884000 1.5984037 +-0.0883500 1.1377328 +-0.0883000 0.4467266 +-0.0882500 -2.3172983 +-0.0882000 -0.2442796 +-0.0881500 0.4467266 +-0.0881000 0.2163912 +-0.0880500 0.6770620 +-0.0880000 -2.3172983 +-0.0879500 -1.3959567 +-0.0879000 -0.4746150 +-0.0878500 1.1377328 +-0.0878000 -2.7779691 +-0.0877500 -1.6262921 +-0.0877000 -0.0139442 +-0.0876500 -3.2386400 +-0.0876000 -2.3172983 +-0.0875500 -1.1656213 +-0.0875000 -1.8566275 +-0.0874500 0.9073974 +-0.0874000 -3.9296462 +-0.0873500 -3.4689754 +-0.0873000 -2.5476337 +-0.0872500 -3.6993108 +-0.0872000 -3.0083045 +-0.0871500 -1.6262921 +-0.0871000 -1.1656213 +-0.0870500 -4.3903170 +-0.0870000 -0.7049504 +-0.0869500 -0.2442796 +-0.0869000 -0.2442796 +-0.0868500 2.2894099 +-0.0868000 6.6657827 +-0.0867500 2.2894099 +-0.0867000 2.0590745 +-0.0866500 5.5141056 +-0.0866000 4.1320932 +-0.0865500 3.2107515 +-0.0865000 6.8961181 +-0.0864500 3.9017578 +-0.0864000 3.2107515 +-0.0863500 3.2107515 +-0.0863000 4.3624286 +-0.0862500 2.5197453 +-0.0862000 1.5984037 +-0.0861500 5.5141056 +-0.0861000 2.5197453 +-0.0860500 1.8287391 +-0.0860000 1.5984037 +-0.0859500 4.1320932 +-0.0859000 0.2163912 +-0.0858500 2.5197453 +-0.0858000 1.1377328 +-0.0857500 6.6657827 +-0.0857000 4.5927640 +-0.0856500 4.1320932 +-0.0856000 3.6714223 +-0.0855500 3.2107515 +-0.0855000 5.0534348 +-0.0854500 3.4410869 +-0.0854000 1.1377328 +-0.0853500 -0.4746150 +-0.0853000 1.1377328 +-0.0852500 2.7500807 +-0.0852000 3.9017578 +-0.0851500 -0.2442796 +-0.0851000 1.3680682 +-0.0850500 -3.4689754 +-0.0850000 -1.1656213 +-0.0849500 -2.5476337 +-0.0849000 -0.9352859 +-0.0848500 -1.3959567 +-0.0848000 -1.3959567 +-0.0847500 -0.2442796 +-0.0847000 -1.3959567 +-0.0846500 2.7500807 +-0.0846000 5.0534348 +-0.0845500 5.0534348 +-0.0845000 4.8230994 +-0.0844500 5.5141056 +-0.0844000 5.5141056 +-0.0843500 4.8230994 +-0.0843000 4.5927640 +-0.0842500 5.0534348 +-0.0842000 8.0477951 +-0.0841500 6.2051119 +-0.0841000 4.1320932 +-0.0840500 3.6714223 +-0.0840000 4.8230994 +-0.0839500 3.4410869 +-0.0839000 5.5141056 +-0.0838500 3.2107515 +-0.0838000 2.5197453 +-0.0837500 2.5197453 +-0.0837000 1.5984037 +-0.0836500 2.2894099 +-0.0836000 2.2894099 +-0.0835500 3.2107515 +-0.0835000 4.5927640 +-0.0834500 5.5141056 +-0.0834000 5.9747764 +-0.0833500 5.9747764 +-0.0833000 5.9747764 +-0.0832500 7.1264535 +-0.0832000 3.6714223 +-0.0831500 4.5927640 +-0.0831000 -0.2442796 +-0.0830500 0.9073974 +-0.0830000 2.0590745 +-0.0829500 1.1377328 +-0.0829000 2.0590745 +-0.0828500 -0.0139442 +-0.0828000 -0.0139442 +-0.0827500 1.5984037 +-0.0827000 -0.9352859 +-0.0826500 1.5984037 +-0.0826000 -1.3959567 +-0.0825500 1.1377328 +-0.0825000 1.1377328 +-0.0824500 0.4467266 +-0.0824000 1.5984037 +-0.0823500 -1.8566275 +-0.0823000 2.9804161 +-0.0822500 2.9804161 +-0.0822000 5.9747764 +-0.0821500 1.3680682 +-0.0821000 4.3624286 +-0.0820500 5.2837702 +-0.0820000 3.2107515 +-0.0819500 4.5927640 +-0.0819000 7.8174597 +-0.0818500 4.1320932 +-0.0818000 7.8174597 +-0.0817500 3.6714223 +-0.0817000 6.8961181 +-0.0816500 7.5871243 +-0.0816000 2.9804161 +-0.0815500 4.3624286 +-0.0815000 4.8230994 +-0.0814500 4.3624286 +-0.0814000 7.3567889 +-0.0813500 6.6657827 +-0.0813000 5.7444410 +-0.0812500 7.1264535 +-0.0812000 6.8961181 +-0.0811500 6.6657827 +-0.0811000 6.8961181 +-0.0810500 5.2837702 +-0.0810000 6.4354473 +-0.0809500 5.5141056 +-0.0809000 5.5141056 +-0.0808500 3.4410869 +-0.0808000 4.3624286 +-0.0807500 3.6714223 +-0.0807000 5.5141056 +-0.0806500 3.6714223 +-0.0806000 4.1320932 +-0.0805500 5.7444410 +-0.0805000 2.0590745 +-0.0804500 5.7444410 +-0.0804000 5.2837702 +-0.0803500 5.9747764 +-0.0803000 5.5141056 +-0.0802500 4.5927640 +-0.0802000 3.6714223 +-0.0801500 4.3624286 +-0.0801000 4.1320932 +-0.0800500 5.2837702 +-0.0800000 3.6714223 +-0.0799500 4.1320932 +-0.0799000 -0.0139442 +-0.0798500 4.5927640 +-0.0798000 2.5197453 +-0.0797500 2.5197453 +-0.0797000 2.5197453 +-0.0796500 3.9017578 +-0.0796000 3.2107515 +-0.0795500 2.2894099 +-0.0795000 5.0534348 +-0.0794500 2.5197453 +-0.0794000 1.1377328 +-0.0793500 4.3624286 +-0.0793000 1.5984037 +-0.0792500 3.9017578 +-0.0792000 4.3624286 +-0.0791500 2.7500807 +-0.0791000 3.2107515 +-0.0790500 2.2894099 +-0.0790000 2.5197453 +-0.0789500 3.9017578 +-0.0789000 2.7500807 +-0.0788500 3.2107515 +-0.0788000 2.2894099 +-0.0787500 2.9804161 +-0.0787000 6.2051119 +-0.0786500 2.0590745 +-0.0786000 4.3624286 +-0.0785500 1.5984037 +-0.0785000 3.2107515 +-0.0784500 3.4410869 +-0.0784000 3.4410869 +-0.0783500 4.1320932 +-0.0783000 3.9017578 +-0.0782500 4.8230994 +-0.0782000 2.0590745 +-0.0781500 3.6714223 +-0.0781000 3.6714223 +-0.0780500 3.2107515 +-0.0780000 15.8791991 +-0.0779500 6.8961181 +-0.0779000 3.6714223 +-0.0778500 2.9804161 +-0.0778000 1.8287391 +-0.0777500 1.3680682 +-0.0777000 3.6714223 +-0.0776500 2.0590745 +-0.0776000 3.2107515 +-0.0775500 3.2107515 +-0.0775000 6.4354473 +-0.0774500 7.1264535 +-0.0774000 7.8174597 +-0.0773500 2.2894099 +-0.0773000 7.8174597 +-0.0772500 6.8961181 +-0.0772000 6.2051119 +-0.0771500 4.1320932 +-0.0771000 5.5141056 +-0.0770500 5.9747764 +-0.0770000 4.5927640 +-0.0769500 2.7500807 +-0.0769000 6.6657827 +-0.0768500 3.4410869 +-0.0768000 5.2837702 +-0.0767500 7.8174597 +-0.0767000 5.9747764 +-0.0766500 7.8174597 +-0.0766000 6.4354473 +-0.0765500 8.0477951 +-0.0765000 9.6601430 +-0.0764500 7.8174597 +-0.0764000 7.3567889 +-0.0763500 8.2781306 +-0.0763000 8.0477951 +-0.0762500 7.1264535 +-0.0762000 5.5141056 +-0.0761500 8.5084660 +-0.0761000 8.7388014 +-0.0760500 4.3624286 +-0.0760000 3.4410869 +-0.0759500 3.2107515 +-0.0759000 1.8287391 +-0.0758500 2.5197453 +-0.0758000 0.9073974 +-0.0757500 1.8287391 +-0.0757000 2.5197453 +-0.0756500 2.0590745 +-0.0756000 2.7500807 +-0.0755500 0.9073974 +-0.0755000 1.5984037 +-0.0754500 4.1320932 +-0.0754000 -0.0139442 +-0.0753500 4.3624286 +-0.0753000 4.3624286 +-0.0752500 1.8287391 +-0.0752000 1.5984037 +-0.0751500 2.2894099 +-0.0751000 5.0534348 +-0.0750500 3.9017578 +-0.0750000 5.9747764 +-0.0749500 6.2051119 +-0.0749000 2.5197453 +-0.0748500 1.8287391 +-0.0748000 2.5197453 +-0.0747500 2.7500807 +-0.0747000 1.8287391 +-0.0746500 1.1377328 +-0.0746000 2.0590745 +-0.0745500 3.4410869 +-0.0745000 4.5927640 +-0.0744500 1.1377328 +-0.0744000 2.0590745 +-0.0743500 2.9804161 +-0.0743000 2.7500807 +-0.0742500 3.9017578 +-0.0742000 1.5984037 +-0.0741500 3.9017578 +-0.0741000 1.8287391 +-0.0740500 2.7500807 +-0.0740000 0.2163912 +-0.0739500 -1.1656213 +-0.0739000 2.9804161 +-0.0738500 -0.2442796 +-0.0738000 1.5984037 +-0.0737500 5.7444410 +-0.0737000 2.2894099 +-0.0736500 1.5984037 +-0.0736000 3.9017578 +-0.0735500 0.6770620 +-0.0735000 0.4467266 +-0.0734500 4.8230994 +-0.0734000 4.5927640 +-0.0733500 3.4410869 +-0.0733000 2.2894099 +-0.0732500 3.2107515 +-0.0732000 2.5197453 +-0.0731500 3.9017578 +-0.0731000 3.2107515 +-0.0730500 5.0534348 +-0.0730000 4.3624286 +-0.0729500 5.9747764 +-0.0729000 6.2051119 +-0.0728500 2.0590745 +-0.0728000 4.3624286 +-0.0727500 6.4354473 +-0.0727000 5.0534348 +-0.0726500 6.4354473 +-0.0726000 7.1264535 +-0.0725500 4.3624286 +-0.0725000 5.5141056 +-0.0724500 4.3624286 +-0.0724000 4.1320932 +-0.0723500 6.2051119 +-0.0723000 2.9804161 +-0.0722500 4.3624286 +-0.0722000 5.0534348 +-0.0721500 4.8230994 +-0.0721000 2.7500807 +-0.0720500 4.5927640 +-0.0720000 3.4410869 +-0.0719500 3.2107515 +-0.0719000 2.5197453 +-0.0718500 2.7500807 +-0.0718000 2.5197453 +-0.0717500 3.2107515 +-0.0717000 1.3680682 +-0.0716500 -0.0139442 +-0.0716000 -0.2442796 +-0.0715500 1.8287391 +-0.0715000 1.5984037 +-0.0714500 -2.0869629 +-0.0714000 -1.6262921 +-0.0713500 -0.4746150 +-0.0713000 -1.6262921 +-0.0712500 -0.0139442 +-0.0712000 0.2163912 +-0.0711500 0.2163912 +-0.0711000 -1.8566275 +-0.0710500 0.4467266 +-0.0710000 0.4467266 +-0.0709500 1.1377328 +-0.0709000 0.6770620 +-0.0708500 -3.0083045 +-0.0708000 -0.7049504 +-0.0707500 -1.8566275 +-0.0707000 -0.9352859 +-0.0706500 1.1377328 +-0.0706000 3.9017578 +-0.0705500 1.8287391 +-0.0705000 1.8287391 +-0.0704500 3.6714223 +-0.0704000 2.2894099 +-0.0703500 3.6714223 +-0.0703000 -0.2442796 +-0.0702500 0.6770620 +-0.0702000 3.6714223 +-0.0701500 2.7500807 +-0.0701000 3.2107515 +-0.0700500 2.9804161 +-0.0700000 4.1320932 +-0.0699500 3.6714223 +-0.0699000 1.3680682 +-0.0698500 3.2107515 +-0.0698000 4.3624286 +-0.0697500 2.7500807 +-0.0697000 -0.0139442 +-0.0696500 2.9804161 +-0.0696000 0.6770620 +-0.0695500 1.8287391 +-0.0695000 1.8287391 +-0.0694500 0.2163912 +-0.0694000 3.2107515 +-0.0693500 1.3680682 +-0.0693000 4.1320932 +-0.0692500 3.9017578 +-0.0692000 2.5197453 +-0.0691500 2.2894099 +-0.0691000 2.9804161 +-0.0690500 4.3624286 +-0.0690000 3.6714223 +-0.0689500 1.3680682 +-0.0689000 1.5984037 +-0.0688500 -0.2442796 +-0.0688000 1.1377328 +-0.0687500 1.3680682 +-0.0687000 -0.4746150 +-0.0686500 0.4467266 +-0.0686000 -0.4746150 +-0.0685500 0.4467266 +-0.0685000 0.4467266 +-0.0684500 -1.8566275 +-0.0684000 3.4410869 +-0.0683500 -0.0139442 +-0.0683000 2.7500807 +-0.0682500 3.6714223 +-0.0682000 3.6714223 +-0.0681500 4.8230994 +-0.0681000 1.5984037 +-0.0680500 3.2107515 +-0.0680000 3.9017578 +-0.0679500 2.5197453 +-0.0679000 4.8230994 +-0.0678500 2.7500807 +-0.0678000 3.4410869 +-0.0677500 -0.0139442 +-0.0677000 1.5984037 +-0.0676500 -1.8566275 +-0.0676000 1.8287391 +-0.0675500 0.4467266 +-0.0675000 2.0590745 +-0.0674500 2.5197453 +-0.0674000 -0.2442796 +-0.0673500 -0.0139442 +-0.0673000 5.0534348 +-0.0672500 1.3680682 +-0.0672000 0.4467266 +-0.0671500 0.9073974 +-0.0671000 3.6714223 +-0.0670500 2.9804161 +-0.0670000 1.3680682 +-0.0669500 2.0590745 +-0.0669000 1.8287391 +-0.0668500 1.5984037 +-0.0668000 0.9073974 +-0.0667500 -0.2442796 +-0.0667000 0.2163912 +-0.0666500 2.7500807 +-0.0666000 1.8287391 +-0.0665500 1.8287391 +-0.0665000 -0.4746150 +-0.0664500 2.7500807 +-0.0664000 0.4467266 +-0.0663500 0.6770620 +-0.0663000 -0.9352859 +-0.0662500 3.2107515 +-0.0662000 5.0534348 +-0.0661500 2.2894099 +-0.0661000 4.3624286 +-0.0660500 5.0534348 +-0.0660000 3.6714223 +-0.0659500 4.8230994 +-0.0659000 2.9804161 +-0.0658500 4.5927640 +-0.0658000 2.0590745 +-0.0657500 3.9017578 +-0.0657000 2.0590745 +-0.0656500 3.6714223 +-0.0656000 4.5927640 +-0.0655500 2.7500807 +-0.0655000 1.8287391 +-0.0654500 2.7500807 +-0.0654000 1.3680682 +-0.0653500 2.5197453 +-0.0653000 0.9073974 +-0.0652500 0.2163912 +-0.0652000 -0.4746150 +-0.0651500 -0.0139442 +-0.0651000 -0.7049504 +-0.0650500 1.1377328 +-0.0650000 1.3680682 +-0.0649500 1.5984037 +-0.0649000 3.4410869 +-0.0648500 -0.9352859 +-0.0648000 -0.0139442 +-0.0647500 0.9073974 +-0.0647000 2.5197453 +-0.0646500 2.2894099 +-0.0646000 4.8230994 +-0.0645500 5.2837702 +-0.0645000 2.9804161 +-0.0644500 2.9804161 +-0.0644000 1.5984037 +-0.0643500 0.4467266 +-0.0643000 -1.6262921 +-0.0642500 1.5984037 +-0.0642000 -0.4746150 +-0.0641500 -0.9352859 +-0.0641000 0.2163912 +-0.0640500 0.4467266 +-0.0640000 -0.4746150 +-0.0639500 -0.7049504 +-0.0639000 0.2163912 +-0.0638500 2.9804161 +-0.0638000 1.1377328 +-0.0637500 0.6770620 +-0.0637000 2.0590745 +-0.0636500 2.9804161 +-0.0636000 2.5197453 +-0.0635500 2.5197453 +-0.0635000 5.0534348 +-0.0634500 7.1264535 +-0.0634000 5.9747764 +-0.0633500 5.0534348 +-0.0633000 2.2894099 +-0.0632500 2.5197453 +-0.0632000 3.9017578 +-0.0631500 3.9017578 +-0.0631000 2.5197453 +-0.0630500 3.9017578 +-0.0630000 0.9073974 +-0.0629500 2.9804161 +-0.0629000 3.2107515 +-0.0628500 3.2107515 +-0.0628000 1.1377328 +-0.0627500 0.2163912 +-0.0627000 2.7500807 +-0.0626500 1.1377328 +-0.0626000 1.5984037 +-0.0625500 1.3680682 +-0.0625000 0.6770620 +-0.0624500 1.3680682 +-0.0624000 0.2163912 +-0.0623500 -1.3959567 +-0.0623000 -0.0139442 +-0.0622500 1.5984037 +-0.0622000 -0.0139442 +-0.0621500 -0.0139442 +-0.0621000 -0.2442796 +-0.0620500 0.4467266 +-0.0620000 -1.8566275 +-0.0619500 -0.7049504 +-0.0619000 -0.4746150 +-0.0618500 0.4467266 +-0.0618000 7.8174597 +-0.0617500 2.9804161 +-0.0617000 2.7500807 +-0.0616500 -0.0139442 +-0.0616000 1.3680682 +-0.0615500 1.1377328 +-0.0615000 0.6770620 +-0.0614500 -0.0139442 +-0.0614000 1.5984037 +-0.0613500 -2.0869629 +-0.0613000 3.9017578 +-0.0612500 2.5197453 +-0.0612000 2.9804161 +-0.0611500 -0.0139442 +-0.0611000 -0.2442796 +-0.0610500 2.5197453 +-0.0610000 2.9804161 +-0.0609500 1.1377328 +-0.0609000 3.9017578 +-0.0608500 2.2894099 +-0.0608000 4.3624286 +-0.0607500 5.0534348 +-0.0607000 5.5141056 +-0.0606500 -0.7049504 +-0.0606000 1.5984037 +-0.0605500 2.2894099 +-0.0605000 2.0590745 +-0.0604500 4.1320932 +-0.0604000 7.1264535 +-0.0603500 3.4410869 +-0.0603000 3.9017578 +-0.0602500 4.3624286 +-0.0602000 5.7444410 +-0.0601500 4.3624286 +-0.0601000 5.2837702 +-0.0600500 4.1320932 +-0.0600000 3.4410869 +-0.0599500 2.7500807 +-0.0599000 0.6770620 +-0.0598500 0.9073974 +-0.0598000 -0.0139442 +-0.0597500 1.3680682 +-0.0597000 -0.2442796 +-0.0596500 1.8287391 +-0.0596000 1.8287391 +-0.0595500 2.2894099 +-0.0595000 1.1377328 +-0.0594500 3.2107515 +-0.0594000 0.4467266 +-0.0593500 1.3680682 +-0.0593000 0.6770620 +-0.0592500 1.8287391 +-0.0592000 0.4467266 +-0.0591500 2.0590745 +-0.0591000 1.5984037 +-0.0590500 1.8287391 +-0.0590000 2.2894099 +-0.0589500 1.8287391 +-0.0589000 2.9804161 +-0.0588500 4.1320932 +-0.0588000 2.5197453 +-0.0587500 1.8287391 +-0.0587000 3.4410869 +-0.0586500 0.6770620 +-0.0586000 0.9073974 +-0.0585500 1.5984037 +-0.0585000 2.9804161 +-0.0584500 4.1320932 +-0.0584000 3.2107515 +-0.0583500 1.8287391 +-0.0583000 2.2894099 +-0.0582500 0.2163912 +-0.0582000 3.4410869 +-0.0581500 5.7444410 +-0.0581000 4.1320932 +-0.0580500 1.3680682 +-0.0580000 3.6714223 +-0.0579500 4.1320932 +-0.0579000 2.7500807 +-0.0578500 4.1320932 +-0.0578000 2.0590745 +-0.0577500 6.4354473 +-0.0577000 3.9017578 +-0.0576500 3.9017578 +-0.0576000 6.2051119 +-0.0575500 3.6714223 +-0.0575000 2.9804161 +-0.0574500 5.7444410 +-0.0574000 5.9747764 +-0.0573500 5.0534348 +-0.0573000 3.2107515 +-0.0572500 2.9804161 +-0.0572000 4.5927640 +-0.0571500 8.2781306 +-0.0571000 1.3680682 +-0.0570500 6.4354473 +-0.0570000 2.9804161 +-0.0569500 3.9017578 +-0.0569000 6.2051119 +-0.0568500 5.5141056 +-0.0568000 5.2837702 +-0.0567500 6.6657827 +-0.0567000 4.1320932 +-0.0566500 7.5871243 +-0.0566000 5.7444410 +-0.0565500 6.8961181 +-0.0565000 3.6714223 +-0.0564500 4.8230994 +-0.0564000 6.4354473 +-0.0563500 5.7444410 +-0.0563000 5.7444410 +-0.0562500 6.6657827 +-0.0562000 6.6657827 +-0.0561500 1.3680682 +-0.0561000 4.1320932 +-0.0560500 0.6770620 +-0.0560000 2.5197453 +-0.0559500 -1.6262921 +-0.0559000 0.2163912 +-0.0558500 0.2163912 +-0.0558000 -1.8566275 +-0.0557500 -0.0139442 +-0.0557000 -2.5476337 +-0.0556500 -4.8509878 +-0.0556000 -1.8566275 +-0.0555500 -1.1656213 +-0.0555000 0.6770620 +-0.0554500 0.6770620 +-0.0554000 -3.6993108 +-0.0553500 -2.5476337 +-0.0553000 -1.6262921 +-0.0552500 -0.4746150 +-0.0552000 -2.3172983 +-0.0551500 -2.5476337 +-0.0551000 0.4467266 +-0.0550500 -2.3172983 +-0.0550000 2.5197453 +-0.0549500 -0.0139442 +-0.0549000 2.2894099 +-0.0548500 2.5197453 +-0.0548000 2.0590745 +-0.0547500 1.1377328 +-0.0547000 0.6770620 +-0.0546500 0.6770620 +-0.0546000 1.5984037 +-0.0545500 2.2894099 +-0.0545000 3.4410869 +-0.0544500 1.3680682 +-0.0544000 5.2837702 +-0.0543500 4.1320932 +-0.0543000 5.0534348 +-0.0542500 2.7500807 +-0.0542000 1.1377328 +-0.0541500 0.6770620 +-0.0541000 0.9073974 +-0.0540500 1.5984037 +-0.0540000 4.5927640 +-0.0539500 3.6714223 +-0.0539000 4.8230994 +-0.0538500 5.9747764 +-0.0538000 5.9747764 +-0.0537500 5.2837702 +-0.0537000 5.5141056 +-0.0536500 3.4410869 +-0.0536000 3.9017578 +-0.0535500 2.5197453 +-0.0535000 2.7500807 +-0.0534500 7.3567889 +-0.0534000 5.2837702 +-0.0533500 4.5927640 +-0.0533000 6.2051119 +-0.0532500 4.1320932 +-0.0532000 5.5141056 +-0.0531500 4.3624286 +-0.0531000 5.7444410 +-0.0530500 4.3624286 +-0.0530000 3.4410869 +-0.0529500 2.9804161 +-0.0529000 1.3680682 +-0.0528500 2.9804161 +-0.0528000 2.0590745 +-0.0527500 2.0590745 +-0.0527000 5.7444410 +-0.0526500 2.9804161 +-0.0526000 3.2107515 +-0.0525500 -0.0139442 +-0.0525000 1.1377328 +-0.0524500 2.9804161 +-0.0524000 3.4410869 +-0.0523500 4.3624286 +-0.0523000 1.1377328 +-0.0522500 2.9804161 +-0.0522000 -0.4746150 +-0.0521500 2.5197453 +-0.0521000 -2.0869629 +-0.0520500 -1.1656213 +-0.0520000 1.3680682 +-0.0519500 1.1377328 +-0.0519000 -2.0869629 +-0.0518500 -0.9352859 +-0.0518000 -1.3959567 +-0.0517500 -0.4746150 +-0.0517000 1.5984037 +-0.0516500 -0.2442796 +-0.0516000 0.2163912 +-0.0515500 -0.0139442 +-0.0515000 0.9073974 +-0.0514500 0.6770620 +-0.0514000 0.4467266 +-0.0513500 -0.4746150 +-0.0513000 -2.7779691 +-0.0512500 1.3680682 +-0.0512000 1.3680682 +-0.0511500 4.3624286 +-0.0511000 1.1377328 +-0.0510500 2.0590745 +-0.0510000 3.6714223 +-0.0509500 -0.4746150 +-0.0509000 2.7500807 +-0.0508500 0.4467266 +-0.0508000 -0.9352859 +-0.0507500 -0.7049504 +-0.0507000 -1.8566275 +-0.0506500 -0.4746150 +-0.0506000 1.5984037 +-0.0505500 2.7500807 +-0.0505000 2.9804161 +-0.0504500 -0.0139442 +-0.0504000 2.7500807 +-0.0503500 3.6714223 +-0.0503000 2.0590745 +-0.0502500 2.7500807 +-0.0502000 4.1320932 +-0.0501500 4.3624286 +-0.0501000 3.2107515 +-0.0500500 3.9017578 +-0.0500000 2.7500807 +-0.0499500 -0.0139442 +-0.0499000 4.8230994 +-0.0498500 3.9017578 +-0.0498000 2.2894099 +-0.0497500 4.3624286 +-0.0497000 3.4410869 +-0.0496500 3.4410869 +-0.0496000 6.8961181 +-0.0495500 3.4410869 +-0.0495000 4.3624286 +-0.0494500 -0.7049504 +-0.0494000 3.6714223 +-0.0493500 7.1264535 +-0.0493000 3.4410869 +-0.0492500 11.2724909 +-0.0492000 3.6714223 +-0.0491500 2.9804161 +-0.0491000 1.1377328 +-0.0490500 3.9017578 +-0.0490000 2.5197453 +-0.0489500 2.0590745 +-0.0489000 0.2163912 +-0.0488500 -2.0869629 +-0.0488000 1.3680682 +-0.0487500 1.8287391 +-0.0487000 1.8287391 +-0.0486500 1.8287391 +-0.0486000 2.0590745 +-0.0485500 0.6770620 +-0.0485000 1.3680682 +-0.0484500 2.5197453 +-0.0484000 1.8287391 +-0.0483500 1.3680682 +-0.0483000 1.8287391 +-0.0482500 4.3624286 +-0.0482000 -0.0139442 +-0.0481500 3.6714223 +-0.0481000 1.5984037 +-0.0480500 3.2107515 +-0.0480000 2.5197453 +-0.0479500 6.2051119 +-0.0479000 2.0590745 +-0.0478500 1.5984037 +-0.0478000 -0.2442796 +-0.0477500 1.5984037 +-0.0477000 -0.9352859 +-0.0476500 -0.0139442 +-0.0476000 -2.5476337 +-0.0475500 4.3624286 +-0.0475000 1.5984037 +-0.0474500 2.2894099 +-0.0474000 3.6714223 +-0.0473500 0.9073974 +-0.0473000 5.9747764 +-0.0472500 4.1320932 +-0.0472000 4.5927640 +-0.0471500 1.1377328 +-0.0471000 6.4354473 +-0.0470500 3.4410869 +-0.0470000 5.0534348 +-0.0469500 2.0590745 +-0.0469000 3.2107515 +-0.0468500 0.6770620 +-0.0468000 -0.2442796 +-0.0467500 -0.2442796 +-0.0467000 -1.6262921 +-0.0466500 -2.0869629 +-0.0466000 0.9073974 +-0.0465500 -0.7049504 +-0.0465000 -3.0083045 +-0.0464500 -2.5476337 +-0.0464000 -4.3903170 +-0.0463500 -3.2386400 +-0.0463000 -3.2386400 +-0.0462500 -0.7049504 +-0.0462000 -0.7049504 +-0.0461500 -0.0139442 +-0.0461000 0.4467266 +-0.0460500 0.2163912 +-0.0460000 -0.2442796 +-0.0459500 -1.1656213 +-0.0459000 2.0590745 +-0.0458500 3.4410869 +-0.0458000 2.5197453 +-0.0457500 -0.4746150 +-0.0457000 -3.0083045 +-0.0456500 -3.2386400 +-0.0456000 -3.6993108 +-0.0455500 -1.6262921 +-0.0455000 -3.0083045 +-0.0454500 -3.6993108 +-0.0454000 -1.6262921 +-0.0453500 -3.9296462 +-0.0453000 -2.7779691 +-0.0452500 -0.4746150 +-0.0452000 1.8287391 +-0.0451500 0.9073974 +-0.0451000 0.9073974 +-0.0450500 0.2163912 +-0.0450000 -1.1656213 +-0.0449500 -0.7049504 +-0.0449000 -0.2442796 +-0.0448500 2.9804161 +-0.0448000 2.5197453 +-0.0447500 1.3680682 +-0.0447000 1.8287391 +-0.0446500 2.9804161 +-0.0446000 0.9073974 +-0.0445500 0.6770620 +-0.0445000 0.6770620 +-0.0444500 -2.3172983 +-0.0444000 -2.0869629 +-0.0443500 -0.4746150 +-0.0443000 -1.3959567 +-0.0442500 1.1377328 +-0.0442000 0.6770620 +-0.0441500 -0.4746150 +-0.0441000 -0.2442796 +-0.0440500 -0.9352859 +-0.0440000 -0.0139442 +-0.0439500 -0.0139442 +-0.0439000 -0.2442796 +-0.0438500 -1.1656213 +-0.0438000 1.1377328 +-0.0437500 -0.0139442 +-0.0437000 -1.1656213 +-0.0436500 -1.8566275 +-0.0436000 1.5984037 +-0.0435500 -1.6262921 +-0.0435000 -3.0083045 +-0.0434500 -1.8566275 +-0.0434000 -0.9352859 +-0.0433500 -3.0083045 +-0.0433000 -1.3959567 +-0.0432500 -1.6262921 +-0.0432000 -1.8566275 +-0.0431500 -1.3959567 +-0.0431000 -0.9352859 +-0.0430500 -1.8566275 +-0.0430000 -2.5476337 +-0.0429500 -3.0083045 +-0.0429000 -0.4746150 +-0.0428500 -0.4746150 +-0.0428000 1.1377328 +-0.0427500 -0.7049504 +-0.0427000 -0.9352859 +-0.0426500 -1.3959567 +-0.0426000 0.2163912 +-0.0425500 -1.3959567 +-0.0425000 2.0590745 +-0.0424500 -0.0139442 +-0.0424000 -0.9352859 +-0.0423500 0.2163912 +-0.0423000 1.8287391 +-0.0422500 2.2894099 +-0.0422000 3.6714223 +-0.0421500 1.3680682 +-0.0421000 0.9073974 +-0.0420500 5.5141056 +-0.0420000 2.2894099 +-0.0419500 5.0534348 +-0.0419000 2.2894099 +-0.0418500 4.3624286 +-0.0418000 2.0590745 +-0.0417500 2.5197453 +-0.0417000 -0.0139442 +-0.0416500 -2.0869629 +-0.0416000 2.9804161 +-0.0415500 -0.9352859 +-0.0415000 1.5984037 +-0.0414500 0.2163912 +-0.0414000 1.1377328 +-0.0413500 -0.4746150 +-0.0413000 -0.2442796 +-0.0412500 3.4410869 +-0.0412000 3.9017578 +-0.0411500 3.2107515 +-0.0411000 2.5197453 +-0.0410500 3.9017578 +-0.0410000 3.9017578 +-0.0409500 1.5984037 +-0.0409000 2.7500807 +-0.0408500 2.7500807 +-0.0408000 3.9017578 +-0.0407500 4.5927640 +-0.0407000 3.4410869 +-0.0406500 2.2894099 +-0.0406000 0.4467266 +-0.0405500 1.3680682 +-0.0405000 1.5984037 +-0.0404500 2.9804161 +-0.0404000 1.3680682 +-0.0403500 3.6714223 +-0.0403000 1.8287391 +-0.0402500 4.5927640 +-0.0402000 2.0590745 +-0.0401500 3.4410869 +-0.0401000 -0.2442796 +-0.0400500 3.9017578 +-0.0400000 3.9017578 +-0.0399500 5.0534348 +-0.0399000 4.1320932 +-0.0398500 2.7500807 +-0.0398000 2.5197453 +-0.0397500 1.5984037 +-0.0397000 1.3680682 +-0.0396500 1.1377328 +-0.0396000 -0.9352859 +-0.0395500 0.4467266 +-0.0395000 3.2107515 +-0.0394500 -2.0869629 +-0.0394000 -1.8566275 +-0.0393500 -0.4746150 +-0.0393000 0.9073974 +-0.0392500 -1.1656213 +-0.0392000 1.5984037 +-0.0391500 1.3680682 +-0.0391000 1.1377328 +-0.0390500 4.1320932 +-0.0390000 3.2107515 +-0.0389500 1.3680682 +-0.0389000 3.9017578 +-0.0388500 3.6714223 +-0.0388000 4.5927640 +-0.0387500 6.2051119 +-0.0387000 4.5927640 +-0.0386500 4.3624286 +-0.0386000 5.7444410 +-0.0385500 4.5927640 +-0.0385000 4.1320932 +-0.0384500 4.3624286 +-0.0384000 4.5927640 +-0.0383500 4.8230994 +-0.0383000 3.9017578 +-0.0382500 1.3680682 +-0.0382000 9.8904784 +-0.0381500 3.6714223 +-0.0381000 9.4298076 +-0.0380500 7.8174597 +-0.0380000 5.9747764 +-0.0379500 7.3567889 +-0.0379000 2.7500807 +-0.0378500 4.8230994 +-0.0378000 4.8230994 +-0.0377500 3.9017578 +-0.0377000 1.1377328 +-0.0376500 2.2894099 +-0.0376000 6.4354473 +-0.0375500 2.9804161 +-0.0375000 1.1377328 +-0.0374500 4.1320932 +-0.0374000 1.5984037 +-0.0373500 1.5984037 +-0.0373000 -0.4746150 +-0.0372500 3.2107515 +-0.0372000 3.6714223 +-0.0371500 0.9073974 +-0.0371000 0.4467266 +-0.0370500 2.5197453 +-0.0370000 0.9073974 +-0.0369500 2.2894099 +-0.0369000 1.1377328 +-0.0368500 -0.9352859 +-0.0368000 1.3680682 +-0.0367500 -0.2442796 +-0.0367000 1.1377328 +-0.0366500 -0.4746150 +-0.0366000 0.9073974 +-0.0365500 0.4467266 +-0.0365000 2.0590745 +-0.0364500 0.6770620 +-0.0364000 -0.7049504 +-0.0363500 1.5984037 +-0.0363000 -2.3172983 +-0.0362500 -1.6262921 +-0.0362000 1.8287391 +-0.0361500 0.6770620 +-0.0361000 -1.1656213 +-0.0360500 -1.1656213 +-0.0360000 2.5197453 +-0.0359500 -2.5476337 +-0.0359000 -1.6262921 +-0.0358500 0.2163912 +-0.0358000 0.4467266 +-0.0357500 4.1320932 +-0.0357000 -0.9352859 +-0.0356500 3.2107515 +-0.0356000 1.5984037 +-0.0355500 1.3680682 +-0.0355000 2.7500807 +-0.0354500 5.0534348 +-0.0354000 3.9017578 +-0.0353500 4.5927640 +-0.0353000 2.9804161 +-0.0352500 5.0534348 +-0.0352000 5.5141056 +-0.0351500 5.2837702 +-0.0351000 5.7444410 +-0.0350500 5.2837702 +-0.0350000 6.2051119 +-0.0349500 6.6657827 +-0.0349000 6.6657827 +-0.0348500 5.7444410 +-0.0348000 4.8230994 +-0.0347500 4.5927640 +-0.0347000 4.3624286 +-0.0346500 3.9017578 +-0.0346000 4.1320932 +-0.0345500 2.9804161 +-0.0345000 3.2107515 +-0.0344500 4.5927640 +-0.0344000 2.7500807 +-0.0343500 4.1320932 +-0.0343000 3.6714223 +-0.0342500 4.5927640 +-0.0342000 5.9747764 +-0.0341500 4.1320932 +-0.0341000 2.7500807 +-0.0340500 4.5927640 +-0.0340000 5.0534348 +-0.0339500 5.5141056 +-0.0339000 4.8230994 +-0.0338500 5.9747764 +-0.0338000 3.9017578 +-0.0337500 6.6657827 +-0.0337000 3.2107515 +-0.0336500 3.4410869 +-0.0336000 4.1320932 +-0.0335500 1.5984037 +-0.0335000 3.9017578 +-0.0334500 2.5197453 +-0.0334000 2.5197453 +-0.0333500 1.5984037 +-0.0333000 3.9017578 +-0.0332500 3.4410869 +-0.0332000 2.5197453 +-0.0331500 1.3680682 +-0.0331000 -0.0139442 +-0.0330500 3.4410869 +-0.0330000 2.0590745 +-0.0329500 -1.6262921 +-0.0329000 1.5984037 +-0.0328500 -0.9352859 +-0.0328000 1.8287391 +-0.0327500 -0.2442796 +-0.0327000 -1.6262921 +-0.0326500 0.4467266 +-0.0326000 0.2163912 +-0.0325500 -2.0869629 +-0.0325000 -0.2442796 +-0.0324500 -0.0139442 +-0.0324000 -0.0139442 +-0.0323500 1.1377328 +-0.0323000 2.0590745 +-0.0322500 0.9073974 +-0.0322000 -0.0139442 +-0.0321500 1.1377328 +-0.0321000 1.8287391 +-0.0320500 2.7500807 +-0.0320000 2.2894099 +-0.0319500 1.5984037 +-0.0319000 1.8287391 +-0.0318500 2.7500807 +-0.0318000 2.5197453 +-0.0317500 3.6714223 +-0.0317000 2.9804161 +-0.0316500 4.1320932 +-0.0316000 5.0534348 +-0.0315500 3.9017578 +-0.0315000 5.9747764 +-0.0314500 3.9017578 +-0.0314000 6.8961181 +-0.0313500 7.1264535 +-0.0313000 5.0534348 +-0.0312500 5.2837702 +-0.0312000 5.2837702 +-0.0311500 7.5871243 +-0.0311000 6.6657827 +-0.0310500 2.9804161 +-0.0310000 2.9804161 +-0.0309500 3.9017578 +-0.0309000 1.5984037 +-0.0308500 2.0590745 +-0.0308000 3.4410869 +-0.0307500 2.9804161 +-0.0307000 2.2894099 +-0.0306500 3.9017578 +-0.0306000 4.1320932 +-0.0305500 3.2107515 +-0.0305000 2.2894099 +-0.0304500 2.2894099 +-0.0304000 1.8287391 +-0.0303500 0.9073974 +-0.0303000 -0.2442796 +-0.0302500 4.1320932 +-0.0302000 1.1377328 +-0.0301500 0.6770620 +-0.0301000 1.8287391 +-0.0300500 1.8287391 +-0.0300000 -0.4746150 +-0.0299500 0.9073974 +-0.0299000 -1.6262921 +-0.0298500 0.2163912 +-0.0298000 1.1377328 +-0.0297500 2.7500807 +-0.0297000 0.9073974 +-0.0296500 1.3680682 +-0.0296000 1.1377328 +-0.0295500 2.9804161 +-0.0295000 2.2894099 +-0.0294500 4.3624286 +-0.0294000 4.5927640 +-0.0293500 0.4467266 +-0.0293000 4.3624286 +-0.0292500 1.5984037 +-0.0292000 5.5141056 +-0.0291500 5.2837702 +-0.0291000 2.2894099 +-0.0290500 5.9747764 +-0.0290000 5.0534348 +-0.0289500 3.6714223 +-0.0289000 3.9017578 +-0.0288500 2.2894099 +-0.0288000 2.0590745 +-0.0287500 3.9017578 +-0.0287000 3.2107515 +-0.0286500 2.0590745 +-0.0286000 3.9017578 +-0.0285500 1.8287391 +-0.0285000 4.3624286 +-0.0284500 1.3680682 +-0.0284000 4.8230994 +-0.0283500 2.7500807 +-0.0283000 4.3624286 +-0.0282500 1.3680682 +-0.0282000 -1.1656213 +-0.0281500 1.3680682 +-0.0281000 3.9017578 +-0.0280500 1.1377328 +-0.0280000 2.9804161 +-0.0279500 0.4467266 +-0.0279000 -1.3959567 +-0.0278500 -0.0139442 +-0.0278000 2.0590745 +-0.0277500 0.9073974 +-0.0277000 0.2163912 +-0.0276500 -0.4746150 +-0.0276000 -1.8566275 +-0.0275500 -0.7049504 +-0.0275000 -0.4746150 +-0.0274500 2.9804161 +-0.0274000 -1.1656213 +-0.0273500 -1.8566275 +-0.0273000 2.0590745 +-0.0272500 -0.0139442 +-0.0272000 1.8287391 +-0.0271500 -0.4746150 +-0.0271000 -1.1656213 +-0.0270500 0.6770620 +-0.0270000 -1.8566275 +-0.0269500 -1.1656213 +-0.0269000 0.6770620 +-0.0268500 -3.2386400 +-0.0268000 -0.2442796 +-0.0267500 -0.0139442 +-0.0267000 -0.7049504 +-0.0266500 -3.6993108 +-0.0266000 -2.3172983 +-0.0265500 -2.7779691 +-0.0265000 -1.8566275 +-0.0264500 0.4467266 +-0.0264000 -1.1656213 +-0.0263500 2.0590745 +-0.0263000 0.9073974 +-0.0262500 2.0590745 +-0.0262000 2.9804161 +-0.0261500 2.7500807 +-0.0261000 3.6714223 +-0.0260500 3.2107515 +-0.0260000 2.9804161 +-0.0259500 3.6714223 +-0.0259000 2.5197453 +-0.0258500 2.5197453 +-0.0258000 0.9073974 +-0.0257500 2.9804161 +-0.0257000 2.9804161 +-0.0256500 2.2894099 +-0.0256000 1.3680682 +-0.0255500 -0.9352859 +-0.0255000 -1.3959567 +-0.0254500 -0.4746150 +-0.0254000 -0.4746150 +-0.0253500 -1.6262921 +-0.0253000 0.2163912 +-0.0252500 0.4467266 +-0.0252000 -0.0139442 +-0.0251500 0.4467266 +-0.0251000 0.6770620 +-0.0250500 -0.4746150 +-0.0250000 -0.4746150 +-0.0249500 1.1377328 +-0.0249000 2.7500807 +-0.0248500 1.8287391 +-0.0248000 6.6657827 +-0.0247500 4.5927640 +-0.0247000 8.0477951 +-0.0246500 3.6714223 +-0.0246000 0.2163912 +-0.0245500 2.5197453 +-0.0245000 1.8287391 +-0.0244500 2.0590745 +-0.0244000 2.7500807 +-0.0243500 0.6770620 +-0.0243000 1.1377328 +-0.0242500 0.6770620 +-0.0242000 0.4467266 +-0.0241500 -0.9352859 +-0.0241000 0.9073974 +-0.0240500 -0.7049504 +-0.0240000 2.5197453 +-0.0239500 1.1377328 +-0.0239000 1.1377328 +-0.0238500 0.6770620 +-0.0238000 1.1377328 +-0.0237500 0.4467266 +-0.0237000 -0.2442796 +-0.0236500 2.9804161 +-0.0236000 -1.1656213 +-0.0235500 1.5984037 +-0.0235000 0.4467266 +-0.0234500 1.5984037 +-0.0234000 1.8287391 +-0.0233500 0.2163912 +-0.0233000 -0.2442796 +-0.0232500 -2.5476337 +-0.0232000 -0.0139442 +-0.0231500 -0.4746150 +-0.0231000 2.5197453 +-0.0230500 3.2107515 +-0.0230000 1.8287391 +-0.0229500 1.8287391 +-0.0229000 3.4410869 +-0.0228500 -0.2442796 +-0.0228000 -0.7049504 +-0.0227500 0.9073974 +-0.0227000 1.3680682 +-0.0226500 2.7500807 +-0.0226000 3.9017578 +-0.0225500 4.3624286 +-0.0225000 4.1320932 +-0.0224500 5.0534348 +-0.0224000 5.7444410 +-0.0223500 4.5927640 +-0.0223000 4.1320932 +-0.0222500 4.1320932 +-0.0222000 3.4410869 +-0.0221500 3.9017578 +-0.0221000 2.9804161 +-0.0220500 3.2107515 +-0.0220000 3.2107515 +-0.0219500 2.7500807 +-0.0219000 4.3624286 +-0.0218500 4.5927640 +-0.0218000 2.5197453 +-0.0217500 3.2107515 +-0.0217000 4.1320932 +-0.0216500 2.9804161 +-0.0216000 3.2107515 +-0.0215500 3.4410869 +-0.0215000 1.8287391 +-0.0214500 2.7500807 +-0.0214000 3.2107515 +-0.0213500 1.3680682 +-0.0213000 1.3680682 +-0.0212500 2.2894099 +-0.0212000 1.1377328 +-0.0211500 -1.3959567 +-0.0211000 2.0590745 +-0.0210500 0.4467266 +-0.0210000 1.3680682 +-0.0209500 1.5984037 +-0.0209000 4.5927640 +-0.0208500 2.5197453 +-0.0208000 2.2894099 +-0.0207500 3.4410869 +-0.0207000 3.6714223 +-0.0206500 0.2163912 +-0.0206000 0.4467266 +-0.0205500 0.9073974 +-0.0205000 -1.8566275 +-0.0204500 -1.3959567 +-0.0204000 2.2894099 +-0.0203500 -1.1656213 +-0.0203000 0.2163912 +-0.0202500 -0.7049504 +-0.0202000 -0.0139442 +-0.0201500 2.5197453 +-0.0201000 0.6770620 +-0.0200500 1.8287391 +-0.0200000 3.6714223 +-0.0199500 1.5984037 +-0.0199000 3.6714223 +-0.0198500 5.0534348 +-0.0198000 2.5197453 +-0.0197500 2.2894099 +-0.0197000 5.0534348 +-0.0196500 5.0534348 +-0.0196000 4.5927640 +-0.0195500 4.1320932 +-0.0195000 3.2107515 +-0.0194500 5.7444410 +-0.0194000 5.2837702 +-0.0193500 3.2107515 +-0.0193000 4.3624286 +-0.0192500 4.5927640 +-0.0192000 6.4354473 +-0.0191500 5.5141056 +-0.0191000 3.6714223 +-0.0190500 2.7500807 +-0.0190000 4.8230994 +-0.0189500 5.7444410 +-0.0189000 4.8230994 +-0.0188500 3.2107515 +-0.0188000 3.6714223 +-0.0187500 3.9017578 +-0.0187000 5.0534348 +-0.0186500 4.3624286 +-0.0186000 4.5927640 +-0.0185500 5.2837702 +-0.0185000 5.0534348 +-0.0184500 4.1320932 +-0.0184000 6.6657827 +-0.0183500 3.9017578 +-0.0183000 4.3624286 +-0.0182500 2.5197453 +-0.0182000 3.4410869 +-0.0181500 1.8287391 +-0.0181000 4.1320932 +-0.0180500 3.2107515 +-0.0180000 3.6714223 +-0.0179500 2.7500807 +-0.0179000 4.3624286 +-0.0178500 1.5984037 +-0.0178000 2.0590745 +-0.0177500 2.2894099 +-0.0177000 2.0590745 +-0.0176500 4.1320932 +-0.0176000 5.7444410 +-0.0175500 2.2894099 +-0.0175000 2.5197453 +-0.0174500 3.9017578 +-0.0174000 4.8230994 +-0.0173500 3.4410869 +-0.0173000 0.4467266 +-0.0172500 0.4467266 +-0.0172000 0.9073974 +-0.0171500 1.1377328 +-0.0171000 -0.0139442 +-0.0170500 1.3680682 +-0.0170000 -2.5476337 +-0.0169500 0.9073974 +-0.0169000 0.2163912 +-0.0168500 2.2894099 +-0.0168000 2.9804161 +-0.0167500 0.6770620 +-0.0167000 2.0590745 +-0.0166500 -0.7049504 +-0.0166000 3.9017578 +-0.0165500 1.8287391 +-0.0165000 1.3680682 +-0.0164500 2.7500807 +-0.0164000 -0.0139442 +-0.0163500 1.5984037 +-0.0163000 2.2894099 +-0.0162500 -0.7049504 +-0.0162000 1.3680682 +-0.0161500 0.9073974 +-0.0161000 2.0590745 +-0.0160500 2.0590745 +-0.0160000 1.3680682 +-0.0159500 -0.0139442 +-0.0159000 2.2894099 +-0.0158500 3.2107515 +-0.0158000 5.2837702 +-0.0157500 4.8230994 +-0.0157000 3.9017578 +-0.0156500 4.5927640 +-0.0156000 6.4354473 +-0.0155500 7.3567889 +-0.0155000 7.1264535 +-0.0154500 7.5871243 +-0.0154000 8.7388014 +-0.0153500 6.8961181 +-0.0153000 4.5927640 +-0.0152500 8.5084660 +-0.0152000 7.8174597 +-0.0151500 9.6601430 +-0.0151000 6.6657827 +-0.0150500 7.3567889 +-0.0150000 5.7444410 +-0.0149500 7.8174597 +-0.0149000 5.7444410 +-0.0148500 5.9747764 +-0.0148000 6.4354473 +-0.0147500 6.4354473 +-0.0147000 6.6657827 +-0.0146500 2.7500807 +-0.0146000 3.4410869 +-0.0145500 4.5927640 +-0.0145000 2.7500807 +-0.0144500 3.4410869 +-0.0144000 2.0590745 +-0.0143500 3.6714223 +-0.0143000 3.2107515 +-0.0142500 0.6770620 +-0.0142000 5.5141056 +-0.0141500 2.9804161 +-0.0141000 2.9804161 +-0.0140500 2.2894099 +-0.0140000 1.8287391 +-0.0139500 1.1377328 +-0.0139000 3.2107515 +-0.0138500 1.8287391 +-0.0138000 3.2107515 +-0.0137500 1.5984037 +-0.0137000 2.0590745 +-0.0136500 0.6770620 +-0.0136000 2.0590745 +-0.0135500 2.2894099 +-0.0135000 2.9804161 +-0.0134500 1.3680682 +-0.0134000 3.4410869 +-0.0133500 0.6770620 +-0.0133000 2.0590745 +-0.0132500 3.9017578 +-0.0132000 2.5197453 +-0.0131500 -0.0139442 +-0.0131000 4.1320932 +-0.0130500 1.8287391 +-0.0130000 1.1377328 +-0.0129500 2.0590745 +-0.0129000 2.9804161 +-0.0128500 3.4410869 +-0.0128000 2.7500807 +-0.0127500 5.2837702 +-0.0127000 5.2837702 +-0.0126500 3.9017578 +-0.0126000 1.8287391 +-0.0125500 1.8287391 +-0.0125000 4.3624286 +-0.0124500 1.3680682 +-0.0124000 1.3680682 +-0.0123500 1.8287391 +-0.0123000 3.6714223 +-0.0122500 1.5984037 +-0.0122000 1.5984037 +-0.0121500 1.1377328 +-0.0121000 -0.0139442 +-0.0120500 3.9017578 +-0.0120000 1.8287391 +-0.0119500 2.7500807 +-0.0119000 1.3680682 +-0.0118500 3.4410869 +-0.0118000 2.5197453 +-0.0117500 3.9017578 +-0.0117000 5.0534348 +-0.0116500 4.1320932 +-0.0116000 7.1264535 +-0.0115500 4.1320932 +-0.0115000 6.8961181 +-0.0114500 4.8230994 +-0.0114000 4.5927640 +-0.0113500 3.4410869 +-0.0113000 6.8961181 +-0.0112500 5.0534348 +-0.0112000 4.8230994 +-0.0111500 5.2837702 +-0.0111000 2.5197453 +-0.0110500 2.9804161 +-0.0110000 2.5197453 +-0.0109500 2.0590745 +-0.0109000 3.4410869 +-0.0108500 3.4410869 +-0.0108000 4.1320932 +-0.0107500 3.9017578 +-0.0107000 4.8230994 +-0.0106500 3.2107515 +-0.0106000 4.8230994 +-0.0105500 4.5927640 +-0.0105000 3.9017578 +-0.0104500 2.7500807 +-0.0104000 2.0590745 +-0.0103500 1.8287391 +-0.0103000 1.3680682 +-0.0102500 3.2107515 +-0.0102000 2.0590745 +-0.0101500 2.2894099 +-0.0101000 1.5984037 +-0.0100500 0.4467266 +-0.0100000 2.2894099 +-0.0099500 2.0590745 +-0.0099000 1.3680682 +-0.0098500 1.5984037 +-0.0098000 2.5197453 +-0.0097500 1.3680682 +-0.0097000 0.6770620 +-0.0096500 2.7500807 +-0.0096000 3.4410869 +-0.0095500 2.2894099 +-0.0095000 0.9073974 +-0.0094500 3.4410869 +-0.0094000 0.4467266 +-0.0093500 1.8287391 +-0.0093000 2.0590745 +-0.0092500 4.5927640 +-0.0092000 2.0590745 +-0.0091500 2.0590745 +-0.0091000 1.8287391 +-0.0090500 2.2894099 +-0.0090000 2.9804161 +-0.0089500 3.9017578 +-0.0089000 3.9017578 +-0.0088500 2.2894099 +-0.0088000 1.5984037 +-0.0087500 0.6770620 +-0.0087000 -0.4746150 +-0.0086500 0.6770620 +-0.0086000 2.2894099 +-0.0085500 1.3680682 +-0.0085000 2.0590745 +-0.0084500 3.4410869 +-0.0084000 2.9804161 +-0.0083500 -0.0139442 +-0.0083000 4.3624286 +-0.0082500 2.5197453 +-0.0082000 2.5197453 +-0.0081500 2.0590745 +-0.0081000 2.0590745 +-0.0080500 1.5984037 +-0.0080000 2.5197453 +-0.0079500 2.2894099 +-0.0079000 3.2107515 +-0.0078500 -0.7049504 +-0.0078000 2.7500807 +-0.0077500 -0.2442796 +-0.0077000 -1.6262921 +-0.0076500 1.3680682 +-0.0076000 0.6770620 +-0.0075500 0.4467266 +-0.0075000 -0.4746150 +-0.0074500 0.4467266 +-0.0074000 -0.4746150 +-0.0073500 -0.9352859 +-0.0073000 3.6714223 +-0.0072500 -1.3959567 +-0.0072000 3.2107515 +-0.0071500 3.2107515 +-0.0071000 0.9073974 +-0.0070500 2.7500807 +-0.0070000 -0.2442796 +-0.0069500 -0.7049504 +-0.0069000 0.2163912 +-0.0068500 -0.4746150 +-0.0068000 -1.8566275 +-0.0067500 0.4467266 +-0.0067000 -0.7049504 +-0.0066500 -1.6262921 +-0.0066000 -1.1656213 +-0.0065500 -0.2442796 +-0.0065000 -0.4746150 +-0.0064500 -0.4746150 +-0.0064000 1.5984037 +-0.0063500 1.3680682 +-0.0063000 1.8287391 +-0.0062500 -0.9352859 +-0.0062000 0.2163912 +-0.0061500 1.5984037 +-0.0061000 1.8287391 +-0.0060500 3.2107515 +-0.0060000 4.1320932 +-0.0059500 5.7444410 +-0.0059000 2.2894099 +-0.0058500 0.9073974 +-0.0058000 2.7500807 +-0.0057500 0.6770620 +-0.0057000 -0.0139442 +-0.0056500 -0.9352859 +-0.0056000 0.6770620 +-0.0055500 -1.1656213 +-0.0055000 -1.8566275 +-0.0054500 -1.1656213 +-0.0054000 -1.8566275 +-0.0053500 -2.3172983 +-0.0053000 0.2163912 +-0.0052500 1.5984037 +-0.0052000 0.4467266 +-0.0051500 2.0590745 +-0.0051000 1.1377328 +-0.0050500 -0.7049504 +-0.0050000 1.5984037 +-0.0049500 -0.0139442 +-0.0049000 2.5197453 +-0.0048500 -0.4746150 +-0.0048000 -0.2442796 +-0.0047500 3.4410869 +-0.0047000 -0.0139442 +-0.0046500 2.5197453 +-0.0046000 1.3680682 +-0.0045500 3.2107515 +-0.0045000 -0.9352859 +-0.0044500 0.4467266 +-0.0044000 2.2894099 +-0.0043500 0.2163912 +-0.0043000 0.9073974 +-0.0042500 2.2894099 +-0.0042000 -0.0139442 +-0.0041500 1.5984037 +-0.0041000 1.1377328 +-0.0040500 4.8230994 +-0.0040000 2.7500807 +-0.0039500 2.5197453 +-0.0039000 3.2107515 +-0.0038500 5.0534348 +-0.0038000 1.5984037 +-0.0037500 1.3680682 +-0.0037000 3.4410869 +-0.0036500 2.0590745 +-0.0036000 2.9804161 +-0.0035500 0.4467266 +-0.0035000 0.9073974 +-0.0034500 4.3624286 +-0.0034000 2.2894099 +-0.0033500 2.2894099 +-0.0033000 2.0590745 +-0.0032500 1.5984037 +-0.0032000 0.2163912 +-0.0031500 2.0590745 +-0.0031000 1.3680682 +-0.0030500 1.1377328 +-0.0030000 -0.4746150 +-0.0029500 0.4467266 +-0.0029000 2.7500807 +-0.0028500 2.0590745 +-0.0028000 2.2894099 +-0.0027500 -0.0139442 +-0.0027000 1.8287391 +-0.0026500 1.5984037 +-0.0026000 1.3680682 +-0.0025500 1.8287391 +-0.0025000 0.2163912 +-0.0024500 1.1377328 +-0.0024000 4.5927640 +-0.0023500 2.5197453 +-0.0023000 0.2163912 +-0.0022500 0.9073974 +-0.0022000 1.5984037 +-0.0021500 2.0590745 +-0.0021000 2.9804161 +-0.0020500 1.1377328 +-0.0020000 0.9073974 +-0.0019500 2.7500807 +-0.0019000 1.3680682 +-0.0018500 2.7500807 +-0.0018000 -0.7049504 +-0.0017500 2.0590745 +-0.0017000 1.1377328 +-0.0016500 1.1377328 +-0.0016000 1.1377328 +-0.0015500 0.9073974 +-0.0015000 2.2894099 +-0.0014500 0.6770620 +-0.0014000 2.5197453 +-0.0013500 2.2894099 +-0.0013000 2.5197453 +-0.0012500 1.5984037 +-0.0012000 1.8287391 +-0.0011500 0.2163912 +-0.0011000 0.9073974 +-0.0010500 4.1320932 +-0.0010000 2.0590745 +-0.0009500 2.7500807 +-0.0009000 1.3680682 +-0.0008500 2.9804161 +-0.0008000 2.7500807 +-0.0007500 2.2894099 +-0.0007000 1.5984037 +-0.0006500 1.5984037 +-0.0006000 -1.6262921 +-0.0005500 -2.3172983 +-0.0005000 -0.7049504 +-0.0004500 -2.7779691 +-0.0004000 0.9073974 +-0.0003500 0.9073974 +-0.0003000 0.6770620 +-0.0002500 0.9073974 +-0.0002000 -0.9352859 +-0.0001500 0.4467266 +-0.0001000 2.0590745 +-0.0000500 2.7500807 +0.0000000 5.0534348 diff --git a/modules/spreadsheet/tests/nonreg_tests/ticket_745.dia.ref b/modules/spreadsheet/tests/nonreg_tests/ticket_745.dia.ref new file mode 100755 index 000000000..8bc5aba71 --- /dev/null +++ b/modules/spreadsheet/tests/nonreg_tests/ticket_745.dia.ref @@ -0,0 +1,28 @@ +// ============================================================================= +// ============================================================================= +// <-- JVM NOT MANDATORY --> +// ============================================================================= +// <-- Non-regression test for bug 745 --> +// +// <-- URL --> +// http://forge.scilab.org/index.php/p/csv-readwrite/issues/745/ +// +// <-- Short Description --> +// csvTextScan did no convert "1,1" into double. +// ============================================================================= +// Example #1 +M = [ +"1,1000000000000001 0,10000000000000001" +"0,10000000000000001 1,1000000000000001" +"0,10000000000000001 0,10000000000000001" +]; +A = csvTextScan(M, " ", ","); +// Example #2 +csvDefault("separator"," "); +csvDefault("decimal",","); +x = csvStringToDouble("1,1000000000000001"); +assert_checkequal(x, 1.1000000000000001); +// Example #2 +A = csvTextScan("1,1000000000000001", " ", ","); +assert_checkequal(A, 1.1000000000000001); +// ============================================================================= diff --git a/modules/spreadsheet/tests/nonreg_tests/ticket_745.tst b/modules/spreadsheet/tests/nonreg_tests/ticket_745.tst new file mode 100755 index 000000000..48a64e4ee --- /dev/null +++ b/modules/spreadsheet/tests/nonreg_tests/ticket_745.tst @@ -0,0 +1,29 @@ +// ============================================================================= +// ============================================================================= +// <-- JVM NOT MANDATORY --> +// ============================================================================= +// <-- Non-regression test for bug 745 --> +// +// <-- URL --> +// http://forge.scilab.org/index.php/p/csv-readwrite/issues/745/ +// +// <-- Short Description --> +// csvTextScan did no convert "1,1" into double. +// ============================================================================= +// Example #1 +M = [ +"1,1000000000000001 0,10000000000000001" +"0,10000000000000001 1,1000000000000001" +"0,10000000000000001 0,10000000000000001" +]; +A = csvTextScan(M, " ", ","); +// Example #2 +csvDefault("separator"," "); +csvDefault("decimal",","); +x = csvStringToDouble("1,1000000000000001"); +assert_checkequal(x, 1.1000000000000001); +// Example #2 +A = csvTextScan("1,1000000000000001", " ", ","); +assert_checkequal(A, 1.1000000000000001); + +// ============================================================================= diff --git a/modules/spreadsheet/tests/unit_tests/K_1.csv b/modules/spreadsheet/tests/unit_tests/K_1.csv new file mode 100755 index 000000000..f2b69b51d --- /dev/null +++ b/modules/spreadsheet/tests/unit_tests/K_1.csv @@ -0,0 +1,3 @@ +1.1000000000000001,0.10000000000000001 +0.10000000000000001,1.1000000000000001 +0.10000000000000001,0.10000000000000001 diff --git a/modules/spreadsheet/tests/unit_tests/K_2.csv b/modules/spreadsheet/tests/unit_tests/K_2.csv new file mode 100755 index 000000000..dfb5babe8 --- /dev/null +++ b/modules/spreadsheet/tests/unit_tests/K_2.csv @@ -0,0 +1,3 @@ +1.1000000000000001 0.10000000000000001 +0.10000000000000001 1.1000000000000001 +0.10000000000000001 0.10000000000000001 diff --git a/modules/spreadsheet/tests/unit_tests/K_3.csv b/modules/spreadsheet/tests/unit_tests/K_3.csv new file mode 100755 index 000000000..2bdb072eb --- /dev/null +++ b/modules/spreadsheet/tests/unit_tests/K_3.csv @@ -0,0 +1,3 @@ +1,1000000000000001 0,10000000000000001 +0,10000000000000001 1,1000000000000001 +0,10000000000000001 0,10000000000000001 diff --git a/modules/spreadsheet/tests/unit_tests/K_4.csv b/modules/spreadsheet/tests/unit_tests/K_4.csv new file mode 100755 index 000000000..8e0e5254e --- /dev/null +++ b/modules/spreadsheet/tests/unit_tests/K_4.csv @@ -0,0 +1,3 @@ +1,1000000000000001;0,10000000000000001 +0,10000000000000001;1,1000000000000001 +0,10000000000000001;0,10000000000000001 diff --git a/modules/spreadsheet/tests/unit_tests/M_1.csv b/modules/spreadsheet/tests/unit_tests/M_1.csv new file mode 100755 index 000000000..9196f972b --- /dev/null +++ b/modules/spreadsheet/tests/unit_tests/M_1.csv @@ -0,0 +1,3 @@ +1,0,0,0,0 +0,1,0,0,0 +0,0,1,0,0 diff --git a/modules/spreadsheet/tests/unit_tests/M_2.csv b/modules/spreadsheet/tests/unit_tests/M_2.csv new file mode 100755 index 000000000..2b0295fe6 --- /dev/null +++ b/modules/spreadsheet/tests/unit_tests/M_2.csv @@ -0,0 +1,3 @@ +1 0 0 0 0 +0 1 0 0 0 +0 0 1 0 0 diff --git a/modules/spreadsheet/tests/unit_tests/M_3.csv b/modules/spreadsheet/tests/unit_tests/M_3.csv new file mode 100755 index 000000000..e79e01d34 --- /dev/null +++ b/modules/spreadsheet/tests/unit_tests/M_3.csv @@ -0,0 +1,3 @@ +1 0 0 0 0 +0 1 0 0 0 +0 0 1 0 0 diff --git a/modules/spreadsheet/tests/unit_tests/M_4.csv b/modules/spreadsheet/tests/unit_tests/M_4.csv new file mode 100755 index 000000000..e52fe1550 --- /dev/null +++ b/modules/spreadsheet/tests/unit_tests/M_4.csv @@ -0,0 +1,3 @@ +1;0;0;0;0 +0;1;0;0;0 +0;0;1;0;0 diff --git a/modules/spreadsheet/tests/unit_tests/N_1.csv b/modules/spreadsheet/tests/unit_tests/N_1.csv new file mode 100755 index 000000000..4eff5b2a5 --- /dev/null +++ b/modules/spreadsheet/tests/unit_tests/N_1.csv @@ -0,0 +1,2 @@ +Nan,1,Nan +-Inf,Inf,4 diff --git a/modules/spreadsheet/tests/unit_tests/N_2.csv b/modules/spreadsheet/tests/unit_tests/N_2.csv new file mode 100755 index 000000000..ddb1d9194 --- /dev/null +++ b/modules/spreadsheet/tests/unit_tests/N_2.csv @@ -0,0 +1,2 @@ +Nan 1 Nan +-Inf Inf 4 diff --git a/modules/spreadsheet/tests/unit_tests/N_3.csv b/modules/spreadsheet/tests/unit_tests/N_3.csv new file mode 100755 index 000000000..a2463cf24 --- /dev/null +++ b/modules/spreadsheet/tests/unit_tests/N_3.csv @@ -0,0 +1,2 @@ +Nan 1 Nan +-Inf Inf 4 diff --git a/modules/spreadsheet/tests/unit_tests/N_4.csv b/modules/spreadsheet/tests/unit_tests/N_4.csv new file mode 100755 index 000000000..34d51cf4a --- /dev/null +++ b/modules/spreadsheet/tests/unit_tests/N_4.csv @@ -0,0 +1,2 @@ +Nan;1;Nan +-Inf;Inf;4 diff --git a/modules/spreadsheet/tests/unit_tests/S_1.csv b/modules/spreadsheet/tests/unit_tests/S_1.csv new file mode 100755 index 000000000..6d8ea2fd9 --- /dev/null +++ b/modules/spreadsheet/tests/unit_tests/S_1.csv @@ -0,0 +1,2 @@ +Allan|2|CORNET +csv read/write toolbox|3|for scilab diff --git a/modules/spreadsheet/tests/unit_tests/S_2.csv b/modules/spreadsheet/tests/unit_tests/S_2.csv new file mode 100755 index 000000000..1c9d35e11 --- /dev/null +++ b/modules/spreadsheet/tests/unit_tests/S_2.csv @@ -0,0 +1,2 @@ +Allan 2 CORNET +csv read/write toolbox 3 for scilab diff --git a/modules/spreadsheet/tests/unit_tests/S_3.csv b/modules/spreadsheet/tests/unit_tests/S_3.csv new file mode 100755 index 000000000..cb1e55d95 --- /dev/null +++ b/modules/spreadsheet/tests/unit_tests/S_3.csv @@ -0,0 +1,2 @@ +Allan!2!CORNET +csv read/write toolbox!3!for scilab diff --git a/modules/spreadsheet/tests/unit_tests/S_4.csv b/modules/spreadsheet/tests/unit_tests/S_4.csv new file mode 100755 index 000000000..fdbf15555 --- /dev/null +++ b/modules/spreadsheet/tests/unit_tests/S_4.csv @@ -0,0 +1,2 @@ +Allan;2;CORNET +csv read/write toolbox;3;for scilab diff --git a/modules/spreadsheet/tests/unit_tests/complex.csv b/modules/spreadsheet/tests/unit_tests/complex.csv new file mode 100755 index 000000000..3471b4bf4 --- /dev/null +++ b/modules/spreadsheet/tests/unit_tests/complex.csv @@ -0,0 +1,5 @@ +0.211 -3.140 0.000 +1.000 40.780i -4.530i +5.000+1.000i 5.000+3.500i 67.000-15.000i +-Inf Inf+2.000i Inf-5.000i +Nan Nan+Nani Nan+Nani diff --git a/modules/spreadsheet/tests/unit_tests/complexdata.csv b/modules/spreadsheet/tests/unit_tests/complexdata.csv new file mode 100755 index 000000000..b37761d7f --- /dev/null +++ b/modules/spreadsheet/tests/unit_tests/complexdata.csv @@ -0,0 +1,3 @@ +6+3*i 13-7*i 20+4*i 27-1.5*i 34+3.14*i 41-3*i 48+3*i 55-7*i ++0 -0 Inf -Inf Nan 1.D+308 1.e-308 1.e-323 + diff --git a/modules/spreadsheet/tests/unit_tests/csvDefault.dia.ref b/modules/spreadsheet/tests/unit_tests/csvDefault.dia.ref new file mode 100755 index 000000000..795c5aff6 --- /dev/null +++ b/modules/spreadsheet/tests/unit_tests/csvDefault.dia.ref @@ -0,0 +1,31 @@ +// ============================================================================= +// Copyright (C) 2011 - INRIA - Michael Baudin +// ============================================================================= +// See all the available fields +allvalues = csvDefault(); +expected = [ + "separator" "," + "decimal" "." + "conversion" "double" + "precision" "%.17lg" + "regexp" "" +]; +if getos() == "Windows" then + expected = [expected; "eol" "windows"]; +else + expected = [expected; "eol" "linux"]; +end +expected = [expected; "encoding" "utf-8"]; +expected = [expected; "blank" "on"]; +assert_checkequal ( allvalues , expected ); +// Get the value of the "precision" field +value = csvDefault("precision"); +assert_checkequal ( value , "%.17lg" ); +// Set the value of the "precision" field +bRes = csvDefault("precision","%.17e"); +assert_checkequal ( bRes , %t ); +// Set the value of the "precision" field to +// an impossible value +bRes = csvDefault("precision","Ouch!"); +assert_checkequal ( bRes , %f ); +// ============================================================================= diff --git a/modules/spreadsheet/tests/unit_tests/csvDefault.tst b/modules/spreadsheet/tests/unit_tests/csvDefault.tst new file mode 100755 index 000000000..b33913e33 --- /dev/null +++ b/modules/spreadsheet/tests/unit_tests/csvDefault.tst @@ -0,0 +1,34 @@ +// ============================================================================= +// Copyright (C) 2011 - INRIA - Michael Baudin +// ============================================================================= +// See all the available fields +allvalues = csvDefault(); +expected = [ + "separator" "," + "decimal" "." + "conversion" "double" + "precision" "%.17lg" + "regexp" "" +]; + +if getos() == "Windows" then + expected = [expected; "eol" "windows"]; +else + expected = [expected; "eol" "linux"]; +end +expected = [expected; "encoding" "utf-8"]; +expected = [expected; "blank" "on"]; + +assert_checkequal ( allvalues , expected ); +// Get the value of the "precision" field +value = csvDefault("precision"); +assert_checkequal ( value , "%.17lg" ); +// Set the value of the "precision" field +bRes = csvDefault("precision","%.17e"); +assert_checkequal ( bRes , %t ); +// Set the value of the "precision" field to +// an impossible value +bRes = csvDefault("precision","Ouch!"); +assert_checkequal ( bRes , %f ); +// ============================================================================= + diff --git a/modules/spreadsheet/tests/unit_tests/csvIsnum.dia.ref b/modules/spreadsheet/tests/unit_tests/csvIsnum.dia.ref new file mode 100755 index 000000000..24dd45276 --- /dev/null +++ b/modules/spreadsheet/tests/unit_tests/csvIsnum.dia.ref @@ -0,0 +1,35 @@ +// ============================================================================= +// Copyright (C) 2010 - 2012 - INRIA - Allan CORNET +// ============================================================================= +// <-- JVM NOT MANDATORY --> +// <-- NO CHECK REF --> +// ============================================================================= +assert_checkequal (csvIsnum('%pi'), %t); +assert_checkequal (csvIsnum('1'), %t); +assert_checkequal (csvIsnum('1.2'), %t); +assert_checkequal (csvIsnum('+1.2'), %t); +assert_checkequal (csvIsnum('-1.2'), %t); +assert_checkequal (csvIsnum('1e2'), %t); +if getos() == "Windows" then + assert_checkequal (csvIsnum('1d2'), %t); +end +assert_checkequal (csvIsnum('1E2'), %t); +if getos() == "Windows" then + assert_checkequal (csvIsnum('1D2'), %t); +end +assert_checkequal (csvIsnum('1e+2'), %t); +assert_checkequal (csvIsnum('1e-2'), %t); +assert_checkequal (csvIsnum('+1e+2'), %t); +assert_checkequal (csvIsnum('-1e+2'), %t); +assert_checkequal (csvIsnum('-12e+3'), %t); +assert_checkequal (csvIsnum('-1.2e+3'), %t); +assert_checkequal (csvIsnum('-1.2e+345'), %t); +assert_checkequal (csvIsnum('a'), %f); +assert_checkequal (csvIsnum('e'), %f); +assert_checkequal (csvIsnum('d'), %f); +assert_checkequal (csvIsnum('E'), %f); +assert_checkequal (csvIsnum('e'), %f); +assert_checkequal (csvIsnum('-1.2a+345'), %f); +assert_checkequal (csvIsnum('-1.2e+3+45'), %f); +assert_checkequal (csvIsnum('-1.2e+3-45'), %f); +// ============================================================================= diff --git a/modules/spreadsheet/tests/unit_tests/csvIsnum.tst b/modules/spreadsheet/tests/unit_tests/csvIsnum.tst new file mode 100755 index 000000000..f5d94f55b --- /dev/null +++ b/modules/spreadsheet/tests/unit_tests/csvIsnum.tst @@ -0,0 +1,38 @@ +// ============================================================================= +// Copyright (C) 2010 - 2012 - INRIA - Allan CORNET +// ============================================================================= +// <-- JVM NOT MANDATORY --> +// <-- NO CHECK REF --> +// ============================================================================= +assert_checkequal (csvIsnum('%pi'), %t); +assert_checkequal (csvIsnum('1'), %t); +assert_checkequal (csvIsnum('1.2'), %t); +assert_checkequal (csvIsnum('+1.2'), %t); +assert_checkequal (csvIsnum('-1.2'), %t); +assert_checkequal (csvIsnum('1e2'), %t); +if getos() == "Windows" then + assert_checkequal (csvIsnum('1d2'), %t); +end +assert_checkequal (csvIsnum('1E2'), %t); +if getos() == "Windows" then + assert_checkequal (csvIsnum('1D2'), %t); +end +assert_checkequal (csvIsnum('1e+2'), %t); +assert_checkequal (csvIsnum('1e-2'), %t); +assert_checkequal (csvIsnum('+1e+2'), %t); +assert_checkequal (csvIsnum('-1e+2'), %t); +assert_checkequal (csvIsnum('-12e+3'), %t); +assert_checkequal (csvIsnum('-1.2e+3'), %t); +assert_checkequal (csvIsnum('-1.2e+345'), %t); +assert_checkequal (csvIsnum('a'), %f); +assert_checkequal (csvIsnum('e'), %f); +assert_checkequal (csvIsnum('d'), %f); +assert_checkequal (csvIsnum('E'), %f); +assert_checkequal (csvIsnum('e'), %f); +assert_checkequal (csvIsnum('-1.2a+345'), %f); +assert_checkequal (csvIsnum('-1.2e+3+45'), %f); +assert_checkequal (csvIsnum('-1.2e+3-45'), %f); +// ============================================================================= + + + diff --git a/modules/spreadsheet/tests/unit_tests/csvRead.dia.ref b/modules/spreadsheet/tests/unit_tests/csvRead.dia.ref new file mode 100755 index 000000000..1228293df --- /dev/null +++ b/modules/spreadsheet/tests/unit_tests/csvRead.dia.ref @@ -0,0 +1,97 @@ +// ============================================================================= +// Copyright (C) 2011 - INRIA - Michael Baudin +// Copyright (C) 2010 - 2011 - INRIA - Allan CORNET +// ============================================================================= +// <-- JVM NOT MANDATORY --> +path = SCI+"/modules/spreadsheet/tests/unit_tests/"; +// ============================================================================= +Mstr = [ +"1" "0" "0" "0" "0" +"0" "1" "0" "0" "0" +"0" "0" "1" "0" "0" +]; +// +r = csvRead(fullfile(path,"M_1.csv"),[],[],"string"); +assert_checkequal (r,Mstr); +// +r = csvRead(fullfile(path,"M_2.csv"), ascii(9), [], "string"); +assert_checkequal (r,Mstr); +// +r = csvRead(fullfile(path,"M_3.csv"), " ", ",", "string"); +assert_checkequal (r,Mstr); +// +r = csvRead(fullfile(path,"M_4.csv"), ";", ",", "string"); +assert_checkequal (r,Mstr); +// ============================================================================= +Nstr = [ +"Nan" "1" "Nan" +"-Inf" "Inf" "4" +]; +// +r = csvRead(fullfile(path,"N_1.csv"), [], [], "string"); +assert_checkequal (r,Nstr); +// +r = csvRead(fullfile(path,"N_2.csv"), ascii(9), [], "string"); +assert_checkequal (r,Nstr); +// +r = csvRead(fullfile(path,"N_3.csv"), " ", ",", "string"); +assert_checkequal (r,Nstr); +// +r = csvRead(fullfile(path,"N_4.csv"), ";", ",", "string"); +assert_checkequal (r,Nstr); +// ============================================================================= +Kstr = [ +"1.1000000000000001" "0.10000000000000001" +"0.10000000000000001" "1.1000000000000001" +"0.10000000000000001" "0.10000000000000001" +]; +Kstr2 = [ +"1,1000000000000001" "0,10000000000000001" +"0,10000000000000001" "1,1000000000000001" +"0,10000000000000001" "0,10000000000000001" +]; +// +r = csvRead(fullfile(path,"K_1.csv"), [], [], "string"); +assert_checkequal (r,Kstr); +// +r = csvRead(fullfile(path,"K_2.csv"), ascii(9), [], "string"); +assert_checkequal (r,Kstr); +// +r = csvRead(fullfile(path,"K_3.csv"), " ", ",", "string"); +assert_checkequal (r,Kstr); +// +r = csvRead(fullfile(path,"K_4.csv"), ";", ",", "string"); +assert_checkequal (r,Kstr); +// +r = csvRead(fullfile(path,"K_4.csv"), ";", [], "string"); +assert_checkequal (r,Kstr2); +// ============================================================================= +S = [ + "Allan", "2", "CORNET"; + "csv read/write toolbox", "3", "for scilab" +]; +// +r = csvRead(fullfile(path,"S_1.csv"), "|", [], "string"); +assert_checkequal (r,S); +// +r = csvRead(fullfile(path,"S_2.csv"), ascii(9), [], "string"); +assert_checkequal (r,S); +// +r = csvRead(fullfile(path,"S_3.csv"), "!", ",", "string"); +assert_checkequal (r,S); +// +r = csvRead(fullfile(path,"S_4.csv"), ";", ",", "string"); +assert_checkequal (r,S); +// +r = csvRead(fullfile(path,"S_1.csv"), "|", ".", "string"); +assert_checkequal (r,S); +// +r = csvRead(fullfile(path,"S_1.csv"), "|", ".", "double"); +ref = [%nan , 2, %nan; %nan, 3, %nan]; +assert_checkequal ( r , ref); +// ============================================================================= +filename = fullfile(path,"data.csv"); +N = csvRead(filename,",",".","double",["Nan", "0"]); +expected = [%inf, 0]; +assert_checkequal ( N , expected ); +// ============================================================================= diff --git a/modules/spreadsheet/tests/unit_tests/csvRead.tst b/modules/spreadsheet/tests/unit_tests/csvRead.tst new file mode 100755 index 000000000..9093868dc --- /dev/null +++ b/modules/spreadsheet/tests/unit_tests/csvRead.tst @@ -0,0 +1,98 @@ +// ============================================================================= +// Copyright (C) 2011 - INRIA - Michael Baudin +// Copyright (C) 2010 - 2011 - INRIA - Allan CORNET +// ============================================================================= +// <-- JVM NOT MANDATORY --> +path = SCI+"/modules/spreadsheet/tests/unit_tests/"; +// ============================================================================= +Mstr = [ +"1" "0" "0" "0" "0" +"0" "1" "0" "0" "0" +"0" "0" "1" "0" "0" +]; +// +r = csvRead(fullfile(path,"M_1.csv"),[],[],"string"); +assert_checkequal (r,Mstr); +// +r = csvRead(fullfile(path,"M_2.csv"), ascii(9), [], "string"); +assert_checkequal (r,Mstr); +// +r = csvRead(fullfile(path,"M_3.csv"), " ", ",", "string"); +assert_checkequal (r,Mstr); +// +r = csvRead(fullfile(path,"M_4.csv"), ";", ",", "string"); +assert_checkequal (r,Mstr); +// ============================================================================= +Nstr = [ +"Nan" "1" "Nan" +"-Inf" "Inf" "4" +]; +// +r = csvRead(fullfile(path,"N_1.csv"), [], [], "string"); +assert_checkequal (r,Nstr); +// +r = csvRead(fullfile(path,"N_2.csv"), ascii(9), [], "string"); +assert_checkequal (r,Nstr); +// +r = csvRead(fullfile(path,"N_3.csv"), " ", ",", "string"); +assert_checkequal (r,Nstr); +// +r = csvRead(fullfile(path,"N_4.csv"), ";", ",", "string"); +assert_checkequal (r,Nstr); +// ============================================================================= +Kstr = [ +"1.1000000000000001" "0.10000000000000001" +"0.10000000000000001" "1.1000000000000001" +"0.10000000000000001" "0.10000000000000001" +]; +Kstr2 = [ +"1,1000000000000001" "0,10000000000000001" +"0,10000000000000001" "1,1000000000000001" +"0,10000000000000001" "0,10000000000000001" +]; +// +r = csvRead(fullfile(path,"K_1.csv"), [], [], "string"); +assert_checkequal (r,Kstr); +// +r = csvRead(fullfile(path,"K_2.csv"), ascii(9), [], "string"); +assert_checkequal (r,Kstr); +// +r = csvRead(fullfile(path,"K_3.csv"), " ", ",", "string"); +assert_checkequal (r,Kstr); +// +r = csvRead(fullfile(path,"K_4.csv"), ";", ",", "string"); +assert_checkequal (r,Kstr); +// +r = csvRead(fullfile(path,"K_4.csv"), ";", [], "string"); +assert_checkequal (r,Kstr2); +// ============================================================================= +S = [ + "Allan", "2", "CORNET"; + "csv read/write toolbox", "3", "for scilab" +]; +// +r = csvRead(fullfile(path,"S_1.csv"), "|", [], "string"); +assert_checkequal (r,S); +// +r = csvRead(fullfile(path,"S_2.csv"), ascii(9), [], "string"); +assert_checkequal (r,S); +// +r = csvRead(fullfile(path,"S_3.csv"), "!", ",", "string"); +assert_checkequal (r,S); +// +r = csvRead(fullfile(path,"S_4.csv"), ";", ",", "string"); +assert_checkequal (r,S); +// +r = csvRead(fullfile(path,"S_1.csv"), "|", ".", "string"); +assert_checkequal (r,S); +// +r = csvRead(fullfile(path,"S_1.csv"), "|", ".", "double"); +ref = [%nan , 2, %nan; %nan, 3, %nan]; +assert_checkequal ( r , ref); +// ============================================================================= +filename = fullfile(path,"data.csv"); +N = csvRead(filename,",",".","double",["Nan", "0"]); +expected = [%inf, 0]; +assert_checkequal ( N , expected ); +// ============================================================================= + diff --git a/modules/spreadsheet/tests/unit_tests/csvRead_range.dia.ref b/modules/spreadsheet/tests/unit_tests/csvRead_range.dia.ref new file mode 100755 index 000000000..0dcbb27e7 --- /dev/null +++ b/modules/spreadsheet/tests/unit_tests/csvRead_range.dia.ref @@ -0,0 +1,87 @@ +// ============================================================================= +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2013 - Scilab Enterprises - Simon MARCHETTO +// +// This file is distributed under the same license as the Scilab package. +// ============================================================================= +path = SCI + "/modules/spreadsheet/tests/unit_tests/"; +// Not symetric range +r = csvRead(fullfile(path,"K_1.csv"), [], [], "double", [], [], [2 1 2 2] ); +expected = [ +0.10000000000000001 1.1000000000000001 +]; +assert_checkequal(r, expected); +// Read complex doubles +r = csvRead(fullfile(path,"K_1.csv"), [], [], "string", [], [], [2 1 3 2] ); +expected = [ +"0.10000000000000001" "1.1000000000000001" +"0.10000000000000001" "0.10000000000000001" +]; +assert_checkequal(r, expected); +// Not symetric range +r = csvRead(fullfile(path,"K_1.csv"), [], [], "string", [], [], [2 1 2 2]); +expected = [ +"0.10000000000000001" "1.1000000000000001" +]; +assert_checkequal(r, expected); +// Inconsistent range: C2 < C1 +instr = "r = csvRead(fullfile(path,""K_1.csv""), [], [], ""string"", [], [], [2 3 3 2]);"; +refMsg = msprintf(gettext("%s: Wrong value for input argument #%d: Inconsistent range.\n"), "csvRead", 7); +assert_checkerror(instr, refMsg); +// Inconsistent range: R2 < R1 +instr = "r = csvRead(fullfile(path,""K_1.csv""), [], [], ""string"", [], [], [3 1 2 2]);"; +refMsg = msprintf(gettext("%s: Wrong value for input argument #%d: Inconsistent range.\n"), "csvRead", 7); +assert_checkerror(instr, refMsg); +// Non-integer indice +instr = "r = csvRead(fullfile(path,""K_1.csv""), [], [], ""string"", [], [], [2 1 1.5 2]);"; +refMsg = msprintf(gettext("%s: Wrong value for input argument #%d: A matrix of double, with integer values, expected.\n"), "csvRead", 7); +assert_checkerror(instr, refMsg); +// Infinite indice +instr = "r = csvRead(fullfile(path,""K_1.csv""), [], [], ""string"", [], [], [2 1 %inf 2]);"; +refMsg = msprintf(gettext("%s: Wrong value for input argument #%d: A matrix of double, with integer values, expected.\n"), "csvRead", 7); +assert_checkerror(instr, refMsg); +// Row right indice greater than actual number of rows (string) => truncate +r = csvRead(fullfile(path,"K_1.csv"), [], [], "string", [], [], [2 1 999 2]); +expected = [ +"0.10000000000000001" "1.1000000000000001" +"0.10000000000000001" "0.10000000000000001" +]; +assert_checkequal(r, expected); +// Column right indice greater than actual number of columns (string) => truncate +r = csvRead(fullfile(path,"K_1.csv"), [], [], "string", [], [], [2 1 3 999]); +expected = [ +"0.10000000000000001" "1.1000000000000001" +"0.10000000000000001" "0.10000000000000001" +]; +assert_checkequal(r, expected); +// Row or column left indice greater than actual number of rows (string) => error +refMsg = msprintf(gettext("%s: Range row or/and column left indice(s) out of bounds.\n"), "csvRead"); +instr = "r = csvRead(fullfile(path, ""K_1.csv""), [], [], ""string"", [], [], [999 1 1000 2]);"; +assert_checkerror(instr, refMsg); +instr = "r = csvRead(fullfile(path, ""K_1.csv""), [], [], ""string"", [], [], [1 999 2 1000]);"; +assert_checkerror(instr, refMsg); +// Row right indice greater than actual number of rows (double) => truncate +r = csvRead(fullfile(path,"K_1.csv"), [], [], "double", [], [], [3 1 999 2]); +expected = [ +0.10000000000000001 0.10000000000000001 +]; +assert_checkequal(r, expected); +// Column right indice greater than actual number of columns (double) => truncate +r = csvRead(fullfile(path,"K_1.csv"), [], [], "double", [], [], [2 2 3 999]); +expected = [ +1.1000000000000001 +0.10000000000000001 +]; +assert_checkequal(r, expected); +// Row or column left indice greater than actual number of rows (double) => error +refMsg = msprintf(gettext("%s: Range row or/and column left indice(s) out of bounds.\n"), "csvRead"); +instr = "r = csvRead(fullfile(path, ""K_1.csv""), [], [], ""double"", [], [], [999 1 1000 2]);"; +assert_checkerror(instr, refMsg); +instr = "r = csvRead(fullfile(path, ""K_1.csv""), [], [], ""double"", [], [], [1 999 2 1000]);"; +assert_checkerror(instr, refMsg); +// r = csvRead(fullfile(path,"complexdata.csv"), [], [], "double", [], [], [2 1 3 2]); +// Fails due to ticket #360 +// TODO : range of doubles complex +// TODO : Row indice larger than actual number of rows: complex double case +// TODO : Col indice larger than actual number of columns: complex double case +// ============================================================================= diff --git a/modules/spreadsheet/tests/unit_tests/csvRead_range.tst b/modules/spreadsheet/tests/unit_tests/csvRead_range.tst new file mode 100755 index 000000000..391127510 --- /dev/null +++ b/modules/spreadsheet/tests/unit_tests/csvRead_range.tst @@ -0,0 +1,103 @@ +// ============================================================================= +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2013 - Scilab Enterprises - Simon MARCHETTO +// +// This file is distributed under the same license as the Scilab package. +// ============================================================================= + +path = SCI + "/modules/spreadsheet/tests/unit_tests/"; + +// Not symetric range +r = csvRead(fullfile(path,"K_1.csv"), [], [], "double", [], [], [2 1 2 2] ); +expected = [ +0.10000000000000001 1.1000000000000001 +]; +assert_checkequal(r, expected); + +// Read complex doubles +r = csvRead(fullfile(path,"K_1.csv"), [], [], "string", [], [], [2 1 3 2] ); +expected = [ +"0.10000000000000001" "1.1000000000000001" +"0.10000000000000001" "0.10000000000000001" +]; +assert_checkequal(r, expected); + +// Not symetric range +r = csvRead(fullfile(path,"K_1.csv"), [], [], "string", [], [], [2 1 2 2]); +expected = [ +"0.10000000000000001" "1.1000000000000001" +]; +assert_checkequal(r, expected); + +// Inconsistent range: C2 < C1 +instr = "r = csvRead(fullfile(path,""K_1.csv""), [], [], ""string"", [], [], [2 3 3 2]);"; +refMsg = msprintf(gettext("%s: Wrong value for input argument #%d: Inconsistent range.\n"), "csvRead", 7); +assert_checkerror(instr, refMsg); + +// Inconsistent range: R2 < R1 +instr = "r = csvRead(fullfile(path,""K_1.csv""), [], [], ""string"", [], [], [3 1 2 2]);"; +refMsg = msprintf(gettext("%s: Wrong value for input argument #%d: Inconsistent range.\n"), "csvRead", 7); +assert_checkerror(instr, refMsg); + +// Non-integer indice +instr = "r = csvRead(fullfile(path,""K_1.csv""), [], [], ""string"", [], [], [2 1 1.5 2]);"; +refMsg = msprintf(gettext("%s: Wrong value for input argument #%d: A matrix of double, with integer values, expected.\n"), "csvRead", 7); +assert_checkerror(instr, refMsg); + +// Infinite indice +instr = "r = csvRead(fullfile(path,""K_1.csv""), [], [], ""string"", [], [], [2 1 %inf 2]);"; +refMsg = msprintf(gettext("%s: Wrong value for input argument #%d: A matrix of double, with integer values, expected.\n"), "csvRead", 7); +assert_checkerror(instr, refMsg); + +// Row right indice greater than actual number of rows (string) => truncate +r = csvRead(fullfile(path,"K_1.csv"), [], [], "string", [], [], [2 1 999 2]); +expected = [ +"0.10000000000000001" "1.1000000000000001" +"0.10000000000000001" "0.10000000000000001" +]; +assert_checkequal(r, expected); + +// Column right indice greater than actual number of columns (string) => truncate +r = csvRead(fullfile(path,"K_1.csv"), [], [], "string", [], [], [2 1 3 999]); +expected = [ +"0.10000000000000001" "1.1000000000000001" +"0.10000000000000001" "0.10000000000000001" +]; +assert_checkequal(r, expected); + +// Row or column left indice greater than actual number of rows (string) => error +refMsg = msprintf(gettext("%s: Range row or/and column left indice(s) out of bounds.\n"), "csvRead"); +instr = "r = csvRead(fullfile(path, ""K_1.csv""), [], [], ""string"", [], [], [999 1 1000 2]);"; +assert_checkerror(instr, refMsg); +instr = "r = csvRead(fullfile(path, ""K_1.csv""), [], [], ""string"", [], [], [1 999 2 1000]);"; +assert_checkerror(instr, refMsg); + +// Row right indice greater than actual number of rows (double) => truncate +r = csvRead(fullfile(path,"K_1.csv"), [], [], "double", [], [], [3 1 999 2]); +expected = [ +0.10000000000000001 0.10000000000000001 +]; +assert_checkequal(r, expected); + +// Column right indice greater than actual number of columns (double) => truncate +r = csvRead(fullfile(path,"K_1.csv"), [], [], "double", [], [], [2 2 3 999]); +expected = [ +1.1000000000000001 +0.10000000000000001 +]; +assert_checkequal(r, expected); + +// Row or column left indice greater than actual number of rows (double) => error +refMsg = msprintf(gettext("%s: Range row or/and column left indice(s) out of bounds.\n"), "csvRead"); +instr = "r = csvRead(fullfile(path, ""K_1.csv""), [], [], ""double"", [], [], [999 1 1000 2]);"; +assert_checkerror(instr, refMsg); +instr = "r = csvRead(fullfile(path, ""K_1.csv""), [], [], ""double"", [], [], [1 999 2 1000]);"; +assert_checkerror(instr, refMsg); + +// r = csvRead(fullfile(path,"complexdata.csv"), [], [], "double", [], [], [2 1 3 2]); +// Fails due to ticket #360 +// TODO : range of doubles complex +// TODO : Row indice larger than actual number of rows: complex double case +// TODO : Col indice larger than actual number of columns: complex double case +// ============================================================================= + diff --git a/modules/spreadsheet/tests/unit_tests/csvRead_regexp.dia.ref b/modules/spreadsheet/tests/unit_tests/csvRead_regexp.dia.ref new file mode 100755 index 000000000..eed288941 --- /dev/null +++ b/modules/spreadsheet/tests/unit_tests/csvRead_regexp.dia.ref @@ -0,0 +1,20 @@ +// ============================================================================= +// Copyright (C) 2011 - INRIA - Michael Baudin +// Copyright (C) 2010 - 2011 - INRIA - Allan CORNET +// ============================================================================= +// <-- JVM NOT MANDATORY --> +// ============================================================================= +path = SCI+"/modules/spreadsheet/tests/unit_tests/"; +// ============================================================================= +filename = fullfile(path, "csv_regexp.csv"); +[y, x] = csvRead(filename, [], [], [], [], "/\/\//"); +ref_x = ["// tata"; .. + "// titi"; .. + "// toto"; .. + "// tutu"]; +ref_y = [ 1. 0. 0. 0. 0. ; .. + 0. 1. 0. 0. 0. ; .. + 0. 0. 1. 0. 0.]; +assert_checkequal (ref_x , x); +assert_checkequal (ref_y , y); +// ============================================================================= diff --git a/modules/spreadsheet/tests/unit_tests/csvRead_regexp.tst b/modules/spreadsheet/tests/unit_tests/csvRead_regexp.tst new file mode 100755 index 000000000..59fd5d0b8 --- /dev/null +++ b/modules/spreadsheet/tests/unit_tests/csvRead_regexp.tst @@ -0,0 +1,21 @@ +// ============================================================================= +// Copyright (C) 2011 - INRIA - Michael Baudin +// Copyright (C) 2010 - 2011 - INRIA - Allan CORNET +// ============================================================================= +// <-- JVM NOT MANDATORY --> +// ============================================================================= +path = SCI+"/modules/spreadsheet/tests/unit_tests/"; +// ============================================================================= +filename = fullfile(path, "csv_regexp.csv"); +[y, x] = csvRead(filename, [], [], [], [], "/\/\//"); +ref_x = ["// tata"; .. + "// titi"; .. + "// toto"; .. + "// tutu"]; +ref_y = [ 1. 0. 0. 0. 0. ; .. + 0. 1. 0. 0. 0. ; .. + 0. 0. 1. 0. 0.]; + +assert_checkequal (ref_x , x); +assert_checkequal (ref_y , y); +// ============================================================================= diff --git a/modules/spreadsheet/tests/unit_tests/csvRead_vs_read_csv.dia.ref b/modules/spreadsheet/tests/unit_tests/csvRead_vs_read_csv.dia.ref new file mode 100755 index 000000000..556951383 --- /dev/null +++ b/modules/spreadsheet/tests/unit_tests/csvRead_vs_read_csv.dia.ref @@ -0,0 +1,101 @@ +// ============================================================================= +// Copyright (C) 2012 - Scilab Enterprises - Sylvestre Ledru +// ============================================================================= +// <-- JVM NOT MANDATORY --> +// ============================================================================= +content = ["a b c d e"; .. +"1 2 3 4 5"; .. +"2 3 4 5 6"; .. +"3 4 5 6 7"; .. +"4 5 6 7 8"; .. +"5 6 7 8 9"; .. +"6 7 8 9 10"] + content = + +!a b c d e ! +! ! +!1 2 3 4 5 ! +! ! +!2 3 4 5 6 ! +! ! +!3 4 5 6 7 ! +! ! +!4 5 6 7 8 ! +! ! +!5 6 7 8 9 ! +! ! +!6 7 8 9 10 ! +filename=TMPDIR+"/foo.csv"; +mputl(content,filename); +a=read_csv(filename) + a = + +!a b c d e ! +! ! +!1 2 3 4 5 ! +! ! +!2 3 4 5 6 ! +! ! +!3 4 5 6 7 ! +! ! +!4 5 6 7 8 ! +! ! +!5 6 7 8 9 ! +! ! +!6 7 8 9 10 ! +b=read_csv(filename,[],[],"string") + b = + +!a b c d e ! +! ! +!1 2 3 4 5 ! +! ! +!2 3 4 5 6 ! +! ! +!3 4 5 6 7 ! +! ! +!4 5 6 7 8 ! +! ! +!5 6 7 8 9 ! +! ! +!6 7 8 9 10 ! +assert_checkequal(a, b); +a2=csvRead(filename) + a2 = + + Nan + 12345. + 23456. + 34567. + 45678. + 56789. + 678910. +b2=csvRead(filename,[],[],"double") + b2 = + + Nan + 12345. + 23456. + 34567. + 45678. + 56789. + 678910. +assert_checkequal(a, b); +b3=csvRead(filename,[],[],"string") + b3 = + +!a b c d e ! +! ! +!1 2 3 4 5 ! +! ! +!2 3 4 5 6 ! +! ! +!3 4 5 6 7 ! +! ! +!4 5 6 7 8 ! +! ! +!5 6 7 8 9 ! +! ! +!6 7 8 9 10 ! +assert_checkequal(a,b3); +assert_checkequal(b,b3); diff --git a/modules/spreadsheet/tests/unit_tests/csvRead_vs_read_csv.tst b/modules/spreadsheet/tests/unit_tests/csvRead_vs_read_csv.tst new file mode 100755 index 000000000..920be144f --- /dev/null +++ b/modules/spreadsheet/tests/unit_tests/csvRead_vs_read_csv.tst @@ -0,0 +1,26 @@ +// ============================================================================= +// Copyright (C) 2012 - Scilab Enterprises - Sylvestre Ledru +// ============================================================================= +// <-- JVM NOT MANDATORY --> +// ============================================================================= +content = ["a b c d e"; .. +"1 2 3 4 5"; .. +"2 3 4 5 6"; .. +"3 4 5 6 7"; .. +"4 5 6 7 8"; .. +"5 6 7 8 9"; .. +"6 7 8 9 10"] +filename=TMPDIR+"/foo.csv"; +mputl(content,filename); + +a=read_csv(filename) +b=read_csv(filename,[],[],"string") +assert_checkequal(a, b); + +a2=csvRead(filename) +b2=csvRead(filename,[],[],"double") +assert_checkequal(a, b); + +b3=csvRead(filename,[],[],"string") +assert_checkequal(a,b3); +assert_checkequal(b,b3);
\ No newline at end of file diff --git a/modules/spreadsheet/tests/unit_tests/csvTextScan.dia.ref b/modules/spreadsheet/tests/unit_tests/csvTextScan.dia.ref new file mode 100755 index 000000000..39c1c15b1 --- /dev/null +++ b/modules/spreadsheet/tests/unit_tests/csvTextScan.dia.ref @@ -0,0 +1,140 @@ +// ============================================================================= +// Copyright (C) 2011 - INRIA - Michael Baudin +// Copyright (C) 2010 - 2011 - INRIA - Allan CORNET +// ============================================================================= +// <-- JVM NOT MANDATORY --> +// ============================================================================= +A = " 1; 2; 3"; +B = " 4; 5; 6"; +C = [A;B]; +bbSTR = csvTextScan(C, ';', [], "string"); +expected = [ +" 1" , " 2" , " 3" +" 4" , " 5" , " 6" +]; +assert_checkequal ( bbSTR , expected ); +// ============================================================================= +bbDouble = csvTextScan(C, ';', [], 'double'); +expected = [1 2 3;4 5 6]; +assert_checkequal ( bbDouble , expected ); +// ============================================================================= +path = SCI+"/modules/spreadsheet/tests/unit_tests/"; +// ============================================================================= +Mstr = [ +"1" "0" "0" "0" "0" +"0" "1" "0" "0" "0" +"0" "0" "1" "0" "0" +]; +// +r = mgetl(fullfile(path,"M_1.csv")); +b = csvTextScan(r, [], [], "string"); +assert_checkequal (b,Mstr); +// +r = mgetl(fullfile(path,"M_2.csv")); +b = csvTextScan(r, ascii(9), [], "string"); +assert_checkequal (b,Mstr); +// +r = mgetl(fullfile(path,"M_3.csv")); +b = csvTextScan(r, " ", ",", "string"); +assert_checkequal (b,Mstr); +// +r = mgetl(fullfile(path,"M_4.csv")); +b = csvTextScan(r, ";", ",", "string"); +assert_checkequal (b,Mstr); +// ============================================================================= +Nstr = [ +"Nan" "1" "Nan" +"-Inf" "Inf" "4" +]; +// +r = mgetl(fullfile(path,"N_1.csv")); +b = csvTextScan(r, [], [], "string"); +assert_checkequal (b,Nstr); +// +r = mgetl(fullfile(path,"N_2.csv")); +b = csvTextScan(r, ascii(9), [], "string"); +assert_checkequal (b,Nstr); +// +r = mgetl(fullfile(path,"N_3.csv")); +b = csvTextScan(r, " ", ",", "string"); +assert_checkequal (b,Nstr); +// +r = mgetl(fullfile(path,"N_4.csv")); +b = csvTextScan(r, ";", ",", "string"); +assert_checkequal (b,Nstr); +// ============================================================================= +Kstr = [ +"1.1000000000000001" "0.10000000000000001" +"0.10000000000000001" "1.1000000000000001" +"0.10000000000000001" "0.10000000000000001" +]; +Kstr2 = [ +"1,1000000000000001" "0,10000000000000001" +"0,10000000000000001" "1,1000000000000001" +"0,10000000000000001" "0,10000000000000001" +]; +// +r = mgetl(fullfile(path,"K_1.csv")); +b = csvTextScan(r, [], [], "string"); +assert_checkequal (b,Kstr); +// +r = mgetl(fullfile(path,"K_2.csv")); +b = csvTextScan(r, ascii(9), [], "string"); +assert_checkequal (b,Kstr); +// +r = mgetl(fullfile(path,"K_3.csv")); +b = csvTextScan(r, " ", ",", "string"); +assert_checkequal (b,Kstr); +// +r = mgetl(fullfile(path,"K_3.csv")); +b = csvTextScan(r, " ", [], "string"); +assert_checkequal (b,Kstr2); +// +r = mgetl(fullfile(path,"K_4.csv")); +b = csvTextScan(r, ";", ",", "string"); +assert_checkequal (b,Kstr); +// +r = mgetl(fullfile(path,"K_4.csv")); +b = csvTextScan(r, ";", [], "string"); +assert_checkequal (b,Kstr2); +// ============================================================================= +S = [ + "Allan", "2", "CORNET"; + "csv read/write toolbox", "3", "for scilab" +]; +// +r = mgetl(fullfile(path,"S_1.csv")); +b = csvTextScan(r, "|", [], "string"); +assert_checkequal (b,S); +// +r = mgetl(fullfile(path,"S_2.csv")); +b = csvTextScan(r, ascii(9), [], "string"); +assert_checkequal (b,S); +// +r = mgetl(fullfile(path,"S_3.csv")); +b = csvTextScan(r, "!", ",", "string"); +assert_checkequal (b,S); +// +r = mgetl(fullfile(path,"S_4.csv")); +b = csvTextScan(r, ";", ",", "string"); +assert_checkequal (b,S); +// +r = mgetl(fullfile(path,"S_1.csv")); +b = csvTextScan(r, "|", ".", "string"); +assert_checkequal (b,S); +// +r = mgetl(fullfile(path,"S_1.csv")); +b = csvTextScan(r, "|", ".", "double"); +ref = [%nan , 2, %nan; %nan, 3, %nan]; +assert_checkequal ( b , ref); +// ============================================================================= +r = mgetl(fullfile(path, "double_quotes.csv"), 5); +ref = ['Dummy1', 'Dummy1'; .. + 'Dummy2', 'Dummy2, Dummy2'; .. + 'Dummy3', '(""Dummy3"")'; .. + '""Dummy4"" Dummy4','Dummy4'; .. + 'Dummy5', 'Dummy5 ""Dummy5""']; +for i=1:5 + b = csvTextScan(r(i), ",", [], "string"); + assert_checkequal(b , ref(i,:)); +end diff --git a/modules/spreadsheet/tests/unit_tests/csvTextScan.tst b/modules/spreadsheet/tests/unit_tests/csvTextScan.tst new file mode 100755 index 000000000..39c1c15b1 --- /dev/null +++ b/modules/spreadsheet/tests/unit_tests/csvTextScan.tst @@ -0,0 +1,140 @@ +// ============================================================================= +// Copyright (C) 2011 - INRIA - Michael Baudin +// Copyright (C) 2010 - 2011 - INRIA - Allan CORNET +// ============================================================================= +// <-- JVM NOT MANDATORY --> +// ============================================================================= +A = " 1; 2; 3"; +B = " 4; 5; 6"; +C = [A;B]; +bbSTR = csvTextScan(C, ';', [], "string"); +expected = [ +" 1" , " 2" , " 3" +" 4" , " 5" , " 6" +]; +assert_checkequal ( bbSTR , expected ); +// ============================================================================= +bbDouble = csvTextScan(C, ';', [], 'double'); +expected = [1 2 3;4 5 6]; +assert_checkequal ( bbDouble , expected ); +// ============================================================================= +path = SCI+"/modules/spreadsheet/tests/unit_tests/"; +// ============================================================================= +Mstr = [ +"1" "0" "0" "0" "0" +"0" "1" "0" "0" "0" +"0" "0" "1" "0" "0" +]; +// +r = mgetl(fullfile(path,"M_1.csv")); +b = csvTextScan(r, [], [], "string"); +assert_checkequal (b,Mstr); +// +r = mgetl(fullfile(path,"M_2.csv")); +b = csvTextScan(r, ascii(9), [], "string"); +assert_checkequal (b,Mstr); +// +r = mgetl(fullfile(path,"M_3.csv")); +b = csvTextScan(r, " ", ",", "string"); +assert_checkequal (b,Mstr); +// +r = mgetl(fullfile(path,"M_4.csv")); +b = csvTextScan(r, ";", ",", "string"); +assert_checkequal (b,Mstr); +// ============================================================================= +Nstr = [ +"Nan" "1" "Nan" +"-Inf" "Inf" "4" +]; +// +r = mgetl(fullfile(path,"N_1.csv")); +b = csvTextScan(r, [], [], "string"); +assert_checkequal (b,Nstr); +// +r = mgetl(fullfile(path,"N_2.csv")); +b = csvTextScan(r, ascii(9), [], "string"); +assert_checkequal (b,Nstr); +// +r = mgetl(fullfile(path,"N_3.csv")); +b = csvTextScan(r, " ", ",", "string"); +assert_checkequal (b,Nstr); +// +r = mgetl(fullfile(path,"N_4.csv")); +b = csvTextScan(r, ";", ",", "string"); +assert_checkequal (b,Nstr); +// ============================================================================= +Kstr = [ +"1.1000000000000001" "0.10000000000000001" +"0.10000000000000001" "1.1000000000000001" +"0.10000000000000001" "0.10000000000000001" +]; +Kstr2 = [ +"1,1000000000000001" "0,10000000000000001" +"0,10000000000000001" "1,1000000000000001" +"0,10000000000000001" "0,10000000000000001" +]; +// +r = mgetl(fullfile(path,"K_1.csv")); +b = csvTextScan(r, [], [], "string"); +assert_checkequal (b,Kstr); +// +r = mgetl(fullfile(path,"K_2.csv")); +b = csvTextScan(r, ascii(9), [], "string"); +assert_checkequal (b,Kstr); +// +r = mgetl(fullfile(path,"K_3.csv")); +b = csvTextScan(r, " ", ",", "string"); +assert_checkequal (b,Kstr); +// +r = mgetl(fullfile(path,"K_3.csv")); +b = csvTextScan(r, " ", [], "string"); +assert_checkequal (b,Kstr2); +// +r = mgetl(fullfile(path,"K_4.csv")); +b = csvTextScan(r, ";", ",", "string"); +assert_checkequal (b,Kstr); +// +r = mgetl(fullfile(path,"K_4.csv")); +b = csvTextScan(r, ";", [], "string"); +assert_checkequal (b,Kstr2); +// ============================================================================= +S = [ + "Allan", "2", "CORNET"; + "csv read/write toolbox", "3", "for scilab" +]; +// +r = mgetl(fullfile(path,"S_1.csv")); +b = csvTextScan(r, "|", [], "string"); +assert_checkequal (b,S); +// +r = mgetl(fullfile(path,"S_2.csv")); +b = csvTextScan(r, ascii(9), [], "string"); +assert_checkequal (b,S); +// +r = mgetl(fullfile(path,"S_3.csv")); +b = csvTextScan(r, "!", ",", "string"); +assert_checkequal (b,S); +// +r = mgetl(fullfile(path,"S_4.csv")); +b = csvTextScan(r, ";", ",", "string"); +assert_checkequal (b,S); +// +r = mgetl(fullfile(path,"S_1.csv")); +b = csvTextScan(r, "|", ".", "string"); +assert_checkequal (b,S); +// +r = mgetl(fullfile(path,"S_1.csv")); +b = csvTextScan(r, "|", ".", "double"); +ref = [%nan , 2, %nan; %nan, 3, %nan]; +assert_checkequal ( b , ref); +// ============================================================================= +r = mgetl(fullfile(path, "double_quotes.csv"), 5); +ref = ['Dummy1', 'Dummy1'; .. + 'Dummy2', 'Dummy2, Dummy2'; .. + 'Dummy3', '(""Dummy3"")'; .. + '""Dummy4"" Dummy4','Dummy4'; .. + 'Dummy5', 'Dummy5 ""Dummy5""']; +for i=1:5 + b = csvTextScan(r(i), ",", [], "string"); + assert_checkequal(b , ref(i,:)); +end diff --git a/modules/spreadsheet/tests/unit_tests/csvWrite.dia.ref b/modules/spreadsheet/tests/unit_tests/csvWrite.dia.ref new file mode 100755 index 000000000..1f346a413 --- /dev/null +++ b/modules/spreadsheet/tests/unit_tests/csvWrite.dia.ref @@ -0,0 +1,116 @@ +// ============================================================================= +// Copyright (C) 2011 - INRIA - Michael Baudin +// Copyright (C) 2010 - 2011 - INRIA - Allan CORNET +// Copyright (C) 2013 - Scilab Enterprises - Simon MARCHETTO +// ============================================================================= +// <-- JVM NOT MANDATORY --> +path = SCI+"/modules/spreadsheet/tests/unit_tests/"; +// ============================================================================= +M = eye(3, 5); +// +filename = fullfile(TMPDIR,"M_1.csv"); +csvWrite(M, filename); +assert_checkfilesequal ( filename , fullfile(path,"M_1.csv") ); +// +filename = fullfile(TMPDIR,"M_2.csv"); +csvWrite(M, filename, ascii(9)); +assert_checkfilesequal ( filename , fullfile(path,"M_2.csv") ); +// +filename = fullfile(TMPDIR,"M_3.csv"); +csvWrite(M, filename, " ", ","); +assert_checkfilesequal ( filename , fullfile(path,"M_3.csv") ); +// +filename = fullfile(TMPDIR,"M_4.csv"); +csvWrite(M, filename, ";", ","); +assert_checkfilesequal ( filename , fullfile(path,"M_4.csv") ); +// ============================================================================= +N = [%nan , 1, %nan ; -%inf , %inf, 4]; +// +filename = fullfile(TMPDIR,"N_1.csv"); +csvWrite(N, filename); +assert_checkfilesequal ( filename , fullfile(path,"N_1.csv") ); +// +filename = fullfile(TMPDIR,"N_1.csv"); +csvWrite(N, filename, ascii(9)); +assert_checkfilesequal ( filename , fullfile(path,"N_2.csv") ); +// +filename = fullfile(TMPDIR,"N_1.csv"); +csvWrite(N, filename, " ", ","); +assert_checkfilesequal (filename , fullfile(path,"N_3.csv") ); +// +filename = fullfile(TMPDIR,"N_1.csv"); +csvWrite(N, filename, ";", ","); +assert_checkfilesequal ( filename , fullfile(path,"N_4.csv") ); +// ============================================================================= +K = eye(3, 2) + 0.1; +// +filename = fullfile(TMPDIR,"K_1.csv"); +csvWrite(K, filename); +assert_checkfilesequal ( filename , fullfile(path,"K_1.csv") ); +// +filename = fullfile(TMPDIR,"K_2.csv"); +csvWrite(K, filename, ascii(9)); +assert_checkfilesequal ( filename , fullfile(path,"K_2.csv") ); +// +filename = fullfile(TMPDIR,"K_3.csv"); +csvWrite(K, filename, " ", ","); +assert_checkfilesequal ( filename , fullfile(path,"K_3.csv") ); +// +filename = fullfile(TMPDIR,"K_4.csv"); +csvWrite(K, filename, ";", ","); +assert_checkfilesequal ( filename , fullfile(path,"K_4.csv") ); +// ============================================================================= +S = [ + "Allan", "2", "CORNET"; + "csv read/write toolbox", "3", "for scilab" +]; +// +filename = fullfile(TMPDIR,"S_1.csv"); +csvWrite(S, filename, "|"); +assert_checkfilesequal ( filename , fullfile(path,"S_1.csv") ); +// +filename = fullfile(TMPDIR,"S_2.csv"); +csvWrite(S, filename, ascii(9)); +assert_checkfilesequal ( filename , fullfile(path,"S_2.csv") ); +// +filename = fullfile(TMPDIR,"S_3.csv"); +csvWrite(S, filename, "!", ","); +assert_checkfilesequal ( filename , fullfile(path,"S_3.csv") ); +// +filename = fullfile(TMPDIR,"S_4.csv"); +csvWrite(S, filename, ";", ","); +assert_checkfilesequal ( filename , fullfile(path,"S_4.csv") ); +// ============================================================================= +M = [%inf, %nan]; +filename = fullfile(TMPDIR,"data.csv"); +csvWrite(M, filename); +assert_checkfilesequal ( filename , fullfile(path,"data.csv") ); +// +// ============================================================================= +// +// Configure the comments +M = [1:4] * 0.1; +comm = [ +"// Copyright (C) INRIA" +"// This file must be used under the terms of the CeCILL." +]; +filename = fullfile(TMPDIR,"test.csv"); +csvWrite(M, filename,[],[],[],comm); +Mstr = mgetl(filename); +expected = [ +"// Copyright (C) INRIA" +"// This file must be used under the terms of the CeCILL." +"0.10000000000000001,0.20000000000000001,0.30000000000000004,0.40000000000000002" +]; +assert_checkequal ( Mstr , expected ); +// ============================================================================= +// complex matrix +complexMatrix = [0.211, -3.14, 0; .. +1+0*%i, 40.78*%i, -4.53*%i; .. +5+%i, 5+3.5*%i, 67.0-15*%i; .. +-%inf, %inf+2*%i, %inf-5.0*%i; .. +%nan, %nan*%i, %nan+%nan*%i]; +//TODO check values with %inf*%i (currently bug on interpreting %inf*%i) +filename = fullfile(TMPDIR, "complex.csv"); +write_csv(complexMatrix, filename, ascii(9), ".", "%5.3f"); +assert_checkfilesequal(filename , fullfile(path, "complex.csv")); diff --git a/modules/spreadsheet/tests/unit_tests/csvWrite.tst b/modules/spreadsheet/tests/unit_tests/csvWrite.tst new file mode 100755 index 000000000..1bd5ed9de --- /dev/null +++ b/modules/spreadsheet/tests/unit_tests/csvWrite.tst @@ -0,0 +1,119 @@ +// ============================================================================= +// Copyright (C) 2011 - INRIA - Michael Baudin +// Copyright (C) 2010 - 2011 - INRIA - Allan CORNET +// Copyright (C) 2013 - Scilab Enterprises - Simon MARCHETTO +// ============================================================================= +// <-- JVM NOT MANDATORY --> +path = SCI+"/modules/spreadsheet/tests/unit_tests/"; +// ============================================================================= +M = eye(3, 5); +// +filename = fullfile(TMPDIR,"M_1.csv"); +csvWrite(M, filename); +assert_checkfilesequal ( filename , fullfile(path,"M_1.csv") ); +// +filename = fullfile(TMPDIR,"M_2.csv"); +csvWrite(M, filename, ascii(9)); +assert_checkfilesequal ( filename , fullfile(path,"M_2.csv") ); +// +filename = fullfile(TMPDIR,"M_3.csv"); +csvWrite(M, filename, " ", ","); +assert_checkfilesequal ( filename , fullfile(path,"M_3.csv") ); +// +filename = fullfile(TMPDIR,"M_4.csv"); +csvWrite(M, filename, ";", ","); +assert_checkfilesequal ( filename , fullfile(path,"M_4.csv") ); +// ============================================================================= +N = [%nan , 1, %nan ; -%inf , %inf, 4]; +// +filename = fullfile(TMPDIR,"N_1.csv"); +csvWrite(N, filename); +assert_checkfilesequal ( filename , fullfile(path,"N_1.csv") ); +// +filename = fullfile(TMPDIR,"N_1.csv"); +csvWrite(N, filename, ascii(9)); +assert_checkfilesequal ( filename , fullfile(path,"N_2.csv") ); +// +filename = fullfile(TMPDIR,"N_1.csv"); +csvWrite(N, filename, " ", ","); +assert_checkfilesequal (filename , fullfile(path,"N_3.csv") ); +// +filename = fullfile(TMPDIR,"N_1.csv"); +csvWrite(N, filename, ";", ","); +assert_checkfilesequal ( filename , fullfile(path,"N_4.csv") ); +// ============================================================================= +K = eye(3, 2) + 0.1; +// +filename = fullfile(TMPDIR,"K_1.csv"); +csvWrite(K, filename); +assert_checkfilesequal ( filename , fullfile(path,"K_1.csv") ); +// +filename = fullfile(TMPDIR,"K_2.csv"); +csvWrite(K, filename, ascii(9)); +assert_checkfilesequal ( filename , fullfile(path,"K_2.csv") ); +// +filename = fullfile(TMPDIR,"K_3.csv"); +csvWrite(K, filename, " ", ","); +assert_checkfilesequal ( filename , fullfile(path,"K_3.csv") ); +// +filename = fullfile(TMPDIR,"K_4.csv"); +csvWrite(K, filename, ";", ","); +assert_checkfilesequal ( filename , fullfile(path,"K_4.csv") ); +// ============================================================================= +S = [ + "Allan", "2", "CORNET"; + "csv read/write toolbox", "3", "for scilab" +]; +// +filename = fullfile(TMPDIR,"S_1.csv"); +csvWrite(S, filename, "|"); +assert_checkfilesequal ( filename , fullfile(path,"S_1.csv") ); +// +filename = fullfile(TMPDIR,"S_2.csv"); +csvWrite(S, filename, ascii(9)); +assert_checkfilesequal ( filename , fullfile(path,"S_2.csv") ); +// +filename = fullfile(TMPDIR,"S_3.csv"); +csvWrite(S, filename, "!", ","); +assert_checkfilesequal ( filename , fullfile(path,"S_3.csv") ); +// +filename = fullfile(TMPDIR,"S_4.csv"); +csvWrite(S, filename, ";", ","); +assert_checkfilesequal ( filename , fullfile(path,"S_4.csv") ); +// ============================================================================= +M = [%inf, %nan]; +filename = fullfile(TMPDIR,"data.csv"); +csvWrite(M, filename); +assert_checkfilesequal ( filename , fullfile(path,"data.csv") ); +// +// ============================================================================= +// +// Configure the comments +M = [1:4] * 0.1; +comm = [ +"// Copyright (C) INRIA" +"// This file must be used under the terms of the CeCILL." +]; +filename = fullfile(TMPDIR,"test.csv"); +csvWrite(M, filename,[],[],[],comm); +Mstr = mgetl(filename); +expected = [ +"// Copyright (C) INRIA" +"// This file must be used under the terms of the CeCILL." +"0.10000000000000001,0.20000000000000001,0.30000000000000004,0.40000000000000002" +]; +assert_checkequal ( Mstr , expected ); +// ============================================================================= + +// complex matrix +complexMatrix = [0.211, -3.14, 0; .. +1+0*%i, 40.78*%i, -4.53*%i; .. +5+%i, 5+3.5*%i, 67.0-15*%i; .. +-%inf, %inf+2*%i, %inf-5.0*%i; .. +%nan, %nan*%i, %nan+%nan*%i]; + +//TODO check values with %inf*%i (currently bug on interpreting %inf*%i) + +filename = fullfile(TMPDIR, "complex.csv"); +write_csv(complexMatrix, filename, ascii(9), ".", "%5.3f"); +assert_checkfilesequal(filename , fullfile(path, "complex.csv")); diff --git a/modules/spreadsheet/tests/unit_tests/csv_regexp.csv b/modules/spreadsheet/tests/unit_tests/csv_regexp.csv new file mode 100755 index 000000000..7c21c0933 --- /dev/null +++ b/modules/spreadsheet/tests/unit_tests/csv_regexp.csv @@ -0,0 +1,7 @@ +// tata +1,0,0,0,0 +// titi +0,1,0,0,0 +// toto +0,0,1,0,0 +// tutu diff --git a/modules/spreadsheet/tests/unit_tests/csv_stringToDouble.dia.ref b/modules/spreadsheet/tests/unit_tests/csv_stringToDouble.dia.ref new file mode 100755 index 000000000..43e2b5eaf --- /dev/null +++ b/modules/spreadsheet/tests/unit_tests/csv_stringToDouble.dia.ref @@ -0,0 +1,203 @@ +// ============================================================================= +// Copyright (C) 2011 - INRIA - Michael Baudin +// Copyright (C) 2010 - 2011 - INRIA - Allan CORNET +// ============================================================================= +// <-- JVM NOT MANDATORY --> +// ============================================================================= +r = csvStringToDouble("-Nani"); +assert_checkequal ( r , complex(0,%nan) ); +// ============================================================================= +r = csvStringToDouble("Nani"); +assert_checkequal ( r , complex(0,%nan) ); +// ============================================================================= +r = csvStringToDouble("+Nani"); +assert_checkequal ( r , complex(0,%nan) ); +// ============================================================================= +r = csvStringToDouble("-Infi"); +assert_checkequal ( r , complex(0,-%inf) ); +// ============================================================================= +r = csvStringToDouble("Infi"); +assert_checkequal ( r , complex(0,%inf) ); +// ============================================================================= +r = csvStringToDouble("+Infi"); +assert_checkequal ( r , complex(0,%inf) ); +// ============================================================================= +r = csvStringToDouble("Nan-Nani"); +assert_checkequal ( r , complex(%nan,%nan) ); +// ============================================================================= +r = csvStringToDouble("Nan-2i"); +assert_checkequal ( r , complex(%nan,-2) ); +// ============================================================================= +r = csvStringToDouble("-Nan-2i"); +assert_checkequal ( r , complex(%nan,-2) ); +// ============================================================================= +r = csvStringToDouble("+Nan-2i"); +assert_checkequal ( r , complex(%nan,-2) ); +// ============================================================================= +r = csvStringToDouble("Nan-Infi"); +assert_checkequal ( r , complex(%nan,-%inf) ); +// ============================================================================= +r = csvStringToDouble("-Inf-2i"); +assert_checkequal ( r , complex(-%inf,-2) ); +// ============================================================================= +r = csvStringToDouble("+Inf-2i"); +assert_checkequal ( r , complex(%inf,-2) ); +// ============================================================================= +r = csvStringToDouble("Inf-2i"); +assert_checkequal ( r , complex(%inf,-2) ); +// ============================================================================= +r = csvStringToDouble("Inf-Infi"); +assert_checkequal ( r , complex(%inf,-%inf) ); +// ============================================================================= +r = csvStringToDouble("Inf+Infi"); +assert_checkequal ( r , complex(%inf,%inf) ); +// ============================================================================= +r = csvStringToDouble("1+Nani"); +assert_checkequal ( r , complex(1,%nan) ); +// ============================================================================= +r = csvStringToDouble("1-Nani"); +assert_checkequal ( r , complex(1,%nan) ); +// ============================================================================= +r = csvStringToDouble("-1-Nani"); +assert_checkequal ( r , complex(-1,%nan) ); +// ============================================================================= +r = csvStringToDouble("1+Infi"); +assert_checkequal ( r , complex(1,%inf) ); +// ============================================================================= +r = csvStringToDouble("1-Infi"); +assert_checkequal ( r , complex(1,-%inf) ); +// ============================================================================= +assert_checkequal ( csvStringToDouble("Nan") , %nan ); +assert_checkequal ( csvStringToDouble("-Nan"), %nan ); +assert_checkequal ( csvStringToDouble("+Nan"), %nan ); +assert_checkequal ( csvStringToDouble("-Inf") , -%inf ); +assert_checkequal ( csvStringToDouble("Inf") , %inf ); +assert_checkequal ( csvStringToDouble("+Inf") , %inf ); +assert_checkequal ( csvStringToDouble("+i") , %i ); +assert_checkequal ( csvStringToDouble("-i") , -%i ); +assert_checkequal ( csvStringToDouble("+j") , %i ); +assert_checkequal ( csvStringToDouble("-j") , -%i ); +assert_checkequal ( csvStringToDouble("i") , %i ); +assert_checkequal ( csvStringToDouble("j") , %i ); +assert_checkequal ( csvStringToDouble(" 3 + 2i") , complex(3,2) ); +assert_checkequal ( csvStringToDouble(" 3 - 2i") , complex(3,- 2) ); +assert_checkequal ( csvStringToDouble(" -3 + 2i") , complex(-3,2) ); +assert_checkequal ( csvStringToDouble(" 3 - 2i") , complex(3,-2) ); +assert_checkequal ( csvStringToDouble("- 3 - 2i") , complex(-3,-2) ); +assert_checkequal ( csvStringToDouble("+3 - 2i") , complex(+3,-2) ); +assert_checkequal ( csvStringToDouble("+3 + 2i") , complex(3,2) ); +assert_checkequal ( csvStringToDouble("+3 - 2i") , complex(3,-2) ); +assert_checkequal ( csvStringToDouble("4+i") , complex(4,1) ); +assert_checkequal ( csvStringToDouble("4-i") , complex(4,-1) ); +assert_checkequal ( csvStringToDouble("-4+i") , complex(-4,1) ); +assert_checkequal ( csvStringToDouble("-4-i") , complex(-4,-1) ); +assert_checkequal ( csvStringToDouble("+4+i") , complex(4,1) ); +assert_checkequal ( csvStringToDouble("+4-i") , complex(4,-1) ); +assert_checkequal ( csvStringToDouble("10") , 10 ); +assert_checkequal ( csvStringToDouble("+10") , 10 ); +assert_checkequal ( csvStringToDouble("-10") , -10 ); +assert_checkequal ( csvStringToDouble("10.") , 10 ); +assert_checkequal ( csvStringToDouble("+10.") , 10 ); +assert_checkequal ( csvStringToDouble("-10.") , -10 ); +assert_checkequal ( csvStringToDouble(".4") , .4 ); +assert_checkequal ( csvStringToDouble("+.4") , .4 ); +assert_checkequal ( csvStringToDouble("-.4") , -.4 ); +assert_checkequal ( csvStringToDouble("10.4") , 10.4 ); +assert_checkequal ( csvStringToDouble("+10.4") , 10.4 ); +assert_checkequal ( csvStringToDouble("-10.4") , -10.4 ); +assert_checkequal ( csvStringToDouble("10+10j") , complex(10, 10) ); +assert_checkequal ( csvStringToDouble("+10+10j") , complex(10, 10) ); +assert_checkequal ( csvStringToDouble("-10+10j") , complex(-10, 10) ); +assert_checkequal ( csvStringToDouble("10.+10j") , complex(10, 10) ); +assert_checkequal ( csvStringToDouble("+10.+10j") , complex(10, 10) ); +assert_checkequal ( csvStringToDouble("-10.+10j") , complex(-10, 10) ); +assert_checkequal ( csvStringToDouble("10.4+10j") , complex(10.4, 10) ); +assert_checkequal ( csvStringToDouble("+10.4+10j") , complex(10.4, 10) ); +assert_checkequal ( csvStringToDouble("-10.4+10j") , complex(-10.4, 10) ); +assert_checkequal ( csvStringToDouble(".4+10j") , complex(.4, 10) ); +assert_checkequal ( csvStringToDouble("+.4+10j") , complex(.4, 10) ); +assert_checkequal ( csvStringToDouble("-.4+10j") , complex(-.4, 10) ); +assert_checkequal ( csvStringToDouble("10+10.4j") , complex(10, 10.4) ); +assert_checkequal ( csvStringToDouble("10.4+10.4j") , complex(10.4, 10.4) ); +assert_checkequal ( csvStringToDouble("+10.4+10.4j") , complex(10.4, 10.4) ); +assert_checkequal ( csvStringToDouble("+10.4-10.4j") , complex(10.4, -10.4) ); +assert_checkequal ( csvStringToDouble("1i") , %i ); +assert_checkequal ( csvStringToDouble("1j") , %i ); +assert_checkequal ( csvStringToDouble("+1j") , %i ); +assert_checkequal ( csvStringToDouble("+1i") , %i ); +assert_checkequal ( csvStringToDouble("-1j") , complex(0,-1) ); +assert_checkequal ( csvStringToDouble("-1i") , complex(0,-1) ); +assert_checkequal ( csvStringToDouble("10j") , complex(0,10) ); +assert_checkequal ( csvStringToDouble("+10j") , complex(0,10) ); +assert_checkequal ( csvStringToDouble("-10j") , complex(0, -10) ); +assert_checkequal ( csvStringToDouble("10.j") , complex(0,10) ); +assert_checkequal ( csvStringToDouble("+10.j") , complex(0,10) ); +assert_checkequal ( csvStringToDouble("-10.j") , complex(0,-10) ); +assert_checkequal ( csvStringToDouble(".4j") , complex(0,.4) ); +assert_checkequal ( csvStringToDouble("+.4j") , complex(0,.4) ); +assert_checkequal ( csvStringToDouble("-.4j") , complex(0,-.4) ); +assert_checkequal ( csvStringToDouble("10.4j") , complex(0,10.4) ); +assert_checkequal ( csvStringToDouble("+10.4j") , complex(0,10.4) ); +assert_checkequal ( csvStringToDouble("-10.4j") , complex(0,-10.4) ); +assert_checkequal ( csvStringToDouble("4e2") , 400 ); +assert_checkequal ( csvStringToDouble("-4e2") , -400 ); +assert_checkequal ( csvStringToDouble("+4e2") , 400 ); +assert_checkequal ( csvStringToDouble("0.4e2") , 40 ); +assert_checkequal ( csvStringToDouble("3e2 + 2e3i") , complex(300, 2000) ); +assert_checkequal ( csvStringToDouble("3e2 - 2e3i") , complex(300, -2000) ); +if ( getos() == "Windows" ) then + assert_checkequal ( csvStringToDouble("3e2 - 2d3i") , complex(300, -2000) ); + assert_checkequal ( csvStringToDouble("3e2 + 2d3i") , complex(300, 2000) ); + assert_checkequal ( csvStringToDouble("3d2 + 2e3i") , complex(300, 2000) ); + assert_checkequal ( csvStringToDouble("3d2 - 2e3i") , complex(300, -2000) ); + assert_checkequal ( csvStringToDouble("3d2 + 2d3i") , complex(300, 2000) ); + assert_checkequal ( csvStringToDouble("3d2 - 2d3i") , complex(300, -2000) ); +end +// ============================================================================= +r = csvStringToDouble("3e2 - blabli"); +assert_checkequal ( r , %nan); +// ============================================================================= +r = csvStringToDouble("3e2 - blabli", %t); +assert_checkequal ( r , %nan); +// ============================================================================= +assert_checkequal ( execstr("r = csvStringToDouble(""3e2 - blabli"", %f);", "errcatch") , 999 ); +assert_checkequal ( lasterror() , msprintf(_("%s: can not convert data.\n"), "csvStringToDouble") ); +// ============================================================================= +r = csvStringToDouble("-Nan*%i"); +assert_checkequal ( isnan(imag(r)) , %t); +assert_checkequal ( csvStringToDouble("+%i") , %i ); +assert_checkequal ( csvStringToDouble("-%i") , -%i ); +assert_checkequal ( csvStringToDouble("%i") , %i ); +assert_checkequal ( csvStringToDouble(" 3 + 2*%i") , complex(3,2) ); +assert_checkequal ( csvStringToDouble(" 3 - 2*%i") , complex(3,- 2) ); +assert_checkequal ( csvStringToDouble(" -3 + 2*%i") , complex(-3,2) ); +assert_checkequal ( csvStringToDouble(" 3 - 2*%i") , complex(3,-2) ); +assert_checkequal ( csvStringToDouble("- 3 - 2*%i") , complex(-3,-2) ); +assert_checkequal ( csvStringToDouble("+3 - 2*%i") , complex(+3,-2) ); +assert_checkequal ( csvStringToDouble("+3 + 2*%i") , complex(3,2) ); +assert_checkequal ( csvStringToDouble("+3 - 2*%i") , complex(3,-2) ); +assert_checkequal ( csvStringToDouble("4+%i") , complex(4,1) ); +assert_checkequal ( csvStringToDouble("4-%i") , complex(4,-1) ); +assert_checkequal ( csvStringToDouble("-4+%i") , complex(-4,1) ); +assert_checkequal ( csvStringToDouble("-4-%i") , complex(-4,-1) ); +assert_checkequal ( csvStringToDouble("+4+%i") , complex(4,1) ); +assert_checkequal ( csvStringToDouble("+4-%i") , complex(4,-1) ); +assert_checkequal ( csvStringToDouble("1*%i") , %i ); +assert_checkequal ( csvStringToDouble("+1*%i") , %i ); +assert_checkequal ( csvStringToDouble("-1*%i") , complex(0,-1) ); +assert_checkequal ( csvStringToDouble("3e2 + 2e3*%i") , complex(300, 2000) ); +assert_checkequal ( csvStringToDouble("3e2 - 2e3*%i") , complex(300, -2000) ); +// ============================================================================= +assert_checkequal ( csvStringToDouble('a'), %nan ); +assert_checkequal ( csvStringToDouble('e'), %nan ); +assert_checkequal ( csvStringToDouble('d'), %nan ); +assert_checkequal ( csvStringToDouble('E'), %nan ); +assert_checkequal ( csvStringToDouble('e'), %nan ); +// ============================================================================= +assert_checkequal ( csvStringToDouble("%pi") , %pi ); +assert_checkequal ( csvStringToDouble("-%pi") , -%pi ); +assert_checkequal ( csvStringToDouble("%nan") , %nan ); +assert_checkequal ( csvStringToDouble("%inf") , %inf ); +assert_checkequal ( csvStringToDouble("-%inf") , -%inf ); +assert_checkequal ( csvStringToDouble("+%inf") , %inf ); +// ============================================================================= diff --git a/modules/spreadsheet/tests/unit_tests/csv_stringToDouble.tst b/modules/spreadsheet/tests/unit_tests/csv_stringToDouble.tst new file mode 100755 index 000000000..43e2b5eaf --- /dev/null +++ b/modules/spreadsheet/tests/unit_tests/csv_stringToDouble.tst @@ -0,0 +1,203 @@ +// ============================================================================= +// Copyright (C) 2011 - INRIA - Michael Baudin +// Copyright (C) 2010 - 2011 - INRIA - Allan CORNET +// ============================================================================= +// <-- JVM NOT MANDATORY --> +// ============================================================================= +r = csvStringToDouble("-Nani"); +assert_checkequal ( r , complex(0,%nan) ); +// ============================================================================= +r = csvStringToDouble("Nani"); +assert_checkequal ( r , complex(0,%nan) ); +// ============================================================================= +r = csvStringToDouble("+Nani"); +assert_checkequal ( r , complex(0,%nan) ); +// ============================================================================= +r = csvStringToDouble("-Infi"); +assert_checkequal ( r , complex(0,-%inf) ); +// ============================================================================= +r = csvStringToDouble("Infi"); +assert_checkequal ( r , complex(0,%inf) ); +// ============================================================================= +r = csvStringToDouble("+Infi"); +assert_checkequal ( r , complex(0,%inf) ); +// ============================================================================= +r = csvStringToDouble("Nan-Nani"); +assert_checkequal ( r , complex(%nan,%nan) ); +// ============================================================================= +r = csvStringToDouble("Nan-2i"); +assert_checkequal ( r , complex(%nan,-2) ); +// ============================================================================= +r = csvStringToDouble("-Nan-2i"); +assert_checkequal ( r , complex(%nan,-2) ); +// ============================================================================= +r = csvStringToDouble("+Nan-2i"); +assert_checkequal ( r , complex(%nan,-2) ); +// ============================================================================= +r = csvStringToDouble("Nan-Infi"); +assert_checkequal ( r , complex(%nan,-%inf) ); +// ============================================================================= +r = csvStringToDouble("-Inf-2i"); +assert_checkequal ( r , complex(-%inf,-2) ); +// ============================================================================= +r = csvStringToDouble("+Inf-2i"); +assert_checkequal ( r , complex(%inf,-2) ); +// ============================================================================= +r = csvStringToDouble("Inf-2i"); +assert_checkequal ( r , complex(%inf,-2) ); +// ============================================================================= +r = csvStringToDouble("Inf-Infi"); +assert_checkequal ( r , complex(%inf,-%inf) ); +// ============================================================================= +r = csvStringToDouble("Inf+Infi"); +assert_checkequal ( r , complex(%inf,%inf) ); +// ============================================================================= +r = csvStringToDouble("1+Nani"); +assert_checkequal ( r , complex(1,%nan) ); +// ============================================================================= +r = csvStringToDouble("1-Nani"); +assert_checkequal ( r , complex(1,%nan) ); +// ============================================================================= +r = csvStringToDouble("-1-Nani"); +assert_checkequal ( r , complex(-1,%nan) ); +// ============================================================================= +r = csvStringToDouble("1+Infi"); +assert_checkequal ( r , complex(1,%inf) ); +// ============================================================================= +r = csvStringToDouble("1-Infi"); +assert_checkequal ( r , complex(1,-%inf) ); +// ============================================================================= +assert_checkequal ( csvStringToDouble("Nan") , %nan ); +assert_checkequal ( csvStringToDouble("-Nan"), %nan ); +assert_checkequal ( csvStringToDouble("+Nan"), %nan ); +assert_checkequal ( csvStringToDouble("-Inf") , -%inf ); +assert_checkequal ( csvStringToDouble("Inf") , %inf ); +assert_checkequal ( csvStringToDouble("+Inf") , %inf ); +assert_checkequal ( csvStringToDouble("+i") , %i ); +assert_checkequal ( csvStringToDouble("-i") , -%i ); +assert_checkequal ( csvStringToDouble("+j") , %i ); +assert_checkequal ( csvStringToDouble("-j") , -%i ); +assert_checkequal ( csvStringToDouble("i") , %i ); +assert_checkequal ( csvStringToDouble("j") , %i ); +assert_checkequal ( csvStringToDouble(" 3 + 2i") , complex(3,2) ); +assert_checkequal ( csvStringToDouble(" 3 - 2i") , complex(3,- 2) ); +assert_checkequal ( csvStringToDouble(" -3 + 2i") , complex(-3,2) ); +assert_checkequal ( csvStringToDouble(" 3 - 2i") , complex(3,-2) ); +assert_checkequal ( csvStringToDouble("- 3 - 2i") , complex(-3,-2) ); +assert_checkequal ( csvStringToDouble("+3 - 2i") , complex(+3,-2) ); +assert_checkequal ( csvStringToDouble("+3 + 2i") , complex(3,2) ); +assert_checkequal ( csvStringToDouble("+3 - 2i") , complex(3,-2) ); +assert_checkequal ( csvStringToDouble("4+i") , complex(4,1) ); +assert_checkequal ( csvStringToDouble("4-i") , complex(4,-1) ); +assert_checkequal ( csvStringToDouble("-4+i") , complex(-4,1) ); +assert_checkequal ( csvStringToDouble("-4-i") , complex(-4,-1) ); +assert_checkequal ( csvStringToDouble("+4+i") , complex(4,1) ); +assert_checkequal ( csvStringToDouble("+4-i") , complex(4,-1) ); +assert_checkequal ( csvStringToDouble("10") , 10 ); +assert_checkequal ( csvStringToDouble("+10") , 10 ); +assert_checkequal ( csvStringToDouble("-10") , -10 ); +assert_checkequal ( csvStringToDouble("10.") , 10 ); +assert_checkequal ( csvStringToDouble("+10.") , 10 ); +assert_checkequal ( csvStringToDouble("-10.") , -10 ); +assert_checkequal ( csvStringToDouble(".4") , .4 ); +assert_checkequal ( csvStringToDouble("+.4") , .4 ); +assert_checkequal ( csvStringToDouble("-.4") , -.4 ); +assert_checkequal ( csvStringToDouble("10.4") , 10.4 ); +assert_checkequal ( csvStringToDouble("+10.4") , 10.4 ); +assert_checkequal ( csvStringToDouble("-10.4") , -10.4 ); +assert_checkequal ( csvStringToDouble("10+10j") , complex(10, 10) ); +assert_checkequal ( csvStringToDouble("+10+10j") , complex(10, 10) ); +assert_checkequal ( csvStringToDouble("-10+10j") , complex(-10, 10) ); +assert_checkequal ( csvStringToDouble("10.+10j") , complex(10, 10) ); +assert_checkequal ( csvStringToDouble("+10.+10j") , complex(10, 10) ); +assert_checkequal ( csvStringToDouble("-10.+10j") , complex(-10, 10) ); +assert_checkequal ( csvStringToDouble("10.4+10j") , complex(10.4, 10) ); +assert_checkequal ( csvStringToDouble("+10.4+10j") , complex(10.4, 10) ); +assert_checkequal ( csvStringToDouble("-10.4+10j") , complex(-10.4, 10) ); +assert_checkequal ( csvStringToDouble(".4+10j") , complex(.4, 10) ); +assert_checkequal ( csvStringToDouble("+.4+10j") , complex(.4, 10) ); +assert_checkequal ( csvStringToDouble("-.4+10j") , complex(-.4, 10) ); +assert_checkequal ( csvStringToDouble("10+10.4j") , complex(10, 10.4) ); +assert_checkequal ( csvStringToDouble("10.4+10.4j") , complex(10.4, 10.4) ); +assert_checkequal ( csvStringToDouble("+10.4+10.4j") , complex(10.4, 10.4) ); +assert_checkequal ( csvStringToDouble("+10.4-10.4j") , complex(10.4, -10.4) ); +assert_checkequal ( csvStringToDouble("1i") , %i ); +assert_checkequal ( csvStringToDouble("1j") , %i ); +assert_checkequal ( csvStringToDouble("+1j") , %i ); +assert_checkequal ( csvStringToDouble("+1i") , %i ); +assert_checkequal ( csvStringToDouble("-1j") , complex(0,-1) ); +assert_checkequal ( csvStringToDouble("-1i") , complex(0,-1) ); +assert_checkequal ( csvStringToDouble("10j") , complex(0,10) ); +assert_checkequal ( csvStringToDouble("+10j") , complex(0,10) ); +assert_checkequal ( csvStringToDouble("-10j") , complex(0, -10) ); +assert_checkequal ( csvStringToDouble("10.j") , complex(0,10) ); +assert_checkequal ( csvStringToDouble("+10.j") , complex(0,10) ); +assert_checkequal ( csvStringToDouble("-10.j") , complex(0,-10) ); +assert_checkequal ( csvStringToDouble(".4j") , complex(0,.4) ); +assert_checkequal ( csvStringToDouble("+.4j") , complex(0,.4) ); +assert_checkequal ( csvStringToDouble("-.4j") , complex(0,-.4) ); +assert_checkequal ( csvStringToDouble("10.4j") , complex(0,10.4) ); +assert_checkequal ( csvStringToDouble("+10.4j") , complex(0,10.4) ); +assert_checkequal ( csvStringToDouble("-10.4j") , complex(0,-10.4) ); +assert_checkequal ( csvStringToDouble("4e2") , 400 ); +assert_checkequal ( csvStringToDouble("-4e2") , -400 ); +assert_checkequal ( csvStringToDouble("+4e2") , 400 ); +assert_checkequal ( csvStringToDouble("0.4e2") , 40 ); +assert_checkequal ( csvStringToDouble("3e2 + 2e3i") , complex(300, 2000) ); +assert_checkequal ( csvStringToDouble("3e2 - 2e3i") , complex(300, -2000) ); +if ( getos() == "Windows" ) then + assert_checkequal ( csvStringToDouble("3e2 - 2d3i") , complex(300, -2000) ); + assert_checkequal ( csvStringToDouble("3e2 + 2d3i") , complex(300, 2000) ); + assert_checkequal ( csvStringToDouble("3d2 + 2e3i") , complex(300, 2000) ); + assert_checkequal ( csvStringToDouble("3d2 - 2e3i") , complex(300, -2000) ); + assert_checkequal ( csvStringToDouble("3d2 + 2d3i") , complex(300, 2000) ); + assert_checkequal ( csvStringToDouble("3d2 - 2d3i") , complex(300, -2000) ); +end +// ============================================================================= +r = csvStringToDouble("3e2 - blabli"); +assert_checkequal ( r , %nan); +// ============================================================================= +r = csvStringToDouble("3e2 - blabli", %t); +assert_checkequal ( r , %nan); +// ============================================================================= +assert_checkequal ( execstr("r = csvStringToDouble(""3e2 - blabli"", %f);", "errcatch") , 999 ); +assert_checkequal ( lasterror() , msprintf(_("%s: can not convert data.\n"), "csvStringToDouble") ); +// ============================================================================= +r = csvStringToDouble("-Nan*%i"); +assert_checkequal ( isnan(imag(r)) , %t); +assert_checkequal ( csvStringToDouble("+%i") , %i ); +assert_checkequal ( csvStringToDouble("-%i") , -%i ); +assert_checkequal ( csvStringToDouble("%i") , %i ); +assert_checkequal ( csvStringToDouble(" 3 + 2*%i") , complex(3,2) ); +assert_checkequal ( csvStringToDouble(" 3 - 2*%i") , complex(3,- 2) ); +assert_checkequal ( csvStringToDouble(" -3 + 2*%i") , complex(-3,2) ); +assert_checkequal ( csvStringToDouble(" 3 - 2*%i") , complex(3,-2) ); +assert_checkequal ( csvStringToDouble("- 3 - 2*%i") , complex(-3,-2) ); +assert_checkequal ( csvStringToDouble("+3 - 2*%i") , complex(+3,-2) ); +assert_checkequal ( csvStringToDouble("+3 + 2*%i") , complex(3,2) ); +assert_checkequal ( csvStringToDouble("+3 - 2*%i") , complex(3,-2) ); +assert_checkequal ( csvStringToDouble("4+%i") , complex(4,1) ); +assert_checkequal ( csvStringToDouble("4-%i") , complex(4,-1) ); +assert_checkequal ( csvStringToDouble("-4+%i") , complex(-4,1) ); +assert_checkequal ( csvStringToDouble("-4-%i") , complex(-4,-1) ); +assert_checkequal ( csvStringToDouble("+4+%i") , complex(4,1) ); +assert_checkequal ( csvStringToDouble("+4-%i") , complex(4,-1) ); +assert_checkequal ( csvStringToDouble("1*%i") , %i ); +assert_checkequal ( csvStringToDouble("+1*%i") , %i ); +assert_checkequal ( csvStringToDouble("-1*%i") , complex(0,-1) ); +assert_checkequal ( csvStringToDouble("3e2 + 2e3*%i") , complex(300, 2000) ); +assert_checkequal ( csvStringToDouble("3e2 - 2e3*%i") , complex(300, -2000) ); +// ============================================================================= +assert_checkequal ( csvStringToDouble('a'), %nan ); +assert_checkequal ( csvStringToDouble('e'), %nan ); +assert_checkequal ( csvStringToDouble('d'), %nan ); +assert_checkequal ( csvStringToDouble('E'), %nan ); +assert_checkequal ( csvStringToDouble('e'), %nan ); +// ============================================================================= +assert_checkequal ( csvStringToDouble("%pi") , %pi ); +assert_checkequal ( csvStringToDouble("-%pi") , -%pi ); +assert_checkequal ( csvStringToDouble("%nan") , %nan ); +assert_checkequal ( csvStringToDouble("%inf") , %inf ); +assert_checkequal ( csvStringToDouble("-%inf") , -%inf ); +assert_checkequal ( csvStringToDouble("+%inf") , %inf ); +// ============================================================================= diff --git a/modules/spreadsheet/tests/unit_tests/csv_tools.dia.ref b/modules/spreadsheet/tests/unit_tests/csv_tools.dia.ref new file mode 100755 index 000000000..113c90806 --- /dev/null +++ b/modules/spreadsheet/tests/unit_tests/csv_tools.dia.ref @@ -0,0 +1,44 @@ +// ============================================================================= +// Copyright (C) 2011 - INRIA - Michael Baudin +// Copyright (C) 2010 - 2011 - INRIA - Allan CORNET +// ============================================================================= +// <-- JVM NOT MANDATORY --> +// ============================================================================= +function y = writereadcycle(x,filename) + csvWrite(x,filename); + separator = []; + decimal=[]; + conversion ="double"; + y = csvRead(filename, separator, decimal, conversion); +endfunction +// Test write-read cycles +// +// ============================================================================= +// Basic. +K = eye(3, 2) + 0.1; +filename = fullfile(TMPDIR,"test.csv"); +K2 = writereadcycle(K,filename); +assert_checkequal ( K , K2 ); +// ============================================================================= +// Numerical issues. +huge=number_properties("huge"); +tiny=number_properties("tiny"); +tiniest=number_properties("tiniest"); +x1 = nearfloat("succ",1); +x2 = nearfloat("pred",1); +K = [ + %inf %nan huge tiny tiniest x1 x2 0 + -%inf %nan -huge -tiny -tiniest -x1 -x2 -0 +]; +K2 = writereadcycle(K,filename); +assert_checkequal ( K , K2 ); +// ============================================================================= +// Complexes and numerical issues in complexes. +K = [ + 1+2*%i -1+0.5*huge*%i 2*tiny*%i 1 + 1+0.1*%i complex(%inf,%nan) complex(%nan,%inf) complex(tiniest,%inf) + complex(%inf,tiniest) complex( 0 ,%nan) complex(%nan,0) -1 +]; +K2 = writereadcycle(K,filename); +assert_checkequal ( K , K2 ); +// ============================================================================= diff --git a/modules/spreadsheet/tests/unit_tests/csv_tools.tst b/modules/spreadsheet/tests/unit_tests/csv_tools.tst new file mode 100755 index 000000000..1947848ab --- /dev/null +++ b/modules/spreadsheet/tests/unit_tests/csv_tools.tst @@ -0,0 +1,45 @@ +// ============================================================================= +// Copyright (C) 2011 - INRIA - Michael Baudin +// Copyright (C) 2010 - 2011 - INRIA - Allan CORNET +// ============================================================================= +// <-- JVM NOT MANDATORY --> +// ============================================================================= +function y = writereadcycle(x,filename) + csvWrite(x,filename); + separator = []; + decimal=[]; + conversion ="double"; + y = csvRead(filename, separator, decimal, conversion); +endfunction + +// Test write-read cycles +// +// ============================================================================= +// Basic. +K = eye(3, 2) + 0.1; +filename = fullfile(TMPDIR,"test.csv"); +K2 = writereadcycle(K,filename); +assert_checkequal ( K , K2 ); +// ============================================================================= +// Numerical issues. +huge=number_properties("huge"); +tiny=number_properties("tiny"); +tiniest=number_properties("tiniest"); +x1 = nearfloat("succ",1); +x2 = nearfloat("pred",1); +K = [ + %inf %nan huge tiny tiniest x1 x2 0 + -%inf %nan -huge -tiny -tiniest -x1 -x2 -0 +]; +K2 = writereadcycle(K,filename); +assert_checkequal ( K , K2 ); +// ============================================================================= +// Complexes and numerical issues in complexes. +K = [ + 1+2*%i -1+0.5*huge*%i 2*tiny*%i 1 + 1+0.1*%i complex(%inf,%nan) complex(%nan,%inf) complex(tiniest,%inf) + complex(%inf,tiniest) complex( 0 ,%nan) complex(%nan,0) -1 +]; +K2 = writereadcycle(K,filename); +assert_checkequal ( K , K2 ); +// ============================================================================= diff --git a/modules/spreadsheet/tests/unit_tests/data.csv b/modules/spreadsheet/tests/unit_tests/data.csv new file mode 100755 index 000000000..fe756b243 --- /dev/null +++ b/modules/spreadsheet/tests/unit_tests/data.csv @@ -0,0 +1 @@ +Inf,Nan diff --git a/modules/spreadsheet/tests/unit_tests/double_quotes.csv b/modules/spreadsheet/tests/unit_tests/double_quotes.csv new file mode 100755 index 000000000..5ebb8d368 --- /dev/null +++ b/modules/spreadsheet/tests/unit_tests/double_quotes.csv @@ -0,0 +1,5 @@ +Dummy1,Dummy1 +Dummy2,"Dummy2, Dummy2" +Dummy3,"(""Dummy3"")" +"""Dummy4"" Dummy4","Dummy4" +"Dummy5","Dummy5 ""Dummy5""" diff --git a/modules/spreadsheet/tests/unit_tests/readwrite_csv.dia.ref b/modules/spreadsheet/tests/unit_tests/readwrite_csv.dia.ref new file mode 100755 index 000000000..35e44c2c8 --- /dev/null +++ b/modules/spreadsheet/tests/unit_tests/readwrite_csv.dia.ref @@ -0,0 +1,17 @@ +// ============================================================================= +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2008-2010 - DIGITEO - Allan CORNET +// +// This file is distributed under the same license as the Scilab package. +// ============================================================================= +ref1 = [ 0 1 2 3 4 5 6 7 8 9 ; + 10 11 12 13 14 15 16 17 18 19 ; + 20 21 22 23 24 25 26 27 28 29 ; + 30 31 32 33 34 35 36 37 38 39 ; + 40 41 42 43 44 45 46 47 48 49 ]; +write_csv(ref1, TMPDIR + '/test.csv'); +res = read_csv( TMPDIR + '/test.csv'); +if or(evstr(res) <> ref1) then bugmes();quit;end +write_csv(ref1, TMPDIR + '/test2.csv', ' ', '.'); +res = read_csv( TMPDIR + '/test2.csv', ' '); +if or(evstr(res) <> ref1) then bugmes();quit;end diff --git a/modules/spreadsheet/tests/unit_tests/readwrite_csv.tst b/modules/spreadsheet/tests/unit_tests/readwrite_csv.tst new file mode 100755 index 000000000..c83f01b8f --- /dev/null +++ b/modules/spreadsheet/tests/unit_tests/readwrite_csv.tst @@ -0,0 +1,22 @@ +// ============================================================================= +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2008-2010 - DIGITEO - Allan CORNET +// +// This file is distributed under the same license as the Scilab package. +// ============================================================================= + +ref1 = [ 0 1 2 3 4 5 6 7 8 9 ; + 10 11 12 13 14 15 16 17 18 19 ; + 20 21 22 23 24 25 26 27 28 29 ; + 30 31 32 33 34 35 36 37 38 39 ; + 40 41 42 43 44 45 46 47 48 49 ]; + +write_csv(ref1, TMPDIR + '/test.csv'); +res = read_csv( TMPDIR + '/test.csv'); + +if or(evstr(res) <> ref1) then pause, end + +write_csv(ref1, TMPDIR + '/test2.csv', ' ', '.'); +res = read_csv( TMPDIR + '/test2.csv', ' '); + +if or(evstr(res) <> ref1) then pause, end diff --git a/modules/spreadsheet/tests/unit_tests/readxls.dia.ref b/modules/spreadsheet/tests/unit_tests/readxls.dia.ref new file mode 100755 index 000000000..7bbee161d --- /dev/null +++ b/modules/spreadsheet/tests/unit_tests/readxls.dia.ref @@ -0,0 +1,27 @@ +// ============================================================================= +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) ????-2008 - INRIA - Allan CORNET <allan.cornet@inria.fr> +// +// This file is distributed under the same license as the Scilab package. +// ============================================================================= +ref1 = [ 0 1 2 3 4 5 6 7 8 9 ; + 10 11 12 13 14 15 16 17 18 19 ; + 20 21 22 23 24 25 26 27 28 29 ; + 30 31 32 33 34 35 36 37 38 39 ; + 40 41 42 43 44 45 46 47 48 49 ]; +ref2 = 'Test string 1'; +ref3 = 'Test string 2'; +ref4 = 'Test string 3'; +XLS = readxls(SCI+'/modules/spreadsheet/tests/unit_tests/readxls.xls'); +if type(XLS) <> 17 then bugmes();quit;end; +if size(XLS(1)) <> [ 10 10 ] then bugmes();quit;end; +if size(XLS(2)) <> 0 then bugmes();quit;end; +if size(XLS(3)) <> 0 then bugmes();quit;end; +Feuil1 = XLS(1); +if size(Feuil1.value)<> [ 10 10 ] then bugmes();quit;end; +if size(Feuil1.text)<> [ 10 10 ] then bugmes();quit;end; +if Feuil1(1:5,1:10) <> ref1 then bugmes();quit;end; +if Feuil1(8,1) <> ref2 then bugmes();quit;end; +if Feuil1(9,2) <> ref3 then bugmes();quit;end; +if Feuil1(10,3) <> ref4 then bugmes();quit;end; +// ============================================================================= diff --git a/modules/spreadsheet/tests/unit_tests/readxls.tst b/modules/spreadsheet/tests/unit_tests/readxls.tst new file mode 100755 index 000000000..76323cc1e --- /dev/null +++ b/modules/spreadsheet/tests/unit_tests/readxls.tst @@ -0,0 +1,33 @@ +// ============================================================================= +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) ????-2008 - INRIA - Allan CORNET <allan.cornet@inria.fr> +// +// This file is distributed under the same license as the Scilab package. +// ============================================================================= + +ref1 = [ 0 1 2 3 4 5 6 7 8 9 ; + 10 11 12 13 14 15 16 17 18 19 ; + 20 21 22 23 24 25 26 27 28 29 ; + 30 31 32 33 34 35 36 37 38 39 ; + 40 41 42 43 44 45 46 47 48 49 ]; + +ref2 = 'Test string 1'; +ref3 = 'Test string 2'; +ref4 = 'Test string 3'; + + +XLS = readxls(SCI+'/modules/spreadsheet/tests/unit_tests/readxls.xls'); +if type(XLS) <> 17 then pause,end; +if size(XLS(1)) <> [ 10 10 ] then pause,end; +if size(XLS(2)) <> 0 then pause,end; +if size(XLS(3)) <> 0 then pause,end; + +Feuil1 = XLS(1); +if size(Feuil1.value)<> [ 10 10 ] then pause,end; +if size(Feuil1.text)<> [ 10 10 ] then pause,end; +if Feuil1(1:5,1:10) <> ref1 then pause,end; +if Feuil1(8,1) <> ref2 then pause,end; +if Feuil1(9,2) <> ref3 then pause,end; +if Feuil1(10,3) <> ref4 then pause,end; +// ============================================================================= + diff --git a/modules/spreadsheet/tests/unit_tests/readxls.xls b/modules/spreadsheet/tests/unit_tests/readxls.xls Binary files differnew file mode 100755 index 000000000..bd8051e1a --- /dev/null +++ b/modules/spreadsheet/tests/unit_tests/readxls.xls diff --git a/modules/spreadsheet/tests/unit_tests/xls_open.dia.ref b/modules/spreadsheet/tests/unit_tests/xls_open.dia.ref new file mode 100755 index 000000000..511ef4447 --- /dev/null +++ b/modules/spreadsheet/tests/unit_tests/xls_open.dia.ref @@ -0,0 +1,29 @@ +// ============================================================================= +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2009 - DIGITEO +// +// This file is distributed under the same license as the Scilab package. +// ============================================================================= +tab_ref = [ .. +"世界您好", .. +"азеазея", .. +"ハロー・ワールド", .. +"เฮลโลเวิลด์", .. +"حريات وحقوق", .. +"프로그램", .. +"프로그램", .. +"תוכנית"]; +cd TMPDIR; +mkdir open_xls_tests; +cd open_xls_tests; +origfile = SCI + "/modules/spreadsheet/tests/unit_tests/readxls.xls"; + +for i = 1 : size(tab_ref, "*") + newfile = tab_ref(i) + ".xls"; + copyfile(origfile, newfile); + [fileID, fileStream, SheetNames, SheetPos] = xls_open(newfile); + if(fileID == 0) then bugmes();quit;end + mclose(fileID); +end +cd TMPDIR; +removedir open_xls_tests; diff --git a/modules/spreadsheet/tests/unit_tests/xls_open.tst b/modules/spreadsheet/tests/unit_tests/xls_open.tst new file mode 100755 index 000000000..098f4b806 --- /dev/null +++ b/modules/spreadsheet/tests/unit_tests/xls_open.tst @@ -0,0 +1,32 @@ +// ============================================================================= +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2009 - DIGITEO +// +// This file is distributed under the same license as the Scilab package. +// ============================================================================= + +tab_ref = [ .. +"世界您好", .. +"азеазея", .. +"ハロー・ワールド", .. +"เฮลโลเวิลด์", .. +"حريات وحقوق", .. +"프로그램", .. +"프로그램", .. +"תוכנית"]; + +cd TMPDIR; +mkdir open_xls_tests; +cd open_xls_tests; +origfile = SCI + "/modules/spreadsheet/tests/unit_tests/readxls.xls"; + +for i = 1 : size(tab_ref, "*") + newfile = tab_ref(i) + ".xls"; + copyfile(origfile, newfile); + [fileID, fileStream, SheetNames, SheetPos] = xls_open(newfile); + if(fileID == 0) then pause, end + mclose(fileID); +end + +cd TMPDIR; +removedir open_xls_tests; |